xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/brcm,bcm6368-gpio-sysctl.yaml (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
1*2eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*2eb4d8dcSEmmanuel Vadot%YAML 1.2
3*2eb4d8dcSEmmanuel Vadot---
4*2eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/brcm,bcm6368-gpio-sysctl.yaml#
5*2eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2eb4d8dcSEmmanuel Vadot
7*2eb4d8dcSEmmanuel Vadottitle: Broadcom BCM6368 GPIO System Controller Device Tree Bindings
8*2eb4d8dcSEmmanuel Vadot
9*2eb4d8dcSEmmanuel Vadotmaintainers:
10*2eb4d8dcSEmmanuel Vadot  - Álvaro Fernández Rojas <noltari@gmail.com>
11*2eb4d8dcSEmmanuel Vadot  - Jonas Gorski <jonas.gorski@gmail.com>
12*2eb4d8dcSEmmanuel Vadot
13*2eb4d8dcSEmmanuel Vadotdescription:
14*2eb4d8dcSEmmanuel Vadot  Broadcom BCM6368 SoC GPIO system controller which provides a register map
15*2eb4d8dcSEmmanuel Vadot  for controlling the GPIO and pins of the SoC.
16*2eb4d8dcSEmmanuel Vadot
17*2eb4d8dcSEmmanuel Vadotproperties:
18*2eb4d8dcSEmmanuel Vadot  "#address-cells": true
19*2eb4d8dcSEmmanuel Vadot
20*2eb4d8dcSEmmanuel Vadot  "#size-cells": true
21*2eb4d8dcSEmmanuel Vadot
22*2eb4d8dcSEmmanuel Vadot  compatible:
23*2eb4d8dcSEmmanuel Vadot    items:
24*2eb4d8dcSEmmanuel Vadot      - const: brcm,bcm6368-gpio-sysctl
25*2eb4d8dcSEmmanuel Vadot      - const: syscon
26*2eb4d8dcSEmmanuel Vadot      - const: simple-mfd
27*2eb4d8dcSEmmanuel Vadot
28*2eb4d8dcSEmmanuel Vadot  ranges:
29*2eb4d8dcSEmmanuel Vadot    maxItems: 1
30*2eb4d8dcSEmmanuel Vadot
31*2eb4d8dcSEmmanuel Vadot  reg:
32*2eb4d8dcSEmmanuel Vadot    maxItems: 1
33*2eb4d8dcSEmmanuel Vadot
34*2eb4d8dcSEmmanuel VadotpatternProperties:
35*2eb4d8dcSEmmanuel Vadot  "^gpio@[0-9a-f]+$":
36*2eb4d8dcSEmmanuel Vadot    # Child node
37*2eb4d8dcSEmmanuel Vadot    type: object
38*2eb4d8dcSEmmanuel Vadot    $ref: "../gpio/brcm,bcm6345-gpio.yaml"
39*2eb4d8dcSEmmanuel Vadot    description:
40*2eb4d8dcSEmmanuel Vadot      GPIO controller for the SoC GPIOs. This child node definition
41*2eb4d8dcSEmmanuel Vadot      should follow the bindings specified in
42*2eb4d8dcSEmmanuel Vadot      Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.yaml.
43*2eb4d8dcSEmmanuel Vadot
44*2eb4d8dcSEmmanuel Vadot  "^pinctrl@[0-9a-f]+$":
45*2eb4d8dcSEmmanuel Vadot    # Child node
46*2eb4d8dcSEmmanuel Vadot    type: object
47*2eb4d8dcSEmmanuel Vadot    $ref: "../pinctrl/brcm,bcm6368-pinctrl.yaml"
48*2eb4d8dcSEmmanuel Vadot    description:
49*2eb4d8dcSEmmanuel Vadot      Pin controller for the SoC pins. This child node definition
50*2eb4d8dcSEmmanuel Vadot      should follow the bindings specified in
51*2eb4d8dcSEmmanuel Vadot      Documentation/devicetree/bindings/pinctrl/brcm,bcm6368-pinctrl.yaml.
52*2eb4d8dcSEmmanuel Vadot
53*2eb4d8dcSEmmanuel Vadotrequired:
54*2eb4d8dcSEmmanuel Vadot  - "#address-cells"
55*2eb4d8dcSEmmanuel Vadot  - compatible
56*2eb4d8dcSEmmanuel Vadot  - ranges
57*2eb4d8dcSEmmanuel Vadot  - reg
58*2eb4d8dcSEmmanuel Vadot  - "#size-cells"
59*2eb4d8dcSEmmanuel Vadot
60*2eb4d8dcSEmmanuel VadotadditionalProperties: false
61*2eb4d8dcSEmmanuel Vadot
62*2eb4d8dcSEmmanuel Vadotexamples:
63*2eb4d8dcSEmmanuel Vadot  - |
64*2eb4d8dcSEmmanuel Vadot    syscon@10000080 {
65*2eb4d8dcSEmmanuel Vadot      #address-cells = <1>;
66*2eb4d8dcSEmmanuel Vadot      #size-cells = <1>;
67*2eb4d8dcSEmmanuel Vadot      compatible = "brcm,bcm6368-gpio-sysctl", "syscon", "simple-mfd";
68*2eb4d8dcSEmmanuel Vadot      reg = <0x10000080 0x80>;
69*2eb4d8dcSEmmanuel Vadot      ranges = <0 0x10000080 0x80>;
70*2eb4d8dcSEmmanuel Vadot
71*2eb4d8dcSEmmanuel Vadot      gpio@0 {
72*2eb4d8dcSEmmanuel Vadot        compatible = "brcm,bcm6368-gpio";
73*2eb4d8dcSEmmanuel Vadot        reg-names = "dirout", "dat";
74*2eb4d8dcSEmmanuel Vadot        reg = <0x0 0x8>, <0x8 0x8>;
75*2eb4d8dcSEmmanuel Vadot
76*2eb4d8dcSEmmanuel Vadot        gpio-controller;
77*2eb4d8dcSEmmanuel Vadot        gpio-ranges = <&pinctrl 0 0 38>;
78*2eb4d8dcSEmmanuel Vadot        #gpio-cells = <2>;
79*2eb4d8dcSEmmanuel Vadot      };
80*2eb4d8dcSEmmanuel Vadot
81*2eb4d8dcSEmmanuel Vadot      pinctrl: pinctrl@18 {
82*2eb4d8dcSEmmanuel Vadot        compatible = "brcm,bcm6368-pinctrl";
83*2eb4d8dcSEmmanuel Vadot        reg = <0x18 0x4>, <0x38 0x4>;
84*2eb4d8dcSEmmanuel Vadot
85*2eb4d8dcSEmmanuel Vadot        pinctrl_analog_afe_0: analog_afe_0-pins {
86*2eb4d8dcSEmmanuel Vadot          function = "analog_afe_0";
87*2eb4d8dcSEmmanuel Vadot          pins = "gpio0";
88*2eb4d8dcSEmmanuel Vadot        };
89*2eb4d8dcSEmmanuel Vadot
90*2eb4d8dcSEmmanuel Vadot        pinctrl_analog_afe_1: analog_afe_1-pins {
91*2eb4d8dcSEmmanuel Vadot          function = "analog_afe_1";
92*2eb4d8dcSEmmanuel Vadot          pins = "gpio1";
93*2eb4d8dcSEmmanuel Vadot        };
94*2eb4d8dcSEmmanuel Vadot
95*2eb4d8dcSEmmanuel Vadot        pinctrl_sys_irq: sys_irq-pins {
96*2eb4d8dcSEmmanuel Vadot          function = "sys_irq";
97*2eb4d8dcSEmmanuel Vadot          pins = "gpio2";
98*2eb4d8dcSEmmanuel Vadot        };
99*2eb4d8dcSEmmanuel Vadot
100*2eb4d8dcSEmmanuel Vadot        pinctrl_serial_led: serial_led-pins {
101*2eb4d8dcSEmmanuel Vadot          pinctrl_serial_led_data: serial_led_data-pins {
102*2eb4d8dcSEmmanuel Vadot            function = "serial_led_data";
103*2eb4d8dcSEmmanuel Vadot            pins = "gpio3";
104*2eb4d8dcSEmmanuel Vadot          };
105*2eb4d8dcSEmmanuel Vadot
106*2eb4d8dcSEmmanuel Vadot          pinctrl_serial_led_clk: serial_led_clk-pins {
107*2eb4d8dcSEmmanuel Vadot            function = "serial_led_clk";
108*2eb4d8dcSEmmanuel Vadot            pins = "gpio4";
109*2eb4d8dcSEmmanuel Vadot          };
110*2eb4d8dcSEmmanuel Vadot        };
111*2eb4d8dcSEmmanuel Vadot
112*2eb4d8dcSEmmanuel Vadot        pinctrl_inet_led: inet_led-pins {
113*2eb4d8dcSEmmanuel Vadot          function = "inet_led";
114*2eb4d8dcSEmmanuel Vadot          pins = "gpio5";
115*2eb4d8dcSEmmanuel Vadot        };
116*2eb4d8dcSEmmanuel Vadot
117*2eb4d8dcSEmmanuel Vadot        pinctrl_ephy0_led: ephy0_led-pins {
118*2eb4d8dcSEmmanuel Vadot          function = "ephy0_led";
119*2eb4d8dcSEmmanuel Vadot          pins = "gpio6";
120*2eb4d8dcSEmmanuel Vadot        };
121*2eb4d8dcSEmmanuel Vadot
122*2eb4d8dcSEmmanuel Vadot        pinctrl_ephy1_led: ephy1_led-pins {
123*2eb4d8dcSEmmanuel Vadot          function = "ephy1_led";
124*2eb4d8dcSEmmanuel Vadot          pins = "gpio7";
125*2eb4d8dcSEmmanuel Vadot        };
126*2eb4d8dcSEmmanuel Vadot
127*2eb4d8dcSEmmanuel Vadot        pinctrl_ephy2_led: ephy2_led-pins {
128*2eb4d8dcSEmmanuel Vadot          function = "ephy2_led";
129*2eb4d8dcSEmmanuel Vadot          pins = "gpio8";
130*2eb4d8dcSEmmanuel Vadot        };
131*2eb4d8dcSEmmanuel Vadot
132*2eb4d8dcSEmmanuel Vadot        pinctrl_ephy3_led: ephy3_led-pins {
133*2eb4d8dcSEmmanuel Vadot          function = "ephy3_led";
134*2eb4d8dcSEmmanuel Vadot          pins = "gpio9";
135*2eb4d8dcSEmmanuel Vadot        };
136*2eb4d8dcSEmmanuel Vadot
137*2eb4d8dcSEmmanuel Vadot        pinctrl_robosw_led_data: robosw_led_data-pins {
138*2eb4d8dcSEmmanuel Vadot          function = "robosw_led_data";
139*2eb4d8dcSEmmanuel Vadot          pins = "gpio10";
140*2eb4d8dcSEmmanuel Vadot        };
141*2eb4d8dcSEmmanuel Vadot
142*2eb4d8dcSEmmanuel Vadot        pinctrl_robosw_led_clk: robosw_led_clk-pins {
143*2eb4d8dcSEmmanuel Vadot          function = "robosw_led_clk";
144*2eb4d8dcSEmmanuel Vadot          pins = "gpio11";
145*2eb4d8dcSEmmanuel Vadot        };
146*2eb4d8dcSEmmanuel Vadot
147*2eb4d8dcSEmmanuel Vadot        pinctrl_robosw_led0: robosw_led0-pins {
148*2eb4d8dcSEmmanuel Vadot          function = "robosw_led0";
149*2eb4d8dcSEmmanuel Vadot          pins = "gpio12";
150*2eb4d8dcSEmmanuel Vadot        };
151*2eb4d8dcSEmmanuel Vadot
152*2eb4d8dcSEmmanuel Vadot        pinctrl_robosw_led1: robosw_led1-pins {
153*2eb4d8dcSEmmanuel Vadot          function = "robosw_led1";
154*2eb4d8dcSEmmanuel Vadot          pins = "gpio13";
155*2eb4d8dcSEmmanuel Vadot        };
156*2eb4d8dcSEmmanuel Vadot
157*2eb4d8dcSEmmanuel Vadot        pinctrl_usb_device_led: usb_device_led-pins {
158*2eb4d8dcSEmmanuel Vadot          function = "usb_device_led";
159*2eb4d8dcSEmmanuel Vadot          pins = "gpio14";
160*2eb4d8dcSEmmanuel Vadot        };
161*2eb4d8dcSEmmanuel Vadot
162*2eb4d8dcSEmmanuel Vadot        pinctrl_pci: pci-pins {
163*2eb4d8dcSEmmanuel Vadot          pinctrl_pci_req1: pci_req1-pins {
164*2eb4d8dcSEmmanuel Vadot            function = "pci_req1";
165*2eb4d8dcSEmmanuel Vadot            pins = "gpio16";
166*2eb4d8dcSEmmanuel Vadot          };
167*2eb4d8dcSEmmanuel Vadot
168*2eb4d8dcSEmmanuel Vadot          pinctrl_pci_gnt1: pci_gnt1-pins {
169*2eb4d8dcSEmmanuel Vadot            function = "pci_gnt1";
170*2eb4d8dcSEmmanuel Vadot            pins = "gpio17";
171*2eb4d8dcSEmmanuel Vadot          };
172*2eb4d8dcSEmmanuel Vadot
173*2eb4d8dcSEmmanuel Vadot          pinctrl_pci_intb: pci_intb-pins {
174*2eb4d8dcSEmmanuel Vadot            function = "pci_intb";
175*2eb4d8dcSEmmanuel Vadot            pins = "gpio18";
176*2eb4d8dcSEmmanuel Vadot          };
177*2eb4d8dcSEmmanuel Vadot
178*2eb4d8dcSEmmanuel Vadot          pinctrl_pci_req0: pci_req0-pins {
179*2eb4d8dcSEmmanuel Vadot            function = "pci_req0";
180*2eb4d8dcSEmmanuel Vadot            pins = "gpio19";
181*2eb4d8dcSEmmanuel Vadot          };
182*2eb4d8dcSEmmanuel Vadot
183*2eb4d8dcSEmmanuel Vadot          pinctrl_pci_gnt0: pci_gnt0-pins {
184*2eb4d8dcSEmmanuel Vadot            function = "pci_gnt0";
185*2eb4d8dcSEmmanuel Vadot            pins = "gpio20";
186*2eb4d8dcSEmmanuel Vadot          };
187*2eb4d8dcSEmmanuel Vadot        };
188*2eb4d8dcSEmmanuel Vadot
189*2eb4d8dcSEmmanuel Vadot        pinctrl_pcmcia: pcmcia-pins {
190*2eb4d8dcSEmmanuel Vadot          pinctrl_pcmcia_cd1: pcmcia_cd1-pins {
191*2eb4d8dcSEmmanuel Vadot            function = "pcmcia_cd1";
192*2eb4d8dcSEmmanuel Vadot            pins = "gpio22";
193*2eb4d8dcSEmmanuel Vadot          };
194*2eb4d8dcSEmmanuel Vadot
195*2eb4d8dcSEmmanuel Vadot          pinctrl_pcmcia_cd2: pcmcia_cd2-pins {
196*2eb4d8dcSEmmanuel Vadot            function = "pcmcia_cd2";
197*2eb4d8dcSEmmanuel Vadot            pins = "gpio23";
198*2eb4d8dcSEmmanuel Vadot          };
199*2eb4d8dcSEmmanuel Vadot
200*2eb4d8dcSEmmanuel Vadot          pinctrl_pcmcia_vs1: pcmcia_vs1-pins {
201*2eb4d8dcSEmmanuel Vadot            function = "pcmcia_vs1";
202*2eb4d8dcSEmmanuel Vadot            pins = "gpio24";
203*2eb4d8dcSEmmanuel Vadot          };
204*2eb4d8dcSEmmanuel Vadot
205*2eb4d8dcSEmmanuel Vadot          pinctrl_pcmcia_vs2: pcmcia_vs2-pins {
206*2eb4d8dcSEmmanuel Vadot            function = "pcmcia_vs2";
207*2eb4d8dcSEmmanuel Vadot            pins = "gpio25";
208*2eb4d8dcSEmmanuel Vadot          };
209*2eb4d8dcSEmmanuel Vadot        };
210*2eb4d8dcSEmmanuel Vadot
211*2eb4d8dcSEmmanuel Vadot        pinctrl_ebi_cs2: ebi_cs2-pins {
212*2eb4d8dcSEmmanuel Vadot          function = "ebi_cs2";
213*2eb4d8dcSEmmanuel Vadot          pins = "gpio26";
214*2eb4d8dcSEmmanuel Vadot        };
215*2eb4d8dcSEmmanuel Vadot
216*2eb4d8dcSEmmanuel Vadot        pinctrl_ebi_cs3: ebi_cs3-pins {
217*2eb4d8dcSEmmanuel Vadot          function = "ebi_cs3";
218*2eb4d8dcSEmmanuel Vadot          pins = "gpio27";
219*2eb4d8dcSEmmanuel Vadot        };
220*2eb4d8dcSEmmanuel Vadot
221*2eb4d8dcSEmmanuel Vadot        pinctrl_spi_cs2: spi_cs2-pins {
222*2eb4d8dcSEmmanuel Vadot          function = "spi_cs2";
223*2eb4d8dcSEmmanuel Vadot          pins = "gpio28";
224*2eb4d8dcSEmmanuel Vadot        };
225*2eb4d8dcSEmmanuel Vadot
226*2eb4d8dcSEmmanuel Vadot        pinctrl_spi_cs3: spi_cs3-pins {
227*2eb4d8dcSEmmanuel Vadot          function = "spi_cs3";
228*2eb4d8dcSEmmanuel Vadot          pins = "gpio29";
229*2eb4d8dcSEmmanuel Vadot        };
230*2eb4d8dcSEmmanuel Vadot
231*2eb4d8dcSEmmanuel Vadot        pinctrl_spi_cs4: spi_cs4-pins {
232*2eb4d8dcSEmmanuel Vadot          function = "spi_cs4";
233*2eb4d8dcSEmmanuel Vadot          pins = "gpio30";
234*2eb4d8dcSEmmanuel Vadot        };
235*2eb4d8dcSEmmanuel Vadot
236*2eb4d8dcSEmmanuel Vadot        pinctrl_spi_cs5: spi_cs5-pins {
237*2eb4d8dcSEmmanuel Vadot          function = "spi_cs5";
238*2eb4d8dcSEmmanuel Vadot          pins = "gpio31";
239*2eb4d8dcSEmmanuel Vadot        };
240*2eb4d8dcSEmmanuel Vadot
241*2eb4d8dcSEmmanuel Vadot        pinctrl_uart1: uart1-pins {
242*2eb4d8dcSEmmanuel Vadot          function = "uart1";
243*2eb4d8dcSEmmanuel Vadot          group = "uart1_grp";
244*2eb4d8dcSEmmanuel Vadot        };
245*2eb4d8dcSEmmanuel Vadot      };
246*2eb4d8dcSEmmanuel Vadot    };
247