134e3b69bSPhil Edworthy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 234e3b69bSPhil Edworthy%YAML 1.2 334e3b69bSPhil Edworthy--- 434e3b69bSPhil Edworthy$id: http://devicetree.org/schemas/pinctrl/renesas,rzv2m-pinctrl.yaml# 534e3b69bSPhil Edworthy$schema: http://devicetree.org/meta-schemas/core.yaml# 634e3b69bSPhil Edworthy 734e3b69bSPhil Edworthytitle: Renesas RZ/V2M combined Pin and GPIO controller 834e3b69bSPhil Edworthy 934e3b69bSPhil Edworthymaintainers: 10*d2572856SChris Paterson - Fabrizio Castro <fabrizio.castro.jz@renesas.com> 1134e3b69bSPhil Edworthy - Geert Uytterhoeven <geert+renesas@glider.be> 1234e3b69bSPhil Edworthy 1334e3b69bSPhil Edworthydescription: 1434e3b69bSPhil Edworthy The Renesas RZ/V2M SoC features a combined Pin and GPIO controller. 1534e3b69bSPhil Edworthy Pin multiplexing and GPIO configuration is performed on a per-pin basis. 1634e3b69bSPhil Edworthy Each port features up to 16 pins, each of them configurable for GPIO function 1734e3b69bSPhil Edworthy (port mode) or in alternate function mode. 1834e3b69bSPhil Edworthy Up to 8 different alternate function modes exist for each single pin. 1934e3b69bSPhil Edworthy 2034e3b69bSPhil Edworthyproperties: 2134e3b69bSPhil Edworthy compatible: 2234e3b69bSPhil Edworthy const: renesas,r9a09g011-pinctrl # RZ/V2M 2334e3b69bSPhil Edworthy 2434e3b69bSPhil Edworthy reg: 2534e3b69bSPhil Edworthy maxItems: 1 2634e3b69bSPhil Edworthy 2734e3b69bSPhil Edworthy gpio-controller: true 2834e3b69bSPhil Edworthy 2934e3b69bSPhil Edworthy '#gpio-cells': 3034e3b69bSPhil Edworthy const: 2 3134e3b69bSPhil Edworthy description: 3234e3b69bSPhil Edworthy The first cell contains the global GPIO port index, constructed using the 3334e3b69bSPhil Edworthy RZV2M_GPIO() helper macro in <dt-bindings/pinctrl/rzv2m-pinctrl.h> and the 3434e3b69bSPhil Edworthy second cell represents consumer flag as mentioned in ../gpio/gpio.txt 3534e3b69bSPhil Edworthy E.g. "RZV2M_GPIO(8, 1)" for P8_1. 3634e3b69bSPhil Edworthy 3734e3b69bSPhil Edworthy gpio-ranges: 3834e3b69bSPhil Edworthy maxItems: 1 3934e3b69bSPhil Edworthy 4034e3b69bSPhil Edworthy interrupts: 4134e3b69bSPhil Edworthy description: INEXINT[0..38] corresponding to individual pin inputs. 4234e3b69bSPhil Edworthy maxItems: 39 4334e3b69bSPhil Edworthy 4434e3b69bSPhil Edworthy clocks: 4534e3b69bSPhil Edworthy maxItems: 1 4634e3b69bSPhil Edworthy 4734e3b69bSPhil Edworthy power-domains: 4834e3b69bSPhil Edworthy maxItems: 1 4934e3b69bSPhil Edworthy 5034e3b69bSPhil Edworthy resets: 5134e3b69bSPhil Edworthy maxItems: 1 5234e3b69bSPhil Edworthy 5334e3b69bSPhil EdworthyadditionalProperties: 5434e3b69bSPhil Edworthy anyOf: 5534e3b69bSPhil Edworthy - type: object 5634e3b69bSPhil Edworthy allOf: 5734e3b69bSPhil Edworthy - $ref: pincfg-node.yaml# 5834e3b69bSPhil Edworthy - $ref: pinmux-node.yaml# 5934e3b69bSPhil Edworthy 6034e3b69bSPhil Edworthy description: 6134e3b69bSPhil Edworthy Pin controller client devices use pin configuration subnodes (children 6234e3b69bSPhil Edworthy and grandchildren) for desired pin configuration. 6334e3b69bSPhil Edworthy Client device subnodes use below standard properties. 6434e3b69bSPhil Edworthy 6534e3b69bSPhil Edworthy properties: 6634e3b69bSPhil Edworthy pinmux: 6734e3b69bSPhil Edworthy description: 6834e3b69bSPhil Edworthy Values are constructed from GPIO port number, pin number, and 6934e3b69bSPhil Edworthy alternate function configuration number using the RZV2M_PORT_PINMUX() 7034e3b69bSPhil Edworthy helper macro in <dt-bindings/pinctrl/rzv2m-pinctrl.h>. 7134e3b69bSPhil Edworthy pins: true 7234e3b69bSPhil Edworthy bias-disable: true 7334e3b69bSPhil Edworthy bias-pull-down: true 7434e3b69bSPhil Edworthy bias-pull-up: true 7534e3b69bSPhil Edworthy drive-strength-microamp: 7634e3b69bSPhil Edworthy # Superset of supported values 7734e3b69bSPhil Edworthy enum: [ 1600, 1800, 2000, 3200, 3800, 4000, 6400, 7800, 8000, 7834e3b69bSPhil Edworthy 9000, 9600, 11000, 12000, 13000, 18000 ] 7934e3b69bSPhil Edworthy slew-rate: 8034e3b69bSPhil Edworthy description: 0 is slow slew rate, 1 is fast slew rate 8134e3b69bSPhil Edworthy enum: [ 0, 1 ] 8234e3b69bSPhil Edworthy gpio-hog: true 8334e3b69bSPhil Edworthy gpios: true 8434e3b69bSPhil Edworthy output-high: true 8534e3b69bSPhil Edworthy output-low: true 8634e3b69bSPhil Edworthy line-name: true 8734e3b69bSPhil Edworthy 8834e3b69bSPhil Edworthy - type: object 8934e3b69bSPhil Edworthy additionalProperties: 9034e3b69bSPhil Edworthy $ref: "#/additionalProperties/anyOf/0" 9134e3b69bSPhil Edworthy 9234e3b69bSPhil EdworthyallOf: 9349cd1dd1SRob Herring - $ref: pinctrl.yaml# 9434e3b69bSPhil Edworthy 9534e3b69bSPhil Edworthyrequired: 9634e3b69bSPhil Edworthy - compatible 9734e3b69bSPhil Edworthy - reg 9834e3b69bSPhil Edworthy - gpio-controller 9934e3b69bSPhil Edworthy - '#gpio-cells' 10034e3b69bSPhil Edworthy - gpio-ranges 10134e3b69bSPhil Edworthy - interrupts 10234e3b69bSPhil Edworthy - clocks 10334e3b69bSPhil Edworthy - power-domains 10434e3b69bSPhil Edworthy - resets 10534e3b69bSPhil Edworthy 10634e3b69bSPhil Edworthyexamples: 10734e3b69bSPhil Edworthy - | 10834e3b69bSPhil Edworthy #include <dt-bindings/pinctrl/rzv2m-pinctrl.h> 10934e3b69bSPhil Edworthy #include <dt-bindings/clock/r9a09g011-cpg.h> 11034e3b69bSPhil Edworthy #include <dt-bindings/interrupt-controller/arm-gic.h> 11134e3b69bSPhil Edworthy 11234e3b69bSPhil Edworthy pinctrl: pinctrl@b6250000 { 11334e3b69bSPhil Edworthy compatible = "renesas,r9a09g011-pinctrl"; 11434e3b69bSPhil Edworthy reg = <0xb6250000 0x800>; 11534e3b69bSPhil Edworthy 11634e3b69bSPhil Edworthy gpio-controller; 11734e3b69bSPhil Edworthy #gpio-cells = <2>; 11834e3b69bSPhil Edworthy gpio-ranges = <&pinctrl 0 0 352>; 11934e3b69bSPhil Edworthy interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 12034e3b69bSPhil Edworthy <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 12134e3b69bSPhil Edworthy <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 12234e3b69bSPhil Edworthy <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, 12334e3b69bSPhil Edworthy <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 12434e3b69bSPhil Edworthy <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, 12534e3b69bSPhil Edworthy <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 12634e3b69bSPhil Edworthy <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 12734e3b69bSPhil Edworthy <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 12834e3b69bSPhil Edworthy <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 12934e3b69bSPhil Edworthy <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, 13034e3b69bSPhil Edworthy <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>, 13134e3b69bSPhil Edworthy <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>, 13234e3b69bSPhil Edworthy <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>, 13334e3b69bSPhil Edworthy <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>, 13434e3b69bSPhil Edworthy <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>, 13534e3b69bSPhil Edworthy <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>, 13634e3b69bSPhil Edworthy <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 13734e3b69bSPhil Edworthy <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>, 13834e3b69bSPhil Edworthy <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 13934e3b69bSPhil Edworthy <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 14034e3b69bSPhil Edworthy <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 14134e3b69bSPhil Edworthy <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 14234e3b69bSPhil Edworthy <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, 14334e3b69bSPhil Edworthy <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, 14434e3b69bSPhil Edworthy <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, 14534e3b69bSPhil Edworthy <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 14634e3b69bSPhil Edworthy <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 14734e3b69bSPhil Edworthy <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 14834e3b69bSPhil Edworthy <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 14934e3b69bSPhil Edworthy <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 15034e3b69bSPhil Edworthy <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 15134e3b69bSPhil Edworthy <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 15234e3b69bSPhil Edworthy <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 15334e3b69bSPhil Edworthy <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 15434e3b69bSPhil Edworthy <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 15534e3b69bSPhil Edworthy <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 15634e3b69bSPhil Edworthy <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 15734e3b69bSPhil Edworthy <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 15834e3b69bSPhil Edworthy clocks = <&cpg CPG_MOD R9A09G011_PFC_PCLK>; 15934e3b69bSPhil Edworthy resets = <&cpg R9A09G011_PFC_PRESETN>; 16034e3b69bSPhil Edworthy power-domains = <&cpg>; 16134e3b69bSPhil Edworthy 16234e3b69bSPhil Edworthy i2c2_pins: i2c2 { 16334e3b69bSPhil Edworthy pinmux = <RZV2M_PORT_PINMUX(3, 8, 2)>, /* SDA */ 16434e3b69bSPhil Edworthy <RZV2M_PORT_PINMUX(3, 9, 2)>; /* SCL */ 16534e3b69bSPhil Edworthy }; 16634e3b69bSPhil Edworthy }; 167