0d2573b9029f13b22b0a571c5961be848ed59741
[openwrt/openwrt.git] /
1 From 7b5730f0ff24b0d7d1cb660a482384a807618a46 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
3 Date: Mon, 24 Jan 2022 11:22:42 +0100
4 Subject: [PATCH] dt-bindings: pinctrl: Add binding for BCM4908 pinctrl
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 It's hardware block that is part of every SoC from BCM4908 family.
10
11 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
12 Reviewed-by: Rob Herring <robh@kernel.org>
13 Link: https://lore.kernel.org/r/20220124102243.14912-1-zajec5@gmail.com
14 Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
15 ---
16 .../pinctrl/brcm,bcm4908-pinctrl.yaml | 72 +++++++++++++++++++
17 MAINTAINERS | 7 ++
18 2 files changed, 79 insertions(+)
19 create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,bcm4908-pinctrl.yaml
20
21 --- /dev/null
22 +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm4908-pinctrl.yaml
23 @@ -0,0 +1,72 @@
24 +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
25 +%YAML 1.2
26 +---
27 +$id: http://devicetree.org/schemas/pinctrl/brcm,bcm4908-pinctrl.yaml#
28 +$schema: http://devicetree.org/meta-schemas/core.yaml#
29 +
30 +title: Broadcom BCM4908 pin controller
31 +
32 +maintainers:
33 + - Rafał Miłecki <rafal@milecki.pl>
34 +
35 +description:
36 + Binding for pin controller present on BCM4908 family SoCs.
37 +
38 +properties:
39 + compatible:
40 + const: brcm,bcm4908-pinctrl
41 +
42 + reg:
43 + maxItems: 1
44 +
45 +patternProperties:
46 + '-pins$':
47 + type: object
48 + $ref: pinmux-node.yaml#
49 +
50 + properties:
51 + function:
52 + enum: [ led_0, led_1, led_2, led_3, led_4, led_5, led_6, led_7, led_8,
53 + led_9, led_10, led_11, led_12, led_13, led_14, led_15, led_16,
54 + led_17, led_18, led_19, led_20, led_21, led_22, led_23, led_24,
55 + led_25, led_26, led_27, led_28, led_29, led_30, led_31,
56 + hs_uart, i2c, i2s, nand_ctrl, nand_data, emmc_ctrl, usb0_pwr,
57 + usb1_pwr ]
58 +
59 + groups:
60 + minItems: 1
61 + maxItems: 2
62 + items:
63 + enum: [ led_0_grp_a, led_1_grp_a, led_2_grp_a, led_3_grp_a,
64 + led_4_grp_a, led_5_grp_a, led_6_grp_a, led_7_grp_a,
65 + led_8_grp_a, led_9_grp_a, led_10_grp_a, led_10_grp_b,
66 + led_11_grp_a, led_11_grp_b, led_12_grp_a, led_12_grp_b,
67 + led_13_grp_a, led_13_grp_b, led_14_grp_a, led_15_grp_a,
68 + led_16_grp_a, led_17_grp_a, led_18_grp_a, led_19_grp_a,
69 + led_20_grp_a, led_21_grp_a, led_22_grp_a, led_23_grp_a,
70 + led_24_grp_a, led_25_grp_a, led_26_grp_a, led_27_grp_a,
71 + led_28_grp_a, led_29_grp_a, led_30_grp_a, led_31_grp_a,
72 + led_31_grp_b, hs_uart_grp, i2c_grp_a, i2c_grp_b, i2s_grp,
73 + nand_ctrl_grp, nand_data_grp, emmc_ctrl_grp, usb0_pwr_grp,
74 + usb1_pwr_grp ]
75 +
76 +allOf:
77 + - $ref: pinctrl.yaml#
78 +
79 +required:
80 + - compatible
81 + - reg
82 +
83 +unevaluatedProperties: false
84 +
85 +examples:
86 + - |
87 + pinctrl@ff800560 {
88 + compatible = "brcm,bcm4908-pinctrl";
89 + reg = <0xff800560 0x10>;
90 +
91 + led_0-a-pins {
92 + function = "led_0";
93 + groups = "led_0_grp_a";
94 + };
95 + };
96 --- a/MAINTAINERS
97 +++ b/MAINTAINERS
98 @@ -3688,6 +3688,13 @@ F: Documentation/devicetree/bindings/net/brcm,bcm4908-enet.yaml
99 F: drivers/net/ethernet/broadcom/bcm4908_enet.*
100 F: drivers/net/ethernet/broadcom/unimac.h
101
102 +BROADCOM BCM4908 PINMUX DRIVER
103 +M: Rafał Miłecki <rafal@milecki.pl>
104 +M: bcm-kernel-feedback-list@broadcom.com
105 +L: linux-gpio@vger.kernel.org
106 +S: Maintained
107 +F: Documentation/devicetree/bindings/pinctrl/brcm,bcm4908-pinctrl.yaml
108 +
109 BROADCOM BCM5301X ARM ARCHITECTURE
110 M: Florian Fainelli <f.fainelli@gmail.com>
111 M: Hauke Mehrtens <hauke@hauke-m.de>