Skip to content

Commit e8da9ed

Browse files
benjamingaignardLee Jones
authored andcommitted
dt-bindings: mfd: Convert stmfx bindings to json-schema
Convert stmfx bindings to json-schema. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
1 parent c61e165 commit e8da9ed

File tree

3 files changed

+124
-144
lines changed

3 files changed

+124
-144
lines changed
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/st,stmfx.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: STMicroelectonics Multi-Function eXpander (STMFX) bindings
8+
9+
description: ST Multi-Function eXpander (STMFX) is a slave controller using I2C for
10+
communication with the main MCU. Its main features are GPIO expansion,
11+
main MCU IDD measurement (IDD is the amount of current that flows
12+
through VDD) and resistive touchscreen controller.
13+
14+
maintainers:
15+
- Amelie Delaunay <amelie.delaunay@st.com>
16+
17+
properties:
18+
compatible:
19+
const: st,stmfx-0300
20+
21+
reg:
22+
enum: [ 0x42, 0x43 ]
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
drive-open-drain: true
28+
29+
vdd-supply:
30+
maxItems: 1
31+
32+
pinctrl:
33+
type: object
34+
35+
properties:
36+
compatible:
37+
const: st,stmfx-0300-pinctrl
38+
39+
"#gpio-cells":
40+
const: 2
41+
42+
"#interrupt-cells":
43+
const: 2
44+
45+
gpio-controller: true
46+
47+
interrupt-controller: true
48+
49+
gpio-ranges:
50+
description: if all STMFX pins[24:0] are available (no other STMFX function in use),
51+
you should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
52+
if agpio[3:0] are not available (STMFX Touchscreen function in use),
53+
you should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
54+
if agpio[7:4] are not available (STMFX IDD function in use),
55+
you should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
56+
maxItems: 1
57+
58+
patternProperties:
59+
"^[a-zA-Z]*-pins$":
60+
type: object
61+
62+
allOf:
63+
- $ref: ../pinctrl/pinmux-node.yaml
64+
65+
properties:
66+
pins: true
67+
bias-disable: true
68+
bias-pull-up: true
69+
bias-pull-pin-default: true
70+
bias-pull-down: true
71+
drive-open-drain: true
72+
drive-push-pull: true
73+
output-high: true
74+
output-low: true
75+
76+
additionalProperties: false
77+
78+
additionalProperties: false
79+
80+
required:
81+
- compatible
82+
- "#gpio-cells"
83+
- "#interrupt-cells"
84+
- gpio-controller
85+
- interrupt-controller
86+
- gpio-ranges
87+
88+
additionalProperties: false
89+
90+
required:
91+
- compatible
92+
- reg
93+
- interrupts
94+
95+
examples:
96+
- |
97+
#include <dt-bindings/interrupt-controller/arm-gic.h>
98+
i2c@0 {
99+
#address-cells = <1>;
100+
#size-cells = <0>;
101+
stmfx@42 {
102+
compatible = "st,stmfx-0300";
103+
reg = <0x42>;
104+
interrupts = <8 IRQ_TYPE_EDGE_RISING>;
105+
interrupt-parent = <&gpioi>;
106+
vdd-supply = <&v3v3>;
107+
108+
stmfx_pinctrl: pinctrl {
109+
compatible = "st,stmfx-0300-pinctrl";
110+
#gpio-cells = <2>;
111+
#interrupt-cells = <2>;
112+
gpio-controller;
113+
interrupt-controller;
114+
gpio-ranges = <&stmfx_pinctrl 0 0 24>;
115+
116+
joystick_pins: joystick-pins {
117+
pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
118+
drive-push-pull;
119+
bias-pull-up;
120+
};
121+
};
122+
};
123+
};
124+
...

Documentation/devicetree/bindings/mfd/stmfx.txt

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

Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt

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

0 commit comments

Comments
 (0)