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