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,bcm6318-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom BCM6318 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 BCM6318 memory-mapped pin controller.
15
16properties:
17  compatible:
18    const: brcm,bcm6318-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: [ ephy0_spd_led, ephy1_spd_led, ephy2_spd_led, ephy3_spd_led,
31                ephy0_act_led, ephy1_act_led, ephy2_act_led, ephy3_act_led,
32                serial_led_data, serial_led_clk, inet_act_led, inet_fail_led,
33                dsl_led, post_fail_led, wlan_wps_led, usb_pwron,
34                usb_device_led, usb_active ]
35
36      pins:
37        enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7,
38                gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio40 ]
39
40allOf:
41  - $ref: "pinctrl.yaml#"
42
43required:
44  - compatible
45  - reg
46
47additionalProperties: false
48
49examples:
50  - |
51    pinctrl@18 {
52      compatible = "brcm,bcm6318-pinctrl";
53      reg = <0x18 0x10>, <0x54 0x18>;
54
55      pinctrl_ephy0_spd_led: ephy0_spd_led-pins {
56        function = "ephy0_spd_led";
57        pins = "gpio0";
58      };
59
60      pinctrl_ephy1_spd_led: ephy1_spd_led-pins {
61        function = "ephy1_spd_led";
62        pins = "gpio1";
63      };
64
65      pinctrl_ephy2_spd_led: ephy2_spd_led-pins {
66        function = "ephy2_spd_led";
67        pins = "gpio2";
68      };
69
70      pinctrl_ephy3_spd_led: ephy3_spd_led-pins {
71        function = "ephy3_spd_led";
72        pins = "gpio3";
73      };
74
75      pinctrl_ephy0_act_led: ephy0_act_led-pins {
76        function = "ephy0_act_led";
77        pins = "gpio4";
78      };
79
80      pinctrl_ephy1_act_led: ephy1_act_led-pins {
81        function = "ephy1_act_led";
82        pins = "gpio5";
83      };
84
85      pinctrl_ephy2_act_led: ephy2_act_led-pins {
86        function = "ephy2_act_led";
87        pins = "gpio6";
88      };
89
90      pinctrl_ephy3_act_led: ephy3_act_led-pins {
91        function = "ephy3_act_led";
92        pins = "gpio7";
93      };
94
95      pinctrl_serial_led: serial_led-pins {
96        pinctrl_serial_led_data: serial_led_data-pins {
97          function = "serial_led_data";
98          pins = "gpio6";
99        };
100
101        pinctrl_serial_led_clk: serial_led_clk-pins {
102          function = "serial_led_clk";
103          pins = "gpio7";
104        };
105      };
106
107      pinctrl_inet_act_led: inet_act_led-pins {
108        function = "inet_act_led";
109        pins = "gpio8";
110      };
111
112      pinctrl_inet_fail_led: inet_fail_led-pins {
113        function = "inet_fail_led";
114        pins = "gpio9";
115      };
116
117      pinctrl_dsl_led: dsl_led-pins {
118        function = "dsl_led";
119        pins = "gpio10";
120      };
121
122      pinctrl_post_fail_led: post_fail_led-pins {
123        function = "post_fail_led";
124        pins = "gpio11";
125      };
126
127      pinctrl_wlan_wps_led: wlan_wps_led-pins {
128        function = "wlan_wps_led";
129        pins = "gpio12";
130      };
131
132      pinctrl_usb_pwron: usb_pwron-pins {
133        function = "usb_pwron";
134        pins = "gpio13";
135      };
136
137      pinctrl_usb_device_led: usb_device_led-pins {
138        function = "usb_device_led";
139        pins = "gpio13";
140      };
141
142      pinctrl_usb_active: usb_active-pins {
143        function = "usb_active";
144        pins = "gpio40";
145      };
146    };
147