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