1dba79c34SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2dba79c34SKrzysztof Kozlowski%YAML 1.2 3dba79c34SKrzysztof Kozlowski--- 4dba79c34SKrzysztof Kozlowski$id: http://devicetree.org/schemas/pinctrl/qcom,sdm845-pinctrl.yaml# 5dba79c34SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6dba79c34SKrzysztof Kozlowski 7dba79c34SKrzysztof Kozlowskititle: Qualcomm SDM845 TLMM pin controller 8dba79c34SKrzysztof Kozlowski 9dba79c34SKrzysztof Kozlowskimaintainers: 10dba79c34SKrzysztof Kozlowski - Bjorn Andersson <andersson@kernel.org> 11dba79c34SKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12dba79c34SKrzysztof Kozlowski 13dba79c34SKrzysztof Kozlowskidescription: 14dba79c34SKrzysztof Kozlowski Top Level Mode Multiplexer pin controller in Qualcomm SDM845 SoC. 15dba79c34SKrzysztof Kozlowski 16dba79c34SKrzysztof KozlowskiallOf: 17dba79c34SKrzysztof Kozlowski - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 18dba79c34SKrzysztof Kozlowski 19dba79c34SKrzysztof Kozlowskiproperties: 20dba79c34SKrzysztof Kozlowski compatible: 21dba79c34SKrzysztof Kozlowski const: qcom,sdm845-pinctrl 22dba79c34SKrzysztof Kozlowski 23dba79c34SKrzysztof Kozlowski reg: 24dba79c34SKrzysztof Kozlowski maxItems: 1 25dba79c34SKrzysztof Kozlowski 2612a18bb7SKrzysztof Kozlowski interrupts: 2712a18bb7SKrzysztof Kozlowski maxItems: 1 2812a18bb7SKrzysztof Kozlowski 29dba79c34SKrzysztof Kozlowski interrupt-controller: true 30dba79c34SKrzysztof Kozlowski "#interrupt-cells": true 31dba79c34SKrzysztof Kozlowski gpio-controller: true 32dba79c34SKrzysztof Kozlowski 33dba79c34SKrzysztof Kozlowski gpio-reserved-ranges: 34dba79c34SKrzysztof Kozlowski minItems: 1 35dba79c34SKrzysztof Kozlowski maxItems: 75 36dba79c34SKrzysztof Kozlowski 37dba79c34SKrzysztof Kozlowski gpio-line-names: 38dba79c34SKrzysztof Kozlowski maxItems: 150 39dba79c34SKrzysztof Kozlowski 40dba79c34SKrzysztof Kozlowski "#gpio-cells": true 41dba79c34SKrzysztof Kozlowski gpio-ranges: true 42dba79c34SKrzysztof Kozlowski wakeup-parent: true 43dba79c34SKrzysztof Kozlowski 44dba79c34SKrzysztof KozlowskipatternProperties: 45dba79c34SKrzysztof Kozlowski "-state$": 46dba79c34SKrzysztof Kozlowski oneOf: 47dba79c34SKrzysztof Kozlowski - $ref: "#/$defs/qcom-sdm845-tlmm-state" 48dba79c34SKrzysztof Kozlowski - patternProperties: 49dba79c34SKrzysztof Kozlowski "-pins$": 50dba79c34SKrzysztof Kozlowski $ref: "#/$defs/qcom-sdm845-tlmm-state" 51dba79c34SKrzysztof Kozlowski additionalProperties: false 52dba79c34SKrzysztof Kozlowski 539eef05e6SKrzysztof Kozlowski "-hog(-[0-9]+)?$": 549eef05e6SKrzysztof Kozlowski required: 559eef05e6SKrzysztof Kozlowski - gpio-hog 569eef05e6SKrzysztof Kozlowski 57dba79c34SKrzysztof Kozlowski$defs: 58dba79c34SKrzysztof Kozlowski qcom-sdm845-tlmm-state: 59dba79c34SKrzysztof Kozlowski type: object 60dba79c34SKrzysztof Kozlowski description: 61dba79c34SKrzysztof Kozlowski Pinctrl node's client devices use subnodes for desired pin configuration. 62dba79c34SKrzysztof Kozlowski Client device subnodes use below standard properties. 63dba79c34SKrzysztof Kozlowski $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 64*5c9177c2SKrzysztof Kozlowski unevaluatedProperties: false 65dba79c34SKrzysztof Kozlowski 66dba79c34SKrzysztof Kozlowski properties: 67dba79c34SKrzysztof Kozlowski pins: 68dba79c34SKrzysztof Kozlowski description: 69dba79c34SKrzysztof Kozlowski List of gpio pins affected by the properties specified in this 70dba79c34SKrzysztof Kozlowski subnode. 71dba79c34SKrzysztof Kozlowski items: 72dba79c34SKrzysztof Kozlowski oneOf: 73dba79c34SKrzysztof Kozlowski - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-4][0-9])$" 74dba79c34SKrzysztof Kozlowski - enum: [ ufs_reset, sdc2_clk, sdc2_cmd, sdc2_data ] 75dba79c34SKrzysztof Kozlowski minItems: 1 76dba79c34SKrzysztof Kozlowski maxItems: 36 77dba79c34SKrzysztof Kozlowski 78dba79c34SKrzysztof Kozlowski function: 79dba79c34SKrzysztof Kozlowski description: 80dba79c34SKrzysztof Kozlowski Specify the alternative function to be configured for the specified 81dba79c34SKrzysztof Kozlowski pins. 82dba79c34SKrzysztof Kozlowski enum: [ adsp_ext, agera_pll, atest_char, atest_tsens, atest_tsens2, 83dba79c34SKrzysztof Kozlowski atest_usb1, atest_usb10, atest_usb11, atest_usb12, atest_usb13, 84dba79c34SKrzysztof Kozlowski atest_usb2, atest_usb20, atest_usb21, atest_usb22, atest_usb23, 85dba79c34SKrzysztof Kozlowski audio_ref, btfm_slimbus, cam_mclk, cci_async, cci_i2c, 86dba79c34SKrzysztof Kozlowski cci_timer0, cci_timer1, cci_timer2, cci_timer3, cci_timer4, 87dba79c34SKrzysztof Kozlowski cri_trng, cri_trng0, cri_trng1, dbg_out, ddr_bist, ddr_pxi0, 88dba79c34SKrzysztof Kozlowski ddr_pxi1, ddr_pxi2, ddr_pxi3, edp_hot, edp_lcd, gcc_gp1, 89dba79c34SKrzysztof Kozlowski gcc_gp2, gcc_gp3, gpio, jitter_bist, ldo_en, ldo_update, 90dba79c34SKrzysztof Kozlowski lpass_slimbus, mdp_vsync, mdp_vsync0, mdp_vsync1, mdp_vsync2, 91dba79c34SKrzysztof Kozlowski mdp_vsync3, mss_lte, m_voc, nav_pps, pa_indicator, pci_e0, 92dba79c34SKrzysztof Kozlowski pci_e1, phase_flag, pll_bist, pll_bypassnl, pll_reset, 93dba79c34SKrzysztof Kozlowski pri_mi2s, pri_mi2s_ws, prng_rosc, qdss, qdss_cti, qlink_enable, 94dba79c34SKrzysztof Kozlowski qlink_request, qspi_clk, qspi_cs, qspi_data, qua_mi2s, qup0, 95dba79c34SKrzysztof Kozlowski qup1, qup10, qup11, qup12, qup13, qup14, qup15, qup2, qup3, 96dba79c34SKrzysztof Kozlowski qup4, qup5, qup6, qup7, qup8, qup9, qup_l4, qup_l5, qup_l6, 97dba79c34SKrzysztof Kozlowski sdc4_clk, sdc4_cmd, sdc4_data, sd_write, sec_mi2s, sp_cmu, 98dba79c34SKrzysztof Kozlowski spkr_i2s, ter_mi2s, tgu_ch0, tgu_ch1, tgu_ch2, tgu_ch3, 99dba79c34SKrzysztof Kozlowski tsense_pwm1, tsense_pwm2, tsif1_clk, tsif1_data, tsif1_en, 100dba79c34SKrzysztof Kozlowski tsif1_error, tsif1_sync, tsif2_clk, tsif2_data, tsif2_en, 101dba79c34SKrzysztof Kozlowski tsif2_error, tsif2_sync, uim1_clk, uim1_data, uim1_present, 102dba79c34SKrzysztof Kozlowski uim1_reset, uim2_clk, uim2_data, uim2_present, uim2_reset, 103dba79c34SKrzysztof Kozlowski uim_batt, usb_phy, vfr_1, vsense_trigger, wlan1_adc0, 104dba79c34SKrzysztof Kozlowski wlan1_adc1, wlan2_adc0, wlan2_adc1] 105dba79c34SKrzysztof Kozlowski 106dba79c34SKrzysztof Kozlowski required: 107dba79c34SKrzysztof Kozlowski - pins 108dba79c34SKrzysztof Kozlowski 109dba79c34SKrzysztof Kozlowskirequired: 110dba79c34SKrzysztof Kozlowski - compatible 111dba79c34SKrzysztof Kozlowski - reg 112dba79c34SKrzysztof Kozlowski 113dba79c34SKrzysztof KozlowskiadditionalProperties: false 114dba79c34SKrzysztof Kozlowski 115dba79c34SKrzysztof Kozlowskiexamples: 116dba79c34SKrzysztof Kozlowski - | 1179eef05e6SKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 118dba79c34SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 119dba79c34SKrzysztof Kozlowski 120dba79c34SKrzysztof Kozlowski pinctrl@3400000 { 121dba79c34SKrzysztof Kozlowski compatible = "qcom,sdm845-pinctrl"; 122dba79c34SKrzysztof Kozlowski reg = <0x03400000 0xc00000>; 123dba79c34SKrzysztof Kozlowski interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 124dba79c34SKrzysztof Kozlowski gpio-controller; 125dba79c34SKrzysztof Kozlowski #gpio-cells = <2>; 126dba79c34SKrzysztof Kozlowski interrupt-controller; 127dba79c34SKrzysztof Kozlowski #interrupt-cells = <2>; 128dba79c34SKrzysztof Kozlowski gpio-ranges = <&tlmm 0 0 151>; 129dba79c34SKrzysztof Kozlowski wakeup-parent = <&pdc_intc>; 130dba79c34SKrzysztof Kozlowski 1319eef05e6SKrzysztof Kozlowski ap-suspend-l-hog { 1329eef05e6SKrzysztof Kozlowski gpio-hog; 1339eef05e6SKrzysztof Kozlowski gpios = <126 GPIO_ACTIVE_LOW>; 1349eef05e6SKrzysztof Kozlowski output-low; 1359eef05e6SKrzysztof Kozlowski }; 1369eef05e6SKrzysztof Kozlowski 137dba79c34SKrzysztof Kozlowski cci0-default-state { 138dba79c34SKrzysztof Kozlowski pins = "gpio17", "gpio18"; 139dba79c34SKrzysztof Kozlowski function = "cci_i2c"; 140dba79c34SKrzysztof Kozlowski 141dba79c34SKrzysztof Kozlowski bias-pull-up; 142dba79c34SKrzysztof Kozlowski drive-strength = <2>; 143dba79c34SKrzysztof Kozlowski }; 144dba79c34SKrzysztof Kozlowski 145dba79c34SKrzysztof Kozlowski cam0-default-state { 146dba79c34SKrzysztof Kozlowski rst-pins { 147dba79c34SKrzysztof Kozlowski pins = "gpio9"; 148dba79c34SKrzysztof Kozlowski function = "gpio"; 149dba79c34SKrzysztof Kozlowski 150dba79c34SKrzysztof Kozlowski drive-strength = <16>; 151dba79c34SKrzysztof Kozlowski bias-disable; 152dba79c34SKrzysztof Kozlowski }; 153dba79c34SKrzysztof Kozlowski 154dba79c34SKrzysztof Kozlowski mclk0-pins { 155dba79c34SKrzysztof Kozlowski pins = "gpio13"; 156dba79c34SKrzysztof Kozlowski function = "cam_mclk"; 157dba79c34SKrzysztof Kozlowski 158dba79c34SKrzysztof Kozlowski drive-strength = <16>; 159dba79c34SKrzysztof Kozlowski bias-disable; 160dba79c34SKrzysztof Kozlowski }; 161dba79c34SKrzysztof Kozlowski }; 162dba79c34SKrzysztof Kozlowski }; 163