1*e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*e67e8565SEmmanuel Vadot%YAML 1.2 3*e67e8565SEmmanuel Vadot--- 4*e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sdx65-pinctrl.yaml# 5*e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*e67e8565SEmmanuel Vadot 7*e67e8565SEmmanuel Vadottitle: Qualcomm Technologies, Inc. SDX65 TLMM block 8*e67e8565SEmmanuel Vadot 9*e67e8565SEmmanuel Vadotmaintainers: 10*e67e8565SEmmanuel Vadot - Vamsi krishna Lanka <quic_vamslank@quicinc.com> 11*e67e8565SEmmanuel Vadot 12*e67e8565SEmmanuel Vadotdescription: 13*e67e8565SEmmanuel Vadot This binding describes the Top Level Mode Multiplexer block found in the 14*e67e8565SEmmanuel Vadot SDX65 platform. 15*e67e8565SEmmanuel Vadot 16*e67e8565SEmmanuel Vadotproperties: 17*e67e8565SEmmanuel Vadot compatible: 18*e67e8565SEmmanuel Vadot const: qcom,sdx65-tlmm 19*e67e8565SEmmanuel Vadot 20*e67e8565SEmmanuel Vadot reg: 21*e67e8565SEmmanuel Vadot maxItems: 1 22*e67e8565SEmmanuel Vadot 23*e67e8565SEmmanuel Vadot interrupts: 24*e67e8565SEmmanuel Vadot maxItems: 1 25*e67e8565SEmmanuel Vadot 26*e67e8565SEmmanuel Vadot interrupt-controller: true 27*e67e8565SEmmanuel Vadot 28*e67e8565SEmmanuel Vadot '#interrupt-cells': 29*e67e8565SEmmanuel Vadot description: Specifies the PIN numbers and Flags, as defined in 30*e67e8565SEmmanuel Vadot include/dt-bindings/interrupt-controller/irq.h 31*e67e8565SEmmanuel Vadot const: 2 32*e67e8565SEmmanuel Vadot 33*e67e8565SEmmanuel Vadot gpio-controller: true 34*e67e8565SEmmanuel Vadot 35*e67e8565SEmmanuel Vadot '#gpio-cells': 36*e67e8565SEmmanuel Vadot description: Specifying the pin number and flags, as defined in 37*e67e8565SEmmanuel Vadot include/dt-bindings/gpio/gpio.h 38*e67e8565SEmmanuel Vadot const: 2 39*e67e8565SEmmanuel Vadot 40*e67e8565SEmmanuel Vadot gpio-ranges: 41*e67e8565SEmmanuel Vadot maxItems: 1 42*e67e8565SEmmanuel Vadot 43*e67e8565SEmmanuel Vadot gpio-reserved-ranges: 44*e67e8565SEmmanuel Vadot maxItems: 1 45*e67e8565SEmmanuel Vadot 46*e67e8565SEmmanuel Vadot#PIN CONFIGURATION NODES 47*e67e8565SEmmanuel VadotpatternProperties: 48*e67e8565SEmmanuel Vadot '-state$': 49*e67e8565SEmmanuel Vadot oneOf: 50*e67e8565SEmmanuel Vadot - $ref: "#/$defs/qcom-sdx65-tlmm-state" 51*e67e8565SEmmanuel Vadot - patternProperties: 52*e67e8565SEmmanuel Vadot ".*": 53*e67e8565SEmmanuel Vadot $ref: "#/$defs/qcom-sdx65-tlmm-state" 54*e67e8565SEmmanuel Vadot'$defs': 55*e67e8565SEmmanuel Vadot qcom-sdx65-tlmm-state: 56*e67e8565SEmmanuel Vadot type: object 57*e67e8565SEmmanuel Vadot description: 58*e67e8565SEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 59*e67e8565SEmmanuel Vadot Client device subnodes use below standard properties. 60*e67e8565SEmmanuel Vadot $ref: "qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state" 61*e67e8565SEmmanuel Vadot 62*e67e8565SEmmanuel Vadot properties: 63*e67e8565SEmmanuel Vadot pins: 64*e67e8565SEmmanuel Vadot description: 65*e67e8565SEmmanuel Vadot List of gpio pins affected by the properties specified in this subnode. 66*e67e8565SEmmanuel Vadot items: 67*e67e8565SEmmanuel Vadot oneOf: 68*e67e8565SEmmanuel Vadot - pattern: "^gpio([0-9]|[1-9][0-9]|10[0-7])$" 69*e67e8565SEmmanuel Vadot - enum: [ ufs_reset, sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data, sdc1_rclk ] 70*e67e8565SEmmanuel Vadot minItems: 1 71*e67e8565SEmmanuel Vadot maxItems: 150 72*e67e8565SEmmanuel Vadot 73*e67e8565SEmmanuel Vadot function: 74*e67e8565SEmmanuel Vadot description: 75*e67e8565SEmmanuel Vadot Specify the alternative function to be configured for the specified 76*e67e8565SEmmanuel Vadot pins. Functions are only valid for gpio pins. 77*e67e8565SEmmanuel Vadot enum: [ blsp_uart1, blsp_spi1, blsp_i2c1, blsp_uim1, atest_tsens, 78*e67e8565SEmmanuel Vadot bimc_dte1, dac_calib0, blsp_spi8, blsp_uart8, blsp_uim8, 79*e67e8565SEmmanuel Vadot qdss_cti_trig_out_b, bimc_dte0, dac_calib1, qdss_cti_trig_in_b, 80*e67e8565SEmmanuel Vadot dac_calib2, atest_tsens2, atest_usb1, blsp_spi10, blsp_uart10, 81*e67e8565SEmmanuel Vadot blsp_uim10, atest_bbrx1, atest_usb13, atest_bbrx0, atest_usb12, 82*e67e8565SEmmanuel Vadot mdp_vsync, edp_lcd, blsp_i2c10, atest_gpsadc1, atest_usb11, 83*e67e8565SEmmanuel Vadot atest_gpsadc0, edp_hot, atest_usb10, m_voc, dac_gpio, atest_char, 84*e67e8565SEmmanuel Vadot cam_mclk, pll_bypassnl, qdss_stm7, blsp_i2c8, qdss_tracedata_b, 85*e67e8565SEmmanuel Vadot pll_reset, qdss_stm6, qdss_stm5, qdss_stm4, atest_usb2, cci_i2c, 86*e67e8565SEmmanuel Vadot qdss_stm3, dac_calib3, atest_usb23, atest_char3, dac_calib4, 87*e67e8565SEmmanuel Vadot qdss_stm2, atest_usb22, atest_char2, qdss_stm1, dac_calib5, 88*e67e8565SEmmanuel Vadot atest_usb21, atest_char1, dbg_out, qdss_stm0, dac_calib6, 89*e67e8565SEmmanuel Vadot atest_usb20, atest_char0, dac_calib10, qdss_stm10, 90*e67e8565SEmmanuel Vadot qdss_cti_trig_in_a, cci_timer4, blsp_spi6, blsp_uart6, blsp_uim6, 91*e67e8565SEmmanuel Vadot blsp2_spi, qdss_stm9, qdss_cti_trig_out_a, dac_calib11, 92*e67e8565SEmmanuel Vadot qdss_stm8, cci_timer0, qdss_stm13, dac_calib7, cci_timer1, 93*e67e8565SEmmanuel Vadot qdss_stm12, dac_calib8, cci_timer2, blsp1_spi, qdss_stm11, 94*e67e8565SEmmanuel Vadot dac_calib9, cci_timer3, cci_async, dac_calib12, blsp_i2c6, 95*e67e8565SEmmanuel Vadot qdss_tracectl_a, dac_calib13, qdss_traceclk_a, dac_calib14, 96*e67e8565SEmmanuel Vadot dac_calib15, hdmi_rcv, dac_calib16, hdmi_cec, pwr_modem, 97*e67e8565SEmmanuel Vadot dac_calib17, hdmi_ddc, pwr_nav, dac_calib18, pwr_crypto, 98*e67e8565SEmmanuel Vadot dac_calib19, hdmi_hot, dac_calib20, dac_calib21, pci_e0, 99*e67e8565SEmmanuel Vadot dac_calib22, dac_calib23, dac_calib24, tsif1_sync, dac_calib25, 100*e67e8565SEmmanuel Vadot sd_write, tsif1_error, blsp_spi2, blsp_uart2, blsp_uim2, 101*e67e8565SEmmanuel Vadot qdss_cti, blsp_i2c2, blsp_spi3, blsp_uart3, blsp_uim3, blsp_i2c3, 102*e67e8565SEmmanuel Vadot uim3, blsp_spi9, blsp_uart9, blsp_uim9, blsp10_spi, blsp_i2c9, 103*e67e8565SEmmanuel Vadot blsp_spi7, blsp_uart7, blsp_uim7, qdss_tracedata_a, blsp_i2c7, 104*e67e8565SEmmanuel Vadot qua_mi2s, gcc_gp1_clk_a, ssc_irq, uim4, blsp_spi11, blsp_uart11, 105*e67e8565SEmmanuel Vadot blsp_uim11, gcc_gp2_clk_a, gcc_gp3_clk_a, blsp_i2c11, cri_trng0, 106*e67e8565SEmmanuel Vadot cri_trng1, cri_trng, qdss_stm18, pri_mi2s, qdss_stm17, blsp_spi4, 107*e67e8565SEmmanuel Vadot blsp_uart4, blsp_uim4, qdss_stm16, qdss_stm15, blsp_i2c4, 108*e67e8565SEmmanuel Vadot qdss_stm14, dac_calib26, spkr_i2s, audio_ref, lpass_slimbus, 109*e67e8565SEmmanuel Vadot isense_dbg, tsense_pwm1, tsense_pwm2, btfm_slimbus, ter_mi2s, 110*e67e8565SEmmanuel Vadot qdss_stm22, qdss_stm21, qdss_stm20, qdss_stm19, gcc_gp1_clk_b, 111*e67e8565SEmmanuel Vadot sec_mi2s, blsp_spi5, blsp_uart5, blsp_uim5, gcc_gp2_clk_b, 112*e67e8565SEmmanuel Vadot gcc_gp3_clk_b, blsp_i2c5, blsp_spi12, blsp_uart12, blsp_uim12, 113*e67e8565SEmmanuel Vadot qdss_stm25, qdss_stm31, blsp_i2c12, qdss_stm30, qdss_stm29, 114*e67e8565SEmmanuel Vadot tsif1_clk, qdss_stm28, tsif1_en, tsif1_data, sdc4_cmd, qdss_stm27, 115*e67e8565SEmmanuel Vadot qdss_traceclk_b, tsif2_error, sdc43, vfr_1, qdss_stm26, tsif2_clk, 116*e67e8565SEmmanuel Vadot sdc4_clk, qdss_stm24, tsif2_en, sdc42, qdss_stm23, qdss_tracectl_b, 117*e67e8565SEmmanuel Vadot sd_card, tsif2_data, sdc41, tsif2_sync, sdc40, mdp_vsync_p_b, 118*e67e8565SEmmanuel Vadot ldo_en, mdp_vsync_s_b, ldo_update, blsp11_uart_tx_b, blsp11_uart_rx_b, 119*e67e8565SEmmanuel Vadot blsp11_i2c_sda_b, prng_rosc, blsp11_i2c_scl_b, uim2, uim1, uim_batt, 120*e67e8565SEmmanuel Vadot pci_e2, pa_indicator, adsp_ext, ddr_bist, qdss_tracedata_11, 121*e67e8565SEmmanuel Vadot qdss_tracedata_12, modem_tsync, nav_dr, nav_pps, pci_e1, gsm_tx, 122*e67e8565SEmmanuel Vadot qspi_cs, ssbi2, ssbi1, mss_lte, qspi_clk, qspi0, qspi1, qspi2, qspi3, 123*e67e8565SEmmanuel Vadot gpio ] 124*e67e8565SEmmanuel Vadot 125*e67e8565SEmmanuel Vadot drive-strength: 126*e67e8565SEmmanuel Vadot enum: [2, 4, 6, 8, 10, 12, 14, 16] 127*e67e8565SEmmanuel Vadot default: 2 128*e67e8565SEmmanuel Vadot description: 129*e67e8565SEmmanuel Vadot Selects the drive strength for the specified pins, in mA. 130*e67e8565SEmmanuel Vadot 131*e67e8565SEmmanuel Vadot bias-pull-down: true 132*e67e8565SEmmanuel Vadot 133*e67e8565SEmmanuel Vadot bias-pull-up: true 134*e67e8565SEmmanuel Vadot 135*e67e8565SEmmanuel Vadot bias-disable: true 136*e67e8565SEmmanuel Vadot 137*e67e8565SEmmanuel Vadot output-high: true 138*e67e8565SEmmanuel Vadot 139*e67e8565SEmmanuel Vadot output-low: true 140*e67e8565SEmmanuel Vadot 141*e67e8565SEmmanuel Vadot required: 142*e67e8565SEmmanuel Vadot - pins 143*e67e8565SEmmanuel Vadot - function 144*e67e8565SEmmanuel Vadot 145*e67e8565SEmmanuel Vadot additionalProperties: false 146*e67e8565SEmmanuel Vadot 147*e67e8565SEmmanuel Vadotrequired: 148*e67e8565SEmmanuel Vadot - compatible 149*e67e8565SEmmanuel Vadot - reg 150*e67e8565SEmmanuel Vadot - interrupts 151*e67e8565SEmmanuel Vadot - interrupt-controller 152*e67e8565SEmmanuel Vadot - '#interrupt-cells' 153*e67e8565SEmmanuel Vadot - gpio-controller 154*e67e8565SEmmanuel Vadot - '#gpio-cells' 155*e67e8565SEmmanuel Vadot - gpio-ranges 156*e67e8565SEmmanuel Vadot 157*e67e8565SEmmanuel VadotadditionalProperties: false 158*e67e8565SEmmanuel Vadot 159*e67e8565SEmmanuel Vadotexamples: 160*e67e8565SEmmanuel Vadot - | 161*e67e8565SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 162*e67e8565SEmmanuel Vadot tlmm: pinctrl@f100000 { 163*e67e8565SEmmanuel Vadot compatible = "qcom,sdx65-tlmm"; 164*e67e8565SEmmanuel Vadot reg = <0x03000000 0xdc2000>; 165*e67e8565SEmmanuel Vadot gpio-controller; 166*e67e8565SEmmanuel Vadot #gpio-cells = <2>; 167*e67e8565SEmmanuel Vadot gpio-ranges = <&tlmm 0 0 109>; 168*e67e8565SEmmanuel Vadot interrupt-controller; 169*e67e8565SEmmanuel Vadot #interrupt-cells = <2>; 170*e67e8565SEmmanuel Vadot interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>; 171*e67e8565SEmmanuel Vadot 172*e67e8565SEmmanuel Vadot gpio-wo-subnode-state { 173*e67e8565SEmmanuel Vadot pins = "gpio1"; 174*e67e8565SEmmanuel Vadot function = "gpio"; 175*e67e8565SEmmanuel Vadot }; 176*e67e8565SEmmanuel Vadot 177*e67e8565SEmmanuel Vadot uart-w-subnodes-state { 178*e67e8565SEmmanuel Vadot rx { 179*e67e8565SEmmanuel Vadot pins = "gpio4"; 180*e67e8565SEmmanuel Vadot function = "blsp_uart1"; 181*e67e8565SEmmanuel Vadot bias-pull-up; 182*e67e8565SEmmanuel Vadot }; 183*e67e8565SEmmanuel Vadot 184*e67e8565SEmmanuel Vadot tx { 185*e67e8565SEmmanuel Vadot pins = "gpio5"; 186*e67e8565SEmmanuel Vadot function = "blsp_uart1"; 187*e67e8565SEmmanuel Vadot bias-disable; 188*e67e8565SEmmanuel Vadot }; 189*e67e8565SEmmanuel Vadot }; 190*e67e8565SEmmanuel Vadot }; 191*e67e8565SEmmanuel Vadot... 192