xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,hawi-tlmm.yaml (revision faeab166167f5787719eb8683661fd41a3bb1514)
1*ec25710cSMukesh Ojha# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*ec25710cSMukesh Ojha%YAML 1.2
3*ec25710cSMukesh Ojha---
4*ec25710cSMukesh Ojha$id: http://devicetree.org/schemas/pinctrl/qcom,hawi-tlmm.yaml#
5*ec25710cSMukesh Ojha$schema: http://devicetree.org/meta-schemas/core.yaml#
6*ec25710cSMukesh Ojha
7*ec25710cSMukesh Ojhatitle: Qualcomm Technologies, Inc. Hawi TLMM block
8*ec25710cSMukesh Ojha
9*ec25710cSMukesh Ojhamaintainers:
10*ec25710cSMukesh Ojha  - Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
11*ec25710cSMukesh Ojha
12*ec25710cSMukesh Ojhadescription:
13*ec25710cSMukesh Ojha  Top Level Mode Multiplexer pin controller in Qualcomm Hawi SoC.
14*ec25710cSMukesh Ojha
15*ec25710cSMukesh OjhaallOf:
16*ec25710cSMukesh Ojha  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
17*ec25710cSMukesh Ojha
18*ec25710cSMukesh Ojhaproperties:
19*ec25710cSMukesh Ojha  compatible:
20*ec25710cSMukesh Ojha    const: qcom,hawi-tlmm
21*ec25710cSMukesh Ojha
22*ec25710cSMukesh Ojha  reg:
23*ec25710cSMukesh Ojha    maxItems: 1
24*ec25710cSMukesh Ojha
25*ec25710cSMukesh Ojha  interrupts:
26*ec25710cSMukesh Ojha    maxItems: 1
27*ec25710cSMukesh Ojha
28*ec25710cSMukesh Ojha  gpio-reserved-ranges:
29*ec25710cSMukesh Ojha    minItems: 1
30*ec25710cSMukesh Ojha    maxItems: 113
31*ec25710cSMukesh Ojha
32*ec25710cSMukesh Ojha  gpio-line-names:
33*ec25710cSMukesh Ojha    maxItems: 226
34*ec25710cSMukesh Ojha
35*ec25710cSMukesh OjhapatternProperties:
36*ec25710cSMukesh Ojha  "-state$":
37*ec25710cSMukesh Ojha    oneOf:
38*ec25710cSMukesh Ojha      - $ref: "#/$defs/qcom-hawi-tlmm-state"
39*ec25710cSMukesh Ojha      - patternProperties:
40*ec25710cSMukesh Ojha          "-pins$":
41*ec25710cSMukesh Ojha            $ref: "#/$defs/qcom-hawi-tlmm-state"
42*ec25710cSMukesh Ojha        additionalProperties: false
43*ec25710cSMukesh Ojha
44*ec25710cSMukesh Ojha$defs:
45*ec25710cSMukesh Ojha  qcom-hawi-tlmm-state:
46*ec25710cSMukesh Ojha    type: object
47*ec25710cSMukesh Ojha    description:
48*ec25710cSMukesh Ojha      Pinctrl node's client devices use subnodes for desired pin configuration.
49*ec25710cSMukesh Ojha      Client device subnodes use below standard properties.
50*ec25710cSMukesh Ojha    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
51*ec25710cSMukesh Ojha    unevaluatedProperties: false
52*ec25710cSMukesh Ojha
53*ec25710cSMukesh Ojha    properties:
54*ec25710cSMukesh Ojha      pins:
55*ec25710cSMukesh Ojha        description:
56*ec25710cSMukesh Ojha          List of gpio pins affected by the properties specified in this
57*ec25710cSMukesh Ojha          subnode.
58*ec25710cSMukesh Ojha        items:
59*ec25710cSMukesh Ojha          oneOf:
60*ec25710cSMukesh Ojha            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-9][0-9]|20[0-9]|21[0-9]|22[0-5])$"
61*ec25710cSMukesh Ojha            - enum: [ ufs_reset, sdc2_clk, sdc2_cmd, sdc2_data ]
62*ec25710cSMukesh Ojha        minItems: 1
63*ec25710cSMukesh Ojha        maxItems: 36
64*ec25710cSMukesh Ojha
65*ec25710cSMukesh Ojha      function:
66*ec25710cSMukesh Ojha        description:
67*ec25710cSMukesh Ojha          Specify the alternative function to be configured for the specified
68*ec25710cSMukesh Ojha          pins.
69*ec25710cSMukesh Ojha        enum: [ gpio, aoss_cti, atest_char, atest_usb, audio_ext_mclk,
70*ec25710cSMukesh Ojha                audio_ref_clk, cam_mclk, cci_async_in, cci_i2c0, cci_i2c1,
71*ec25710cSMukesh Ojha                cci_i2c2, cci_i2c3, cci_i2c4, cci_i2c5, cci_timer, coex_espmi,
72*ec25710cSMukesh Ojha                coex_uart1_rx, coex_uart1_tx, dbg_out_clk, ddr_bist, ddr_pxi,
73*ec25710cSMukesh Ojha                dp_hot, egpio, gcc_gp, gnss_adc, host_rst, i2chub0_se0,
74*ec25710cSMukesh Ojha                i2chub0_se1, i2chub0_se2, i2chub0_se3, i2chub0_se4, i2s0, i2s1,
75*ec25710cSMukesh Ojha                ibi_i3c, jitter_bist, mdp_esync0, mdp_esync1, mdp_esync2,
76*ec25710cSMukesh Ojha                mdp_vsync, mdp_vsync_e, mdp_vsync_p, mdp_vsync0_out,
77*ec25710cSMukesh Ojha                mdp_vsync1_out, mdp_vsync2_out, mdp_vsync3_out, mdp_vsync5_out,
78*ec25710cSMukesh Ojha                modem_pps_in, modem_pps_out, nav_gpio, nav_gpio0, nav_gpio3,
79*ec25710cSMukesh Ojha                nav_rffe, pcie0_clk_req_n, pcie0_rst_n, pcie1_clk_req_n,
80*ec25710cSMukesh Ojha                phase_flag, pll_bist_sync, pll_clk_aux, qdss_cti, qlink,
81*ec25710cSMukesh Ojha                qspi, qspi_clk, qspi_cs, qup1_se0, qup1_se1, qup1_se2,
82*ec25710cSMukesh Ojha                qup1_se3, qup1_se4, qup1_se5, qup1_se6, qup1_se7, qup2_se0,
83*ec25710cSMukesh Ojha                qup2_se1, qup2_se2, qup2_se3, qup2_se4_01, qup2_se4_23,
84*ec25710cSMukesh Ojha                qup3_se0_01, qup3_se0_23, qup3_se1, qup3_se2, qup3_se3,
85*ec25710cSMukesh Ojha                qup3_se4, qup3_se5, qup4_se0, qup4_se1, qup4_se2, qup4_se3_01,
86*ec25710cSMukesh Ojha                qup4_se3_23, qup4_se3_l3, qup4_se4_01, qup4_se4_23, qup4_se4_l3,
87*ec25710cSMukesh Ojha                rng_rosc, sd_write_protect, sdc4_clk, sdc4_cmd, sdc4_data,
88*ec25710cSMukesh Ojha                sys_throttle, tb_trig_sdc, tmess_rng, tsense_clm, tsense_pwm,
89*ec25710cSMukesh Ojha                uim0, uim1, usb0_hs, usb_phy, vfr, vsense_trigger_mirnat,
90*ec25710cSMukesh Ojha                wcn_sw_ctrl ]
91*ec25710cSMukesh Ojha
92*ec25710cSMukesh Ojha    required:
93*ec25710cSMukesh Ojha      - pins
94*ec25710cSMukesh Ojha
95*ec25710cSMukesh Ojharequired:
96*ec25710cSMukesh Ojha  - compatible
97*ec25710cSMukesh Ojha  - reg
98*ec25710cSMukesh Ojha
99*ec25710cSMukesh OjhaunevaluatedProperties: false
100*ec25710cSMukesh Ojha
101*ec25710cSMukesh Ojhaexamples:
102*ec25710cSMukesh Ojha  - |
103*ec25710cSMukesh Ojha    #include <dt-bindings/interrupt-controller/arm-gic.h>
104*ec25710cSMukesh Ojha
105*ec25710cSMukesh Ojha    tlmm: pinctrl@f100000 {
106*ec25710cSMukesh Ojha        compatible = "qcom,hawi-tlmm";
107*ec25710cSMukesh Ojha        reg = <0x0f100000 0x300000>;
108*ec25710cSMukesh Ojha        interrupts = <GIC_ESPI 272 IRQ_TYPE_LEVEL_HIGH>;
109*ec25710cSMukesh Ojha        gpio-controller;
110*ec25710cSMukesh Ojha        #gpio-cells = <2>;
111*ec25710cSMukesh Ojha        gpio-ranges = <&tlmm 0 0 227>;
112*ec25710cSMukesh Ojha        interrupt-controller;
113*ec25710cSMukesh Ojha        #interrupt-cells = <2>;
114*ec25710cSMukesh Ojha
115*ec25710cSMukesh Ojha        qup-uart7-state {
116*ec25710cSMukesh Ojha          pins = "gpio62", "gpio63";
117*ec25710cSMukesh Ojha          function = "qup1_se7";
118*ec25710cSMukesh Ojha        };
119*ec25710cSMukesh Ojha    };
120*ec25710cSMukesh Ojha...
121