GNU Linux-libre 6.1.90-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 allOf:
38   - $ref: "pinctrl.yaml#"
39
40 required:
41   - compatible
42   - reg
43
44 additionalProperties: false
45
46 examples:
47   - |
48     pinctrl@18 {
49       compatible = "brcm,bcm6358-pinctrl";
50       reg = <0x18 0x4>;
51
52       pinctrl_ebi_cs: ebi_cs-pins {
53         function = "ebi_cs";
54         groups = "ebi_cs_grp";
55       };
56
57       pinctrl_uart1: uart1-pins {
58         function = "uart1";
59         groups = "uart1_grp";
60       };
61
62       pinctrl_serial_led: serial_led-pins {
63         function = "serial_led";
64         groups = "serial_led_grp";
65       };
66
67       pinctrl_legacy_led: legacy_led-pins {
68         function = "legacy_led";
69         groups = "legacy_led_grp";
70       };
71
72       pinctrl_led: led-pins {
73         function = "led";
74         groups = "led_grp";
75       };
76
77       pinctrl_spi_cs_23: spi_cs-pins {
78         function = "spi_cs";
79         groups = "spi_cs_grp";
80       };
81
82       pinctrl_utopia: utopia-pins {
83         function = "utopia";
84         groups = "utopia_grp";
85       };
86
87       pinctrl_pwm_syn_clk: pwm_syn_clk-pins {
88         function = "pwm_syn_clk";
89         groups = "pwm_syn_clk_grp";
90       };
91
92       pinctrl_sys_irq: sys_irq-pins {
93         function = "sys_irq";
94         groups = "sys_irq_grp";
95       };
96     };