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