xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,msm8976-pinctrl.yaml (revision 327a846dba7100b33fda682cb7caf2f647940d77)
186bfee31SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
286bfee31SKrzysztof Kozlowski%YAML 1.2
386bfee31SKrzysztof Kozlowski---
486bfee31SKrzysztof Kozlowski$id: http://devicetree.org/schemas/pinctrl/qcom,msm8976-pinctrl.yaml#
586bfee31SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
686bfee31SKrzysztof Kozlowski
786bfee31SKrzysztof Kozlowskititle: Qualcomm MSM8976 TLMM pin controller
886bfee31SKrzysztof Kozlowski
986bfee31SKrzysztof Kozlowskimaintainers:
1086bfee31SKrzysztof Kozlowski  - Bjorn Andersson <andersson@kernel.org>
1186bfee31SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
1286bfee31SKrzysztof Kozlowski
1386bfee31SKrzysztof Kozlowskidescription:
1486bfee31SKrzysztof Kozlowski  Top Level Mode Multiplexer pin controller in Qualcomm MSM8976 SoC.
1586bfee31SKrzysztof Kozlowski
1686bfee31SKrzysztof Kozlowskiproperties:
1786bfee31SKrzysztof Kozlowski  compatible:
1886bfee31SKrzysztof Kozlowski    const: qcom,msm8976-pinctrl
1986bfee31SKrzysztof Kozlowski
2086bfee31SKrzysztof Kozlowski  reg:
2186bfee31SKrzysztof Kozlowski    maxItems: 1
2286bfee31SKrzysztof Kozlowski
2312a18bb7SKrzysztof Kozlowski  interrupts:
2412a18bb7SKrzysztof Kozlowski    maxItems: 1
2512a18bb7SKrzysztof Kozlowski
2686bfee31SKrzysztof Kozlowski  interrupt-controller: true
2786bfee31SKrzysztof Kozlowski  "#interrupt-cells": true
2886bfee31SKrzysztof Kozlowski  gpio-controller: true
2986bfee31SKrzysztof Kozlowski  "#gpio-cells": true
3086bfee31SKrzysztof Kozlowski  gpio-ranges: true
3186bfee31SKrzysztof Kozlowski  wakeup-parent: true
3286bfee31SKrzysztof Kozlowski
3386bfee31SKrzysztof Kozlowski  gpio-reserved-ranges:
3486bfee31SKrzysztof Kozlowski    minItems: 1
3586bfee31SKrzysztof Kozlowski    maxItems: 73
3686bfee31SKrzysztof Kozlowski
3786bfee31SKrzysztof Kozlowski  gpio-line-names:
3886bfee31SKrzysztof Kozlowski    maxItems: 145
3986bfee31SKrzysztof Kozlowski
4086bfee31SKrzysztof KozlowskipatternProperties:
4186bfee31SKrzysztof Kozlowski  "-state$":
4286bfee31SKrzysztof Kozlowski    oneOf:
4386bfee31SKrzysztof Kozlowski      - $ref: "#/$defs/qcom-msm8976-tlmm-state"
4486bfee31SKrzysztof Kozlowski      - patternProperties:
4586bfee31SKrzysztof Kozlowski          "-pins$":
4686bfee31SKrzysztof Kozlowski            $ref: "#/$defs/qcom-msm8976-tlmm-state"
4786bfee31SKrzysztof Kozlowski        additionalProperties: false
4886bfee31SKrzysztof Kozlowski
4986bfee31SKrzysztof Kozlowski$defs:
5086bfee31SKrzysztof Kozlowski  qcom-msm8976-tlmm-state:
5186bfee31SKrzysztof Kozlowski    type: object
5286bfee31SKrzysztof Kozlowski    description:
5386bfee31SKrzysztof Kozlowski      Desired pin configuration for a device or its specific state (like sleep
5486bfee31SKrzysztof Kozlowski      or active).
5586bfee31SKrzysztof Kozlowski    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
56*327a846dSKrzysztof Kozlowski    unevaluatedProperties: false
5786bfee31SKrzysztof Kozlowski
5886bfee31SKrzysztof Kozlowski    properties:
5986bfee31SKrzysztof Kozlowski      pins:
6086bfee31SKrzysztof Kozlowski        description:
6186bfee31SKrzysztof Kozlowski          List of gpio pins affected by the properties specified in this state.
6286bfee31SKrzysztof Kozlowski        items:
6386bfee31SKrzysztof Kozlowski          oneOf:
6486bfee31SKrzysztof Kozlowski            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-3][0-9]|14[0-4])$"
6586bfee31SKrzysztof Kozlowski            - enum: [ qdsd_clk, qdsd_cmd, qdsd_data0, qdsd_data1, qdsd_data2,
6686bfee31SKrzysztof Kozlowski                      qdsd_data3, sdc1_clk, sdc1_cmd, sdc1_data, sdc1_rclk,
6786bfee31SKrzysztof Kozlowski                      sdc2_clk, sdc2_cmd, sdc2_data ]
6886bfee31SKrzysztof Kozlowski        minItems: 1
6986bfee31SKrzysztof Kozlowski        maxItems: 36
7086bfee31SKrzysztof Kozlowski
7186bfee31SKrzysztof Kozlowski      function:
7286bfee31SKrzysztof Kozlowski        description:
7386bfee31SKrzysztof Kozlowski          Specify the alternative function to be configured for the specified
7486bfee31SKrzysztof Kozlowski          pins.
7586bfee31SKrzysztof Kozlowski
7686bfee31SKrzysztof Kozlowski        enum: [ gpio, blsp_uart1, blsp_spi1, smb_int, blsp_i2c1, blsp_spi2,
7786bfee31SKrzysztof Kozlowski                blsp_uart2, blsp_i2c2, gcc_gp1_clk_b, blsp_spi3,
7886bfee31SKrzysztof Kozlowski                qdss_tracedata_b, blsp_i2c3, gcc_gp2_clk_b, gcc_gp3_clk_b,
7986bfee31SKrzysztof Kozlowski                blsp_spi4, cap_int, blsp_i2c4, blsp_spi5, blsp_uart5,
8086bfee31SKrzysztof Kozlowski                qdss_traceclk_a, m_voc, blsp_i2c5, qdss_tracectl_a,
8186bfee31SKrzysztof Kozlowski                qdss_tracedata_a, blsp_spi6, blsp_uart6, qdss_tracectl_b,
8286bfee31SKrzysztof Kozlowski                blsp_i2c6, qdss_traceclk_b, mdp_vsync, pri_mi2s_mclk_a,
8386bfee31SKrzysztof Kozlowski                sec_mi2s_mclk_a, cam_mclk, cci0_i2c, cci1_i2c, blsp1_spi,
8486bfee31SKrzysztof Kozlowski                blsp3_spi, gcc_gp1_clk_a, gcc_gp2_clk_a, gcc_gp3_clk_a,
8586bfee31SKrzysztof Kozlowski                uim_batt, sd_write, uim1_data, uim1_clk, uim1_reset,
8686bfee31SKrzysztof Kozlowski                uim1_present, uim2_data, uim2_clk, uim2_reset, uim2_present,
8786bfee31SKrzysztof Kozlowski                ts_xvdd, mipi_dsi0, us_euro, ts_resout, ts_sample,
8886bfee31SKrzysztof Kozlowski                sec_mi2s_mclk_b, pri_mi2s, codec_reset, cdc_pdm0, us_emitter,
8986bfee31SKrzysztof Kozlowski                pri_mi2s_mclk_b, pri_mi2s_mclk_c, lpass_slimbus,
9086bfee31SKrzysztof Kozlowski                lpass_slimbus0, lpass_slimbus1, codec_int1, codec_int2,
9186bfee31SKrzysztof Kozlowski                wcss_bt, sdc3, wcss_wlan2, wcss_wlan1, wcss_wlan0, wcss_wlan,
9286bfee31SKrzysztof Kozlowski                wcss_fm, key_volp, key_snapshot, key_focus, key_home, pwr_down,
9386bfee31SKrzysztof Kozlowski                dmic0_clk, hdmi_int, dmic0_data, wsa_vi, wsa_en, blsp_spi8,
9486bfee31SKrzysztof Kozlowski                wsa_irq, blsp_i2c8, pa_indicator, modem_tsync, ssbi_wtr1,
9586bfee31SKrzysztof Kozlowski                gsm1_tx, gsm0_tx, sdcard_det, sec_mi2s, ss_switch ]
9686bfee31SKrzysztof Kozlowski
9786bfee31SKrzysztof Kozlowski    required:
9886bfee31SKrzysztof Kozlowski      - pins
9986bfee31SKrzysztof Kozlowski
10086bfee31SKrzysztof KozlowskiallOf:
10186bfee31SKrzysztof Kozlowski  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
10286bfee31SKrzysztof Kozlowski
10386bfee31SKrzysztof Kozlowskirequired:
10486bfee31SKrzysztof Kozlowski  - compatible
10586bfee31SKrzysztof Kozlowski  - reg
10686bfee31SKrzysztof Kozlowski
10786bfee31SKrzysztof KozlowskiadditionalProperties: false
10886bfee31SKrzysztof Kozlowski
10986bfee31SKrzysztof Kozlowskiexamples:
11086bfee31SKrzysztof Kozlowski  - |
11186bfee31SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
11286bfee31SKrzysztof Kozlowski
11386bfee31SKrzysztof Kozlowski    tlmm: pinctrl@1000000 {
11486bfee31SKrzysztof Kozlowski        compatible = "qcom,msm8976-pinctrl";
11586bfee31SKrzysztof Kozlowski        reg = <0x1000000 0x300000>;
11686bfee31SKrzysztof Kozlowski        #gpio-cells = <2>;
11786bfee31SKrzysztof Kozlowski        gpio-controller;
11886bfee31SKrzysztof Kozlowski        gpio-ranges = <&tlmm 0 0 145>;
11986bfee31SKrzysztof Kozlowski        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
12086bfee31SKrzysztof Kozlowski        interrupt-controller;
12186bfee31SKrzysztof Kozlowski        #interrupt-cells = <2>;
12286bfee31SKrzysztof Kozlowski
12386bfee31SKrzysztof Kozlowski        blsp1-uart2-active-state {
12486bfee31SKrzysztof Kozlowski            pins = "gpio4", "gpio5", "gpio6", "gpio7";
12586bfee31SKrzysztof Kozlowski            function = "blsp_uart2";
12686bfee31SKrzysztof Kozlowski            drive-strength = <2>;
12786bfee31SKrzysztof Kozlowski            bias-disable;
12886bfee31SKrzysztof Kozlowski        };
12986bfee31SKrzysztof Kozlowski    };
130