1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/pinctrl/renesas,rza2-pinctrl.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Renesas RZ/A2 combined Pin and GPIO controller 8 9maintainers: 10 - Chris Brandt <chris.brandt@renesas.com> 11 - Geert Uytterhoeven <geert+renesas@glider.be> 12 13description: 14 The Renesas SoCs of the RZ/A2 series feature a combined Pin and GPIO 15 controller. 16 Pin multiplexing and GPIO configuration is performed on a per-pin basis. 17 Each port features up to 8 pins, each of them configurable for GPIO function 18 (port mode) or in alternate function mode. 19 Up to 8 different alternate function modes exist for each single pin. 20 21properties: 22 compatible: 23 const: "renesas,r7s9210-pinctrl" # RZ/A2M 24 25 reg: 26 maxItems: 1 27 28 gpio-controller: true 29 30 '#gpio-cells': 31 const: 2 32 description: 33 The first cell contains the global GPIO port index, constructed using the 34 RZA2_PIN() helper macro in r7s9210-pinctrl.h. 35 E.g. "RZA2_PIN(PORT6, 0)" for P6_0. 36 37 gpio-ranges: 38 maxItems: 1 39 40additionalProperties: 41 type: object 42 43 allOf: 44 - $ref: pincfg-node.yaml# 45 - $ref: pinmux-node.yaml# 46 47 description: 48 The child nodes of the pin controller designate pins to be used for 49 specific peripheral functions or as GPIO. 50 51 A pin multiplexing sub-node describes how to configure a set of 52 (or a single) pin in some desired alternate function mode. 53 The values for the pinmux properties are a combination of port name, 54 pin number and the desired function index. Use the RZA2_PINMUX macro 55 located in include/dt-bindings/pinctrl/r7s9210-pinctrl.h to easily 56 define these. 57 For assigning GPIO pins, use the macro RZA2_PIN also in 58 to express the desired port pin. 59 60 properties: 61 pinmux: 62 description: 63 Values are constructed from GPIO port number, pin number, and 64 alternate function configuration number using the RZA2_PINMUX() 65 helper macro in r7s9210-pinctrl.h. 66 67 required: 68 - pinmux 69 70 additionalProperties: false 71 72allOf: 73 - $ref: pinctrl.yaml# 74 75required: 76 - compatible 77 - reg 78 - gpio-controller 79 - '#gpio-cells' 80 - gpio-ranges 81 82examples: 83 - | 84 #include <dt-bindings/pinctrl/r7s9210-pinctrl.h> 85 pinctrl: pinctrl@fcffe000 { 86 compatible = "renesas,r7s9210-pinctrl"; 87 reg = <0xfcffe000 0x1000>; 88 89 gpio-controller; 90 #gpio-cells = <2>; 91 gpio-ranges = <&pinctrl 0 0 176>; 92 93 /* Serial Console */ 94 scif4_pins: serial4 { 95 pinmux = <RZA2_PINMUX(PORT9, 0, 4)>, /* TxD4 */ 96 <RZA2_PINMUX(PORT9, 1, 4)>; /* RxD4 */ 97 }; 98 }; 99