blob: 142cabf5199661fd5765bd94b3f55e8b8edca645 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001From 7b5730f0ff24b0d7d1cb660a482384a807618a46 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
3Date: Mon, 24 Jan 2022 11:22:42 +0100
4Subject: [PATCH] dt-bindings: pinctrl: Add binding for BCM4908 pinctrl
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9It's hardware block that is part of every SoC from BCM4908 family.
10
11Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
12Reviewed-by: Rob Herring <robh@kernel.org>
13Link: https://lore.kernel.org/r/20220124102243.14912-1-zajec5@gmail.com
14Signed-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@@ -3216,6 +3216,13 @@ F: Documentation/devicetree/bindings/net
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: Hauke Mehrtens <hauke@hauke-m.de>
111 M: Rafał Miłecki <zajec5@gmail.com>