summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/pinctrl/brcm,bcm6358-pinctrl.yaml
blob: ce6fc5380c52c71a490514f74ef018ff0de53671 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6358-pinctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM6358 pin controller

maintainers:
  - Álvaro Fernández Rojas <noltari@gmail.com>
  - Jonas Gorski <jonas.gorski@gmail.com>

description:
  Bindings for Broadcom's BCM6358 memory-mapped pin controller.

properties:
  compatible:
    const: brcm,bcm6358-pinctrl

  reg:
    maxItems: 1

patternProperties:
  '-pins$':
    type: object
    $ref: pinmux-node.yaml#
    unevaluatedProperties: false

    properties:
      function:
        enum: [ ebi_cs, uart1, serial_led, legacy_led, led, spi_cs, utopia,
                pwm_syn_clk, sys_irq ]

      groups:
        enum: [ ebi_cs_grp, uart1_grp, serial_led_grp, legacy_led_grp,
                led_grp, spi_cs_grp, utopia_grp, pwm_syn_clk_grp, sys_irq_grp ]

allOf:
  - $ref: pinctrl.yaml#

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    pinctrl@18 {
      compatible = "brcm,bcm6358-pinctrl";
      reg = <0x18 0x4>;

      pinctrl_ebi_cs: ebi_cs-pins {
        function = "ebi_cs";
        groups = "ebi_cs_grp";
      };

      pinctrl_uart1: uart1-pins {
        function = "uart1";
        groups = "uart1_grp";
      };

      pinctrl_serial_led: serial_led-pins {
        function = "serial_led";
        groups = "serial_led_grp";
      };

      pinctrl_legacy_led: legacy_led-pins {
        function = "legacy_led";
        groups = "legacy_led_grp";
      };

      pinctrl_led: led-pins {
        function = "led";
        groups = "led_grp";
      };

      pinctrl_spi_cs_23: spi_cs-pins {
        function = "spi_cs";
        groups = "spi_cs_grp";
      };

      pinctrl_utopia: utopia-pins {
        function = "utopia";
        groups = "utopia_grp";
      };

      pinctrl_pwm_syn_clk: pwm_syn_clk-pins {
        function = "pwm_syn_clk";
        groups = "pwm_syn_clk_grp";
      };

      pinctrl_sys_irq: sys_irq-pins {
        function = "sys_irq";
        groups = "sys_irq_grp";
      };
    };