brintos

brintos / linux-shallow public Read only

0
0
Text · 4.9 KiB · 840fdaa Raw
166 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/pinctrl/qcom,msm8974-pinctrl.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm MSM8974 TLMM pin controller8 9maintainers:10  - Bjorn Andersson <andersson@kernel.org>11  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>12 13description:14  Top Level Mode Multiplexer pin controller in Qualcomm MSM8974 SoC.15 16properties:17  compatible:18    const: qcom,msm8974-pinctrl19 20  reg:21    maxItems: 122 23  interrupts:24    maxItems: 125 26  gpio-reserved-ranges:27    minItems: 128    maxItems: 7329 30  gpio-line-names:31    maxItems: 14632 33patternProperties:34  "-state$":35    oneOf:36      - $ref: "#/$defs/qcom-msm8974-tlmm-state"37      - patternProperties:38          "-pins$":39            $ref: "#/$defs/qcom-msm8974-tlmm-state"40        additionalProperties: false41 42$defs:43  qcom-msm8974-tlmm-state:44    type: object45    description:46      Pinctrl node's client devices use subnodes for desired pin configuration.47      Client device subnodes use below standard properties.48    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state49    unevaluatedProperties: false50 51    properties:52      pins:53        description:54          List of gpio pins affected by the properties specified in this55          subnode.56        items:57          oneOf:58            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-3][0-9]|14[0-5])$"59            - enum: [ hsic_data, hsic_strobe, sdc1_clk, sdc1_cmd, sdc1_data,60                      sdc2_clk, sdc2_cmd, sdc2_data ]61        minItems: 162        maxItems: 3663 64      function:65        description:66          Specify the alternative function to be configured for the specified67          pins.68 69        enum: [ gpio, cci_i2c0, cci_i2c1, uim1, uim2, uim_batt_alarm,70                blsp_uim1, blsp_uart1, blsp_i2c1, blsp_spi1, blsp_uim2,71                blsp_uart2, blsp_i2c2, blsp_spi2, blsp_uim3, blsp_uart3,72                blsp_i2c3, blsp_spi3, blsp_uim4, blsp_uart4, blsp_i2c4,73                blsp_spi4, blsp_uim5, blsp_uart5, blsp_i2c5, blsp_spi5,74                blsp_uim6, blsp_uart6, blsp_i2c6, blsp_spi6, blsp_uim7,75                blsp_uart7, blsp_i2c7, blsp_spi7, blsp_uim8, blsp_uart8,76                blsp_i2c8, blsp_spi8, blsp_uim9, blsp_uart9, blsp_i2c9,77                blsp_spi9, blsp_uim10, blsp_uart10, blsp_i2c10, blsp_spi10,78                blsp_uim11, blsp_uart11, blsp_i2c11, blsp_spi11, blsp_uim12,79                blsp_uart12, blsp_i2c12, blsp_spi12, blsp_spi1_cs1,80                blsp_spi2_cs2, blsp_spi_cs3, blsp_spi2_cs1, blsp_spi2_cs281                blsp_spi2_cs3, blsp_spi10_cs1, blsp_spi10_cs2, blsp_spi10_cs3,82                sdc3, sdc4, gcc_gp_clk1, gcc_gp_clk2, gcc_gp_clk3, cci_timer0,83                cci_timer1, cci_timer2, cci_timer3, cci_async_in0,84                cci_async_in1, cci_async_in2, cam_mckl0, cam_mclk1, cam_mclk2,85                cam_mclk3, mdp_vsync, hdmi_cec, hdmi_ddc, hdmi_hpd, edp_hpd,86                gp_pdm0, gp_pdm1, gp_pdm2, gp_pdm3, gp0_clk, gp1_clk, gp_mn,87                tsif1, tsif2, hsic, grfc, audio_ref_clk, qua_mi2s, pri_mi2s,88                spkr_mi2s, ter_mi2s, sec_mi2s, bt, fm, wlan, slimbus, hsic_ctl ]89 90    required:91      - pins92 93    allOf:94      - if:95          properties:96            pins:97              contains:98                enum:99                  - hsic_data100                  - hsic_strobe101          required:102            - pins103        then:104          properties:105            bias-pull-down: false106            bias-pull-up: false107            bias-disable: false108            drive-strength: false109            input-enable: false110            output-high: false111            output-low: false112 113allOf:114  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#115 116required:117  - compatible118  - reg119 120unevaluatedProperties: false121 122examples:123  - |124    #include <dt-bindings/interrupt-controller/arm-gic.h>125    tlmm: pinctrl@fd510000 {126        compatible = "qcom,msm8974-pinctrl";127        reg = <0xfd510000 0x4000>;128        gpio-controller;129        gpio-ranges = <&tlmm 0 0 146>;130        #gpio-cells = <2>;131        interrupt-controller;132        #interrupt-cells = <2>;133        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;134 135        sdc1-off-state {136            clk-pins {137                pins = "sdc1_clk";138                bias-disable;139                drive-strength = <2>;140            };141 142            cmd-pins {143                pins = "sdc1_cmd";144                bias-pull-up;145                drive-strength = <2>;146            };147 148            data-pins {149                pins = "sdc1_data";150                bias-pull-up;151                drive-strength = <2>;152            };153        };154 155        blsp2-uart1-sleep-state {156            pins = "gpio41", "gpio42", "gpio43", "gpio44";157            function = "gpio";158            drive-strength = <2>;159            bias-pull-down;160        };161 162        hsic-state {163            pins = "hsic_data", "hsic_strobe";164        };165    };166