44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Xilinx Slave Serial SPI FPGA Manager
 | |
| 
 | |
| Xilinx Spartan-6 FPGAs support a method of loading the bitstream over
 | |
| what is referred to as "slave serial" interface.
 | |
| The slave serial link is not technically SPI, and might require extra
 | |
| circuits in order to play nicely with other SPI slaves on the same bus.
 | |
| 
 | |
| See https://www.xilinx.com/support/documentation/user_guides/ug380.pdf
 | |
| 
 | |
| Required properties:
 | |
| - compatible: should contain "xlnx,fpga-slave-serial"
 | |
| - reg: spi chip select of the FPGA
 | |
| - prog_b-gpios: config pin (referred to as PROGRAM_B in the manual)
 | |
| - done-gpios: config status pin (referred to as DONE in the manual)
 | |
| 
 | |
| Example for full FPGA configuration:
 | |
| 
 | |
| 	fpga-region0 {
 | |
| 		compatible = "fpga-region";
 | |
| 		fpga-mgr = <&fpga_mgr_spi>;
 | |
| 		#address-cells = <0x1>;
 | |
| 		#size-cells = <0x1>;
 | |
| 	};
 | |
| 
 | |
| 	spi1: spi@10680 {
 | |
| 		compatible = "marvell,armada-xp-spi", "marvell,orion-spi";
 | |
| 		pinctrl-0 = <&spi0_pins>;
 | |
| 		pinctrl-names = "default";
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 		cell-index = <1>;
 | |
| 		interrupts = <92>;
 | |
| 		clocks = <&coreclk 0>;
 | |
| 
 | |
| 		fpga_mgr_spi: fpga-mgr@0 {
 | |
| 			compatible = "xlnx,fpga-slave-serial";
 | |
| 			spi-max-frequency = <60000000>;
 | |
| 			spi-cpha;
 | |
| 			reg = <0>;
 | |
| 			done-gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
 | |
| 			prog_b-gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
 | |
| 		};
 | |
| 	};
 | 
