xref: /freebsd/sys/contrib/device-tree/Bindings/spi/nvidia,tegra20-slink.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1*aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*aa1a8ff2SEmmanuel Vadot%YAML 1.2
3*aa1a8ff2SEmmanuel Vadot---
4*aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/spi/nvidia,tegra20-slink.yaml#
5*aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*aa1a8ff2SEmmanuel Vadot
7*aa1a8ff2SEmmanuel Vadottitle: NVIDIA Tegra20/30 SLINK controller
8*aa1a8ff2SEmmanuel Vadot
9*aa1a8ff2SEmmanuel Vadotmaintainers:
10*aa1a8ff2SEmmanuel Vadot  - Thierry Reding <thierry.reding@gmail.com>
11*aa1a8ff2SEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
12*aa1a8ff2SEmmanuel Vadot
13*aa1a8ff2SEmmanuel Vadotproperties:
14*aa1a8ff2SEmmanuel Vadot  compatible:
15*aa1a8ff2SEmmanuel Vadot    enum:
16*aa1a8ff2SEmmanuel Vadot      - nvidia,tegra20-slink
17*aa1a8ff2SEmmanuel Vadot      - nvidia,tegra30-slink
18*aa1a8ff2SEmmanuel Vadot
19*aa1a8ff2SEmmanuel Vadot  reg:
20*aa1a8ff2SEmmanuel Vadot    maxItems: 1
21*aa1a8ff2SEmmanuel Vadot
22*aa1a8ff2SEmmanuel Vadot  interrupts:
23*aa1a8ff2SEmmanuel Vadot    maxItems: 1
24*aa1a8ff2SEmmanuel Vadot
25*aa1a8ff2SEmmanuel Vadot  clocks:
26*aa1a8ff2SEmmanuel Vadot    items:
27*aa1a8ff2SEmmanuel Vadot      - description: module clock
28*aa1a8ff2SEmmanuel Vadot
29*aa1a8ff2SEmmanuel Vadot  resets:
30*aa1a8ff2SEmmanuel Vadot    items:
31*aa1a8ff2SEmmanuel Vadot      - description: module reset
32*aa1a8ff2SEmmanuel Vadot
33*aa1a8ff2SEmmanuel Vadot  reset-names:
34*aa1a8ff2SEmmanuel Vadot    items:
35*aa1a8ff2SEmmanuel Vadot      - const: spi
36*aa1a8ff2SEmmanuel Vadot
37*aa1a8ff2SEmmanuel Vadot  dmas:
38*aa1a8ff2SEmmanuel Vadot    items:
39*aa1a8ff2SEmmanuel Vadot      - description: DMA channel used for reception
40*aa1a8ff2SEmmanuel Vadot      - description: DMA channel used for transmission
41*aa1a8ff2SEmmanuel Vadot
42*aa1a8ff2SEmmanuel Vadot  dma-names:
43*aa1a8ff2SEmmanuel Vadot    items:
44*aa1a8ff2SEmmanuel Vadot      - const: rx
45*aa1a8ff2SEmmanuel Vadot      - const: tx
46*aa1a8ff2SEmmanuel Vadot
47*aa1a8ff2SEmmanuel Vadot  operating-points-v2:
48*aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
49*aa1a8ff2SEmmanuel Vadot
50*aa1a8ff2SEmmanuel Vadot  power-domains:
51*aa1a8ff2SEmmanuel Vadot    items:
52*aa1a8ff2SEmmanuel Vadot      - description: phandle to the core power domain
53*aa1a8ff2SEmmanuel Vadot
54*aa1a8ff2SEmmanuel Vadot  spi-max-frequency:
55*aa1a8ff2SEmmanuel Vadot    description: Maximum SPI clocking speed of the controller in Hz.
56*aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
57*aa1a8ff2SEmmanuel Vadot
58*aa1a8ff2SEmmanuel VadotallOf:
59*aa1a8ff2SEmmanuel Vadot  - $ref: spi-controller.yaml
60*aa1a8ff2SEmmanuel Vadot
61*aa1a8ff2SEmmanuel VadotunevaluatedProperties: false
62*aa1a8ff2SEmmanuel Vadot
63*aa1a8ff2SEmmanuel Vadotrequired:
64*aa1a8ff2SEmmanuel Vadot  - compatible
65*aa1a8ff2SEmmanuel Vadot  - reg
66*aa1a8ff2SEmmanuel Vadot  - interrupts
67*aa1a8ff2SEmmanuel Vadot  - clocks
68*aa1a8ff2SEmmanuel Vadot  - resets
69*aa1a8ff2SEmmanuel Vadot  - reset-names
70*aa1a8ff2SEmmanuel Vadot  - dmas
71*aa1a8ff2SEmmanuel Vadot  - dma-names
72*aa1a8ff2SEmmanuel Vadot
73*aa1a8ff2SEmmanuel Vadotexamples:
74*aa1a8ff2SEmmanuel Vadot  - |
75*aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/clock/tegra20-car.h>
76*aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
77*aa1a8ff2SEmmanuel Vadot
78*aa1a8ff2SEmmanuel Vadot    spi@7000d600 {
79*aa1a8ff2SEmmanuel Vadot        compatible = "nvidia,tegra20-slink";
80*aa1a8ff2SEmmanuel Vadot        reg = <0x7000d600 0x200>;
81*aa1a8ff2SEmmanuel Vadot        interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
82*aa1a8ff2SEmmanuel Vadot        spi-max-frequency = <25000000>;
83*aa1a8ff2SEmmanuel Vadot        #address-cells = <1>;
84*aa1a8ff2SEmmanuel Vadot        #size-cells = <0>;
85*aa1a8ff2SEmmanuel Vadot        clocks = <&tegra_car TEGRA20_CLK_SBC2>;
86*aa1a8ff2SEmmanuel Vadot        resets = <&tegra_car 44>;
87*aa1a8ff2SEmmanuel Vadot        reset-names = "spi";
88*aa1a8ff2SEmmanuel Vadot        dmas = <&apbdma 16>, <&apbdma 16>;
89*aa1a8ff2SEmmanuel Vadot        dma-names = "rx", "tx";
90*aa1a8ff2SEmmanuel Vadot    };
91