GNU Linux-libre 5.15.137-gnu
[releases.git] / Documentation / devicetree / bindings / pinctrl / brcm,bcm6358-pinctrl.yaml
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,bcm6358-pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Broadcom BCM6358 pin controller
8
9 maintainers:
10   - Álvaro Fernández Rojas <noltari@gmail.com>
11   - Jonas Gorski <jonas.gorski@gmail.com>
12
13 description:
14   Bindings for Broadcom's BCM6358 memory-mapped pin controller.
15
16 properties:
17   compatible:
18     const: brcm,bcm6358-pinctrl
19
20   reg:
21     maxItems: 1
22
23 patternProperties:
24   '-pins$':
25     type: object
26     $ref: pinmux-node.yaml#
27
28     properties:
29       function:
30         enum: [ ebi_cs, uart1, serial_led, legacy_led, led, spi_cs, utopia,
31                 pwm_syn_clk, sys_irq ]
32
33       pins:
34         enum: [ ebi_cs_grp, uart1_grp, serial_led_grp, legacy_led_grp,
35                 led_grp, spi_cs_grp, utopia_grp, pwm_syn_clk, sys_irq_grp ]
36
37 required:
38   - compatible
39   - reg
40
41 additionalProperties: false
42
43 examples:
44   - |
45     pinctrl@18 {
46       compatible = "brcm,bcm6358-pinctrl";
47       reg = <0x18 0x4>;
48
49       pinctrl_ebi_cs: ebi_cs-pins {
50         function = "ebi_cs";
51         groups = "ebi_cs_grp";
52       };
53
54       pinctrl_uart1: uart1-pins {
55         function = "uart1";
56         groups = "uart1_grp";
57       };
58
59       pinctrl_serial_led: serial_led-pins {
60         function = "serial_led";
61         groups = "serial_led_grp";
62       };
63
64       pinctrl_legacy_led: legacy_led-pins {
65         function = "legacy_led";
66         groups = "legacy_led_grp";
67       };
68
69       pinctrl_led: led-pins {
70         function = "led";
71         groups = "led_grp";
72       };
73
74       pinctrl_spi_cs_23: spi_cs-pins {
75         function = "spi_cs";
76         groups = "spi_cs_grp";
77       };
78
79       pinctrl_utopia: utopia-pins {
80         function = "utopia";
81         groups = "utopia_grp";
82       };
83
84       pinctrl_pwm_syn_clk: pwm_syn_clk-pins {
85         function = "pwm_syn_clk";
86         groups = "pwm_syn_clk_grp";
87       };
88
89       pinctrl_sys_irq: sys_irq-pins {
90         function = "sys_irq";
91         groups = "sys_irq_grp";
92       };
93     };