# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/pinctrl/renesas,rzv2m-pinctrl.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Renesas RZ/V2M combined Pin and GPIO controller maintainers: - Fabrizio Castro - Geert Uytterhoeven description: The Renesas RZ/V2M SoC features a combined Pin and GPIO controller. Pin multiplexing and GPIO configuration is performed on a per-pin basis. Each port features up to 16 pins, each of them configurable for GPIO function (port mode) or in alternate function mode. Up to 8 different alternate function modes exist for each single pin. properties: compatible: const: renesas,r9a09g011-pinctrl # RZ/V2M reg: maxItems: 1 gpio-controller: true '#gpio-cells': const: 2 description: The first cell contains the global GPIO port index, constructed using the RZV2M_GPIO() helper macro in and the second cell represents consumer flag as mentioned in ../gpio/gpio.txt E.g. "RZV2M_GPIO(8, 1)" for P8_1. gpio-ranges: maxItems: 1 interrupts: description: INEXINT[0..38] corresponding to individual pin inputs. maxItems: 39 clocks: maxItems: 1 power-domains: maxItems: 1 resets: maxItems: 1 additionalProperties: anyOf: - type: object additionalProperties: false allOf: - $ref: pincfg-node.yaml# - $ref: pinmux-node.yaml# description: Pin controller client devices use pin configuration subnodes (children and grandchildren) for desired pin configuration. Client device subnodes use below standard properties. properties: pinmux: description: Values are constructed from GPIO port number, pin number, and alternate function configuration number using the RZV2M_PORT_PINMUX() helper macro in . pins: true bias-disable: true bias-pull-down: true bias-pull-up: true drive-strength-microamp: # Superset of supported values enum: [ 1600, 1800, 2000, 3200, 3800, 4000, 6400, 7800, 8000, 9000, 9600, 11000, 12000, 13000, 18000 ] slew-rate: description: 0 is slow slew rate, 1 is fast slew rate enum: [ 0, 1 ] gpio-hog: true gpios: true output-high: true output-low: true line-name: true - type: object additionalProperties: $ref: "#/additionalProperties/anyOf/0" allOf: - $ref: pinctrl.yaml# required: - compatible - reg - gpio-controller - '#gpio-cells' - gpio-ranges - interrupts - clocks - power-domains - resets examples: - | #include #include #include pinctrl: pinctrl@b6250000 { compatible = "renesas,r9a09g011-pinctrl"; reg = <0xb6250000 0x800>; gpio-controller; #gpio-cells = <2>; gpio-ranges = <&pinctrl 0 0 352>; interrupts = , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; clocks = <&cpg CPG_MOD R9A09G011_PFC_PCLK>; resets = <&cpg R9A09G011_PFC_PRESETN>; power-domains = <&cpg>; i2c2_pins: i2c2 { pinmux = , /* SDA */ ; /* SCL */ }; };