Skip to content

Commit 9a2aaee

Browse files
Bartosz Golaszewskilinusw
authored andcommitted
dt-bindings: pinctrl: describe sa8775p-tlmm
Add DT bindings for the TLMM controller on sa8775p platforms. Signed-off-by: Bartosz Golaszewski <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
1 parent 5ab4909 commit 9a2aaee

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pinctrl/qcom,sa8775p-tlmm.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Technologies, Inc. SA8775P TLMM block
8+
9+
maintainers:
10+
- Bartosz Golaszewski <[email protected]>
11+
12+
description: |
13+
Top Level Mode Multiplexer pin controller in Qualcomm SA8775P SoC.
14+
15+
allOf:
16+
- $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
17+
18+
properties:
19+
compatible:
20+
const: qcom,sa8775p-tlmm
21+
22+
reg:
23+
maxItems: 1
24+
25+
interrupts: true
26+
interrupt-controller: true
27+
"#interrupt-cells": true
28+
gpio-controller: true
29+
"#gpio-cells": true
30+
gpio-ranges: true
31+
32+
gpio-reserved-ranges:
33+
minItems: 1
34+
maxItems: 74
35+
36+
gpio-line-names:
37+
maxItems: 148
38+
39+
required:
40+
- compatible
41+
- reg
42+
43+
additionalProperties: false
44+
45+
patternProperties:
46+
"-state$":
47+
oneOf:
48+
- $ref: "#/$defs/qcom-sa8775p-tlmm-state"
49+
- patternProperties:
50+
"-pins$":
51+
$ref: "#/$defs/qcom-sa8775p-tlmm-state"
52+
additionalProperties: false
53+
54+
$defs:
55+
qcom-sa8775p-tlmm-state:
56+
type: object
57+
description:
58+
Pinctrl node's client devices use subnodes for desired pin configuration.
59+
Client device subnodes use below standard properties.
60+
$ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
61+
62+
properties:
63+
pins:
64+
description:
65+
List of gpio pins affected by the properties specified in this
66+
subnode.
67+
items:
68+
oneOf:
69+
- pattern: "^gpio([0-9]|[1-9][0-9]|1[0-3][0-9]|14[0-7])$"
70+
- enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc1_rclk, ufs_reset ]
71+
minItems: 1
72+
maxItems: 16
73+
74+
function:
75+
description:
76+
Specify the alternative function to be configured for the specified
77+
pins.
78+
79+
enum: [ atest_char, atest_usb2, audio_ref, cam_mclk, cci_async, cci_i2c,
80+
cci_timer0, cci_timer1, cci_timer2, cci_timer3, cci_timer4,
81+
cci_timer5, cci_timer6, cci_timer7, cci_timer8, cci_timer9,
82+
cri_trng, cri_trng0, cri_trng1, dbg_out, ddr_bist, ddr_pxi0,
83+
ddr_pxi1, ddr_pxi2, ddr_pxi3, ddr_pxi4, ddr_pxi5, edp0_hot,
84+
edp0_lcd, edp1_hot, edp1_lcd, edp2_hot, edp2_lcd, edp3_hot,
85+
edp3_lcd, emac0_mcg0, emac0_mcg1, emac0_mcg2, emac0_mcg3,
86+
emac0_mdc, emac0_mdio, emac0_ptp_aux, emac0_ptp_pps, emac1_mcg0,
87+
emac1_mcg1, emac1_mcg2, emac1_mcg3, emac1_mdc, emac1_mdio,
88+
emac1_ptp_aux, emac1_ptp_pps, gcc_gp1, gcc_gp2, gcc_gp3,
89+
gcc_gp4, gcc_gp5, hs0_mi2s, hs1_mi2s, hs2_mi2s, ibi_i3c,
90+
jitter_bist, mdp0_vsync0, mdp0_vsync1, mdp0_vsync2, mdp0_vsync3,
91+
mdp0_vsync4, mdp0_vsync5, mdp0_vsync6, mdp0_vsync7, mdp0_vsync8,
92+
mdp1_vsync0, mdp1_vsync1, mdp1_vsync2, mdp1_vsync3, mdp1_vsync4,
93+
mdp1_vsync5, mdp1_vsync6, mdp1_vsync7, mdp1_vsync8, mdp_vsync,
94+
mi2s1_data0, mi2s1_data1, mi2s1_sck, mi2s1_ws, mi2s2_data0,
95+
mi2s2_data1, mi2s2_sck, mi2s2_ws, mi2s_mclk0, mi2s_mclk1,
96+
pcie0_clkreq, pcie1_clkreq, phase_flag, pll_bist, pll_clk,
97+
prng_rosc0, prng_rosc1, prng_rosc2, prng_rosc3, qdss_cti,
98+
qdss_gpio, qup0_se0, qup0_se1, qup0_se2, qup0_se3, qup0_se4,
99+
qup0_se5, qup1_se0, qup1_se1, qup1_se2, qup1_se3, qup1_se4,
100+
qup1_se5, qup1_se6, qup2_se0, qup2_se1, qup2_se2, qup2_se3,
101+
qup2_se4, qup2_se5, qup2_se6, qup3_se0, sailss_emac0,
102+
sailss_ospi, sail_top, sgmii_phy, tb_trig, tgu_ch0, tgu_ch1,
103+
tgu_ch2, tgu_ch3, tgu_ch4, tgu_ch5, tsense_pwm1, tsense_pwm2,
104+
tsense_pwm3, tsense_pwm4, usb2phy_ac, vsense_trigger ]
105+
106+
bias-disable: true
107+
bias-pull-down: true
108+
bias-pull-up: true
109+
drive-strength: true
110+
input-enable: true
111+
output-high: true
112+
output-low: true
113+
114+
required:
115+
- pins
116+
117+
additionalProperties: false
118+
119+
examples:
120+
- |
121+
#include <dt-bindings/interrupt-controller/arm-gic.h>
122+
123+
tlmm: pinctrl@f000000 {
124+
compatible = "qcom,sa8775p-tlmm";
125+
reg = <0xf000000 0x1000000>;
126+
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
127+
gpio-controller;
128+
#gpio-cells = <2>;
129+
interrupt-controller;
130+
#interrupt-cells = <2>;
131+
gpio-ranges = <&tlmm 0 0 148>;
132+
133+
qup-uart10-state {
134+
pins = "gpio46", "gpio47";
135+
function = "qup1_se3";
136+
};
137+
};
138+
...

0 commit comments

Comments
 (0)