Add Device Tree Binding doc for Lattice ECP5 FPGA manager using slave SPI to load .bit formatted uncompressed bitstream image. Signed-off-by: Ivan Bornyakov <i.bornyakov@xxxxxxxxxxx> --- .../bindings/fpga/lattice,ecp5-fpga-mgr.yaml | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Documentation/devicetree/bindings/fpga/lattice,ecp5-fpga-mgr.yaml diff --git a/Documentation/devicetree/bindings/fpga/lattice,ecp5-fpga-mgr.yaml b/Documentation/devicetree/bindings/fpga/lattice,ecp5-fpga-mgr.yaml new file mode 100644 index 000000000000..7d2bd386b533 --- /dev/null +++ b/Documentation/devicetree/bindings/fpga/lattice,ecp5-fpga-mgr.yaml @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/fpga/lattice,ecp5-fpga-mgr.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Lattice ECP5 Slave SPI FPGA manager. + +maintainers: + - Ivan Bornyakov <i.bornyakov@xxxxxxxxxxx> + +description: + Lattice ECP5 sysCONFIG port, which is used for device configuration, among + others, have Slave Serial Peripheral Interface. The driver is to program + Lattice ECP5 FPGA with uncompressed bitstream image in .bit format over SPI. + Only full reconfiguration is supported. + +allOf: + - $ref: /schemas/spi/spi-peripheral-props.yaml + +properties: + compatible: + enum: + - lattice,ecp5-fpga-mgr + + reg: + maxItems: 1 + + spi-max-frequency: + maximum: 60000000 + + program-gpios: + description: + A GPIO line connected to PROGRAMN (active low) pin of the device. + Initiates configuration sequence. + maxItems: 1 + + init-gpios: + description: + A GPIO line connected to INITN (active low) pin of the device. + Indicates that the FPGA is ready to be configured. + maxItems: 1 + + done-gpios: + description: + A GPIO line connected to DONE (active high) pin of the device. + Indicates that the configuration sequence is complete. + maxItems: 1 + +required: + - compatible + - reg + - program-gpios + - init-gpios + - done-gpios + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + + spi { + #address-cells = <1>; + #size-cells = <0>; + + fpga-mgr@0 { + compatible = "lattice,ecp5-fpga-mgr"; + reg = <0>; + spi-max-frequency = <20000000>; + program-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>; + init-gpios = <&gpio3 3 GPIO_ACTIVE_LOW>; + done-gpios = <&gpio3 2 GPIO_ACTIVE_HIGH>; + }; + }; -- 2.37.1