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,bcm6368-gpio-sysctl.yaml# 5*2eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*2eb4d8dcSEmmanuel Vadot 7*2eb4d8dcSEmmanuel Vadottitle: Broadcom BCM6368 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 BCM6368 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,bcm6368-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,bcm6368-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,bcm6368-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,bcm6368-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,bcm6368-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 38>; 78*2eb4d8dcSEmmanuel Vadot #gpio-cells = <2>; 79*2eb4d8dcSEmmanuel Vadot }; 80*2eb4d8dcSEmmanuel Vadot 81*2eb4d8dcSEmmanuel Vadot pinctrl: pinctrl@18 { 82*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6368-pinctrl"; 83*2eb4d8dcSEmmanuel Vadot reg = <0x18 0x4>, <0x38 0x4>; 84*2eb4d8dcSEmmanuel Vadot 85*2eb4d8dcSEmmanuel Vadot pinctrl_analog_afe_0: analog_afe_0-pins { 86*2eb4d8dcSEmmanuel Vadot function = "analog_afe_0"; 87*2eb4d8dcSEmmanuel Vadot pins = "gpio0"; 88*2eb4d8dcSEmmanuel Vadot }; 89*2eb4d8dcSEmmanuel Vadot 90*2eb4d8dcSEmmanuel Vadot pinctrl_analog_afe_1: analog_afe_1-pins { 91*2eb4d8dcSEmmanuel Vadot function = "analog_afe_1"; 92*2eb4d8dcSEmmanuel Vadot pins = "gpio1"; 93*2eb4d8dcSEmmanuel Vadot }; 94*2eb4d8dcSEmmanuel Vadot 95*2eb4d8dcSEmmanuel Vadot pinctrl_sys_irq: sys_irq-pins { 96*2eb4d8dcSEmmanuel Vadot function = "sys_irq"; 97*2eb4d8dcSEmmanuel Vadot pins = "gpio2"; 98*2eb4d8dcSEmmanuel Vadot }; 99*2eb4d8dcSEmmanuel Vadot 100*2eb4d8dcSEmmanuel Vadot pinctrl_serial_led: serial_led-pins { 101*2eb4d8dcSEmmanuel Vadot pinctrl_serial_led_data: serial_led_data-pins { 102*2eb4d8dcSEmmanuel Vadot function = "serial_led_data"; 103*2eb4d8dcSEmmanuel Vadot pins = "gpio3"; 104*2eb4d8dcSEmmanuel Vadot }; 105*2eb4d8dcSEmmanuel Vadot 106*2eb4d8dcSEmmanuel Vadot pinctrl_serial_led_clk: serial_led_clk-pins { 107*2eb4d8dcSEmmanuel Vadot function = "serial_led_clk"; 108*2eb4d8dcSEmmanuel Vadot pins = "gpio4"; 109*2eb4d8dcSEmmanuel Vadot }; 110*2eb4d8dcSEmmanuel Vadot }; 111*2eb4d8dcSEmmanuel Vadot 112*2eb4d8dcSEmmanuel Vadot pinctrl_inet_led: inet_led-pins { 113*2eb4d8dcSEmmanuel Vadot function = "inet_led"; 114*2eb4d8dcSEmmanuel Vadot pins = "gpio5"; 115*2eb4d8dcSEmmanuel Vadot }; 116*2eb4d8dcSEmmanuel Vadot 117*2eb4d8dcSEmmanuel Vadot pinctrl_ephy0_led: ephy0_led-pins { 118*2eb4d8dcSEmmanuel Vadot function = "ephy0_led"; 119*2eb4d8dcSEmmanuel Vadot pins = "gpio6"; 120*2eb4d8dcSEmmanuel Vadot }; 121*2eb4d8dcSEmmanuel Vadot 122*2eb4d8dcSEmmanuel Vadot pinctrl_ephy1_led: ephy1_led-pins { 123*2eb4d8dcSEmmanuel Vadot function = "ephy1_led"; 124*2eb4d8dcSEmmanuel Vadot pins = "gpio7"; 125*2eb4d8dcSEmmanuel Vadot }; 126*2eb4d8dcSEmmanuel Vadot 127*2eb4d8dcSEmmanuel Vadot pinctrl_ephy2_led: ephy2_led-pins { 128*2eb4d8dcSEmmanuel Vadot function = "ephy2_led"; 129*2eb4d8dcSEmmanuel Vadot pins = "gpio8"; 130*2eb4d8dcSEmmanuel Vadot }; 131*2eb4d8dcSEmmanuel Vadot 132*2eb4d8dcSEmmanuel Vadot pinctrl_ephy3_led: ephy3_led-pins { 133*2eb4d8dcSEmmanuel Vadot function = "ephy3_led"; 134*2eb4d8dcSEmmanuel Vadot pins = "gpio9"; 135*2eb4d8dcSEmmanuel Vadot }; 136*2eb4d8dcSEmmanuel Vadot 137*2eb4d8dcSEmmanuel Vadot pinctrl_robosw_led_data: robosw_led_data-pins { 138*2eb4d8dcSEmmanuel Vadot function = "robosw_led_data"; 139*2eb4d8dcSEmmanuel Vadot pins = "gpio10"; 140*2eb4d8dcSEmmanuel Vadot }; 141*2eb4d8dcSEmmanuel Vadot 142*2eb4d8dcSEmmanuel Vadot pinctrl_robosw_led_clk: robosw_led_clk-pins { 143*2eb4d8dcSEmmanuel Vadot function = "robosw_led_clk"; 144*2eb4d8dcSEmmanuel Vadot pins = "gpio11"; 145*2eb4d8dcSEmmanuel Vadot }; 146*2eb4d8dcSEmmanuel Vadot 147*2eb4d8dcSEmmanuel Vadot pinctrl_robosw_led0: robosw_led0-pins { 148*2eb4d8dcSEmmanuel Vadot function = "robosw_led0"; 149*2eb4d8dcSEmmanuel Vadot pins = "gpio12"; 150*2eb4d8dcSEmmanuel Vadot }; 151*2eb4d8dcSEmmanuel Vadot 152*2eb4d8dcSEmmanuel Vadot pinctrl_robosw_led1: robosw_led1-pins { 153*2eb4d8dcSEmmanuel Vadot function = "robosw_led1"; 154*2eb4d8dcSEmmanuel Vadot pins = "gpio13"; 155*2eb4d8dcSEmmanuel Vadot }; 156*2eb4d8dcSEmmanuel Vadot 157*2eb4d8dcSEmmanuel Vadot pinctrl_usb_device_led: usb_device_led-pins { 158*2eb4d8dcSEmmanuel Vadot function = "usb_device_led"; 159*2eb4d8dcSEmmanuel Vadot pins = "gpio14"; 160*2eb4d8dcSEmmanuel Vadot }; 161*2eb4d8dcSEmmanuel Vadot 162*2eb4d8dcSEmmanuel Vadot pinctrl_pci: pci-pins { 163*2eb4d8dcSEmmanuel Vadot pinctrl_pci_req1: pci_req1-pins { 164*2eb4d8dcSEmmanuel Vadot function = "pci_req1"; 165*2eb4d8dcSEmmanuel Vadot pins = "gpio16"; 166*2eb4d8dcSEmmanuel Vadot }; 167*2eb4d8dcSEmmanuel Vadot 168*2eb4d8dcSEmmanuel Vadot pinctrl_pci_gnt1: pci_gnt1-pins { 169*2eb4d8dcSEmmanuel Vadot function = "pci_gnt1"; 170*2eb4d8dcSEmmanuel Vadot pins = "gpio17"; 171*2eb4d8dcSEmmanuel Vadot }; 172*2eb4d8dcSEmmanuel Vadot 173*2eb4d8dcSEmmanuel Vadot pinctrl_pci_intb: pci_intb-pins { 174*2eb4d8dcSEmmanuel Vadot function = "pci_intb"; 175*2eb4d8dcSEmmanuel Vadot pins = "gpio18"; 176*2eb4d8dcSEmmanuel Vadot }; 177*2eb4d8dcSEmmanuel Vadot 178*2eb4d8dcSEmmanuel Vadot pinctrl_pci_req0: pci_req0-pins { 179*2eb4d8dcSEmmanuel Vadot function = "pci_req0"; 180*2eb4d8dcSEmmanuel Vadot pins = "gpio19"; 181*2eb4d8dcSEmmanuel Vadot }; 182*2eb4d8dcSEmmanuel Vadot 183*2eb4d8dcSEmmanuel Vadot pinctrl_pci_gnt0: pci_gnt0-pins { 184*2eb4d8dcSEmmanuel Vadot function = "pci_gnt0"; 185*2eb4d8dcSEmmanuel Vadot pins = "gpio20"; 186*2eb4d8dcSEmmanuel Vadot }; 187*2eb4d8dcSEmmanuel Vadot }; 188*2eb4d8dcSEmmanuel Vadot 189*2eb4d8dcSEmmanuel Vadot pinctrl_pcmcia: pcmcia-pins { 190*2eb4d8dcSEmmanuel Vadot pinctrl_pcmcia_cd1: pcmcia_cd1-pins { 191*2eb4d8dcSEmmanuel Vadot function = "pcmcia_cd1"; 192*2eb4d8dcSEmmanuel Vadot pins = "gpio22"; 193*2eb4d8dcSEmmanuel Vadot }; 194*2eb4d8dcSEmmanuel Vadot 195*2eb4d8dcSEmmanuel Vadot pinctrl_pcmcia_cd2: pcmcia_cd2-pins { 196*2eb4d8dcSEmmanuel Vadot function = "pcmcia_cd2"; 197*2eb4d8dcSEmmanuel Vadot pins = "gpio23"; 198*2eb4d8dcSEmmanuel Vadot }; 199*2eb4d8dcSEmmanuel Vadot 200*2eb4d8dcSEmmanuel Vadot pinctrl_pcmcia_vs1: pcmcia_vs1-pins { 201*2eb4d8dcSEmmanuel Vadot function = "pcmcia_vs1"; 202*2eb4d8dcSEmmanuel Vadot pins = "gpio24"; 203*2eb4d8dcSEmmanuel Vadot }; 204*2eb4d8dcSEmmanuel Vadot 205*2eb4d8dcSEmmanuel Vadot pinctrl_pcmcia_vs2: pcmcia_vs2-pins { 206*2eb4d8dcSEmmanuel Vadot function = "pcmcia_vs2"; 207*2eb4d8dcSEmmanuel Vadot pins = "gpio25"; 208*2eb4d8dcSEmmanuel Vadot }; 209*2eb4d8dcSEmmanuel Vadot }; 210*2eb4d8dcSEmmanuel Vadot 211*2eb4d8dcSEmmanuel Vadot pinctrl_ebi_cs2: ebi_cs2-pins { 212*2eb4d8dcSEmmanuel Vadot function = "ebi_cs2"; 213*2eb4d8dcSEmmanuel Vadot pins = "gpio26"; 214*2eb4d8dcSEmmanuel Vadot }; 215*2eb4d8dcSEmmanuel Vadot 216*2eb4d8dcSEmmanuel Vadot pinctrl_ebi_cs3: ebi_cs3-pins { 217*2eb4d8dcSEmmanuel Vadot function = "ebi_cs3"; 218*2eb4d8dcSEmmanuel Vadot pins = "gpio27"; 219*2eb4d8dcSEmmanuel Vadot }; 220*2eb4d8dcSEmmanuel Vadot 221*2eb4d8dcSEmmanuel Vadot pinctrl_spi_cs2: spi_cs2-pins { 222*2eb4d8dcSEmmanuel Vadot function = "spi_cs2"; 223*2eb4d8dcSEmmanuel Vadot pins = "gpio28"; 224*2eb4d8dcSEmmanuel Vadot }; 225*2eb4d8dcSEmmanuel Vadot 226*2eb4d8dcSEmmanuel Vadot pinctrl_spi_cs3: spi_cs3-pins { 227*2eb4d8dcSEmmanuel Vadot function = "spi_cs3"; 228*2eb4d8dcSEmmanuel Vadot pins = "gpio29"; 229*2eb4d8dcSEmmanuel Vadot }; 230*2eb4d8dcSEmmanuel Vadot 231*2eb4d8dcSEmmanuel Vadot pinctrl_spi_cs4: spi_cs4-pins { 232*2eb4d8dcSEmmanuel Vadot function = "spi_cs4"; 233*2eb4d8dcSEmmanuel Vadot pins = "gpio30"; 234*2eb4d8dcSEmmanuel Vadot }; 235*2eb4d8dcSEmmanuel Vadot 236*2eb4d8dcSEmmanuel Vadot pinctrl_spi_cs5: spi_cs5-pins { 237*2eb4d8dcSEmmanuel Vadot function = "spi_cs5"; 238*2eb4d8dcSEmmanuel Vadot pins = "gpio31"; 239*2eb4d8dcSEmmanuel Vadot }; 240*2eb4d8dcSEmmanuel Vadot 241*2eb4d8dcSEmmanuel Vadot pinctrl_uart1: uart1-pins { 242*2eb4d8dcSEmmanuel Vadot function = "uart1"; 243*2eb4d8dcSEmmanuel Vadot group = "uart1_grp"; 244*2eb4d8dcSEmmanuel Vadot }; 245*2eb4d8dcSEmmanuel Vadot }; 246*2eb4d8dcSEmmanuel Vadot }; 247