blob: 8b8e4e1a000f62f826c152509a25b65623d0ea07 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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:
Tom Rini93743d22024-04-01 09:08:13 -040023 const: renesas,r7s9210-pinctrl # RZ/A2M
Tom Rini53633a82024-02-29 12:33:36 -050024
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 };