blob: 4e28e6e9d8e05816d4783f1e00922f09c33b018c [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2019 BayLibre, SAS
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/spi/amlogic,meson-gx-spicc.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Amlogic Meson SPI Communication Controller
9
10maintainers:
11 - Neil Armstrong <neil.armstrong@linaro.org>
12
13description: |
14 The Meson SPICC is a generic SPI controller for general purpose Full-Duplex
15 communications with dedicated 16 words RX/TX PIO FIFOs.
16
17properties:
18 compatible:
19 enum:
20 - amlogic,meson-gx-spicc # SPICC controller on Amlogic GX and compatible SoCs
21 - amlogic,meson-axg-spicc # SPICC controller on Amlogic AXG and compatible SoCs
22 - amlogic,meson-g12a-spicc # SPICC controller on Amlogic G12A and compatible SoCs
23
24 interrupts:
25 maxItems: 1
26
27 reg:
28 maxItems: 1
29
30 resets:
31 maxItems: 1
32
33 clocks:
34 minItems: 1
35 items:
36 - description: controller register bus clock
37 - description: baud rate generator and delay control clock
38
39 clock-names:
40 minItems: 1
41 maxItems: 2
42
43allOf:
44 - $ref: spi-controller.yaml#
45 - if:
46 properties:
47 compatible:
48 contains:
49 enum:
50 - amlogic,meson-g12a-spicc
51
52 then:
53 properties:
54 clocks:
55 minItems: 2
56
57 clock-names:
58 items:
59 - const: core
60 - const: pclk
61
62 else:
63 properties:
64 clocks:
65 maxItems: 1
66
67 clock-names:
68 items:
69 - const: core
70
71 - if:
72 properties:
73 compatible:
74 contains:
75 enum:
76 - amlogic,meson-gx-spicc
77
78 then:
79 properties:
80 pinctrl-0: true
81 pinctrl-1: true
82 pinctrl-2: true
83
84 pinctrl-names:
85 minItems: 1
86 items:
87 - const: default
88 - const: idle-high
89 - const: idle-low
90
91required:
92 - compatible
93 - reg
94 - interrupts
95 - clocks
96 - clock-names
97
98unevaluatedProperties: false
99
100examples:
101 - |
102 spi@c1108d80 {
103 compatible = "amlogic,meson-gx-spicc";
104 reg = <0xc1108d80 0x80>;
105 interrupts = <112>;
106 clocks = <&clk81>;
107 clock-names = "core";
108 #address-cells = <1>;
109 #size-cells = <0>;
110
111 display@0 {
112 compatible = "lg,lg4573";
113 spi-max-frequency = <1000000>;
114 reg = <0>;
115 };
116 };