1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6368-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom BCM6368 pin controller
8
9maintainers:
10  - Álvaro Fernández Rojas <noltari@gmail.com>
11  - Jonas Gorski <jonas.gorski@gmail.com>
12
13description:
14  Bindings for Broadcom's BCM6368 memory-mapped pin controller.
15
16properties:
17  compatible:
18    const: brcm,bcm6368-pinctrl
19
20  reg:
21    maxItems: 2
22
23patternProperties:
24  '-pins$':
25    type: object
26    $ref: pinmux-node.yaml#
27
28    properties:
29      function:
30        enum: [ analog_afe_0, analog_afe_1, sys_irq, serial_led_data,
31                serial_led_clk, inet_led, ephy0_led, ephy1_led, ephy2_led,
32                ephy3_led, robosw_led_data, robosw_led_clk, robosw_led0,
33                robosw_led1, usb_device_led, pci_req1, pci_gnt1, pci_intb,
34                pci_req0, pci_gnt0, pcmcia_cd1, pcmcia_cd2, pcmcia_vs1,
35                pcmcia_vs2, ebi_cs2, ebi_cs3, spi_cs2, spi_cs3, spi_cs4,
36                spi_cs5, uart1 ]
37
38      pins:
39        enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7,
40                gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio14,
41                gpio16, gpio17, gpio18, gpio19, gpio20, gpio22, gpio23,
42                gpio24, gpio25, gpio26, gpio27, gpio28, gpio29, gpio30,
43                gpio31, uart1_grp ]
44
45required:
46  - compatible
47  - reg
48
49additionalProperties: false
50
51examples:
52  - |
53    pinctrl@18 {
54      compatible = "brcm,bcm6368-pinctrl";
55      reg = <0x18 0x4>, <0x38 0x4>;
56
57      pinctrl_analog_afe_0: analog_afe_0-pins {
58        function = "analog_afe_0";
59        pins = "gpio0";
60      };
61
62      pinctrl_analog_afe_1: analog_afe_1-pins {
63        function = "analog_afe_1";
64        pins = "gpio1";
65      };
66
67      pinctrl_sys_irq: sys_irq-pins {
68        function = "sys_irq";
69        pins = "gpio2";
70      };
71
72      pinctrl_serial_led: serial_led-pins {
73        pinctrl_serial_led_data: serial_led_data-pins {
74          function = "serial_led_data";
75          pins = "gpio3";
76        };
77
78        pinctrl_serial_led_clk: serial_led_clk-pins {
79          function = "serial_led_clk";
80          pins = "gpio4";
81        };
82      };
83
84      pinctrl_inet_led: inet_led-pins {
85        function = "inet_led";
86        pins = "gpio5";
87      };
88
89      pinctrl_ephy0_led: ephy0_led-pins {
90        function = "ephy0_led";
91        pins = "gpio6";
92      };
93
94      pinctrl_ephy1_led: ephy1_led-pins {
95        function = "ephy1_led";
96        pins = "gpio7";
97      };
98
99      pinctrl_ephy2_led: ephy2_led-pins {
100        function = "ephy2_led";
101        pins = "gpio8";
102      };
103
104      pinctrl_ephy3_led: ephy3_led-pins {
105        function = "ephy3_led";
106        pins = "gpio9";
107      };
108
109      pinctrl_robosw_led_data: robosw_led_data-pins {
110        function = "robosw_led_data";
111        pins = "gpio10";
112      };
113
114      pinctrl_robosw_led_clk: robosw_led_clk-pins {
115        function = "robosw_led_clk";
116        pins = "gpio11";
117      };
118
119      pinctrl_robosw_led0: robosw_led0-pins {
120        function = "robosw_led0";
121        pins = "gpio12";
122      };
123
124      pinctrl_robosw_led1: robosw_led1-pins {
125        function = "robosw_led1";
126        pins = "gpio13";
127      };
128
129      pinctrl_usb_device_led: usb_device_led-pins {
130        function = "usb_device_led";
131        pins = "gpio14";
132      };
133
134      pinctrl_pci: pci-pins {
135        pinctrl_pci_req1: pci_req1-pins {
136          function = "pci_req1";
137          pins = "gpio16";
138        };
139
140        pinctrl_pci_gnt1: pci_gnt1-pins {
141          function = "pci_gnt1";
142          pins = "gpio17";
143        };
144
145        pinctrl_pci_intb: pci_intb-pins {
146          function = "pci_intb";
147          pins = "gpio18";
148        };
149
150        pinctrl_pci_req0: pci_req0-pins {
151          function = "pci_req0";
152          pins = "gpio19";
153        };
154
155        pinctrl_pci_gnt0: pci_gnt0-pins {
156          function = "pci_gnt0";
157          pins = "gpio20";
158        };
159      };
160
161      pinctrl_pcmcia: pcmcia-pins {
162        pinctrl_pcmcia_cd1: pcmcia_cd1-pins {
163          function = "pcmcia_cd1";
164          pins = "gpio22";
165        };
166
167        pinctrl_pcmcia_cd2: pcmcia_cd2-pins {
168          function = "pcmcia_cd2";
169          pins = "gpio23";
170        };
171
172        pinctrl_pcmcia_vs1: pcmcia_vs1-pins {
173          function = "pcmcia_vs1";
174          pins = "gpio24";
175        };
176
177        pinctrl_pcmcia_vs2: pcmcia_vs2-pins {
178          function = "pcmcia_vs2";
179          pins = "gpio25";
180        };
181      };
182
183      pinctrl_ebi_cs2: ebi_cs2-pins {
184        function = "ebi_cs2";
185        pins = "gpio26";
186      };
187
188      pinctrl_ebi_cs3: ebi_cs3-pins {
189        function = "ebi_cs3";
190        pins = "gpio27";
191      };
192
193      pinctrl_spi_cs2: spi_cs2-pins {
194        function = "spi_cs2";
195        pins = "gpio28";
196      };
197
198      pinctrl_spi_cs3: spi_cs3-pins {
199        function = "spi_cs3";
200        pins = "gpio29";
201      };
202
203      pinctrl_spi_cs4: spi_cs4-pins {
204        function = "spi_cs4";
205        pins = "gpio30";
206      };
207
208      pinctrl_spi_cs5: spi_cs5-pins {
209        function = "spi_cs5";
210        pins = "gpio31";
211      };
212
213      pinctrl_uart1: uart1-pins {
214        function = "uart1";
215        group = "uart1_grp";
216      };
217    };
218