xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/brcm,bcm6358-pinctrl.yaml (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
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
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
37allOf:
38  - $ref: pinctrl.yaml#
39
40required:
41  - compatible
42  - reg
43
44additionalProperties: false
45
46examples:
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    };
97