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