| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/fpga/lattice,sysconfig.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Lattice Slave SPI sysCONFIG FPGA manager |
| |
| maintainers: |
| - Vladimir Georgiev <v.georgiev@metrotek.ru> |
| |
| description: | |
| Lattice sysCONFIG port, which is used for FPGA configuration, among others, |
| have Slave Serial Peripheral Interface. Only full reconfiguration is |
| supported. |
| |
| Programming of ECP5 is done by writing uncompressed bitstream image in .bit |
| format into FPGA's SRAM configuration memory. |
| |
| properties: |
| compatible: |
| enum: |
| - lattice,sysconfig-ecp5 |
| |
| reg: |
| maxItems: 1 |
| |
| 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 |
| |
| allOf: |
| - $ref: /schemas/spi/spi-peripheral-props.yaml |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: lattice,sysconfig-ecp5 |
| then: |
| properties: |
| spi-max-frequency: |
| maximum: 60000000 |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| fpga-mgr@0 { |
| compatible = "lattice,sysconfig-ecp5"; |
| 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>; |
| }; |
| }; |