af15da971fc4d3b2da89aa292d4ce2c7f7dd7c13
[openwrt/staging/blocktrron.git] /
1 From 44dbcd8eb08a0febbb46ac7b9331f28a320bdf9a Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
3 Date: Wed, 24 Mar 2021 09:19:06 +0100
4 Subject: [PATCH 05/22] dt-bindings: add BCM6328 pincontroller binding
5 documentation
6 MIME-Version: 1.0
7 Content-Type: text/plain; charset=UTF-8
8 Content-Transfer-Encoding: 8bit
9
10 Add binding documentation for the pincontrol core found in BCM6328 SoCs.
11
12 Co-developed-by: Jonas Gorski <jonas.gorski@gmail.com>
13 Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
14 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
15 Reviewed-by: Rob Herring <robh@kernel.org>
16 Link: https://lore.kernel.org/r/20210324081923.20379-6-noltari@gmail.com
17 Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
18 ---
19 .../pinctrl/brcm,bcm6328-pinctrl.yaml | 127 ++++++++++++++++++
20 1 file changed, 127 insertions(+)
21 create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,bcm6328-pinctrl.yaml
22
23 --- /dev/null
24 +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6328-pinctrl.yaml
25 @@ -0,0 +1,127 @@
26 +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
27 +%YAML 1.2
28 +---
29 +$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6328-pinctrl.yaml#
30 +$schema: http://devicetree.org/meta-schemas/core.yaml#
31 +
32 +title: Broadcom BCM6328 pin controller
33 +
34 +maintainers:
35 + - Álvaro Fernández Rojas <noltari@gmail.com>
36 + - Jonas Gorski <jonas.gorski@gmail.com>
37 +
38 +description:
39 + Bindings for Broadcom's BCM6328 memory-mapped pin controller.
40 +
41 +properties:
42 + compatible:
43 + const: brcm,bcm6328-pinctrl
44 +
45 + reg:
46 + maxItems: 1
47 +
48 +patternProperties:
49 + '-pins$':
50 + type: object
51 + $ref: pinmux-node.yaml#
52 +
53 + properties:
54 + function:
55 + enum: [ serial_led_data, serial_led_clk, inet_act_led, pcie_clkreq,
56 + led, ephy0_act_led, ephy1_act_led, ephy2_act_led,
57 + ephy3_act_led, hsspi_cs1, usb_device_port, usb_host_port ]
58 +
59 + pins:
60 + enum: [ gpio6, gpio7, gpio11, gpio16, gpio17, gpio18, gpio19,
61 + gpio20, gpio25, gpio26, gpio27, gpio28, hsspi_cs1,
62 + usb_port1 ]
63 +
64 +required:
65 + - compatible
66 + - reg
67 +
68 +additionalProperties: false
69 +
70 +examples:
71 + - |
72 + pinctrl@18 {
73 + compatible = "brcm,bcm6328-pinctrl";
74 + reg = <0x18 0x10>;
75 +
76 + pinctrl_serial_led: serial_led-pins {
77 + pinctrl_serial_led_data: serial_led_data-pins {
78 + function = "serial_led_data";
79 + pins = "gpio6";
80 + };
81 +
82 + pinctrl_serial_led_clk: serial_led_clk-pins {
83 + function = "serial_led_clk";
84 + pins = "gpio7";
85 + };
86 + };
87 +
88 + pinctrl_inet_act_led: inet_act_led-pins {
89 + function = "inet_act_led";
90 + pins = "gpio11";
91 + };
92 +
93 + pinctrl_pcie_clkreq: pcie_clkreq-pins {
94 + function = "pcie_clkreq";
95 + pins = "gpio16";
96 + };
97 +
98 + pinctrl_ephy0_spd_led: ephy0_spd_led-pins {
99 + function = "led";
100 + pins = "gpio17";
101 + };
102 +
103 + pinctrl_ephy1_spd_led: ephy1_spd_led-pins {
104 + function = "led";
105 + pins = "gpio18";
106 + };
107 +
108 + pinctrl_ephy2_spd_led: ephy2_spd_led-pins {
109 + function = "led";
110 + pins = "gpio19";
111 + };
112 +
113 + pinctrl_ephy3_spd_led: ephy3_spd_led-pins {
114 + function = "led";
115 + pins = "gpio20";
116 + };
117 +
118 + pinctrl_ephy0_act_led: ephy0_act_led-pins {
119 + function = "ephy0_act_led";
120 + pins = "gpio25";
121 + };
122 +
123 + pinctrl_ephy1_act_led: ephy1_act_led-pins {
124 + function = "ephy1_act_led";
125 + pins = "gpio26";
126 + };
127 +
128 + pinctrl_ephy2_act_led: ephy2_act_led-pins {
129 + function = "ephy2_act_led";
130 + pins = "gpio27";
131 + };
132 +
133 + pinctrl_ephy3_act_led: ephy3_act_led-pins {
134 + function = "ephy3_act_led";
135 + pins = "gpio28";
136 + };
137 +
138 + pinctrl_hsspi_cs1: hsspi_cs1-pins {
139 + function = "hsspi_cs1";
140 + pins = "hsspi_cs1";
141 + };
142 +
143 + pinctrl_usb_port1_device: usb_port1_device-pins {
144 + function = "usb_device_port";
145 + pins = "usb_port1";
146 + };
147 +
148 + pinctrl_usb_port1_host: usb_port1_host-pins {
149 + function = "usb_host_port";
150 + pins = "usb_port1";
151 + };
152 + };