Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12cc5a12 authored by Anatolij Gustschin's avatar Anatolij Gustschin Committed by Greg Kroah-Hartman
Browse files

dt: bindings: fpga: add xilinx slave-serial binding description



Add dt binding documentation details for Xilinx FPGA configuration
over slave serial interface.

Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
Acked-by: default avatarMoritz Fischer <mdf@kernel.org>
Acked-by: default avatarRob Herring <robh@kernel.org>
Acked-by: default avatarMichal Simek <michal.simek@xilinx.com>
Acked-by: default avatarAlan Tull <atull@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6b539d27
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
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>;
		status = "okay";

		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>;
		};
	};