blob: 614d86ad825f3d2a74e681aa192c2014dbda17f3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/fpga/xlnx,fpga-slave-serial.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Xilinx Slave Serial SPI FPGA
8
9maintainers:
10 - Nava kishore Manne <nava.kishore.manne@amd.com>
11
12description: |
13 Xilinx Spartan-6 and 7 Series FPGAs support a method of loading the bitstream
14 over what is referred to as slave serial interface.The slave serial link is
15 not technically SPI, and might require extra circuits in order to play nicely
16 with other SPI slaves on the same bus.
17
18 Datasheets:
19 https://www.xilinx.com/support/documentation/user_guides/ug380.pdf
20 https://www.xilinx.com/support/documentation/user_guides/ug470_7Series_Config.pdf
21 https://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf
22
23allOf:
24 - $ref: /schemas/spi/spi-peripheral-props.yaml#
25
26properties:
27 compatible:
28 enum:
29 - xlnx,fpga-slave-serial
30
31 spi-cpha: true
32
33 spi-max-frequency:
34 maximum: 60000000
35
36 reg:
37 maxItems: 1
38
39 prog_b-gpios:
40 description:
41 config pin (referred to as PROGRAM_B in the manual)
42 maxItems: 1
43
44 done-gpios:
45 description:
46 config status pin (referred to as DONE in the manual)
47 maxItems: 1
48
49 init-b-gpios:
50 description:
51 initialization status and configuration error pin
52 (referred to as INIT_B in the manual)
53 maxItems: 1
54
55required:
56 - compatible
57 - reg
58 - prog_b-gpios
59 - done-gpios
60 - init-b-gpios
61
62additionalProperties: false
63
64examples:
65 - |
66 #include <dt-bindings/gpio/gpio.h>
67 spi {
68 #address-cells = <1>;
69 #size-cells = <0>;
70 fpga_mgr_spi: fpga-mgr@0 {
71 compatible = "xlnx,fpga-slave-serial";
72 spi-max-frequency = <60000000>;
73 spi-cpha;
74 reg = <0>;
75 prog_b-gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
76 init-b-gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
77 done-gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
78 };
79 };
80...