Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: pinctrl: qcom: Describe Hawi TLMM block

The Top Level Mode Multiplexer (TLMM) in the Qualcomm Hawi SoC
provides GPIO and pinctrl functionality for UFS, SDC and 226
GPIO pins.

Add a DeviceTree binding to describe the TLMM block on Qualcomm's
Hawi SoC.

Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>

authored by

Mukesh Ojha and committed by
Linus Walleij
ec25710c c43b91ee

+120
+120
Documentation/devicetree/bindings/pinctrl/qcom,hawi-tlmm.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/qcom,hawi-tlmm.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm Technologies, Inc. Hawi TLMM block 8 + 9 + maintainers: 10 + - Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> 11 + 12 + description: 13 + Top Level Mode Multiplexer pin controller in Qualcomm Hawi SoC. 14 + 15 + allOf: 16 + - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 17 + 18 + properties: 19 + compatible: 20 + const: qcom,hawi-tlmm 21 + 22 + reg: 23 + maxItems: 1 24 + 25 + interrupts: 26 + maxItems: 1 27 + 28 + gpio-reserved-ranges: 29 + minItems: 1 30 + maxItems: 113 31 + 32 + gpio-line-names: 33 + maxItems: 226 34 + 35 + patternProperties: 36 + "-state$": 37 + oneOf: 38 + - $ref: "#/$defs/qcom-hawi-tlmm-state" 39 + - patternProperties: 40 + "-pins$": 41 + $ref: "#/$defs/qcom-hawi-tlmm-state" 42 + additionalProperties: false 43 + 44 + $defs: 45 + qcom-hawi-tlmm-state: 46 + type: object 47 + description: 48 + Pinctrl node's client devices use subnodes for desired pin configuration. 49 + Client device subnodes use below standard properties. 50 + $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 51 + unevaluatedProperties: false 52 + 53 + properties: 54 + pins: 55 + description: 56 + List of gpio pins affected by the properties specified in this 57 + subnode. 58 + items: 59 + oneOf: 60 + - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-9][0-9]|20[0-9]|21[0-9]|22[0-5])$" 61 + - enum: [ ufs_reset, sdc2_clk, sdc2_cmd, sdc2_data ] 62 + minItems: 1 63 + maxItems: 36 64 + 65 + function: 66 + description: 67 + Specify the alternative function to be configured for the specified 68 + pins. 69 + enum: [ gpio, aoss_cti, atest_char, atest_usb, audio_ext_mclk, 70 + audio_ref_clk, cam_mclk, cci_async_in, cci_i2c0, cci_i2c1, 71 + cci_i2c2, cci_i2c3, cci_i2c4, cci_i2c5, cci_timer, coex_espmi, 72 + coex_uart1_rx, coex_uart1_tx, dbg_out_clk, ddr_bist, ddr_pxi, 73 + dp_hot, egpio, gcc_gp, gnss_adc, host_rst, i2chub0_se0, 74 + i2chub0_se1, i2chub0_se2, i2chub0_se3, i2chub0_se4, i2s0, i2s1, 75 + ibi_i3c, jitter_bist, mdp_esync0, mdp_esync1, mdp_esync2, 76 + mdp_vsync, mdp_vsync_e, mdp_vsync_p, mdp_vsync0_out, 77 + mdp_vsync1_out, mdp_vsync2_out, mdp_vsync3_out, mdp_vsync5_out, 78 + modem_pps_in, modem_pps_out, nav_gpio, nav_gpio0, nav_gpio3, 79 + nav_rffe, pcie0_clk_req_n, pcie0_rst_n, pcie1_clk_req_n, 80 + phase_flag, pll_bist_sync, pll_clk_aux, qdss_cti, qlink, 81 + qspi, qspi_clk, qspi_cs, qup1_se0, qup1_se1, qup1_se2, 82 + qup1_se3, qup1_se4, qup1_se5, qup1_se6, qup1_se7, qup2_se0, 83 + qup2_se1, qup2_se2, qup2_se3, qup2_se4_01, qup2_se4_23, 84 + qup3_se0_01, qup3_se0_23, qup3_se1, qup3_se2, qup3_se3, 85 + qup3_se4, qup3_se5, qup4_se0, qup4_se1, qup4_se2, qup4_se3_01, 86 + qup4_se3_23, qup4_se3_l3, qup4_se4_01, qup4_se4_23, qup4_se4_l3, 87 + rng_rosc, sd_write_protect, sdc4_clk, sdc4_cmd, sdc4_data, 88 + sys_throttle, tb_trig_sdc, tmess_rng, tsense_clm, tsense_pwm, 89 + uim0, uim1, usb0_hs, usb_phy, vfr, vsense_trigger_mirnat, 90 + wcn_sw_ctrl ] 91 + 92 + required: 93 + - pins 94 + 95 + required: 96 + - compatible 97 + - reg 98 + 99 + unevaluatedProperties: false 100 + 101 + examples: 102 + - | 103 + #include <dt-bindings/interrupt-controller/arm-gic.h> 104 + 105 + tlmm: pinctrl@f100000 { 106 + compatible = "qcom,hawi-tlmm"; 107 + reg = <0x0f100000 0x300000>; 108 + interrupts = <GIC_ESPI 272 IRQ_TYPE_LEVEL_HIGH>; 109 + gpio-controller; 110 + #gpio-cells = <2>; 111 + gpio-ranges = <&tlmm 0 0 227>; 112 + interrupt-controller; 113 + #interrupt-cells = <2>; 114 + 115 + qup-uart7-state { 116 + pins = "gpio62", "gpio63"; 117 + function = "qup1_se7"; 118 + }; 119 + }; 120 + ...