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,bcm6358-gpio-sysctl.yaml# 5*2eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*2eb4d8dcSEmmanuel Vadot 7*2eb4d8dcSEmmanuel Vadottitle: Broadcom BCM6358 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 BCM6358 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,bcm6358-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,bcm6358-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,bcm6358-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@fffe0080 { 65*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 66*2eb4d8dcSEmmanuel Vadot #size-cells = <1>; 67*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6358-gpio-sysctl", "syscon", "simple-mfd"; 68*2eb4d8dcSEmmanuel Vadot reg = <0xfffe0080 0x80>; 69*2eb4d8dcSEmmanuel Vadot ranges = <0 0xfffe0080 0x80>; 70*2eb4d8dcSEmmanuel Vadot 71*2eb4d8dcSEmmanuel Vadot gpio@0 { 72*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6358-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 40>; 78*2eb4d8dcSEmmanuel Vadot #gpio-cells = <2>; 79*2eb4d8dcSEmmanuel Vadot }; 80*2eb4d8dcSEmmanuel Vadot 81*2eb4d8dcSEmmanuel Vadot pinctrl: pinctrl@18 { 82*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6358-pinctrl"; 83*2eb4d8dcSEmmanuel Vadot reg = <0x18 0x4>; 84*2eb4d8dcSEmmanuel Vadot 85*2eb4d8dcSEmmanuel Vadot pinctrl_ebi_cs: ebi_cs-pins { 86*2eb4d8dcSEmmanuel Vadot function = "ebi_cs"; 87*2eb4d8dcSEmmanuel Vadot groups = "ebi_cs_grp"; 88*2eb4d8dcSEmmanuel Vadot }; 89*2eb4d8dcSEmmanuel Vadot 90*2eb4d8dcSEmmanuel Vadot pinctrl_uart1: uart1-pins { 91*2eb4d8dcSEmmanuel Vadot function = "uart1"; 92*2eb4d8dcSEmmanuel Vadot groups = "uart1_grp"; 93*2eb4d8dcSEmmanuel Vadot }; 94*2eb4d8dcSEmmanuel Vadot 95*2eb4d8dcSEmmanuel Vadot pinctrl_serial_led: serial_led-pins { 96*2eb4d8dcSEmmanuel Vadot function = "serial_led"; 97*2eb4d8dcSEmmanuel Vadot groups = "serial_led_grp"; 98*2eb4d8dcSEmmanuel Vadot }; 99*2eb4d8dcSEmmanuel Vadot 100*2eb4d8dcSEmmanuel Vadot pinctrl_legacy_led: legacy_led-pins { 101*2eb4d8dcSEmmanuel Vadot function = "legacy_led"; 102*2eb4d8dcSEmmanuel Vadot groups = "legacy_led_grp"; 103*2eb4d8dcSEmmanuel Vadot }; 104*2eb4d8dcSEmmanuel Vadot 105*2eb4d8dcSEmmanuel Vadot pinctrl_led: led-pins { 106*2eb4d8dcSEmmanuel Vadot function = "led"; 107*2eb4d8dcSEmmanuel Vadot groups = "led_grp"; 108*2eb4d8dcSEmmanuel Vadot }; 109*2eb4d8dcSEmmanuel Vadot 110*2eb4d8dcSEmmanuel Vadot pinctrl_spi_cs_23: spi_cs-pins { 111*2eb4d8dcSEmmanuel Vadot function = "spi_cs"; 112*2eb4d8dcSEmmanuel Vadot groups = "spi_cs_grp"; 113*2eb4d8dcSEmmanuel Vadot }; 114*2eb4d8dcSEmmanuel Vadot 115*2eb4d8dcSEmmanuel Vadot pinctrl_utopia: utopia-pins { 116*2eb4d8dcSEmmanuel Vadot function = "utopia"; 117*2eb4d8dcSEmmanuel Vadot groups = "utopia_grp"; 118*2eb4d8dcSEmmanuel Vadot }; 119*2eb4d8dcSEmmanuel Vadot 120*2eb4d8dcSEmmanuel Vadot pinctrl_pwm_syn_clk: pwm_syn_clk-pins { 121*2eb4d8dcSEmmanuel Vadot function = "pwm_syn_clk"; 122*2eb4d8dcSEmmanuel Vadot groups = "pwm_syn_clk_grp"; 123*2eb4d8dcSEmmanuel Vadot }; 124*2eb4d8dcSEmmanuel Vadot 125*2eb4d8dcSEmmanuel Vadot pinctrl_sys_irq: sys_irq-pins { 126*2eb4d8dcSEmmanuel Vadot function = "sys_irq"; 127*2eb4d8dcSEmmanuel Vadot groups = "sys_irq_grp"; 128*2eb4d8dcSEmmanuel Vadot }; 129*2eb4d8dcSEmmanuel Vadot }; 130*2eb4d8dcSEmmanuel Vadot }; 131