xref: /freebsd/sys/contrib/device-tree/Bindings/spi/fsl,dspi.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/spi/fsl,dspi.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: ARM Freescale DSPI controller
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
11*0e8011faSEmmanuel Vadot
12*0e8011faSEmmanuel Vadotproperties:
13*0e8011faSEmmanuel Vadot  compatible:
14*0e8011faSEmmanuel Vadot    oneOf:
15*0e8011faSEmmanuel Vadot      - enum:
16*0e8011faSEmmanuel Vadot          - fsl,vf610-dspi
17*0e8011faSEmmanuel Vadot          - fsl,ls1021a-v1.0-dspi
18*0e8011faSEmmanuel Vadot          - fsl,ls1012a-dspi
19*0e8011faSEmmanuel Vadot          - fsl,ls1028a-dspi
20*0e8011faSEmmanuel Vadot          - fsl,ls1043a-dspi
21*0e8011faSEmmanuel Vadot          - fsl,ls1046a-dspi
22*0e8011faSEmmanuel Vadot          - fsl,ls1088a-dspi
23*0e8011faSEmmanuel Vadot          - fsl,ls2080a-dspi
24*0e8011faSEmmanuel Vadot          - fsl,ls2085a-dspi
25*0e8011faSEmmanuel Vadot          - fsl,lx2160a-dspi
26*0e8011faSEmmanuel Vadot      - items:
27*0e8011faSEmmanuel Vadot          - enum:
28*0e8011faSEmmanuel Vadot              - fsl,ls1012a-dspi
29*0e8011faSEmmanuel Vadot              - fsl,ls1028a-dspi
30*0e8011faSEmmanuel Vadot              - fsl,ls1043a-dspi
31*0e8011faSEmmanuel Vadot              - fsl,ls1046a-dspi
32*0e8011faSEmmanuel Vadot              - fsl,ls1088a-dspi
33*0e8011faSEmmanuel Vadot          - const: fsl,ls1021a-v1.0-dspi
34*0e8011faSEmmanuel Vadot      - items:
35*0e8011faSEmmanuel Vadot          - const: fsl,ls2080a-dspi
36*0e8011faSEmmanuel Vadot          - const: fsl,ls2085a-dspi
37*0e8011faSEmmanuel Vadot      - items:
38*0e8011faSEmmanuel Vadot          - const: fsl,lx2160a-dspi
39*0e8011faSEmmanuel Vadot          - const: fsl,ls2085a-dspi
40*0e8011faSEmmanuel Vadot
41*0e8011faSEmmanuel Vadot  reg:
42*0e8011faSEmmanuel Vadot    maxItems: 1
43*0e8011faSEmmanuel Vadot
44*0e8011faSEmmanuel Vadot  interrupts:
45*0e8011faSEmmanuel Vadot    maxItems: 1
46*0e8011faSEmmanuel Vadot
47*0e8011faSEmmanuel Vadot  clocks:
48*0e8011faSEmmanuel Vadot    maxItems: 1
49*0e8011faSEmmanuel Vadot
50*0e8011faSEmmanuel Vadot  clock-names:
51*0e8011faSEmmanuel Vadot    items:
52*0e8011faSEmmanuel Vadot      - const: dspi
53*0e8011faSEmmanuel Vadot
54*0e8011faSEmmanuel Vadot  dmas:
55*0e8011faSEmmanuel Vadot    items:
56*0e8011faSEmmanuel Vadot      - description: DMA controller phandle and request line for TX
57*0e8011faSEmmanuel Vadot      - description: DMA controller phandle and request line for RX
58*0e8011faSEmmanuel Vadot
59*0e8011faSEmmanuel Vadot  dma-names:
60*0e8011faSEmmanuel Vadot    items:
61*0e8011faSEmmanuel Vadot      - const: tx
62*0e8011faSEmmanuel Vadot      - const: rx
63*0e8011faSEmmanuel Vadot
64*0e8011faSEmmanuel Vadot  spi-num-chipselects:
65*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
66*0e8011faSEmmanuel Vadot    description:
67*0e8011faSEmmanuel Vadot      The number of the chip native chipselect signals.
68*0e8011faSEmmanuel Vadot      cs-gpios don't count against this number.
69*0e8011faSEmmanuel Vadot
70*0e8011faSEmmanuel Vadot  big-endian: true
71*0e8011faSEmmanuel Vadot
72*0e8011faSEmmanuel Vadot  bus-num:
73*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
74*0e8011faSEmmanuel Vadot    description: SoC-specific identifier for the SPI controller.
75*0e8011faSEmmanuel Vadot
76*0e8011faSEmmanuel Vadotrequired:
77*0e8011faSEmmanuel Vadot  - compatible
78*0e8011faSEmmanuel Vadot  - reg
79*0e8011faSEmmanuel Vadot  - clocks
80*0e8011faSEmmanuel Vadot  - clock-names
81*0e8011faSEmmanuel Vadot  - spi-num-chipselects
82*0e8011faSEmmanuel Vadot
83*0e8011faSEmmanuel VadotallOf:
84*0e8011faSEmmanuel Vadot  - $ref: spi-controller.yaml#
85*0e8011faSEmmanuel Vadot
86*0e8011faSEmmanuel VadotunevaluatedProperties: false
87*0e8011faSEmmanuel Vadot
88*0e8011faSEmmanuel Vadotexamples:
89*0e8011faSEmmanuel Vadot  - |
90*0e8011faSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
91*0e8011faSEmmanuel Vadot    #include <dt-bindings/clock/vf610-clock.h>
92*0e8011faSEmmanuel Vadot
93*0e8011faSEmmanuel Vadot    spi@4002c000 {
94*0e8011faSEmmanuel Vadot        compatible = "fsl,vf610-dspi";
95*0e8011faSEmmanuel Vadot        reg = <0x4002c000 0x1000>;
96*0e8011faSEmmanuel Vadot        #address-cells = <1>;
97*0e8011faSEmmanuel Vadot        #size-cells = <0>;
98*0e8011faSEmmanuel Vadot        interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
99*0e8011faSEmmanuel Vadot        clocks = <&clks VF610_CLK_DSPI0>;
100*0e8011faSEmmanuel Vadot        clock-names = "dspi";
101*0e8011faSEmmanuel Vadot        spi-num-chipselects = <5>;
102*0e8011faSEmmanuel Vadot        bus-num = <0>;
103*0e8011faSEmmanuel Vadot        pinctrl-names = "default";
104*0e8011faSEmmanuel Vadot        pinctrl-0 = <&pinctrl_dspi0_1>;
105*0e8011faSEmmanuel Vadot        big-endian;
106*0e8011faSEmmanuel Vadot
107*0e8011faSEmmanuel Vadot        flash@0 {
108*0e8011faSEmmanuel Vadot                compatible = "jedec,spi-nor";
109*0e8011faSEmmanuel Vadot                reg = <0>;
110*0e8011faSEmmanuel Vadot                spi-max-frequency = <16000000>;
111*0e8011faSEmmanuel Vadot                spi-cpol;
112*0e8011faSEmmanuel Vadot                spi-cpha;
113*0e8011faSEmmanuel Vadot                spi-cs-setup-delay-ns = <100>;
114*0e8011faSEmmanuel Vadot                spi-cs-hold-delay-ns = <50>;
115*0e8011faSEmmanuel Vadot        };
116*0e8011faSEmmanuel Vadot    };
117