Path: blob/master/Documentation/devicetree/bindings/fpga/lattice,sysconfig.yaml
26308 views
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)1%YAML 1.22---3$id: http://devicetree.org/schemas/fpga/lattice,sysconfig.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: Lattice Slave SPI sysCONFIG FPGA manager78maintainers:9- Vladimir Georgiev <v.georgiev@metrotek.ru>1011description: |12Lattice sysCONFIG port, which is used for FPGA configuration, among others,13have Slave Serial Peripheral Interface. Only full reconfiguration is14supported.1516Programming of ECP5 is done by writing uncompressed bitstream image in .bit17format into FPGA's SRAM configuration memory.1819properties:20compatible:21enum:22- lattice,sysconfig-ecp52324reg:25maxItems: 12627program-gpios:28description:29A GPIO line connected to PROGRAMN (active low) pin of the device.30Initiates configuration sequence.31maxItems: 13233init-gpios:34description:35A GPIO line connected to INITN (active low) pin of the device.36Indicates that the FPGA is ready to be configured.37maxItems: 13839done-gpios:40description:41A GPIO line connected to DONE (active high) pin of the device.42Indicates that the configuration sequence is complete.43maxItems: 14445required:46- compatible47- reg4849allOf:50- $ref: /schemas/spi/spi-peripheral-props.yaml5152- if:53properties:54compatible:55contains:56const: lattice,sysconfig-ecp557then:58properties:59spi-max-frequency:60maximum: 600000006162unevaluatedProperties: false6364examples:65- |66#include <dt-bindings/gpio/gpio.h>6768spi {69#address-cells = <1>;70#size-cells = <0>;7172fpga-mgr@0 {73compatible = "lattice,sysconfig-ecp5";74reg = <0>;75spi-max-frequency = <20000000>;76program-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;77init-gpios = <&gpio3 3 GPIO_ACTIVE_LOW>;78done-gpios = <&gpio3 2 GPIO_ACTIVE_HIGH>;79};80};818283