summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/pinctrl/brcm,bcm6328-pinctrl.yaml
blob: 0fd24f40afb19a5b361b133e3ff2e81d4efd9706 (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6328-pinctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM6328 pin controller

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

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

properties:
  compatible:
    const: brcm,bcm6328-pinctrl

  reg:
    maxItems: 1

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

    properties:
      function:
        enum: [ serial_led_data, serial_led_clk, inet_act_led, pcie_clkreq,
                led, ephy0_act_led, ephy1_act_led, ephy2_act_led,
                ephy3_act_led, hsspi_cs1, usb_device_port, usb_host_port ]

      pins:
        enum: [ gpio6, gpio7, gpio11, gpio16, gpio17, gpio18, gpio19,
                gpio20, gpio25, gpio26, gpio27, gpio28, hsspi_cs1,
                usb_port1 ]

required:
  - compatible
  - reg

additionalProperties: false

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

      pinctrl_serial_led: serial_led-pins {
        pinctrl_serial_led_data: serial_led_data-pins {
          function = "serial_led_data";
          pins = "gpio6";
        };

        pinctrl_serial_led_clk: serial_led_clk-pins {
          function = "serial_led_clk";
          pins = "gpio7";
        };
      };

      pinctrl_inet_act_led: inet_act_led-pins {
        function = "inet_act_led";
        pins = "gpio11";
      };

      pinctrl_pcie_clkreq: pcie_clkreq-pins {
        function = "pcie_clkreq";
        pins = "gpio16";
      };

      pinctrl_ephy0_spd_led: ephy0_spd_led-pins {
        function = "led";
        pins = "gpio17";
      };

      pinctrl_ephy1_spd_led: ephy1_spd_led-pins {
        function = "led";
        pins = "gpio18";
      };

      pinctrl_ephy2_spd_led: ephy2_spd_led-pins {
        function = "led";
        pins = "gpio19";
      };

      pinctrl_ephy3_spd_led: ephy3_spd_led-pins {
        function = "led";
        pins = "gpio20";
      };

      pinctrl_ephy0_act_led: ephy0_act_led-pins {
        function = "ephy0_act_led";
        pins = "gpio25";
      };

      pinctrl_ephy1_act_led: ephy1_act_led-pins {
        function = "ephy1_act_led";
        pins = "gpio26";
      };

      pinctrl_ephy2_act_led: ephy2_act_led-pins {
        function = "ephy2_act_led";
        pins = "gpio27";
      };

      pinctrl_ephy3_act_led: ephy3_act_led-pins {
        function = "ephy3_act_led";
        pins = "gpio28";
      };

      pinctrl_hsspi_cs1: hsspi_cs1-pins {
        function = "hsspi_cs1";
        pins = "hsspi_cs1";
      };

      pinctrl_usb_port1_device: usb_port1_device-pins {
        function = "usb_device_port";
        pins = "usb_port1";
      };

      pinctrl_usb_port1_host: usb_port1_host-pins {
        function = "usb_host_port";
        pins = "usb_port1";
      };
    };