1*f8c76af2SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*f8c76af2SKrzysztof Kozlowski%YAML 1.2 3*f8c76af2SKrzysztof Kozlowski--- 4*f8c76af2SKrzysztof Kozlowski$id: http://devicetree.org/schemas/pinctrl/qcom,sm6125-tlmm.yaml# 5*f8c76af2SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*f8c76af2SKrzysztof Kozlowskititle: Qualcomm Technologies, Inc. SM6125 TLMM block 7*f8c76af2SKrzysztof Kozlowski 8*f8c76af2SKrzysztof Kozlowskimaintainers: 9*f8c76af2SKrzysztof Kozlowski - Martin Botka <martin.botka@somainline.org> 10*f8c76af2SKrzysztof Kozlowski 11*f8c76af2SKrzysztof Kozlowskidescription: 12*f8c76af2SKrzysztof Kozlowski Top Level Mode Multiplexer pin controller in Qualcomm SM6125 SoC. 13*f8c76af2SKrzysztof Kozlowski 14*f8c76af2SKrzysztof KozlowskiallOf: 15*f8c76af2SKrzysztof Kozlowski - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 16*f8c76af2SKrzysztof Kozlowski 17*f8c76af2SKrzysztof Kozlowskiproperties: 18*f8c76af2SKrzysztof Kozlowski compatible: 19*f8c76af2SKrzysztof Kozlowski const: qcom,sm6125-tlmm 20*f8c76af2SKrzysztof Kozlowski 21*f8c76af2SKrzysztof Kozlowski reg: 22*f8c76af2SKrzysztof Kozlowski maxItems: 3 23*f8c76af2SKrzysztof Kozlowski 24*f8c76af2SKrzysztof Kozlowski reg-names: 25*f8c76af2SKrzysztof Kozlowski items: 26*f8c76af2SKrzysztof Kozlowski - const: west 27*f8c76af2SKrzysztof Kozlowski - const: south 28*f8c76af2SKrzysztof Kozlowski - const: east 29*f8c76af2SKrzysztof Kozlowski 30*f8c76af2SKrzysztof Kozlowski interrupts: true 31*f8c76af2SKrzysztof Kozlowski interrupt-controller: true 32*f8c76af2SKrzysztof Kozlowski "#interrupt-cells": true 33*f8c76af2SKrzysztof Kozlowski gpio-controller: true 34*f8c76af2SKrzysztof Kozlowski gpio-reserved-ranges: true 35*f8c76af2SKrzysztof Kozlowski "#gpio-cells": true 36*f8c76af2SKrzysztof Kozlowski gpio-ranges: true 37*f8c76af2SKrzysztof Kozlowski wakeup-parent: true 38*f8c76af2SKrzysztof Kozlowski 39*f8c76af2SKrzysztof Kozlowskirequired: 40*f8c76af2SKrzysztof Kozlowski - compatible 41*f8c76af2SKrzysztof Kozlowski - reg 42*f8c76af2SKrzysztof Kozlowski - reg-names 43*f8c76af2SKrzysztof Kozlowski 44*f8c76af2SKrzysztof KozlowskiadditionalProperties: false 45*f8c76af2SKrzysztof Kozlowski 46*f8c76af2SKrzysztof KozlowskipatternProperties: 47*f8c76af2SKrzysztof Kozlowski "-state$": 48*f8c76af2SKrzysztof Kozlowski oneOf: 49*f8c76af2SKrzysztof Kozlowski - $ref: "#/$defs/qcom-sm6125-tlmm-state" 50*f8c76af2SKrzysztof Kozlowski - patternProperties: 51*f8c76af2SKrzysztof Kozlowski "-pins$": 52*f8c76af2SKrzysztof Kozlowski $ref: "#/$defs/qcom-sm6125-tlmm-state" 53*f8c76af2SKrzysztof Kozlowski additionalProperties: false 54*f8c76af2SKrzysztof Kozlowski 55*f8c76af2SKrzysztof Kozlowski$defs: 56*f8c76af2SKrzysztof Kozlowski qcom-sm6125-tlmm-state: 57*f8c76af2SKrzysztof Kozlowski type: object 58*f8c76af2SKrzysztof Kozlowski description: 59*f8c76af2SKrzysztof Kozlowski Pinctrl node's client devices use subnodes for desired pin configuration. 60*f8c76af2SKrzysztof Kozlowski Client device subnodes use below standard properties. 61*f8c76af2SKrzysztof Kozlowski $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 62*f8c76af2SKrzysztof Kozlowski 63*f8c76af2SKrzysztof Kozlowski properties: 64*f8c76af2SKrzysztof Kozlowski pins: 65*f8c76af2SKrzysztof Kozlowski description: 66*f8c76af2SKrzysztof Kozlowski List of gpio pins affected by the properties specified in this 67*f8c76af2SKrzysztof Kozlowski subnode. 68*f8c76af2SKrzysztof Kozlowski items: 69*f8c76af2SKrzysztof Kozlowski oneOf: 70*f8c76af2SKrzysztof Kozlowski - pattern: "^gpio[0-9]|[1-9][0-9]|1[0-2][0-9]|13[0-2]$" 71*f8c76af2SKrzysztof Kozlowski - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data ] 72*f8c76af2SKrzysztof Kozlowski minItems: 1 73*f8c76af2SKrzysztof Kozlowski maxItems: 36 74*f8c76af2SKrzysztof Kozlowski 75*f8c76af2SKrzysztof Kozlowski function: 76*f8c76af2SKrzysztof Kozlowski description: 77*f8c76af2SKrzysztof Kozlowski Specify the alternative function to be configured for the specified 78*f8c76af2SKrzysztof Kozlowski pins. 79*f8c76af2SKrzysztof Kozlowski 80*f8c76af2SKrzysztof Kozlowski enum: [ adsp_ext, agera_pll, atest_char, atest_char0, atest_char1, 81*f8c76af2SKrzysztof Kozlowski atest_char2, atest_char3, atest_tsens, atest_tsens2, atest_usb1, 82*f8c76af2SKrzysztof Kozlowski atest_usb10, atest_usb11, atest_usb12, atest_usb13, atest_usb2, 83*f8c76af2SKrzysztof Kozlowski atest_usb20, atest_usb21, atest_usb22, atest_usb23, aud_sb, 84*f8c76af2SKrzysztof Kozlowski audio_ref, cam_mclk, cci_async, cci_i2c, cci_timer0, cci_timer1, 85*f8c76af2SKrzysztof Kozlowski cci_timer2, cci_timer3, cci_timer4, copy_gp, copy_phase, cri_trng, 86*f8c76af2SKrzysztof Kozlowski cri_trng0, cri_trng1, dbg_out, ddr_bist, ddr_pxi0, ddr_pxi1, 87*f8c76af2SKrzysztof Kozlowski ddr_pxi2, ddr_pxi3, debug_hot, dmic0_clk, dmic0_data, dmic1_clk, 88*f8c76af2SKrzysztof Kozlowski dmic1_data, dp_hot, edp_hot, edp_lcd, gcc_gp1, gcc_gp2, gcc_gp3, 89*f8c76af2SKrzysztof Kozlowski gp_pdm0, gp_pdm1, gp_pdm2, gpio, gps_tx, jitter_bist, ldo_en, 90*f8c76af2SKrzysztof Kozlowski ldo_update, m_voc, mclk1, mclk2, mdp_vsync, mdp_vsync0, mdp_vsync1, 91*f8c76af2SKrzysztof Kozlowski mdp_vsync2, mdp_vsync3, mdp_vsync4, mdp_vsync5, mpm_pwr, mss_lte, 92*f8c76af2SKrzysztof Kozlowski nav_pps, pa_indicator, phase_flag, pll_bist, pll_bypassnl, pll_reset, 93*f8c76af2SKrzysztof Kozlowski pri_mi2s, pri_mi2s_ws, prng_rosc, qca_sb, qdss_cti, qdss, qlink_enable, 94*f8c76af2SKrzysztof Kozlowski qlink_request, qua_mi2s, qui_mi2s, qup00, qup01, qup02, qup03, qup04, 95*f8c76af2SKrzysztof Kozlowski qup10, qup11, qup12, qup13, qup14, sd_write, sec_mi2s, sp_cmu, swr_rx, 96*f8c76af2SKrzysztof Kozlowski swr_tx, ter_mi2s, tgu_ch0, tgu_ch1, tgu_ch2, tgu_ch3, tsense_pwm, 97*f8c76af2SKrzysztof Kozlowski uim1_clk, uim1_data, uim1_present, uim1_reset, uim2_clk, uim2_data, 98*f8c76af2SKrzysztof Kozlowski uim2_present, uim2_reset, unused1, unused2, usb_phy, vfr_1, vsense_trigger, 99*f8c76af2SKrzysztof Kozlowski wlan1_adc0, wlan1_adc1, wlan2_adc0, wlan2_adc1, wsa_clk, wsa_data ] 100*f8c76af2SKrzysztof Kozlowski 101*f8c76af2SKrzysztof Kozlowski 102*f8c76af2SKrzysztof Kozlowski bias-disable: true 103*f8c76af2SKrzysztof Kozlowski bias-pull-down: true 104*f8c76af2SKrzysztof Kozlowski bias-pull-up: true 105*f8c76af2SKrzysztof Kozlowski drive-strength: true 106*f8c76af2SKrzysztof Kozlowski input-enable: true 107*f8c76af2SKrzysztof Kozlowski output-high: true 108*f8c76af2SKrzysztof Kozlowski output-low: true 109*f8c76af2SKrzysztof Kozlowski 110*f8c76af2SKrzysztof Kozlowski required: 111*f8c76af2SKrzysztof Kozlowski - pins 112*f8c76af2SKrzysztof Kozlowski 113*f8c76af2SKrzysztof Kozlowski additionalProperties: false 114*f8c76af2SKrzysztof Kozlowski 115*f8c76af2SKrzysztof Kozlowskiexamples: 116*f8c76af2SKrzysztof Kozlowski - | 117*f8c76af2SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 118*f8c76af2SKrzysztof Kozlowski pinctrl@500000 { 119*f8c76af2SKrzysztof Kozlowski compatible = "qcom,sm6125-tlmm"; 120*f8c76af2SKrzysztof Kozlowski reg = <0x00500000 0x400000>, 121*f8c76af2SKrzysztof Kozlowski <0x00900000 0x400000>, 122*f8c76af2SKrzysztof Kozlowski <0x00d00000 0x400000>; 123*f8c76af2SKrzysztof Kozlowski reg-names = "west", "south", "east"; 124*f8c76af2SKrzysztof Kozlowski interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>; 125*f8c76af2SKrzysztof Kozlowski gpio-controller; 126*f8c76af2SKrzysztof Kozlowski gpio-ranges = <&tlmm 0 0 134>; 127*f8c76af2SKrzysztof Kozlowski #gpio-cells = <2>; 128*f8c76af2SKrzysztof Kozlowski interrupt-controller; 129*f8c76af2SKrzysztof Kozlowski #interrupt-cells = <2>; 130*f8c76af2SKrzysztof Kozlowski 131*f8c76af2SKrzysztof Kozlowski sdc2-off-state { 132*f8c76af2SKrzysztof Kozlowski clk-pins { 133*f8c76af2SKrzysztof Kozlowski pins = "sdc2_clk"; 134*f8c76af2SKrzysztof Kozlowski drive-strength = <2>; 135*f8c76af2SKrzysztof Kozlowski bias-disable; 136*f8c76af2SKrzysztof Kozlowski }; 137*f8c76af2SKrzysztof Kozlowski 138*f8c76af2SKrzysztof Kozlowski cmd-pins { 139*f8c76af2SKrzysztof Kozlowski pins = "sdc2_cmd"; 140*f8c76af2SKrzysztof Kozlowski drive-strength = <2>; 141*f8c76af2SKrzysztof Kozlowski bias-pull-up; 142*f8c76af2SKrzysztof Kozlowski }; 143*f8c76af2SKrzysztof Kozlowski 144*f8c76af2SKrzysztof Kozlowski data-pins { 145*f8c76af2SKrzysztof Kozlowski pins = "sdc2_data"; 146*f8c76af2SKrzysztof Kozlowski drive-strength = <2>; 147*f8c76af2SKrzysztof Kozlowski bias-pull-up; 148*f8c76af2SKrzysztof Kozlowski }; 149*f8c76af2SKrzysztof Kozlowski }; 150*f8c76af2SKrzysztof Kozlowski }; 151