1*3d417196SVladimir Lypak# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*3d417196SVladimir Lypak%YAML 1.2 3*3d417196SVladimir Lypak--- 4*3d417196SVladimir Lypak$id: http://devicetree.org/schemas/pinctrl/qcom,msm8953-pinctrl.yaml# 5*3d417196SVladimir Lypak$schema: http://devicetree.org/meta-schemas/core.yaml# 6*3d417196SVladimir Lypak 7*3d417196SVladimir Lypaktitle: Qualcomm Technologies, Inc. MSM8953 TLMM block 8*3d417196SVladimir Lypak 9*3d417196SVladimir Lypakmaintainers: 10*3d417196SVladimir Lypak - Bjorn Andersson <bjorn.andersson@linaro.org> 11*3d417196SVladimir Lypak 12*3d417196SVladimir Lypakdescription: | 13*3d417196SVladimir Lypak This binding describes the Top Level Mode Multiplexer block found in the 14*3d417196SVladimir Lypak MSM8953 platform. 15*3d417196SVladimir Lypak 16*3d417196SVladimir Lypakproperties: 17*3d417196SVladimir Lypak compatible: 18*3d417196SVladimir Lypak const: qcom,msm8953-pinctrl 19*3d417196SVladimir Lypak 20*3d417196SVladimir Lypak reg: 21*3d417196SVladimir Lypak maxItems: 1 22*3d417196SVladimir Lypak 23*3d417196SVladimir Lypak interrupts: 24*3d417196SVladimir Lypak description: Specifies the TLMM summary IRQ 25*3d417196SVladimir Lypak maxItems: 1 26*3d417196SVladimir Lypak 27*3d417196SVladimir Lypak interrupt-controller: true 28*3d417196SVladimir Lypak 29*3d417196SVladimir Lypak '#interrupt-cells': 30*3d417196SVladimir Lypak description: 31*3d417196SVladimir Lypak Specifies the PIN numbers and Flags, as defined in defined in 32*3d417196SVladimir Lypak include/dt-bindings/interrupt-controller/irq.h 33*3d417196SVladimir Lypak const: 2 34*3d417196SVladimir Lypak 35*3d417196SVladimir Lypak gpio-controller: true 36*3d417196SVladimir Lypak 37*3d417196SVladimir Lypak '#gpio-cells': 38*3d417196SVladimir Lypak description: Specifying the pin number and flags, as defined in 39*3d417196SVladimir Lypak include/dt-bindings/gpio/gpio.h 40*3d417196SVladimir Lypak const: 2 41*3d417196SVladimir Lypak 42*3d417196SVladimir Lypak gpio-ranges: 43*3d417196SVladimir Lypak maxItems: 1 44*3d417196SVladimir Lypak 45*3d417196SVladimir Lypak#PIN CONFIGURATION NODES 46*3d417196SVladimir LypakpatternProperties: 47*3d417196SVladimir Lypak '-pins$': 48*3d417196SVladimir Lypak type: object 49*3d417196SVladimir Lypak description: 50*3d417196SVladimir Lypak Pinctrl node's client devices use subnodes for desired pin configuration. 51*3d417196SVladimir Lypak Client device subnodes use below standard properties. 52*3d417196SVladimir Lypak $ref: "/schemas/pinctrl/pincfg-node.yaml" 53*3d417196SVladimir Lypak 54*3d417196SVladimir Lypak properties: 55*3d417196SVladimir Lypak pins: 56*3d417196SVladimir Lypak description: 57*3d417196SVladimir Lypak List of gpio pins affected by the properties specified in this 58*3d417196SVladimir Lypak subnode. 59*3d417196SVladimir Lypak items: 60*3d417196SVladimir Lypak oneOf: 61*3d417196SVladimir Lypak - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-7][0-9])$" 62*3d417196SVladimir Lypak - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc1_rclk, sdc2_clk, 63*3d417196SVladimir Lypak sdc2_cmd, sdc2_data, qdsd_clk, qdsd_cmd, qdsd_data0, 64*3d417196SVladimir Lypak qdsd_data1, qdsd_data2, qdsd_data3 ] 65*3d417196SVladimir Lypak minItems: 1 66*3d417196SVladimir Lypak maxItems: 16 67*3d417196SVladimir Lypak 68*3d417196SVladimir Lypak function: 69*3d417196SVladimir Lypak description: 70*3d417196SVladimir Lypak Specify the alternative function to be configured for the specified 71*3d417196SVladimir Lypak pins. 72*3d417196SVladimir Lypak 73*3d417196SVladimir Lypak enum: [ accel_int, adsp_ext, alsp_int, atest_bbrx0, atest_bbrx1, 74*3d417196SVladimir Lypak atest_char, atest_char0, atest_char1, atest_char2, atest_char3, 75*3d417196SVladimir Lypak atest_gpsadc_dtest0_native, atest_gpsadc_dtest1_native, atest_tsens, 76*3d417196SVladimir Lypak atest_wlan0, atest_wlan1, bimc_dte0, bimc_dte1, blsp1_spi, 77*3d417196SVladimir Lypak blsp3_spi, blsp6_spi, blsp7_spi, blsp_i2c1, blsp_i2c2, blsp_i2c3, 78*3d417196SVladimir Lypak blsp_i2c4, blsp_i2c5, blsp_i2c6, blsp_i2c7, blsp_i2c8, blsp_spi1, 79*3d417196SVladimir Lypak blsp_spi2, blsp_spi3, blsp_spi4, blsp_spi5, blsp_spi6, blsp_spi7, 80*3d417196SVladimir Lypak blsp_spi8, blsp_uart2, blsp_uart4, blsp_uart5, blsp_uart6, cam0_ldo, 81*3d417196SVladimir Lypak cam1_ldo, cam1_rst, cam1_standby, cam2_rst, cam2_standby, cam3_rst, 82*3d417196SVladimir Lypak cam3_standby, cam_irq, cam_mclk, cap_int, cci_async, cci_i2c, 83*3d417196SVladimir Lypak cci_timer0, cci_timer1, cci_timer2, cci_timer3, cci_timer4, 84*3d417196SVladimir Lypak cdc_pdm0, codec_int1, codec_int2, codec_reset, cri_trng, cri_trng0, 85*3d417196SVladimir Lypak cri_trng1, dac_calib0, dac_calib1, dac_calib10, dac_calib11, 86*3d417196SVladimir Lypak dac_calib12, dac_calib13, dac_calib14, dac_calib15, dac_calib16, 87*3d417196SVladimir Lypak dac_calib17, dac_calib18, dac_calib19, dac_calib2, dac_calib20, 88*3d417196SVladimir Lypak dac_calib21, dac_calib22, dac_calib23, dac_calib24, dac_calib25, 89*3d417196SVladimir Lypak dac_calib3, dac_calib4, dac_calib5, dac_calib6, dac_calib7, 90*3d417196SVladimir Lypak dac_calib8, dac_calib9, dbg_out, ddr_bist, dmic0_clk, dmic0_data, 91*3d417196SVladimir Lypak ebi_cdc, ebi_ch0, ext_lpass, flash_strobe, fp_int, gcc_gp1_clk_a, 92*3d417196SVladimir Lypak gcc_gp1_clk_b, gcc_gp2_clk_a, gcc_gp2_clk_b, gcc_gp3_clk_a, 93*3d417196SVladimir Lypak gcc_gp3_clk_b, gcc_plltest, gcc_tlmm, gpio, gsm0_tx, gsm1_tx, 94*3d417196SVladimir Lypak gyro_int, hall_int, hdmi_int, key_focus, key_home, key_snapshot, 95*3d417196SVladimir Lypak key_volp, ldo_en, ldo_update, lpass_slimbus, lpass_slimbus0, 96*3d417196SVladimir Lypak lpass_slimbus1, m_voc, mag_int, mdp_vsync, mipi_dsi0, modem_tsync, 97*3d417196SVladimir Lypak mss_lte, nav_pps, nav_pps_in_a, nav_pps_in_b, nav_tsync, 98*3d417196SVladimir Lypak nfc_disable, nfc_dwl, nfc_irq, ois_sync, pa_indicator, pbs0, pbs1, 99*3d417196SVladimir Lypak pbs2, pressure_int, pri_mi2s, pri_mi2s_mclk_a, pri_mi2s_mclk_b, 100*3d417196SVladimir Lypak pri_mi2s_ws, prng_rosc, pwr_crypto_enabled_a, pwr_crypto_enabled_b, 101*3d417196SVladimir Lypak pwr_down, pwr_modem_enabled_a, pwr_modem_enabled_b, 102*3d417196SVladimir Lypak pwr_nav_enabled_a, pwr_nav_enabled_b, qdss_cti_trig_in_a0, 103*3d417196SVladimir Lypak qdss_cti_trig_in_a1, qdss_cti_trig_in_b0, qdss_cti_trig_in_b1, 104*3d417196SVladimir Lypak qdss_cti_trig_out_a0, qdss_cti_trig_out_a1, qdss_cti_trig_out_b0, 105*3d417196SVladimir Lypak qdss_cti_trig_out_b1, qdss_traceclk_a, qdss_traceclk_b, 106*3d417196SVladimir Lypak qdss_tracectl_a, qdss_tracectl_b, qdss_tracedata_a, 107*3d417196SVladimir Lypak qdss_tracedata_b, sd_write, sdcard_det, sec_mi2s, sec_mi2s_mclk_a, 108*3d417196SVladimir Lypak sec_mi2s_mclk_b, smb_int, ss_switch, ssbi_wtr1, ts_resout, 109*3d417196SVladimir Lypak ts_sample, ts_xvdd, tsens_max, uim1_clk, uim1_data, uim1_present, 110*3d417196SVladimir Lypak uim1_reset, uim2_clk, uim2_data, uim2_present, uim2_reset, 111*3d417196SVladimir Lypak uim_batt, us_emitter, us_euro, wcss_bt, wcss_fm, wcss_wlan, 112*3d417196SVladimir Lypak wcss_wlan0, wcss_wlan1, wcss_wlan2, wsa_en, wsa_io, wsa_irq ] 113*3d417196SVladimir Lypak 114*3d417196SVladimir Lypak drive-strength: 115*3d417196SVladimir Lypak enum: [2, 4, 6, 8, 10, 12, 14, 16] 116*3d417196SVladimir Lypak default: 2 117*3d417196SVladimir Lypak description: 118*3d417196SVladimir Lypak Selects the drive strength for the specified pins, in mA. 119*3d417196SVladimir Lypak 120*3d417196SVladimir Lypak bias-pull-down: true 121*3d417196SVladimir Lypak 122*3d417196SVladimir Lypak bias-pull-up: true 123*3d417196SVladimir Lypak 124*3d417196SVladimir Lypak bias-disable: true 125*3d417196SVladimir Lypak 126*3d417196SVladimir Lypak output-high: true 127*3d417196SVladimir Lypak 128*3d417196SVladimir Lypak output-low: true 129*3d417196SVladimir Lypak 130*3d417196SVladimir Lypak required: 131*3d417196SVladimir Lypak - pins 132*3d417196SVladimir Lypak - function 133*3d417196SVladimir Lypak 134*3d417196SVladimir Lypak additionalProperties: false 135*3d417196SVladimir Lypak 136*3d417196SVladimir Lypakrequired: 137*3d417196SVladimir Lypak - compatible 138*3d417196SVladimir Lypak - reg 139*3d417196SVladimir Lypak - interrupts 140*3d417196SVladimir Lypak - interrupt-controller 141*3d417196SVladimir Lypak - '#interrupt-cells' 142*3d417196SVladimir Lypak - gpio-controller 143*3d417196SVladimir Lypak - '#gpio-cells' 144*3d417196SVladimir Lypak - gpio-ranges 145*3d417196SVladimir Lypak 146*3d417196SVladimir LypakadditionalProperties: false 147*3d417196SVladimir Lypak 148*3d417196SVladimir Lypakexamples: 149*3d417196SVladimir Lypak - | 150*3d417196SVladimir Lypak #include <dt-bindings/interrupt-controller/arm-gic.h> 151*3d417196SVladimir Lypak tlmm: pinctrl@1000000 { 152*3d417196SVladimir Lypak compatible = "qcom,msm8953-pinctrl"; 153*3d417196SVladimir Lypak reg = <0x01000000 0x300000>; 154*3d417196SVladimir Lypak interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 155*3d417196SVladimir Lypak interrupt-controller; 156*3d417196SVladimir Lypak #interrupt-cells = <2>; 157*3d417196SVladimir Lypak gpio-controller; 158*3d417196SVladimir Lypak #gpio-cells = <2>; 159*3d417196SVladimir Lypak gpio-ranges = <&tlmm 0 0 142>; 160*3d417196SVladimir Lypak 161*3d417196SVladimir Lypak serial_default: serial-pins { 162*3d417196SVladimir Lypak pins = "gpio4", "gpio5"; 163*3d417196SVladimir Lypak function = "blsp_uart2"; 164*3d417196SVladimir Lypak drive-strength = <2>; 165*3d417196SVladimir Lypak bias-disable; 166*3d417196SVladimir Lypak }; 167*3d417196SVladimir Lypak }; 168