dt-bindings: fpga: document Lattice sysCONFIG FPGA manager

Add Device Tree Binding doc for configuring Lattice ECP5 FPGA over
Slave SPI sysCONFIG interface.

Signed-off-by: Ivan Bornyakov <i.bornyakov@metrotek.ru>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Xu Yilun <yilun.xu@intel.com>
Link: https://lore.kernel.org/r/20221025053947.2737-3-i.bornyakov@metrotek.ru
Signed-off-by: Xu Yilun <yilun.xu@intel.com>
This commit is contained in:
Ivan Bornyakov 2022-10-25 08:39:47 +03:00 committed by Xu Yilun
parent 463dd43bc9
commit ee31d5038c
No known key found for this signature in database
GPG key ID: FCB70381A4A08CDA

View file

@ -0,0 +1,81 @@
# 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:
- Ivan Bornyakov <i.bornyakov@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>;
};
};