xref: /openbmc/linux/Documentation/devicetree/bindings/mfd/brcm,bcm6328-gpio-sysctl.yaml (revision 7f9dfaa2afb6bc3481e531c405b05acf6091af29)
1*7f9dfaa2SÁlvaro Fernández Rojas# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7f9dfaa2SÁlvaro Fernández Rojas%YAML 1.2
3*7f9dfaa2SÁlvaro Fernández Rojas---
4*7f9dfaa2SÁlvaro Fernández Rojas$id: http://devicetree.org/schemas/mfd/brcm,bcm6328-gpio-sysctl.yaml#
5*7f9dfaa2SÁlvaro Fernández Rojas$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7f9dfaa2SÁlvaro Fernández Rojas
7*7f9dfaa2SÁlvaro Fernández Rojastitle: Broadcom BCM6328 GPIO System Controller Device Tree Bindings
8*7f9dfaa2SÁlvaro Fernández Rojas
9*7f9dfaa2SÁlvaro Fernández Rojasmaintainers:
10*7f9dfaa2SÁlvaro Fernández Rojas  - Álvaro Fernández Rojas <noltari@gmail.com>
11*7f9dfaa2SÁlvaro Fernández Rojas  - Jonas Gorski <jonas.gorski@gmail.com>
12*7f9dfaa2SÁlvaro Fernández Rojas
13*7f9dfaa2SÁlvaro Fernández Rojasdescription:
14*7f9dfaa2SÁlvaro Fernández Rojas  Broadcom BCM6328 SoC GPIO system controller which provides a register map
15*7f9dfaa2SÁlvaro Fernández Rojas  for controlling the GPIO and pins of the SoC.
16*7f9dfaa2SÁlvaro Fernández Rojas
17*7f9dfaa2SÁlvaro Fernández Rojasproperties:
18*7f9dfaa2SÁlvaro Fernández Rojas  "#address-cells": true
19*7f9dfaa2SÁlvaro Fernández Rojas
20*7f9dfaa2SÁlvaro Fernández Rojas  "#size-cells": true
21*7f9dfaa2SÁlvaro Fernández Rojas
22*7f9dfaa2SÁlvaro Fernández Rojas  compatible:
23*7f9dfaa2SÁlvaro Fernández Rojas    items:
24*7f9dfaa2SÁlvaro Fernández Rojas      - const: brcm,bcm6328-gpio-sysctl
25*7f9dfaa2SÁlvaro Fernández Rojas      - const: syscon
26*7f9dfaa2SÁlvaro Fernández Rojas      - const: simple-mfd
27*7f9dfaa2SÁlvaro Fernández Rojas
28*7f9dfaa2SÁlvaro Fernández Rojas  ranges:
29*7f9dfaa2SÁlvaro Fernández Rojas    maxItems: 1
30*7f9dfaa2SÁlvaro Fernández Rojas
31*7f9dfaa2SÁlvaro Fernández Rojas  reg:
32*7f9dfaa2SÁlvaro Fernández Rojas    maxItems: 1
33*7f9dfaa2SÁlvaro Fernández Rojas
34*7f9dfaa2SÁlvaro Fernández RojaspatternProperties:
35*7f9dfaa2SÁlvaro Fernández Rojas  "^gpio@[0-9a-f]+$":
36*7f9dfaa2SÁlvaro Fernández Rojas    # Child node
37*7f9dfaa2SÁlvaro Fernández Rojas    type: object
38*7f9dfaa2SÁlvaro Fernández Rojas    $ref: "../gpio/brcm,bcm6345-gpio.yaml"
39*7f9dfaa2SÁlvaro Fernández Rojas    description:
40*7f9dfaa2SÁlvaro Fernández Rojas      GPIO controller for the SoC GPIOs. This child node definition
41*7f9dfaa2SÁlvaro Fernández Rojas      should follow the bindings specified in
42*7f9dfaa2SÁlvaro Fernández Rojas      Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.yaml.
43*7f9dfaa2SÁlvaro Fernández Rojas
44*7f9dfaa2SÁlvaro Fernández Rojas  "^pinctrl@[0-9a-f]+$":
45*7f9dfaa2SÁlvaro Fernández Rojas    # Child node
46*7f9dfaa2SÁlvaro Fernández Rojas    type: object
47*7f9dfaa2SÁlvaro Fernández Rojas    $ref: "../pinctrl/brcm,bcm6328-pinctrl.yaml"
48*7f9dfaa2SÁlvaro Fernández Rojas    description:
49*7f9dfaa2SÁlvaro Fernández Rojas      Pin controller for the SoC pins. This child node definition
50*7f9dfaa2SÁlvaro Fernández Rojas      should follow the bindings specified in
51*7f9dfaa2SÁlvaro Fernández Rojas      Documentation/devicetree/bindings/pinctrl/brcm,bcm6328-pinctrl.yaml.
52*7f9dfaa2SÁlvaro Fernández Rojas
53*7f9dfaa2SÁlvaro Fernández Rojasrequired:
54*7f9dfaa2SÁlvaro Fernández Rojas  - "#address-cells"
55*7f9dfaa2SÁlvaro Fernández Rojas  - compatible
56*7f9dfaa2SÁlvaro Fernández Rojas  - ranges
57*7f9dfaa2SÁlvaro Fernández Rojas  - reg
58*7f9dfaa2SÁlvaro Fernández Rojas  - "#size-cells"
59*7f9dfaa2SÁlvaro Fernández Rojas
60*7f9dfaa2SÁlvaro Fernández RojasadditionalProperties: false
61*7f9dfaa2SÁlvaro Fernández Rojas
62*7f9dfaa2SÁlvaro Fernández Rojasexamples:
63*7f9dfaa2SÁlvaro Fernández Rojas  - |
64*7f9dfaa2SÁlvaro Fernández Rojas    syscon@10000080 {
65*7f9dfaa2SÁlvaro Fernández Rojas      #address-cells = <1>;
66*7f9dfaa2SÁlvaro Fernández Rojas      #size-cells = <1>;
67*7f9dfaa2SÁlvaro Fernández Rojas      compatible = "brcm,bcm6328-gpio-sysctl", "syscon", "simple-mfd";
68*7f9dfaa2SÁlvaro Fernández Rojas      reg = <0x10000080 0x80>;
69*7f9dfaa2SÁlvaro Fernández Rojas      ranges = <0 0x10000080 0x80>;
70*7f9dfaa2SÁlvaro Fernández Rojas
71*7f9dfaa2SÁlvaro Fernández Rojas      gpio@0 {
72*7f9dfaa2SÁlvaro Fernández Rojas        compatible = "brcm,bcm6328-gpio";
73*7f9dfaa2SÁlvaro Fernández Rojas        reg-names = "dirout", "dat";
74*7f9dfaa2SÁlvaro Fernández Rojas        reg = <0x0 0x8>, <0x8 0x8>;
75*7f9dfaa2SÁlvaro Fernández Rojas
76*7f9dfaa2SÁlvaro Fernández Rojas        gpio-controller;
77*7f9dfaa2SÁlvaro Fernández Rojas        gpio-ranges = <&pinctrl 0 0 32>;
78*7f9dfaa2SÁlvaro Fernández Rojas        #gpio-cells = <2>;
79*7f9dfaa2SÁlvaro Fernández Rojas      };
80*7f9dfaa2SÁlvaro Fernández Rojas
81*7f9dfaa2SÁlvaro Fernández Rojas      pinctrl: pinctrl@18 {
82*7f9dfaa2SÁlvaro Fernández Rojas        compatible = "brcm,bcm6328-pinctrl";
83*7f9dfaa2SÁlvaro Fernández Rojas        reg = <0x18 0x10>;
84*7f9dfaa2SÁlvaro Fernández Rojas
85*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_serial_led: serial_led-pins {
86*7f9dfaa2SÁlvaro Fernández Rojas          pinctrl_serial_led_data: serial_led_data-pins {
87*7f9dfaa2SÁlvaro Fernández Rojas            function = "serial_led_data";
88*7f9dfaa2SÁlvaro Fernández Rojas            pins = "gpio6";
89*7f9dfaa2SÁlvaro Fernández Rojas          };
90*7f9dfaa2SÁlvaro Fernández Rojas
91*7f9dfaa2SÁlvaro Fernández Rojas          pinctrl_serial_led_clk: serial_led_clk-pins {
92*7f9dfaa2SÁlvaro Fernández Rojas            function = "serial_led_clk";
93*7f9dfaa2SÁlvaro Fernández Rojas            pins = "gpio7";
94*7f9dfaa2SÁlvaro Fernández Rojas          };
95*7f9dfaa2SÁlvaro Fernández Rojas        };
96*7f9dfaa2SÁlvaro Fernández Rojas
97*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_inet_act_led: inet_act_led-pins {
98*7f9dfaa2SÁlvaro Fernández Rojas          function = "inet_act_led";
99*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio11";
100*7f9dfaa2SÁlvaro Fernández Rojas        };
101*7f9dfaa2SÁlvaro Fernández Rojas
102*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_pcie_clkreq: pcie_clkreq-pins {
103*7f9dfaa2SÁlvaro Fernández Rojas          function = "pcie_clkreq";
104*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio16";
105*7f9dfaa2SÁlvaro Fernández Rojas        };
106*7f9dfaa2SÁlvaro Fernández Rojas
107*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_ephy0_spd_led: ephy0_spd_led-pins {
108*7f9dfaa2SÁlvaro Fernández Rojas          function = "led";
109*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio17";
110*7f9dfaa2SÁlvaro Fernández Rojas        };
111*7f9dfaa2SÁlvaro Fernández Rojas
112*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_ephy1_spd_led: ephy1_spd_led-pins {
113*7f9dfaa2SÁlvaro Fernández Rojas          function = "led";
114*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio18";
115*7f9dfaa2SÁlvaro Fernández Rojas        };
116*7f9dfaa2SÁlvaro Fernández Rojas
117*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_ephy2_spd_led: ephy2_spd_led-pins {
118*7f9dfaa2SÁlvaro Fernández Rojas          function = "led";
119*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio19";
120*7f9dfaa2SÁlvaro Fernández Rojas        };
121*7f9dfaa2SÁlvaro Fernández Rojas
122*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_ephy3_spd_led: ephy3_spd_led-pins {
123*7f9dfaa2SÁlvaro Fernández Rojas          function = "led";
124*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio20";
125*7f9dfaa2SÁlvaro Fernández Rojas        };
126*7f9dfaa2SÁlvaro Fernández Rojas
127*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_ephy0_act_led: ephy0_act_led-pins {
128*7f9dfaa2SÁlvaro Fernández Rojas          function = "ephy0_act_led";
129*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio25";
130*7f9dfaa2SÁlvaro Fernández Rojas        };
131*7f9dfaa2SÁlvaro Fernández Rojas
132*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_ephy1_act_led: ephy1_act_led-pins {
133*7f9dfaa2SÁlvaro Fernández Rojas          function = "ephy1_act_led";
134*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio26";
135*7f9dfaa2SÁlvaro Fernández Rojas        };
136*7f9dfaa2SÁlvaro Fernández Rojas
137*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_ephy2_act_led: ephy2_act_led-pins {
138*7f9dfaa2SÁlvaro Fernández Rojas          function = "ephy2_act_led";
139*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio27";
140*7f9dfaa2SÁlvaro Fernández Rojas        };
141*7f9dfaa2SÁlvaro Fernández Rojas
142*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_ephy3_act_led: ephy3_act_led-pins {
143*7f9dfaa2SÁlvaro Fernández Rojas          function = "ephy3_act_led";
144*7f9dfaa2SÁlvaro Fernández Rojas          pins = "gpio28";
145*7f9dfaa2SÁlvaro Fernández Rojas        };
146*7f9dfaa2SÁlvaro Fernández Rojas
147*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_hsspi_cs1: hsspi_cs1-pins {
148*7f9dfaa2SÁlvaro Fernández Rojas          function = "hsspi_cs1";
149*7f9dfaa2SÁlvaro Fernández Rojas          pins = "hsspi_cs1";
150*7f9dfaa2SÁlvaro Fernández Rojas        };
151*7f9dfaa2SÁlvaro Fernández Rojas
152*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_usb_port1_device: usb_port1_device-pins {
153*7f9dfaa2SÁlvaro Fernández Rojas          function = "usb_device_port";
154*7f9dfaa2SÁlvaro Fernández Rojas          pins = "usb_port1";
155*7f9dfaa2SÁlvaro Fernández Rojas        };
156*7f9dfaa2SÁlvaro Fernández Rojas
157*7f9dfaa2SÁlvaro Fernández Rojas        pinctrl_usb_port1_host: usb_port1_host-pins {
158*7f9dfaa2SÁlvaro Fernández Rojas          function = "usb_host_port";
159*7f9dfaa2SÁlvaro Fernández Rojas          pins = "usb_port1";
160*7f9dfaa2SÁlvaro Fernández Rojas        };
161*7f9dfaa2SÁlvaro Fernández Rojas      };
162*7f9dfaa2SÁlvaro Fernández Rojas    };
163