xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,sm4450-tlmm.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
18d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28d13bc63SEmmanuel Vadot%YAML 1.2
38d13bc63SEmmanuel Vadot---
48d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sm4450-tlmm.yaml#
58d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68d13bc63SEmmanuel Vadot
78d13bc63SEmmanuel Vadottitle: Qualcomm Technologies, Inc. SM4450 TLMM block
88d13bc63SEmmanuel Vadot
98d13bc63SEmmanuel Vadotmaintainers:
108d13bc63SEmmanuel Vadot  - Tengfei Fan <quic_tengfan@quicinc.com>
118d13bc63SEmmanuel Vadot
128d13bc63SEmmanuel Vadotdescription:
138d13bc63SEmmanuel Vadot  Top Level Mode Multiplexer pin controller in Qualcomm SM4450 SoC.
148d13bc63SEmmanuel Vadot
158d13bc63SEmmanuel VadotallOf:
168d13bc63SEmmanuel Vadot  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
178d13bc63SEmmanuel Vadot
188d13bc63SEmmanuel Vadotproperties:
198d13bc63SEmmanuel Vadot  compatible:
2001950c46SEmmanuel Vadot    const: qcom,sm4450-tlmm
218d13bc63SEmmanuel Vadot
228d13bc63SEmmanuel Vadot  reg:
238d13bc63SEmmanuel Vadot    maxItems: 1
248d13bc63SEmmanuel Vadot
258d13bc63SEmmanuel Vadot  interrupts: true
268d13bc63SEmmanuel Vadot  interrupt-controller: true
278d13bc63SEmmanuel Vadot  "#interrupt-cells": true
288d13bc63SEmmanuel Vadot  gpio-controller: true
298d13bc63SEmmanuel Vadot
308d13bc63SEmmanuel Vadot  gpio-reserved-ranges:
318d13bc63SEmmanuel Vadot    minItems: 1
328d13bc63SEmmanuel Vadot    maxItems: 68
338d13bc63SEmmanuel Vadot
348d13bc63SEmmanuel Vadot  gpio-line-names:
358d13bc63SEmmanuel Vadot    maxItems: 136
368d13bc63SEmmanuel Vadot
378d13bc63SEmmanuel Vadot  "#gpio-cells": true
388d13bc63SEmmanuel Vadot  gpio-ranges: true
398d13bc63SEmmanuel Vadot  wakeup-parent: true
408d13bc63SEmmanuel Vadot
418d13bc63SEmmanuel VadotpatternProperties:
428d13bc63SEmmanuel Vadot  "-state$":
438d13bc63SEmmanuel Vadot    oneOf:
448d13bc63SEmmanuel Vadot      - $ref: "#/$defs/qcom-sm4450-tlmm-state"
458d13bc63SEmmanuel Vadot      - patternProperties:
468d13bc63SEmmanuel Vadot          "-pins$":
478d13bc63SEmmanuel Vadot            $ref: "#/$defs/qcom-sm4450-tlmm-state"
488d13bc63SEmmanuel Vadot        additionalProperties: false
498d13bc63SEmmanuel Vadot
508d13bc63SEmmanuel Vadot$defs:
518d13bc63SEmmanuel Vadot  qcom-sm4450-tlmm-state:
528d13bc63SEmmanuel Vadot    type: object
538d13bc63SEmmanuel Vadot    description:
548d13bc63SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
558d13bc63SEmmanuel Vadot      Client device subnodes use below standard properties.
568d13bc63SEmmanuel Vadot    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
578d13bc63SEmmanuel Vadot    unevaluatedProperties: false
588d13bc63SEmmanuel Vadot
598d13bc63SEmmanuel Vadot    properties:
608d13bc63SEmmanuel Vadot      pins:
618d13bc63SEmmanuel Vadot        description:
628d13bc63SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
638d13bc63SEmmanuel Vadot          subnode.
648d13bc63SEmmanuel Vadot        items:
658d13bc63SEmmanuel Vadot          oneOf:
668d13bc63SEmmanuel Vadot            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-2][0-9]|13[0-5])$"
678d13bc63SEmmanuel Vadot            - enum: [ sdc2_clk, sdc2_cmd, sdc2_data, ufs_reset ]
688d13bc63SEmmanuel Vadot          minItems: 1
698d13bc63SEmmanuel Vadot          maxItems: 36
708d13bc63SEmmanuel Vadot
718d13bc63SEmmanuel Vadot      function:
728d13bc63SEmmanuel Vadot        description:
738d13bc63SEmmanuel Vadot          Specify the alternative function to be configured for the specified
748d13bc63SEmmanuel Vadot          pins.
75*7d0873ebSEmmanuel Vadot        enum: [ gpio, atest_char, atest_usb0, audio_ref_clk, cam_mclk,
76*7d0873ebSEmmanuel Vadot                cci_async_in0, cci_i2c, cci, cmu_rng, coex_uart1_rx,
77*7d0873ebSEmmanuel Vadot                coex_uart1_tx, cri_trng, dbg_out_clk, ddr_bist,
78*7d0873ebSEmmanuel Vadot                ddr_pxi0_test, ddr_pxi1_test, gcc_gp1_clk, gcc_gp2_clk,
79*7d0873ebSEmmanuel Vadot                gcc_gp3_clk, host2wlan_sol, ibi_i3c_qup0, ibi_i3c_qup1,
80*7d0873ebSEmmanuel Vadot                jitter_bist_ref, mdp_vsync0_out, mdp_vsync1_out,
81*7d0873ebSEmmanuel Vadot                mdp_vsync2_out, mdp_vsync3_out, mdp_vsync, nav,
82*7d0873ebSEmmanuel Vadot                pcie0_clk_req, phase_flag, pll_bist_sync, pll_clk_aux,
83*7d0873ebSEmmanuel Vadot                prng_rosc, qdss_cti_trig0, qdss_cti_trig1, qdss_gpio,
84*7d0873ebSEmmanuel Vadot                qlink0_enable, qlink0_request, qlink0_wmss_reset,
85*7d0873ebSEmmanuel Vadot                qup0_se0, qup0_se1, qup0_se2, qup0_se3, qup0_se4,
86*7d0873ebSEmmanuel Vadot                qup1_se0, qup1_se1, qup1_se2, qup1_se2_l2, qup1_se3,
87*7d0873ebSEmmanuel Vadot                qup1_se4, sd_write_protect, tb_trig_sdc1, tb_trig_sdc2,
88*7d0873ebSEmmanuel Vadot                tgu_ch0_trigout, tgu_ch1_trigout, tgu_ch2_trigout,
89*7d0873ebSEmmanuel Vadot                tgu_ch3_trigout, tmess_prng, tsense_pwm1_out,
90*7d0873ebSEmmanuel Vadot                tsense_pwm2_out, uim0, uim1, usb0_hs_ac, usb0_phy_ps,
91*7d0873ebSEmmanuel Vadot                vfr_0_mira, vfr_0_mirb, vfr_1, vsense_trigger_mirnat,
92*7d0873ebSEmmanuel Vadot                wlan1_adc_dtest0, wlan1_adc_dtest1 ]
938d13bc63SEmmanuel Vadot
948d13bc63SEmmanuel Vadot        required:
958d13bc63SEmmanuel Vadot          - pins
968d13bc63SEmmanuel Vadot
978d13bc63SEmmanuel Vadotrequired:
988d13bc63SEmmanuel Vadot  - compatible
998d13bc63SEmmanuel Vadot  - reg
1008d13bc63SEmmanuel Vadot
1018d13bc63SEmmanuel VadotadditionalProperties: false
1028d13bc63SEmmanuel Vadot
1038d13bc63SEmmanuel Vadotexamples:
1048d13bc63SEmmanuel Vadot  - |
1058d13bc63SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1068d13bc63SEmmanuel Vadot    tlmm: pinctrl@f100000 {
1078d13bc63SEmmanuel Vadot        compatible = "qcom,sm4450-tlmm";
1088d13bc63SEmmanuel Vadot        reg = <0x0f100000 0x300000>;
1098d13bc63SEmmanuel Vadot        gpio-controller;
1108d13bc63SEmmanuel Vadot        #gpio-cells = <2>;
1118d13bc63SEmmanuel Vadot        gpio-ranges = <&tlmm 0 0 137>;
1128d13bc63SEmmanuel Vadot        interrupt-controller;
1138d13bc63SEmmanuel Vadot        #interrupt-cells = <2>;
1148d13bc63SEmmanuel Vadot        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1158d13bc63SEmmanuel Vadot
1168d13bc63SEmmanuel Vadot        gpio-wo-state {
1178d13bc63SEmmanuel Vadot            pins = "gpio1";
1188d13bc63SEmmanuel Vadot            function = "gpio";
1198d13bc63SEmmanuel Vadot        };
1208d13bc63SEmmanuel Vadot
1218d13bc63SEmmanuel Vadot        uart-w-state {
1228d13bc63SEmmanuel Vadot            rx-pins {
1238d13bc63SEmmanuel Vadot                pins = "gpio23";
1248d13bc63SEmmanuel Vadot                function = "qup1_se2";
1258d13bc63SEmmanuel Vadot                bias-pull-up;
1268d13bc63SEmmanuel Vadot            };
1278d13bc63SEmmanuel Vadot
1288d13bc63SEmmanuel Vadot            tx-pins {
1298d13bc63SEmmanuel Vadot                pins = "gpio22";
1308d13bc63SEmmanuel Vadot                function = "qup1_se2";
1318d13bc63SEmmanuel Vadot                bias-disable;
1328d13bc63SEmmanuel Vadot            };
1338d13bc63SEmmanuel Vadot        };
1348d13bc63SEmmanuel Vadot    };
1358d13bc63SEmmanuel Vadot...
136