Skip to content

Commit 4d0e626

Browse files
committed
dt-bindings: pinctrl: renesas,rza2-pinctrl: Convert to json-schema
Convert the Renesas RZ/A2 combined Pin and GPIO controller Device Tree binding documentation to json-schema. Signed-off-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Niklas Söderlund <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 6d31fa6 commit 4d0e626

File tree

2 files changed

+100
-87
lines changed

2 files changed

+100
-87
lines changed

Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.txt

Lines changed: 0 additions & 87 deletions
This file was deleted.
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
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+
7+
title: Renesas RZ/A2 combined Pin and GPIO controller
8+
9+
maintainers:
10+
- Chris Brandt <[email protected]>
11+
- Geert Uytterhoeven <[email protected]>
12+
13+
description:
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+
21+
properties:
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+
40+
patternProperties:
41+
"^.*$":
42+
if:
43+
type: object
44+
then:
45+
allOf:
46+
- $ref: pincfg-node.yaml#
47+
- $ref: pinmux-node.yaml#
48+
description:
49+
The child nodes of the pin controller designate pins to be used for
50+
specific peripheral functions or as GPIO.
51+
52+
A pin multiplexing sub-node describes how to configure a set of
53+
(or a single) pin in some desired alternate function mode.
54+
The values for the pinmux properties are a combination of port name,
55+
pin number and the desired function index. Use the RZA2_PINMUX macro
56+
located in include/dt-bindings/pinctrl/r7s9210-pinctrl.h to easily
57+
define these.
58+
For assigning GPIO pins, use the macro RZA2_PIN also in
59+
to express the desired port pin.
60+
61+
properties:
62+
phandle: true
63+
64+
pinmux:
65+
description:
66+
Values are constructed from GPIO port number, pin number, and
67+
alternate function configuration number using the RZA2_PINMUX()
68+
helper macro in r7s9210-pinctrl.h.
69+
70+
required:
71+
- pinmux
72+
73+
additionalProperties: false
74+
75+
required:
76+
- compatible
77+
- reg
78+
- gpio-controller
79+
- '#gpio-cells'
80+
- gpio-ranges
81+
82+
additionalProperties: false
83+
84+
examples:
85+
- |
86+
#include <dt-bindings/pinctrl/r7s9210-pinctrl.h>
87+
pinctrl: pin-controller@fcffe000 {
88+
compatible = "renesas,r7s9210-pinctrl";
89+
reg = <0xfcffe000 0x1000>;
90+
91+
gpio-controller;
92+
#gpio-cells = <2>;
93+
gpio-ranges = <&pinctrl 0 0 176>;
94+
95+
/* Serial Console */
96+
scif4_pins: serial4 {
97+
pinmux = <RZA2_PINMUX(PORT9, 0, 4)>, /* TxD4 */
98+
<RZA2_PINMUX(PORT9, 1, 4)>; /* RxD4 */
99+
};
100+
};

0 commit comments

Comments
 (0)