99 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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 controller8 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 GPIO15 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 function18 (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/A2M24 25 reg:26 maxItems: 127 28 gpio-controller: true29 30 '#gpio-cells':31 const: 232 description:33 The first cell contains the global GPIO port index, constructed using the34 RZA2_PIN() helper macro in r7s9210-pinctrl.h.35 E.g. "RZA2_PIN(PORT6, 0)" for P6_0.36 37 gpio-ranges:38 maxItems: 139 40additionalProperties:41 type: object42 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 for49 specific peripheral functions or as GPIO.50 51 A pin multiplexing sub-node describes how to configure a set of52 (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 macro55 located in include/dt-bindings/pinctrl/r7s9210-pinctrl.h to easily56 define these.57 For assigning GPIO pins, use the macro RZA2_PIN also in58 to express the desired port pin.59 60 properties:61 pinmux:62 description:63 Values are constructed from GPIO port number, pin number, and64 alternate function configuration number using the RZA2_PINMUX()65 helper macro in r7s9210-pinctrl.h.66 67 required:68 - pinmux69 70 additionalProperties: false71 72allOf:73 - $ref: pinctrl.yaml#74 75required:76 - compatible77 - reg78 - gpio-controller79 - '#gpio-cells'80 - gpio-ranges81 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