Skip to content

Commit 3370498

Browse files
manikandan-m11Bartosz Golaszewski
authored andcommitted
dt-bindings: gpio: convert Atmel GPIO to json-schema
Convert the Atmel GPIO controller binding document to DT schema format using json-schema. The at91 pinctrl driver uses "atmel,at91rm9200-gpio" compatible string to find the number of active GPIO banks and identify the pinmux nodes. "atmel,at91sam9x5-gpio" and "microchip,sam9x60-gpio" have additional registers to handle drive-strength, slew-rate, pull-down to drive the pinmux configs. The new compatible string "microchip,sam9x7-gpio" is added. Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20240709092354.191643-5-manikandan.m@microchip.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
1 parent 91581c4 commit 3370498

File tree

2 files changed

+81
-31
lines changed

2 files changed

+81
-31
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/gpio/atmel,at91rm9200-gpio.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip GPIO controller (PIO)
8+
9+
maintainers:
10+
- Manikandan Muralidharan <manikandan.m@microchip.com>
11+
12+
properties:
13+
compatible:
14+
oneOf:
15+
- items:
16+
- enum:
17+
- atmel,at91sam9x5-gpio
18+
- microchip,sam9x60-gpio
19+
- const: atmel,at91rm9200-gpio
20+
- items:
21+
- enum:
22+
- microchip,sam9x7-gpio
23+
- const: microchip,sam9x60-gpio
24+
- const: atmel,at91rm9200-gpio
25+
- items:
26+
- const: atmel,at91rm9200-gpio
27+
28+
reg:
29+
maxItems: 1
30+
31+
interrupts:
32+
maxItems: 1
33+
34+
interrupt-controller: true
35+
36+
"#interrupt-cells":
37+
const: 2
38+
39+
gpio-controller: true
40+
gpio-line-names: true
41+
42+
"#gpio-cells":
43+
const: 2
44+
45+
clocks:
46+
maxItems: 1
47+
48+
"#gpio-lines":
49+
description:
50+
Number of gpio, 32 by default if absent
51+
maxItems: 1
52+
default: 32
53+
54+
required:
55+
- compatible
56+
- reg
57+
- interrupts
58+
- interrupt-controller
59+
- "#interrupt-cells"
60+
- gpio-controller
61+
- "#gpio-cells"
62+
- clocks
63+
64+
additionalProperties: false
65+
66+
examples:
67+
- |
68+
#include <dt-bindings/clock/at91.h>
69+
#include <dt-bindings/interrupt-controller/irq.h>
70+
71+
gpio@fffff400 {
72+
compatible = "atmel,at91rm9200-gpio";
73+
reg = <0xfffff400 0x200>;
74+
interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
75+
#gpio-cells = <2>;
76+
gpio-controller;
77+
interrupt-controller;
78+
#interrupt-cells = <2>;
79+
clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
80+
};
81+
...

Documentation/devicetree/bindings/gpio/gpio_atmel.txt

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)