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