xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/brcm,bcm6362-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,bcm6362-gpio-sysctl.yaml#
5*2eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2eb4d8dcSEmmanuel Vadot
7*2eb4d8dcSEmmanuel Vadottitle: Broadcom BCM6362 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 BCM6362 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,bcm6362-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,bcm6362-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,bcm6362-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,bcm6362-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,bcm6362-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 48>;
78*2eb4d8dcSEmmanuel Vadot        #gpio-cells = <2>;
79*2eb4d8dcSEmmanuel Vadot      };
80*2eb4d8dcSEmmanuel Vadot
81*2eb4d8dcSEmmanuel Vadot      pinctrl: pinctrl@18 {
82*2eb4d8dcSEmmanuel Vadot        compatible = "brcm,bcm6362-pinctrl";
83*2eb4d8dcSEmmanuel Vadot        reg = <0x18 0x10>, <0x38 0x4>;
84*2eb4d8dcSEmmanuel Vadot
85*2eb4d8dcSEmmanuel Vadot        pinctrl_usb_device_led: usb_device_led-pins {
86*2eb4d8dcSEmmanuel Vadot          function = "usb_device_led";
87*2eb4d8dcSEmmanuel Vadot          pins = "gpio0";
88*2eb4d8dcSEmmanuel Vadot        };
89*2eb4d8dcSEmmanuel Vadot
90*2eb4d8dcSEmmanuel Vadot        pinctrl_sys_irq: sys_irq-pins {
91*2eb4d8dcSEmmanuel Vadot          function = "sys_irq";
92*2eb4d8dcSEmmanuel Vadot          pins = "gpio1";
93*2eb4d8dcSEmmanuel Vadot        };
94*2eb4d8dcSEmmanuel Vadot
95*2eb4d8dcSEmmanuel Vadot        pinctrl_serial_led: serial_led-pins {
96*2eb4d8dcSEmmanuel Vadot          pinctrl_serial_led_clk: serial_led_clk-pins {
97*2eb4d8dcSEmmanuel Vadot            function = "serial_led_clk";
98*2eb4d8dcSEmmanuel Vadot            pins = "gpio2";
99*2eb4d8dcSEmmanuel Vadot          };
100*2eb4d8dcSEmmanuel Vadot
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
107*2eb4d8dcSEmmanuel Vadot        pinctrl_robosw_led_data: robosw_led_data-pins {
108*2eb4d8dcSEmmanuel Vadot          function = "robosw_led_data";
109*2eb4d8dcSEmmanuel Vadot          pins = "gpio4";
110*2eb4d8dcSEmmanuel Vadot        };
111*2eb4d8dcSEmmanuel Vadot
112*2eb4d8dcSEmmanuel Vadot        pinctrl_robosw_led_clk: robosw_led_clk-pins {
113*2eb4d8dcSEmmanuel Vadot          function = "robosw_led_clk";
114*2eb4d8dcSEmmanuel Vadot          pins = "gpio5";
115*2eb4d8dcSEmmanuel Vadot        };
116*2eb4d8dcSEmmanuel Vadot
117*2eb4d8dcSEmmanuel Vadot        pinctrl_robosw_led0: robosw_led0-pins {
118*2eb4d8dcSEmmanuel Vadot          function = "robosw_led0";
119*2eb4d8dcSEmmanuel Vadot          pins = "gpio6";
120*2eb4d8dcSEmmanuel Vadot        };
121*2eb4d8dcSEmmanuel Vadot
122*2eb4d8dcSEmmanuel Vadot        pinctrl_robosw_led1: robosw_led1-pins {
123*2eb4d8dcSEmmanuel Vadot          function = "robosw_led1";
124*2eb4d8dcSEmmanuel Vadot          pins = "gpio7";
125*2eb4d8dcSEmmanuel Vadot        };
126*2eb4d8dcSEmmanuel Vadot
127*2eb4d8dcSEmmanuel Vadot        pinctrl_inet_led: inet_led-pins {
128*2eb4d8dcSEmmanuel Vadot          function = "inet_led";
129*2eb4d8dcSEmmanuel Vadot          pins = "gpio8";
130*2eb4d8dcSEmmanuel Vadot        };
131*2eb4d8dcSEmmanuel Vadot
132*2eb4d8dcSEmmanuel Vadot        pinctrl_spi_cs2: spi_cs2-pins {
133*2eb4d8dcSEmmanuel Vadot          function = "spi_cs2";
134*2eb4d8dcSEmmanuel Vadot          pins = "gpio9";
135*2eb4d8dcSEmmanuel Vadot        };
136*2eb4d8dcSEmmanuel Vadot
137*2eb4d8dcSEmmanuel Vadot        pinctrl_spi_cs3: spi_cs3-pins {
138*2eb4d8dcSEmmanuel Vadot          function = "spi_cs3";
139*2eb4d8dcSEmmanuel Vadot          pins = "gpio10";
140*2eb4d8dcSEmmanuel Vadot        };
141*2eb4d8dcSEmmanuel Vadot
142*2eb4d8dcSEmmanuel Vadot        pinctrl_ntr_pulse: ntr_pulse-pins {
143*2eb4d8dcSEmmanuel Vadot          function = "ntr_pulse";
144*2eb4d8dcSEmmanuel Vadot          pins = "gpio11";
145*2eb4d8dcSEmmanuel Vadot        };
146*2eb4d8dcSEmmanuel Vadot
147*2eb4d8dcSEmmanuel Vadot        pinctrl_uart1_scts: uart1_scts-pins {
148*2eb4d8dcSEmmanuel Vadot          function = "uart1_scts";
149*2eb4d8dcSEmmanuel Vadot          pins = "gpio12";
150*2eb4d8dcSEmmanuel Vadot        };
151*2eb4d8dcSEmmanuel Vadot
152*2eb4d8dcSEmmanuel Vadot        pinctrl_uart1_srts: uart1_srts-pins {
153*2eb4d8dcSEmmanuel Vadot          function = "uart1_srts";
154*2eb4d8dcSEmmanuel Vadot          pins = "gpio13";
155*2eb4d8dcSEmmanuel Vadot        };
156*2eb4d8dcSEmmanuel Vadot
157*2eb4d8dcSEmmanuel Vadot        pinctrl_uart1: uart1-pins {
158*2eb4d8dcSEmmanuel Vadot          pinctrl_uart1_sdin: uart1_sdin-pins {
159*2eb4d8dcSEmmanuel Vadot            function = "uart1_sdin";
160*2eb4d8dcSEmmanuel Vadot            pins = "gpio14";
161*2eb4d8dcSEmmanuel Vadot          };
162*2eb4d8dcSEmmanuel Vadot
163*2eb4d8dcSEmmanuel Vadot          pinctrl_uart1_sdout: uart1_sdout-pins {
164*2eb4d8dcSEmmanuel Vadot            function = "uart1_sdout";
165*2eb4d8dcSEmmanuel Vadot            pins = "gpio15";
166*2eb4d8dcSEmmanuel Vadot          };
167*2eb4d8dcSEmmanuel Vadot        };
168*2eb4d8dcSEmmanuel Vadot
169*2eb4d8dcSEmmanuel Vadot        pinctrl_adsl_spi: adsl_spi-pins {
170*2eb4d8dcSEmmanuel Vadot          pinctrl_adsl_spi_miso: adsl_spi_miso-pins {
171*2eb4d8dcSEmmanuel Vadot            function = "adsl_spi_miso";
172*2eb4d8dcSEmmanuel Vadot            pins = "gpio16";
173*2eb4d8dcSEmmanuel Vadot          };
174*2eb4d8dcSEmmanuel Vadot
175*2eb4d8dcSEmmanuel Vadot          pinctrl_adsl_spi_mosi: adsl_spi_mosi-pins {
176*2eb4d8dcSEmmanuel Vadot            function = "adsl_spi_mosi";
177*2eb4d8dcSEmmanuel Vadot            pins = "gpio17";
178*2eb4d8dcSEmmanuel Vadot          };
179*2eb4d8dcSEmmanuel Vadot
180*2eb4d8dcSEmmanuel Vadot          pinctrl_adsl_spi_clk: adsl_spi_clk-pins {
181*2eb4d8dcSEmmanuel Vadot            function = "adsl_spi_clk";
182*2eb4d8dcSEmmanuel Vadot            pins = "gpio18";
183*2eb4d8dcSEmmanuel Vadot          };
184*2eb4d8dcSEmmanuel Vadot
185*2eb4d8dcSEmmanuel Vadot          pinctrl_adsl_spi_cs: adsl_spi_cs-pins {
186*2eb4d8dcSEmmanuel Vadot            function = "adsl_spi_cs";
187*2eb4d8dcSEmmanuel Vadot            pins = "gpio19";
188*2eb4d8dcSEmmanuel Vadot          };
189*2eb4d8dcSEmmanuel Vadot        };
190*2eb4d8dcSEmmanuel Vadot
191*2eb4d8dcSEmmanuel Vadot        pinctrl_ephy0_led: ephy0_led-pins {
192*2eb4d8dcSEmmanuel Vadot          function = "ephy0_led";
193*2eb4d8dcSEmmanuel Vadot          pins = "gpio20";
194*2eb4d8dcSEmmanuel Vadot        };
195*2eb4d8dcSEmmanuel Vadot
196*2eb4d8dcSEmmanuel Vadot        pinctrl_ephy1_led: ephy1_led-pins {
197*2eb4d8dcSEmmanuel Vadot          function = "ephy1_led";
198*2eb4d8dcSEmmanuel Vadot          pins = "gpio21";
199*2eb4d8dcSEmmanuel Vadot        };
200*2eb4d8dcSEmmanuel Vadot
201*2eb4d8dcSEmmanuel Vadot        pinctrl_ephy2_led: ephy2_led-pins {
202*2eb4d8dcSEmmanuel Vadot          function = "ephy2_led";
203*2eb4d8dcSEmmanuel Vadot          pins = "gpio22";
204*2eb4d8dcSEmmanuel Vadot        };
205*2eb4d8dcSEmmanuel Vadot
206*2eb4d8dcSEmmanuel Vadot        pinctrl_ephy3_led: ephy3_led-pins {
207*2eb4d8dcSEmmanuel Vadot          function = "ephy3_led";
208*2eb4d8dcSEmmanuel Vadot          pins = "gpio23";
209*2eb4d8dcSEmmanuel Vadot        };
210*2eb4d8dcSEmmanuel Vadot
211*2eb4d8dcSEmmanuel Vadot        pinctrl_ext_irq0: ext_irq0-pins {
212*2eb4d8dcSEmmanuel Vadot          function = "ext_irq0";
213*2eb4d8dcSEmmanuel Vadot          pins = "gpio24";
214*2eb4d8dcSEmmanuel Vadot        };
215*2eb4d8dcSEmmanuel Vadot
216*2eb4d8dcSEmmanuel Vadot        pinctrl_ext_irq1: ext_irq1-pins {
217*2eb4d8dcSEmmanuel Vadot          function = "ext_irq1";
218*2eb4d8dcSEmmanuel Vadot          pins = "gpio25";
219*2eb4d8dcSEmmanuel Vadot        };
220*2eb4d8dcSEmmanuel Vadot
221*2eb4d8dcSEmmanuel Vadot        pinctrl_ext_irq2: ext_irq2-pins {
222*2eb4d8dcSEmmanuel Vadot          function = "ext_irq2";
223*2eb4d8dcSEmmanuel Vadot          pins = "gpio26";
224*2eb4d8dcSEmmanuel Vadot        };
225*2eb4d8dcSEmmanuel Vadot
226*2eb4d8dcSEmmanuel Vadot        pinctrl_ext_irq3: ext_irq3-pins {
227*2eb4d8dcSEmmanuel Vadot          function = "ext_irq3";
228*2eb4d8dcSEmmanuel Vadot          pins = "gpio27";
229*2eb4d8dcSEmmanuel Vadot        };
230*2eb4d8dcSEmmanuel Vadot
231*2eb4d8dcSEmmanuel Vadot        pinctrl_nand: nand-pins {
232*2eb4d8dcSEmmanuel Vadot          function = "nand";
233*2eb4d8dcSEmmanuel Vadot          group = "nand_grp";
234*2eb4d8dcSEmmanuel Vadot        };
235*2eb4d8dcSEmmanuel Vadot      };
236*2eb4d8dcSEmmanuel Vadot    };
237