xref: /freebsd/sys/contrib/device-tree/Bindings/fpga/altr,fpga-passive-serial.yaml (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
1*5f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5f62a964SEmmanuel Vadot%YAML 1.2
3*5f62a964SEmmanuel Vadot---
4*5f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/fpga/altr,fpga-passive-serial.yaml#
5*5f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5f62a964SEmmanuel Vadot
7*5f62a964SEmmanuel Vadottitle: Altera Passive Serial SPI FPGA Manager
8*5f62a964SEmmanuel Vadot
9*5f62a964SEmmanuel Vadotmaintainers:
10*5f62a964SEmmanuel Vadot  - Fabio Estevam <festevam@denx.de>
11*5f62a964SEmmanuel Vadot
12*5f62a964SEmmanuel Vadotdescription: |
13*5f62a964SEmmanuel Vadot  Altera FPGAs support a method of loading the bitstream over what is
14*5f62a964SEmmanuel Vadot  referred to as "passive serial".
15*5f62a964SEmmanuel Vadot  The passive serial link is not technically SPI, and might require extra
16*5f62a964SEmmanuel Vadot  circuits in order to play nicely with other SPI slaves on the same bus.
17*5f62a964SEmmanuel Vadot
18*5f62a964SEmmanuel Vadot  See https://www.altera.com/literature/hb/cyc/cyc_c51013.pdf
19*5f62a964SEmmanuel Vadot
20*5f62a964SEmmanuel VadotallOf:
21*5f62a964SEmmanuel Vadot  - $ref: /schemas/spi/spi-peripheral-props.yaml#
22*5f62a964SEmmanuel Vadot
23*5f62a964SEmmanuel Vadotproperties:
24*5f62a964SEmmanuel Vadot  compatible:
25*5f62a964SEmmanuel Vadot    enum:
26*5f62a964SEmmanuel Vadot      - altr,fpga-passive-serial
27*5f62a964SEmmanuel Vadot      - altr,fpga-arria10-passive-serial
28*5f62a964SEmmanuel Vadot
29*5f62a964SEmmanuel Vadot  spi-max-frequency:
30*5f62a964SEmmanuel Vadot    maximum: 20000000
31*5f62a964SEmmanuel Vadot
32*5f62a964SEmmanuel Vadot  reg:
33*5f62a964SEmmanuel Vadot    maxItems: 1
34*5f62a964SEmmanuel Vadot
35*5f62a964SEmmanuel Vadot  nconfig-gpios:
36*5f62a964SEmmanuel Vadot    description:
37*5f62a964SEmmanuel Vadot      Config pin (referred to as nCONFIG in the manual).
38*5f62a964SEmmanuel Vadot    maxItems: 1
39*5f62a964SEmmanuel Vadot
40*5f62a964SEmmanuel Vadot  nstat-gpios:
41*5f62a964SEmmanuel Vadot    description:
42*5f62a964SEmmanuel Vadot      Status pin (referred to as nSTATUS in the manual).
43*5f62a964SEmmanuel Vadot    maxItems: 1
44*5f62a964SEmmanuel Vadot
45*5f62a964SEmmanuel Vadot  confd-gpios:
46*5f62a964SEmmanuel Vadot    description:
47*5f62a964SEmmanuel Vadot      confd pin (referred to as CONF_DONE in the manual)
48*5f62a964SEmmanuel Vadot    maxItems: 1
49*5f62a964SEmmanuel Vadot
50*5f62a964SEmmanuel Vadotrequired:
51*5f62a964SEmmanuel Vadot  - compatible
52*5f62a964SEmmanuel Vadot  - reg
53*5f62a964SEmmanuel Vadot  - nconfig-gpios
54*5f62a964SEmmanuel Vadot  - nstat-gpios
55*5f62a964SEmmanuel Vadot
56*5f62a964SEmmanuel VadotadditionalProperties: false
57*5f62a964SEmmanuel Vadot
58*5f62a964SEmmanuel Vadotexamples:
59*5f62a964SEmmanuel Vadot  - |
60*5f62a964SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
61*5f62a964SEmmanuel Vadot
62*5f62a964SEmmanuel Vadot    spi {
63*5f62a964SEmmanuel Vadot      #address-cells = <1>;
64*5f62a964SEmmanuel Vadot      #size-cells = <0>;
65*5f62a964SEmmanuel Vadot
66*5f62a964SEmmanuel Vadot      fpga@0 {
67*5f62a964SEmmanuel Vadot        compatible = "altr,fpga-passive-serial";
68*5f62a964SEmmanuel Vadot        reg = <0>;
69*5f62a964SEmmanuel Vadot        nconfig-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>;
70*5f62a964SEmmanuel Vadot        nstat-gpios = <&gpio4 19 GPIO_ACTIVE_LOW>;
71*5f62a964SEmmanuel Vadot        confd-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
72*5f62a964SEmmanuel Vadot      };
73*5f62a964SEmmanuel Vadot    };
74*5f62a964SEmmanuel Vadot...
75