1*e1a31f98SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*e1a31f98SKrzysztof Kozlowski%YAML 1.2 3*e1a31f98SKrzysztof Kozlowski--- 4*e1a31f98SKrzysztof Kozlowski$id: http://devicetree.org/schemas/pinctrl/qcom,sc8180x-tlmm.yaml# 5*e1a31f98SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*e1a31f98SKrzysztof Kozlowski 7*e1a31f98SKrzysztof Kozlowskititle: Qualcomm Technologies, Inc. SC8180X TLMM block 8*e1a31f98SKrzysztof Kozlowski 9*e1a31f98SKrzysztof Kozlowskimaintainers: 10*e1a31f98SKrzysztof Kozlowski - Bjorn Andersson <bjorn.andersson@linaro.org> 11*e1a31f98SKrzysztof Kozlowski 12*e1a31f98SKrzysztof Kozlowskidescription: 13*e1a31f98SKrzysztof Kozlowski Top Level Mode Multiplexer pin controller in Qualcomm SC8180X SoC. 14*e1a31f98SKrzysztof Kozlowski 15*e1a31f98SKrzysztof KozlowskiallOf: 16*e1a31f98SKrzysztof Kozlowski - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 17*e1a31f98SKrzysztof Kozlowski 18*e1a31f98SKrzysztof Kozlowskiproperties: 19*e1a31f98SKrzysztof Kozlowski compatible: 20*e1a31f98SKrzysztof Kozlowski const: qcom,sc8180x-tlmm 21*e1a31f98SKrzysztof Kozlowski 22*e1a31f98SKrzysztof Kozlowski reg: 23*e1a31f98SKrzysztof Kozlowski maxItems: 3 24*e1a31f98SKrzysztof Kozlowski 25*e1a31f98SKrzysztof Kozlowski reg-names: 26*e1a31f98SKrzysztof Kozlowski items: 27*e1a31f98SKrzysztof Kozlowski - const: west 28*e1a31f98SKrzysztof Kozlowski - const: east 29*e1a31f98SKrzysztof Kozlowski - const: south 30*e1a31f98SKrzysztof Kozlowski 31*e1a31f98SKrzysztof Kozlowski interrupts: true 32*e1a31f98SKrzysztof Kozlowski interrupt-controller: true 33*e1a31f98SKrzysztof Kozlowski '#interrupt-cells': true 34*e1a31f98SKrzysztof Kozlowski gpio-controller: true 35*e1a31f98SKrzysztof Kozlowski gpio-reserved-ranges: true 36*e1a31f98SKrzysztof Kozlowski '#gpio-cells': true 37*e1a31f98SKrzysztof Kozlowski gpio-ranges: true 38*e1a31f98SKrzysztof Kozlowski wakeup-parent: true 39*e1a31f98SKrzysztof Kozlowski 40*e1a31f98SKrzysztof Kozlowskirequired: 41*e1a31f98SKrzysztof Kozlowski - compatible 42*e1a31f98SKrzysztof Kozlowski - reg 43*e1a31f98SKrzysztof Kozlowski - reg-names 44*e1a31f98SKrzysztof Kozlowski 45*e1a31f98SKrzysztof KozlowskiadditionalProperties: false 46*e1a31f98SKrzysztof Kozlowski 47*e1a31f98SKrzysztof KozlowskipatternProperties: 48*e1a31f98SKrzysztof Kozlowski "-state$": 49*e1a31f98SKrzysztof Kozlowski oneOf: 50*e1a31f98SKrzysztof Kozlowski - $ref: "#/$defs/qcom-sc8180x-tlmm-state" 51*e1a31f98SKrzysztof Kozlowski - patternProperties: 52*e1a31f98SKrzysztof Kozlowski "-pins$": 53*e1a31f98SKrzysztof Kozlowski $ref: "#/$defs/qcom-sc8180x-tlmm-state" 54*e1a31f98SKrzysztof Kozlowski additionalProperties: false 55*e1a31f98SKrzysztof Kozlowski 56*e1a31f98SKrzysztof Kozlowski$defs: 57*e1a31f98SKrzysztof Kozlowski qcom-sc8180x-tlmm-state: 58*e1a31f98SKrzysztof Kozlowski type: object 59*e1a31f98SKrzysztof Kozlowski description: 60*e1a31f98SKrzysztof Kozlowski Pinctrl node's client devices use subnodes for desired pin configuration. 61*e1a31f98SKrzysztof Kozlowski Client device subnodes use below standard properties. 62*e1a31f98SKrzysztof Kozlowski $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 63*e1a31f98SKrzysztof Kozlowski 64*e1a31f98SKrzysztof Kozlowski properties: 65*e1a31f98SKrzysztof Kozlowski pins: 66*e1a31f98SKrzysztof Kozlowski description: 67*e1a31f98SKrzysztof Kozlowski List of gpio pins affected by the properties specified in this 68*e1a31f98SKrzysztof Kozlowski subnode. 69*e1a31f98SKrzysztof Kozlowski items: 70*e1a31f98SKrzysztof Kozlowski oneOf: 71*e1a31f98SKrzysztof Kozlowski - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-8][0-9])$" 72*e1a31f98SKrzysztof Kozlowski - enum: [ sdc2_clk, sdc2_cmd, sdc2_data, ufs_reset ] 73*e1a31f98SKrzysztof Kozlowski minItems: 1 74*e1a31f98SKrzysztof Kozlowski maxItems: 16 75*e1a31f98SKrzysztof Kozlowski 76*e1a31f98SKrzysztof Kozlowski function: 77*e1a31f98SKrzysztof Kozlowski description: 78*e1a31f98SKrzysztof Kozlowski Specify the alternative function to be configured for the specified 79*e1a31f98SKrzysztof Kozlowski pins. 80*e1a31f98SKrzysztof Kozlowski 81*e1a31f98SKrzysztof Kozlowski enum: [ adsp_ext, agera_pll, aoss_cti, atest_char, atest_tsens, 82*e1a31f98SKrzysztof Kozlowski atest_tsens2, atest_usb0, atest_usb1, atest_usb2, atest_usb3, 83*e1a31f98SKrzysztof Kozlowski atest_usb4, audio_ref, btfm_slimbus, cam_mclk, cci_async, 84*e1a31f98SKrzysztof Kozlowski cci_i2c, cci_timer0, cci_timer1, cci_timer2, cci_timer3, 85*e1a31f98SKrzysztof Kozlowski cci_timer4, cci_timer5, cci_timer6, cci_timer7, cci_timer8, 86*e1a31f98SKrzysztof Kozlowski cci_timer9, cri_trng, dbg_out, ddr_bist, ddr_pxi, debug_hot, 87*e1a31f98SKrzysztof Kozlowski dp_hot, edp_hot, edp_lcd, emac_phy, emac_pps, gcc_gp1, gcc_gp2, 88*e1a31f98SKrzysztof Kozlowski gcc_gp3, gcc_gp4, gcc_gp5, gpio, gps, grfc, hs1_mi2s, hs2_mi2s, 89*e1a31f98SKrzysztof Kozlowski hs3_mi2s, jitter_bist, lpass_slimbus, m_voc, mdp_vsync, 90*e1a31f98SKrzysztof Kozlowski mdp_vsync0, mdp_vsync1, mdp_vsync2, mdp_vsync3, mdp_vsync4, 91*e1a31f98SKrzysztof Kozlowski mdp_vsync5, mss_lte, nav_pps, pa_indicator, pci_e0, pci_e1, 92*e1a31f98SKrzysztof Kozlowski pci_e2, pci_e3, phase_flag, pll_bist, pll_bypassnl, pll_reset, 93*e1a31f98SKrzysztof Kozlowski pri_mi2s, pri_mi2s_ws, prng_rosc, qdss_cti, qdss_gpio, qlink, 94*e1a31f98SKrzysztof Kozlowski qspi0, qspi0_clk, qspi0_cs, qspi1, qspi1_clk, qspi1_cs, 95*e1a31f98SKrzysztof Kozlowski qua_mi2s, qup0, qup1, qup2, qup3, qup4, qup5, qup6, qup7, qup8, 96*e1a31f98SKrzysztof Kozlowski qup9, qup10, qup11, qup12, qup13, qup14, qup15, qup16, qup17, 97*e1a31f98SKrzysztof Kozlowski qup18, qup19, qup_l4, qup_l5, qup_l6, rgmii, sd_write, sdc4, 98*e1a31f98SKrzysztof Kozlowski sdc4_clk, sdc4_cmd, sec_mi2s, sp_cmu, spkr_i2s, ter_mi2s, tgu, 99*e1a31f98SKrzysztof Kozlowski tsense_pwm1, tsense_pwm2, tsif1, tsif2, uim1, uim2, uim_batt, 100*e1a31f98SKrzysztof Kozlowski usb0_phy, usb1_phy, usb2phy_ac, vfr_1, vsense_trigger, 101*e1a31f98SKrzysztof Kozlowski wlan1_adc, wlan2_adc, wmss_reset ] 102*e1a31f98SKrzysztof Kozlowski 103*e1a31f98SKrzysztof Kozlowski bias-disable: true 104*e1a31f98SKrzysztof Kozlowski bias-pull-down: true 105*e1a31f98SKrzysztof Kozlowski bias-pull-up: true 106*e1a31f98SKrzysztof Kozlowski drive-strength: true 107*e1a31f98SKrzysztof Kozlowski input-enable: true 108*e1a31f98SKrzysztof Kozlowski output-high: true 109*e1a31f98SKrzysztof Kozlowski output-low: true 110*e1a31f98SKrzysztof Kozlowski 111*e1a31f98SKrzysztof Kozlowski required: 112*e1a31f98SKrzysztof Kozlowski - pins 113*e1a31f98SKrzysztof Kozlowski 114*e1a31f98SKrzysztof Kozlowski additionalProperties: false 115*e1a31f98SKrzysztof Kozlowski 116*e1a31f98SKrzysztof Kozlowskiexamples: 117*e1a31f98SKrzysztof Kozlowski - | 118*e1a31f98SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 119*e1a31f98SKrzysztof Kozlowski pinctrl@3100000 { 120*e1a31f98SKrzysztof Kozlowski compatible = "qcom,sc8180x-tlmm"; 121*e1a31f98SKrzysztof Kozlowski reg = <0x03100000 0x300000>, 122*e1a31f98SKrzysztof Kozlowski <0x03500000 0x700000>, 123*e1a31f98SKrzysztof Kozlowski <0x03d00000 0x300000>; 124*e1a31f98SKrzysztof Kozlowski reg-names = "west", "east", "south"; 125*e1a31f98SKrzysztof Kozlowski interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 126*e1a31f98SKrzysztof Kozlowski gpio-controller; 127*e1a31f98SKrzysztof Kozlowski #gpio-cells = <2>; 128*e1a31f98SKrzysztof Kozlowski interrupt-controller; 129*e1a31f98SKrzysztof Kozlowski #interrupt-cells = <2>; 130*e1a31f98SKrzysztof Kozlowski gpio-ranges = <&tlmm 0 0 190>; 131*e1a31f98SKrzysztof Kozlowski 132*e1a31f98SKrzysztof Kozlowski gpio-wo-subnode-state { 133*e1a31f98SKrzysztof Kozlowski pins = "gpio1"; 134*e1a31f98SKrzysztof Kozlowski function = "gpio"; 135*e1a31f98SKrzysztof Kozlowski }; 136*e1a31f98SKrzysztof Kozlowski 137*e1a31f98SKrzysztof Kozlowski uart-w-subnodes-state { 138*e1a31f98SKrzysztof Kozlowski rx-pins { 139*e1a31f98SKrzysztof Kozlowski pins = "gpio4"; 140*e1a31f98SKrzysztof Kozlowski function = "qup6"; 141*e1a31f98SKrzysztof Kozlowski bias-pull-up; 142*e1a31f98SKrzysztof Kozlowski }; 143*e1a31f98SKrzysztof Kozlowski 144*e1a31f98SKrzysztof Kozlowski tx-pins { 145*e1a31f98SKrzysztof Kozlowski pins = "gpio5"; 146*e1a31f98SKrzysztof Kozlowski function = "qup6"; 147*e1a31f98SKrzysztof Kozlowski bias-disable; 148*e1a31f98SKrzysztof Kozlowski }; 149*e1a31f98SKrzysztof Kozlowski }; 150*e1a31f98SKrzysztof Kozlowski }; 151*e1a31f98SKrzysztof Kozlowski... 152