1432e1033SVinod Koul# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2432e1033SVinod Koul%YAML 1.2 3432e1033SVinod Koul--- 416dc56ebSKrzysztof Kozlowski$id: http://devicetree.org/schemas/pinctrl/qcom,sm8350-tlmm.yaml# 5432e1033SVinod Koul$schema: http://devicetree.org/meta-schemas/core.yaml# 6432e1033SVinod Koul 7432e1033SVinod Koultitle: Qualcomm Technologies, Inc. SM8350 TLMM block 8432e1033SVinod Koul 9432e1033SVinod Koulmaintainers: 10432e1033SVinod Koul - Vinod Koul <vkoul@kernel.org> 11432e1033SVinod Koul 1216dc56ebSKrzysztof Kozlowskidescription: 1316dc56ebSKrzysztof Kozlowski Top Level Mode Multiplexer pin controller in Qualcomm SM8350 SoC. 14432e1033SVinod Koul 15432e1033SVinod KoulallOf: 16432e1033SVinod Koul - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 17432e1033SVinod Koul 18432e1033SVinod Koulproperties: 19432e1033SVinod Koul compatible: 20432e1033SVinod Koul const: qcom,sm8350-tlmm 21432e1033SVinod Koul 22432e1033SVinod Koul reg: 23432e1033SVinod Koul maxItems: 1 24432e1033SVinod Koul 2512a18bb7SKrzysztof Kozlowski interrupts: 2612a18bb7SKrzysztof Kozlowski maxItems: 1 2712a18bb7SKrzysztof Kozlowski 2886a8754bSKrzysztof Kozlowski gpio-reserved-ranges: 2986a8754bSKrzysztof Kozlowski minItems: 1 3086a8754bSKrzysztof Kozlowski maxItems: 102 3186a8754bSKrzysztof Kozlowski 3286a8754bSKrzysztof Kozlowski gpio-line-names: 3386a8754bSKrzysztof Kozlowski maxItems: 203 3486a8754bSKrzysztof Kozlowski 35432e1033SVinod KoulpatternProperties: 3616dc56ebSKrzysztof Kozlowski "-state$": 37432e1033SVinod Koul oneOf: 38432e1033SVinod Koul - $ref: "#/$defs/qcom-sm8350-tlmm-state" 39432e1033SVinod Koul - patternProperties: 40e9668427SKrzysztof Kozlowski "-pins$": 41432e1033SVinod Koul $ref: "#/$defs/qcom-sm8350-tlmm-state" 42e9668427SKrzysztof Kozlowski additionalProperties: false 43432e1033SVinod Koul 44432e1033SVinod Koul$defs: 45432e1033SVinod Koul qcom-sm8350-tlmm-state: 46432e1033SVinod Koul type: object 47432e1033SVinod Koul description: 48432e1033SVinod Koul Pinctrl node's client devices use subnodes for desired pin configuration. 49432e1033SVinod Koul Client device subnodes use below standard properties. 50e10be828SKrzysztof Kozlowski $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 51a3c355b5SKrzysztof Kozlowski unevaluatedProperties: false 52432e1033SVinod Koul 53432e1033SVinod Koul properties: 54432e1033SVinod Koul pins: 55432e1033SVinod Koul description: 56432e1033SVinod Koul List of gpio pins affected by the properties specified in this 57432e1033SVinod Koul subnode. 58432e1033SVinod Koul items: 59432e1033SVinod Koul oneOf: 6045277153SKrzysztof Kozlowski - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-9][0-9]|20[0-2])$" 61432e1033SVinod Koul - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data ] 62432e1033SVinod Koul minItems: 1 63432e1033SVinod Koul maxItems: 36 64432e1033SVinod Koul 65432e1033SVinod Koul function: 66432e1033SVinod Koul description: 67432e1033SVinod Koul Specify the alternative function to be configured for the specified 68432e1033SVinod Koul pins. 69432e1033SVinod Koul 70432e1033SVinod Koul enum: [ atest_char, atest_usb, audio_ref, cam_mclk, cci_async, 71432e1033SVinod Koul cci_i2c, cci_timer, cmu_rng, coex_uart1, coex_uart2, cri_trng, 72432e1033SVinod Koul cri_trng0, cri_trng1, dbg_out, ddr_bist, ddr_pxi0, ddr_pxi1, 73432e1033SVinod Koul ddr_pxi2, ddr_pxi3, dp_hot, dp_lcd, gcc_gp1, gcc_gp2, gcc_gp3, 74432e1033SVinod Koul gpio, ibi_i3c, jitter_bist, lpass_slimbus, mdp_vsync, mdp_vsync0, 75432e1033SVinod Koul mdp_vsync1, mdp_vsync2, mdp_vsync3, mi2s0_data0, mi2s0_data1, 76432e1033SVinod Koul mi2s0_sck, mi2s0_ws, mi2s1_data0, mi2s1_data1, mi2s1_sck, 77432e1033SVinod Koul mi2s1_ws, mi2s2_data0, mi2s2_data1, mi2s2_sck, mi2s2_ws, 78432e1033SVinod Koul mss_grfc0, mss_grfc1, mss_grfc10, mss_grfc11, mss_grfc12, 79432e1033SVinod Koul mss_grfc2, mss_grfc3, mss_grfc4, mss_grfc5, mss_grfc6, 80432e1033SVinod Koul mss_grfc7, mss_grfc8, mss_grfc9, nav_gpio, pa_indicator, 81432e1033SVinod Koul pcie0_clkreqn, pcie1_clkreqn, phase_flag, pll_bist, pll_clk, 82432e1033SVinod Koul pri_mi2s, prng_rosc, qdss_cti, qdss_gpio, qlink0_enable, 83432e1033SVinod Koul qlink0_request, qlink0_wmss, qlink1_enable, qlink1_request, 84432e1033SVinod Koul qlink1_wmss, qlink2_enable, qlink2_request, qlink2_wmss, qspi0, 85432e1033SVinod Koul qspi1, qspi2, qspi3, qspi_clk, qspi_cs, qup0, qup1, qup10, 86432e1033SVinod Koul qup11, qup12, qup13, qup14, qup15, qup16, qup17, qup18, qup19, 87432e1033SVinod Koul qup2, qup3, qup4, qup5, qup6, qup7, qup8, qup9, qup_l4, qup_l5, 88432e1033SVinod Koul qup_l6, sd_write, sdc40, sdc41, sdc42, sdc43, sdc4_clk, 89432e1033SVinod Koul sdc4_cmd, sec_mi2s, tb_trig, tgu_ch0, tgu_ch1, tgu_ch2, 90432e1033SVinod Koul tgu_ch3, tsense_pwm1, tsense_pwm2, uim0_clk, uim0_data, 91432e1033SVinod Koul uim0_present, uim0_reset, uim1_clk, uim1_data, uim1_present, 92432e1033SVinod Koul uim1_reset, usb2phy_ac, usb_phy, vfr_0, vfr_1, vsense_trigger ] 93432e1033SVinod Koul 94432e1033SVinod Koul required: 95432e1033SVinod Koul - pins 9634b88934SKrzysztof Kozlowski 9779d770afSKrzysztof Kozlowskirequired: 9879d770afSKrzysztof Kozlowski - compatible 9979d770afSKrzysztof Kozlowski - reg 10079d770afSKrzysztof Kozlowski 10179d770afSKrzysztof KozlowskiunevaluatedProperties: false 10279d770afSKrzysztof Kozlowski 103432e1033SVinod Koulexamples: 104432e1033SVinod Koul - | 105432e1033SVinod Koul #include <dt-bindings/interrupt-controller/arm-gic.h> 106432e1033SVinod Koul pinctrl@f100000 { 107432e1033SVinod Koul compatible = "qcom,sm8350-tlmm"; 108432e1033SVinod Koul reg = <0x0f100000 0x300000>; 109432e1033SVinod Koul interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 110432e1033SVinod Koul gpio-controller; 111432e1033SVinod Koul #gpio-cells = <2>; 112432e1033SVinod Koul interrupt-controller; 113432e1033SVinod Koul #interrupt-cells = <2>; 1146f4e10ffSKrzysztof Kozlowski gpio-ranges = <&tlmm 0 0 204>; /* GPIOs + ufs_reset */ 115432e1033SVinod Koul 116432e1033SVinod Koul gpio-wo-subnode-state { 117432e1033SVinod Koul pins = "gpio1"; 118432e1033SVinod Koul function = "gpio"; 119432e1033SVinod Koul }; 120432e1033SVinod Koul 121432e1033SVinod Koul uart-w-subnodes-state { 122e9668427SKrzysztof Kozlowski rx-pins { 123432e1033SVinod Koul pins = "gpio18"; 124432e1033SVinod Koul function = "qup3"; 125432e1033SVinod Koul bias-pull-up; 126432e1033SVinod Koul }; 127432e1033SVinod Koul 128e9668427SKrzysztof Kozlowski tx-pins { 129432e1033SVinod Koul pins = "gpio19"; 130432e1033SVinod Koul function = "qup3"; 131432e1033SVinod Koul bias-disable; 132432e1033SVinod Koul }; 133432e1033SVinod Koul }; 134432e1033SVinod Koul }; 135432e1033SVinod Koul... 136