1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b97ee269SEmmanuel Vadot%YAML 1.2 3b97ee269SEmmanuel Vadot--- 4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sm6375-tlmm.yaml# 5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6b97ee269SEmmanuel Vadot 7b97ee269SEmmanuel Vadottitle: Qualcomm Technologies, Inc. SM6375 TLMM block 8b97ee269SEmmanuel Vadot 9b97ee269SEmmanuel Vadotmaintainers: 10b97ee269SEmmanuel Vadot - Konrad Dybcio <konrad.dybcio@somainline.org> 11b97ee269SEmmanuel Vadot 128bab661aSEmmanuel Vadotdescription: 138bab661aSEmmanuel Vadot Top Level Mode Multiplexer pin controller in Qualcomm SM6375 SoC. 14b97ee269SEmmanuel Vadot 15b97ee269SEmmanuel VadotallOf: 16b97ee269SEmmanuel Vadot - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 17b97ee269SEmmanuel Vadot 18b97ee269SEmmanuel Vadotproperties: 19b97ee269SEmmanuel Vadot compatible: 20b97ee269SEmmanuel Vadot const: qcom,sm6375-tlmm 21b97ee269SEmmanuel Vadot 22b97ee269SEmmanuel Vadot reg: 23b97ee269SEmmanuel Vadot maxItems: 1 24b97ee269SEmmanuel Vadot 25cb7aa33aSEmmanuel Vadot interrupts: 26cb7aa33aSEmmanuel Vadot maxItems: 1 27cb7aa33aSEmmanuel Vadot 28b97ee269SEmmanuel Vadot gpio-reserved-ranges: true 29b97ee269SEmmanuel Vadot 30b97ee269SEmmanuel VadotpatternProperties: 318bab661aSEmmanuel Vadot "-state$": 32b97ee269SEmmanuel Vadot oneOf: 33b97ee269SEmmanuel Vadot - $ref: "#/$defs/qcom-sm6375-tlmm-state" 34b97ee269SEmmanuel Vadot - patternProperties: 357ef62cebSEmmanuel Vadot "-pins$": 36b97ee269SEmmanuel Vadot $ref: "#/$defs/qcom-sm6375-tlmm-state" 377ef62cebSEmmanuel Vadot additionalProperties: false 38b97ee269SEmmanuel Vadot 39b97ee269SEmmanuel Vadot$defs: 40b97ee269SEmmanuel Vadot qcom-sm6375-tlmm-state: 41b97ee269SEmmanuel Vadot type: object 42b97ee269SEmmanuel Vadot description: 43b97ee269SEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 44b97ee269SEmmanuel Vadot Client device subnodes use below standard properties. 458bab661aSEmmanuel Vadot $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 46fac71e4eSEmmanuel Vadot unevaluatedProperties: false 47b97ee269SEmmanuel Vadot 48b97ee269SEmmanuel Vadot properties: 49b97ee269SEmmanuel Vadot pins: 50b97ee269SEmmanuel Vadot description: 51b97ee269SEmmanuel Vadot List of gpio pins affected by the properties specified in this 52b97ee269SEmmanuel Vadot subnode. 53b97ee269SEmmanuel Vadot items: 54b97ee269SEmmanuel Vadot oneOf: 55cb7aa33aSEmmanuel Vadot - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-4][0-9]|15[0-5])$" 56b97ee269SEmmanuel Vadot - enum: [ ufs_reset, sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, 57b97ee269SEmmanuel Vadot sdc2_cmd, sdc2_data ] 58b97ee269SEmmanuel Vadot minItems: 1 59b97ee269SEmmanuel Vadot maxItems: 36 60b97ee269SEmmanuel Vadot 61b97ee269SEmmanuel Vadot function: 62b97ee269SEmmanuel Vadot description: 63b97ee269SEmmanuel Vadot Specify the alternative function to be configured for the specified 64b97ee269SEmmanuel Vadot pins. 65b97ee269SEmmanuel Vadot 66b97ee269SEmmanuel Vadot enum: [ adsp_ext, agera_pll, atest_char, atest_char0, atest_char1, 67b97ee269SEmmanuel Vadot atest_char2, atest_char3, atest_tsens, atest_tsens2, 68b97ee269SEmmanuel Vadot atest_usb1, atest_usb10, atest_usb11, atest_usb12, 69b97ee269SEmmanuel Vadot atest_usb13, atest_usb2, atest_usb20, atest_usb21, 70b97ee269SEmmanuel Vadot atest_usb22, atest_usb23, audio_ref, btfm_slimbus, cam_mclk, 71b97ee269SEmmanuel Vadot cci_async, cci_i2c, cci_timer0, cci_timer1, cci_timer2, 72b97ee269SEmmanuel Vadot cci_timer3, cci_timer4, cri_trng, dbg_out, ddr_bist, 73b97ee269SEmmanuel Vadot ddr_pxi0, ddr_pxi1, ddr_pxi2, ddr_pxi3, dp_hot, edp_lcd, 74b97ee269SEmmanuel Vadot gcc_gp1, gcc_gp2, gcc_gp3, gp_pdm0, gp_pdm1, gp_pdm2, gpio, 75b97ee269SEmmanuel Vadot gps_tx, ibi_i3c, jitter_bist, ldo_en, ldo_update, lpass_ext, 76b97ee269SEmmanuel Vadot m_voc, mclk, mdp_vsync, mdp_vsync0, mdp_vsync1, mdp_vsync2, 77b97ee269SEmmanuel Vadot mdp_vsync3, mi2s_0, mi2s_1, mi2s_2, mss_lte, nav_gpio, 78b97ee269SEmmanuel Vadot nav_pps, pa_indicator, phase_flag0, phase_flag1, phase_flag10, 79b97ee269SEmmanuel Vadot phase_flag11, phase_flag12, phase_flag13, phase_flag14, 80b97ee269SEmmanuel Vadot phase_flag15, phase_flag16, phase_flag17, phase_flag18, 81b97ee269SEmmanuel Vadot phase_flag19, phase_flag2, phase_flag20, phase_flag21, 82b97ee269SEmmanuel Vadot phase_flag22, phase_flag23, phase_flag24, phase_flag25, 83b97ee269SEmmanuel Vadot phase_flag26, phase_flag27, phase_flag28, phase_flag29, 84b97ee269SEmmanuel Vadot phase_flag3, phase_flag30, phase_flag31, phase_flag4, 85b97ee269SEmmanuel Vadot phase_flag5, phase_flag6, phase_flag7, phase_flag8, 86b97ee269SEmmanuel Vadot phase_flag9, pll_bist, pll_bypassnl, pll_clk, pll_reset, 87b97ee269SEmmanuel Vadot prng_rosc0, prng_rosc1, prng_rosc2, prng_rosc3, qdss_cti, 88b97ee269SEmmanuel Vadot qdss_gpio, qdss_gpio0, qdss_gpio1, qdss_gpio10, qdss_gpio11, 89b97ee269SEmmanuel Vadot qdss_gpio12, qdss_gpio13, qdss_gpio14, qdss_gpio15, 90b97ee269SEmmanuel Vadot qdss_gpio2, qdss_gpio3, qdss_gpio4, qdss_gpio5, qdss_gpio6, 91b97ee269SEmmanuel Vadot qdss_gpio7, qdss_gpio8, qdss_gpio9, qlink0_enable, 92b97ee269SEmmanuel Vadot qlink0_request, qlink0_wmss, qlink1_enable, qlink1_request, 93b97ee269SEmmanuel Vadot qlink1_wmss, qup00, qup01, qup02, qup10, qup11_f1, qup11_f2, 94b97ee269SEmmanuel Vadot qup12, qup13_f1, qup13_f2, qup14, sd_write, sdc1_tb, sdc2_tb, 95b97ee269SEmmanuel Vadot sp_cmu, tgu_ch0, tgu_ch1, tgu_ch2, tgu_ch3, tsense_pwm1, 96b97ee269SEmmanuel Vadot tsense_pwm2, uim1_clk, uim1_data, uim1_present, uim1_reset, 97b97ee269SEmmanuel Vadot uim2_clk, uim2_data, uim2_present, uim2_reset, usb2phy_ac, 98b97ee269SEmmanuel Vadot usb_phy, vfr_1, vsense_trigger, wlan1_adc0, wlan1_adc1, 99b97ee269SEmmanuel Vadot wlan2_adc0, wlan2_adc1 ] 100b97ee269SEmmanuel Vadot 101b97ee269SEmmanuel Vadot required: 102b97ee269SEmmanuel Vadot - pins 1037ef62cebSEmmanuel Vadot 104*8d13bc63SEmmanuel Vadotrequired: 105*8d13bc63SEmmanuel Vadot - compatible 106*8d13bc63SEmmanuel Vadot - reg 107*8d13bc63SEmmanuel Vadot 108*8d13bc63SEmmanuel VadotunevaluatedProperties: false 109*8d13bc63SEmmanuel Vadot 110b97ee269SEmmanuel Vadotexamples: 111b97ee269SEmmanuel Vadot - | 112b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 113b97ee269SEmmanuel Vadot pinctrl@500000 { 114b97ee269SEmmanuel Vadot compatible = "qcom,sm6375-tlmm"; 115b97ee269SEmmanuel Vadot reg = <0x00500000 0x800000>; 116b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>; 117b97ee269SEmmanuel Vadot gpio-controller; 118b97ee269SEmmanuel Vadot #gpio-cells = <2>; 119b97ee269SEmmanuel Vadot interrupt-controller; 120b97ee269SEmmanuel Vadot #interrupt-cells = <2>; 121cb7aa33aSEmmanuel Vadot gpio-ranges = <&tlmm 0 0 157>; /* GPIOs + ufs_reset */ 122b97ee269SEmmanuel Vadot 123b97ee269SEmmanuel Vadot gpio-wo-subnode-state { 124b97ee269SEmmanuel Vadot pins = "gpio1"; 125b97ee269SEmmanuel Vadot function = "gpio"; 126b97ee269SEmmanuel Vadot }; 127b97ee269SEmmanuel Vadot 128b97ee269SEmmanuel Vadot uart-w-subnodes-state { 1297ef62cebSEmmanuel Vadot rx-pins { 130b97ee269SEmmanuel Vadot pins = "gpio18"; 131b97ee269SEmmanuel Vadot function = "qup13_f2"; 132b97ee269SEmmanuel Vadot bias-pull-up; 133b97ee269SEmmanuel Vadot }; 134b97ee269SEmmanuel Vadot 1357ef62cebSEmmanuel Vadot tx-pins { 136b97ee269SEmmanuel Vadot pins = "gpio19"; 137b97ee269SEmmanuel Vadot function = "qup13_f2"; 138b97ee269SEmmanuel Vadot bias-disable; 139b97ee269SEmmanuel Vadot }; 140b97ee269SEmmanuel Vadot }; 141b97ee269SEmmanuel Vadot }; 142b97ee269SEmmanuel Vadot... 143