18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28cc087a1SEmmanuel Vadot%YAML 1.2 38cc087a1SEmmanuel Vadot--- 48cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,qcm2290-pinctrl.yaml# 58cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68cc087a1SEmmanuel Vadot 78cc087a1SEmmanuel Vadottitle: Qualcomm Technologies, Inc. QCM2290 TLMM block 88cc087a1SEmmanuel Vadot 98cc087a1SEmmanuel Vadotmaintainers: 108cc087a1SEmmanuel Vadot - Shawn Guo <shawn.guo@linaro.org> 118cc087a1SEmmanuel Vadot 128cc087a1SEmmanuel Vadotdescription: 138cc087a1SEmmanuel Vadot This binding describes the Top Level Mode Multiplexer block found in the 148cc087a1SEmmanuel Vadot QCM2290 platform. 158cc087a1SEmmanuel Vadot 168cc087a1SEmmanuel Vadotproperties: 178cc087a1SEmmanuel Vadot compatible: 188cc087a1SEmmanuel Vadot const: qcom,qcm2290-tlmm 198cc087a1SEmmanuel Vadot 208cc087a1SEmmanuel Vadot reg: 218cc087a1SEmmanuel Vadot maxItems: 1 228cc087a1SEmmanuel Vadot 238cc087a1SEmmanuel Vadot interrupts: 248cc087a1SEmmanuel Vadot description: Specifies the TLMM summary IRQ 258cc087a1SEmmanuel Vadot maxItems: 1 268cc087a1SEmmanuel Vadot 278cc087a1SEmmanuel Vadot interrupt-controller: true 288cc087a1SEmmanuel Vadot 298cc087a1SEmmanuel Vadot '#interrupt-cells': 308cc087a1SEmmanuel Vadot description: 318cc087a1SEmmanuel Vadot Specifies the PIN numbers and Flags, as defined in defined in 328cc087a1SEmmanuel Vadot include/dt-bindings/interrupt-controller/irq.h 338cc087a1SEmmanuel Vadot const: 2 348cc087a1SEmmanuel Vadot 358cc087a1SEmmanuel Vadot gpio-controller: true 368cc087a1SEmmanuel Vadot 378cc087a1SEmmanuel Vadot '#gpio-cells': 388cc087a1SEmmanuel Vadot description: Specifying the pin number and flags, as defined in 398cc087a1SEmmanuel Vadot include/dt-bindings/gpio/gpio.h 408cc087a1SEmmanuel Vadot const: 2 418cc087a1SEmmanuel Vadot 428cc087a1SEmmanuel Vadot gpio-ranges: 438cc087a1SEmmanuel Vadot maxItems: 1 448cc087a1SEmmanuel Vadot 45*d5b0e70fSEmmanuel Vadot wakeup-parent: true 468cc087a1SEmmanuel Vadot 478cc087a1SEmmanuel Vadot#PIN CONFIGURATION NODES 488cc087a1SEmmanuel VadotpatternProperties: 498cc087a1SEmmanuel Vadot '-state$': 508cc087a1SEmmanuel Vadot oneOf: 518cc087a1SEmmanuel Vadot - $ref: "#/$defs/qcom-qcm2290-tlmm-state" 528cc087a1SEmmanuel Vadot - patternProperties: 538cc087a1SEmmanuel Vadot ".*": 548cc087a1SEmmanuel Vadot $ref: "#/$defs/qcom-qcm2290-tlmm-state" 558cc087a1SEmmanuel Vadot 568cc087a1SEmmanuel Vadot'$defs': 578cc087a1SEmmanuel Vadot qcom-qcm2290-tlmm-state: 588cc087a1SEmmanuel Vadot type: object 598cc087a1SEmmanuel Vadot description: 608cc087a1SEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 618cc087a1SEmmanuel Vadot Client device subnodes use below standard properties. 628cc087a1SEmmanuel Vadot $ref: "qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state" 638cc087a1SEmmanuel Vadot 648cc087a1SEmmanuel Vadot properties: 658cc087a1SEmmanuel Vadot pins: 668cc087a1SEmmanuel Vadot description: 678cc087a1SEmmanuel Vadot List of gpio pins affected by the properties specified in this 688cc087a1SEmmanuel Vadot subnode. 698cc087a1SEmmanuel Vadot items: 708cc087a1SEmmanuel Vadot oneOf: 718cc087a1SEmmanuel Vadot - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-6])$" 728cc087a1SEmmanuel Vadot - enum: [ sdc1_rclk, sdc1_clk, sdc1_cmd, sdc1_data, 738cc087a1SEmmanuel Vadot sdc2_clk, sdc2_cmd, sdc2_data ] 748cc087a1SEmmanuel Vadot minItems: 1 758cc087a1SEmmanuel Vadot maxItems: 36 768cc087a1SEmmanuel Vadot 778cc087a1SEmmanuel Vadot function: 788cc087a1SEmmanuel Vadot description: 798cc087a1SEmmanuel Vadot Specify the alternative function to be configured for the specified 808cc087a1SEmmanuel Vadot pins. 818cc087a1SEmmanuel Vadot 828cc087a1SEmmanuel Vadot enum: [ adsp_ext, agera_pll, atest, cam_mclk, cci_async, cci_i2c, 838cc087a1SEmmanuel Vadot cci_timer0, cci_timer1, cci_timer2, cci_timer3, char_exec, 848cc087a1SEmmanuel Vadot cri_trng, cri_trng0, cri_trng1, dac_calib, dbg_out, ddr_bist, 858cc087a1SEmmanuel Vadot ddr_pxi0, ddr_pxi1, ddr_pxi2, ddr_pxi3, gcc_gp1, gcc_gp2, 868cc087a1SEmmanuel Vadot gcc_gp3, gpio, gp_pdm0, gp_pdm1, gp_pdm2, gsm0_tx, gsm1_tx, 878cc087a1SEmmanuel Vadot jitter_bist, mdp_vsync, mdp_vsync_out_0, mdp_vsync_out_1, 888cc087a1SEmmanuel Vadot mpm_pwr, mss_lte, m_voc, nav_gpio, pa_indicator, pbs0, pbs1, 898cc087a1SEmmanuel Vadot pbs2, pbs3, pbs4, pbs5, pbs6, pbs7, pbs8, pbs9, pbs10, pbs11, 908cc087a1SEmmanuel Vadot pbs12, pbs13, pbs14, pbs15, pbs_out, phase_flag, pll_bist, 918cc087a1SEmmanuel Vadot pll_bypassnl, pll_reset, prng_rosc, pwm_0, pwm_1, pwm_2, pwm_3, 928cc087a1SEmmanuel Vadot pwm_4, pwm_5, pwm_6, pwm_7, pwm_8, pwm_9, qdss_cti, qdss_gpio, 938cc087a1SEmmanuel Vadot qup0, qup1, qup2, qup3, qup4, qup5, sdc1_tb, sdc2_tb, sd_write, 948cc087a1SEmmanuel Vadot ssbi_wtr1, tgu_ch0, tgu_ch1, tgu_ch2, tgu_ch3, tsense_pwm, 958cc087a1SEmmanuel Vadot uim1_clk, uim1_data, uim1_present, uim1_reset, uim2_clk, 968cc087a1SEmmanuel Vadot uim2_data, uim2_present, uim2_reset, usb_phy, vfr_1, 978cc087a1SEmmanuel Vadot vsense_trigger, wlan1_adc0, wlan1_adc1 ] 988cc087a1SEmmanuel Vadot 998cc087a1SEmmanuel Vadot drive-strength: 1008cc087a1SEmmanuel Vadot enum: [2, 4, 6, 8, 10, 12, 14, 16] 1018cc087a1SEmmanuel Vadot default: 2 1028cc087a1SEmmanuel Vadot description: 1038cc087a1SEmmanuel Vadot Selects the drive strength for the specified pins, in mA. 1048cc087a1SEmmanuel Vadot 1058cc087a1SEmmanuel Vadot bias-pull-down: true 1068cc087a1SEmmanuel Vadot 1078cc087a1SEmmanuel Vadot bias-pull-up: true 1088cc087a1SEmmanuel Vadot 1098cc087a1SEmmanuel Vadot bias-disable: true 1108cc087a1SEmmanuel Vadot 1118cc087a1SEmmanuel Vadot output-high: true 1128cc087a1SEmmanuel Vadot 1138cc087a1SEmmanuel Vadot output-low: true 1148cc087a1SEmmanuel Vadot 1158cc087a1SEmmanuel Vadot required: 1168cc087a1SEmmanuel Vadot - pins 1178cc087a1SEmmanuel Vadot 1188cc087a1SEmmanuel Vadot additionalProperties: false 1198cc087a1SEmmanuel Vadot 120e67e8565SEmmanuel VadotallOf: 121e67e8565SEmmanuel Vadot - $ref: "pinctrl.yaml#" 122e67e8565SEmmanuel Vadot 1238cc087a1SEmmanuel Vadotrequired: 1248cc087a1SEmmanuel Vadot - compatible 1258cc087a1SEmmanuel Vadot - reg 1268cc087a1SEmmanuel Vadot - interrupts 1278cc087a1SEmmanuel Vadot - interrupt-controller 1288cc087a1SEmmanuel Vadot - '#interrupt-cells' 1298cc087a1SEmmanuel Vadot - gpio-controller 1308cc087a1SEmmanuel Vadot - '#gpio-cells' 1318cc087a1SEmmanuel Vadot - gpio-ranges 1328cc087a1SEmmanuel Vadot 1338cc087a1SEmmanuel VadotadditionalProperties: false 1348cc087a1SEmmanuel Vadot 1358cc087a1SEmmanuel Vadotexamples: 1368cc087a1SEmmanuel Vadot - | 1378cc087a1SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1388cc087a1SEmmanuel Vadot tlmm: pinctrl@500000 { 1398cc087a1SEmmanuel Vadot compatible = "qcom,qcm2290-tlmm"; 1408cc087a1SEmmanuel Vadot reg = <0x500000 0x300000>; 1418cc087a1SEmmanuel Vadot interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>; 1428cc087a1SEmmanuel Vadot gpio-controller; 1438cc087a1SEmmanuel Vadot #gpio-cells = <2>; 1448cc087a1SEmmanuel Vadot interrupt-controller; 1458cc087a1SEmmanuel Vadot #interrupt-cells = <2>; 1468cc087a1SEmmanuel Vadot gpio-ranges = <&tlmm 0 0 127>; 1478cc087a1SEmmanuel Vadot 1488cc087a1SEmmanuel Vadot sdc2_on_state: sdc2-on-state { 1498cc087a1SEmmanuel Vadot clk { 1508cc087a1SEmmanuel Vadot pins = "sdc2_clk"; 1518cc087a1SEmmanuel Vadot bias-disable; 1528cc087a1SEmmanuel Vadot drive-strength = <16>; 1538cc087a1SEmmanuel Vadot }; 1548cc087a1SEmmanuel Vadot 1558cc087a1SEmmanuel Vadot cmd { 1568cc087a1SEmmanuel Vadot pins = "sdc2_cmd"; 1578cc087a1SEmmanuel Vadot bias-pull-up; 1588cc087a1SEmmanuel Vadot drive-strength = <10>; 1598cc087a1SEmmanuel Vadot }; 1608cc087a1SEmmanuel Vadot 1618cc087a1SEmmanuel Vadot data { 1628cc087a1SEmmanuel Vadot pins = "sdc2_data"; 1638cc087a1SEmmanuel Vadot bias-pull-up; 1648cc087a1SEmmanuel Vadot drive-strength = <10>; 1658cc087a1SEmmanuel Vadot }; 1668cc087a1SEmmanuel Vadot }; 1678cc087a1SEmmanuel Vadot }; 168