149b02b60SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 249b02b60SKrzysztof Kozlowski%YAML 1.2 349b02b60SKrzysztof Kozlowski--- 449b02b60SKrzysztof Kozlowski$id: http://devicetree.org/schemas/pinctrl/qcom,sm8150-pinctrl.yaml# 549b02b60SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 649b02b60SKrzysztof Kozlowski 749b02b60SKrzysztof Kozlowskititle: Qualcomm SM8150 TLMM pin controller 849b02b60SKrzysztof Kozlowski 949b02b60SKrzysztof Kozlowskimaintainers: 1049b02b60SKrzysztof Kozlowski - Bjorn Andersson <andersson@kernel.org> 1149b02b60SKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 1249b02b60SKrzysztof Kozlowski 1349b02b60SKrzysztof Kozlowskidescription: 1449b02b60SKrzysztof Kozlowski Top Level Mode Multiplexer pin controller in Qualcomm SM8150 SoC. 1549b02b60SKrzysztof Kozlowski 1649b02b60SKrzysztof Kozlowskiproperties: 1749b02b60SKrzysztof Kozlowski compatible: 1849b02b60SKrzysztof Kozlowski const: qcom,sm8150-pinctrl 1949b02b60SKrzysztof Kozlowski 2049b02b60SKrzysztof Kozlowski reg: 2149b02b60SKrzysztof Kozlowski maxItems: 4 2249b02b60SKrzysztof Kozlowski 2349b02b60SKrzysztof Kozlowski reg-names: 2449b02b60SKrzysztof Kozlowski items: 2549b02b60SKrzysztof Kozlowski - const: west 2649b02b60SKrzysztof Kozlowski - const: east 2749b02b60SKrzysztof Kozlowski - const: north 2849b02b60SKrzysztof Kozlowski - const: south 2949b02b60SKrzysztof Kozlowski 3012a18bb7SKrzysztof Kozlowski interrupts: 3112a18bb7SKrzysztof Kozlowski maxItems: 1 3212a18bb7SKrzysztof Kozlowski 3349b02b60SKrzysztof Kozlowski interrupt-controller: true 3449b02b60SKrzysztof Kozlowski "#interrupt-cells": true 3549b02b60SKrzysztof Kozlowski gpio-controller: true 3649b02b60SKrzysztof Kozlowski "#gpio-cells": true 3749b02b60SKrzysztof Kozlowski gpio-ranges: true 3849b02b60SKrzysztof Kozlowski wakeup-parent: true 3949b02b60SKrzysztof Kozlowski 4049b02b60SKrzysztof Kozlowski gpio-reserved-ranges: 4149b02b60SKrzysztof Kozlowski minItems: 1 4249b02b60SKrzysztof Kozlowski maxItems: 88 4349b02b60SKrzysztof Kozlowski 4449b02b60SKrzysztof Kozlowski gpio-line-names: 4549b02b60SKrzysztof Kozlowski maxItems: 175 4649b02b60SKrzysztof Kozlowski 4749b02b60SKrzysztof KozlowskipatternProperties: 4849b02b60SKrzysztof Kozlowski "-state$": 4949b02b60SKrzysztof Kozlowski oneOf: 5049b02b60SKrzysztof Kozlowski - $ref: "#/$defs/qcom-sm8150-tlmm-state" 5149b02b60SKrzysztof Kozlowski - patternProperties: 5249b02b60SKrzysztof Kozlowski "-pins$": 5349b02b60SKrzysztof Kozlowski $ref: "#/$defs/qcom-sm8150-tlmm-state" 5449b02b60SKrzysztof Kozlowski additionalProperties: false 5549b02b60SKrzysztof Kozlowski 5649b02b60SKrzysztof Kozlowski$defs: 5749b02b60SKrzysztof Kozlowski qcom-sm8150-tlmm-state: 5849b02b60SKrzysztof Kozlowski type: object 5949b02b60SKrzysztof Kozlowski description: 6049b02b60SKrzysztof Kozlowski Pinctrl node's client devices use subnodes for desired pin configuration. 6149b02b60SKrzysztof Kozlowski Client device subnodes use below standard properties. 6249b02b60SKrzysztof Kozlowski $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 635a81d722SKrzysztof Kozlowski unevaluatedProperties: false 6449b02b60SKrzysztof Kozlowski 6549b02b60SKrzysztof Kozlowski properties: 6649b02b60SKrzysztof Kozlowski pins: 6749b02b60SKrzysztof Kozlowski description: 6849b02b60SKrzysztof Kozlowski List of gpio pins affected by the properties specified in this 6949b02b60SKrzysztof Kozlowski subnode. 7049b02b60SKrzysztof Kozlowski items: 7149b02b60SKrzysztof Kozlowski oneOf: 7249b02b60SKrzysztof Kozlowski - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-6][0-9]|17[0-4])$" 7349b02b60SKrzysztof Kozlowski - enum: [ sdc2_clk, sdc2_cmd, sdc2_data, ufs_reset ] 7449b02b60SKrzysztof Kozlowski minItems: 1 7549b02b60SKrzysztof Kozlowski maxItems: 36 7649b02b60SKrzysztof Kozlowski 7749b02b60SKrzysztof Kozlowski function: 7849b02b60SKrzysztof Kozlowski description: 7949b02b60SKrzysztof Kozlowski Specify the alternative function to be configured for the specified 8049b02b60SKrzysztof Kozlowski pins. 8149b02b60SKrzysztof Kozlowski 8249b02b60SKrzysztof Kozlowski enum: [ adsp_ext, agera_pll, aoss_cti, ddr_pxi2, atest_char, 8349b02b60SKrzysztof Kozlowski atest_char0, atest_char1, atest_char2, atest_char3, audio_ref, 8449b02b60SKrzysztof Kozlowski atest_usb1, atest_usb2, atest_usb10, atest_usb11, atest_usb12, 85*b19a1d8fSRob Herring atest_usb13, atest_usb20, atest_usb21, atest_usb22, 8649b02b60SKrzysztof Kozlowski atest_usb23, btfm_slimbus, cam_mclk, cci_async, cci_i2c, 8749b02b60SKrzysztof Kozlowski cci_timer0, cci_timer1, cci_timer2, cci_timer3, cci_timer4, 8849b02b60SKrzysztof Kozlowski cri_trng, cri_trng0, cri_trng1, dbg_out, ddr_bist, ddr_pxi0, 8949b02b60SKrzysztof Kozlowski ddr_pxi1, ddr_pxi3, edp_hot, edp_lcd, emac_phy, emac_pps, 9049b02b60SKrzysztof Kozlowski gcc_gp1, gcc_gp2, gcc_gp3, gpio, hs1_mi2s, hs2_mi2s, hs3_mi2s, 9149b02b60SKrzysztof Kozlowski jitter_bist, lpass_slimbus, mdp_vsync, mdp_vsync0, mdp_vsync1, 9249b02b60SKrzysztof Kozlowski mdp_vsync2, mdp_vsync3, mss_lte, m_voc, nav_pps, pa_indicator, 9349b02b60SKrzysztof Kozlowski pci_e0, phase_flag, pll_bypassnl, pll_bist, pci_e1, pll_reset, 9449b02b60SKrzysztof Kozlowski pri_mi2s, pri_mi2s_ws, prng_rosc, qdss, qdss_cti, 9549b02b60SKrzysztof Kozlowski qlink_request, qlink_enable, qspi0, qspi1, qspi2, qspi3, 9649b02b60SKrzysztof Kozlowski qspi_clk, qspi_cs, qua_mi2s, qup0, qup1, qup2, qup3, qup4, 9749b02b60SKrzysztof Kozlowski qup5, qup6, qup7, qup8, qup9, qup10, qup11, qup12, qup13, 9849b02b60SKrzysztof Kozlowski qup14, qup15, qup16, qup17, qup18, qup19, qup_l4, qup_l5, 9949b02b60SKrzysztof Kozlowski qup_l6, rgmii, sdc4, sd_write, sec_mi2s, spkr_i2s, sp_cmu, 10049b02b60SKrzysztof Kozlowski ter_mi2s, tgu_ch0, tgu_ch1, tgu_ch2, tgu_ch3, tsense_pwm1, 10149b02b60SKrzysztof Kozlowski tsense_pwm2, tsif1, tsif2, uim1, uim2, uim_batt, usb2phy_ac, 10249b02b60SKrzysztof Kozlowski usb_phy, vfr_1, vsense_trigger, wlan1_adc0, wlan1_adc1, 10349b02b60SKrzysztof Kozlowski wlan2_adc0, wlan2_adc1, wmss_reset ] 10449b02b60SKrzysztof Kozlowski 10549b02b60SKrzysztof Kozlowski required: 10649b02b60SKrzysztof Kozlowski - pins 10749b02b60SKrzysztof Kozlowski 10849b02b60SKrzysztof KozlowskiallOf: 10949b02b60SKrzysztof Kozlowski - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 11049b02b60SKrzysztof Kozlowski 11149b02b60SKrzysztof Kozlowskirequired: 11249b02b60SKrzysztof Kozlowski - compatible 11349b02b60SKrzysztof Kozlowski - reg 11449b02b60SKrzysztof Kozlowski - reg-names 11549b02b60SKrzysztof Kozlowski 11649b02b60SKrzysztof KozlowskiadditionalProperties: false 11749b02b60SKrzysztof Kozlowski 11849b02b60SKrzysztof Kozlowskiexamples: 11949b02b60SKrzysztof Kozlowski - | 12049b02b60SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 12149b02b60SKrzysztof Kozlowski 12249b02b60SKrzysztof Kozlowski tlmm: pinctrl@3100000 { 12349b02b60SKrzysztof Kozlowski compatible = "qcom,sm8150-pinctrl"; 12449b02b60SKrzysztof Kozlowski reg = <0x03100000 0x300000>, 12549b02b60SKrzysztof Kozlowski <0x03500000 0x300000>, 12649b02b60SKrzysztof Kozlowski <0x03900000 0x300000>, 12749b02b60SKrzysztof Kozlowski <0x03d00000 0x300000>; 12849b02b60SKrzysztof Kozlowski reg-names = "west", "east", "north", "south"; 12949b02b60SKrzysztof Kozlowski interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 13049b02b60SKrzysztof Kozlowski gpio-ranges = <&tlmm 0 0 176>; 13149b02b60SKrzysztof Kozlowski gpio-controller; 13249b02b60SKrzysztof Kozlowski #gpio-cells = <2>; 13349b02b60SKrzysztof Kozlowski interrupt-controller; 13449b02b60SKrzysztof Kozlowski #interrupt-cells = <2>; 13549b02b60SKrzysztof Kozlowski wakeup-parent = <&pdc>; 13649b02b60SKrzysztof Kozlowski 13749b02b60SKrzysztof Kozlowski qup-spi0-default-state { 13849b02b60SKrzysztof Kozlowski pins = "gpio0", "gpio1", "gpio2", "gpio3"; 13949b02b60SKrzysztof Kozlowski function = "qup0"; 14049b02b60SKrzysztof Kozlowski drive-strength = <6>; 14149b02b60SKrzysztof Kozlowski bias-disable; 14249b02b60SKrzysztof Kozlowski }; 14349b02b60SKrzysztof Kozlowski 14449b02b60SKrzysztof Kozlowski pcie1-default-state { 14549b02b60SKrzysztof Kozlowski perst-pins { 14649b02b60SKrzysztof Kozlowski pins = "gpio102"; 14749b02b60SKrzysztof Kozlowski function = "gpio"; 14849b02b60SKrzysztof Kozlowski drive-strength = <2>; 14949b02b60SKrzysztof Kozlowski bias-pull-down; 15049b02b60SKrzysztof Kozlowski }; 15149b02b60SKrzysztof Kozlowski 15249b02b60SKrzysztof Kozlowski clkreq-pins { 15349b02b60SKrzysztof Kozlowski pins = "gpio103"; 15449b02b60SKrzysztof Kozlowski function = "pci_e1"; 15549b02b60SKrzysztof Kozlowski drive-strength = <2>; 15649b02b60SKrzysztof Kozlowski bias-pull-up; 15749b02b60SKrzysztof Kozlowski }; 15849b02b60SKrzysztof Kozlowski 15949b02b60SKrzysztof Kozlowski wake-pins { 16049b02b60SKrzysztof Kozlowski pins = "gpio104"; 16149b02b60SKrzysztof Kozlowski function = "gpio"; 16249b02b60SKrzysztof Kozlowski drive-strength = <2>; 16349b02b60SKrzysztof Kozlowski bias-pull-up; 16449b02b60SKrzysztof Kozlowski }; 16549b02b60SKrzysztof Kozlowski }; 16649b02b60SKrzysztof Kozlowski }; 167