82 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/fpga/lattice,sysconfig.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Lattice Slave SPI sysCONFIG FPGA manager8 9maintainers:10 - Vladimir Georgiev <v.georgiev@metrotek.ru>11 12description: |13 Lattice sysCONFIG port, which is used for FPGA configuration, among others,14 have Slave Serial Peripheral Interface. Only full reconfiguration is15 supported.16 17 Programming of ECP5 is done by writing uncompressed bitstream image in .bit18 format into FPGA's SRAM configuration memory.19 20properties:21 compatible:22 enum:23 - lattice,sysconfig-ecp524 25 reg:26 maxItems: 127 28 program-gpios:29 description:30 A GPIO line connected to PROGRAMN (active low) pin of the device.31 Initiates configuration sequence.32 maxItems: 133 34 init-gpios:35 description:36 A GPIO line connected to INITN (active low) pin of the device.37 Indicates that the FPGA is ready to be configured.38 maxItems: 139 40 done-gpios:41 description:42 A GPIO line connected to DONE (active high) pin of the device.43 Indicates that the configuration sequence is complete.44 maxItems: 145 46required:47 - compatible48 - reg49 50allOf:51 - $ref: /schemas/spi/spi-peripheral-props.yaml52 53 - if:54 properties:55 compatible:56 contains:57 const: lattice,sysconfig-ecp558 then:59 properties:60 spi-max-frequency:61 maximum: 6000000062 63unevaluatedProperties: false64 65examples:66 - |67 #include <dt-bindings/gpio/gpio.h>68 69 spi {70 #address-cells = <1>;71 #size-cells = <0>;72 73 fpga-mgr@0 {74 compatible = "lattice,sysconfig-ecp5";75 reg = <0>;76 spi-max-frequency = <20000000>;77 program-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;78 init-gpios = <&gpio3 3 GPIO_ACTIVE_LOW>;79 done-gpios = <&gpio3 2 GPIO_ACTIVE_HIGH>;80 };81 };82