Path: blob/main/sys/contrib/device-tree/Bindings/fpga/xilinx-slave-serial.txt
48375 views
Xilinx Slave Serial SPI FPGA Manager12Xilinx Spartan-6 and 7 Series FPGAs support a method of loading the3bitstream over what is referred to as "slave serial" interface.4The slave serial link is not technically SPI, and might require extra5circuits in order to play nicely with other SPI slaves on the same bus.67See:8- https://www.xilinx.com/support/documentation/user_guides/ug380.pdf9- https://www.xilinx.com/support/documentation/user_guides/ug470_7Series_Config.pdf10- https://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf1112Required properties:13- compatible: should contain "xlnx,fpga-slave-serial"14- reg: spi chip select of the FPGA15- prog_b-gpios: config pin (referred to as PROGRAM_B in the manual)16- done-gpios: config status pin (referred to as DONE in the manual)1718Optional properties:19- init-b-gpios: initialization status and configuration error pin20(referred to as INIT_B in the manual)2122Example for full FPGA configuration:2324fpga-region0 {25compatible = "fpga-region";26fpga-mgr = <&fpga_mgr_spi>;27#address-cells = <0x1>;28#size-cells = <0x1>;29};3031spi1: spi@10680 {32compatible = "marvell,armada-xp-spi", "marvell,orion-spi";33pinctrl-0 = <&spi0_pins>;34pinctrl-names = "default";35#address-cells = <1>;36#size-cells = <0>;37cell-index = <1>;38interrupts = <92>;39clocks = <&coreclk 0>;4041fpga_mgr_spi: fpga-mgr@0 {42compatible = "xlnx,fpga-slave-serial";43spi-max-frequency = <60000000>;44spi-cpha;45reg = <0>;46prog_b-gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;47init-b-gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;48done-gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;49};50};515253