xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,sm8650-lpass-lpi-pinctrl.yaml (revision 06d07429858317ded2db7986113a9e0129cd599b)
12220638dSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
22220638dSKrzysztof Kozlowski%YAML 1.2
32220638dSKrzysztof Kozlowski---
42220638dSKrzysztof Kozlowski$id: http://devicetree.org/schemas/pinctrl/qcom,sm8650-lpass-lpi-pinctrl.yaml#
52220638dSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
62220638dSKrzysztof Kozlowski
72220638dSKrzysztof Kozlowskititle: Qualcomm SM8650 SoC LPASS LPI TLMM
82220638dSKrzysztof Kozlowski
92220638dSKrzysztof Kozlowskimaintainers:
102220638dSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
112220638dSKrzysztof Kozlowski  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
122220638dSKrzysztof Kozlowski
132220638dSKrzysztof Kozlowskidescription:
142220638dSKrzysztof Kozlowski  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
152220638dSKrzysztof Kozlowski  (LPASS) Low Power Island (LPI) of Qualcomm SM8650 SoC.
162220638dSKrzysztof Kozlowski
172220638dSKrzysztof Kozlowskiproperties:
182220638dSKrzysztof Kozlowski  compatible:
192220638dSKrzysztof Kozlowski    const: qcom,sm8650-lpass-lpi-pinctrl
202220638dSKrzysztof Kozlowski
212220638dSKrzysztof Kozlowski  reg:
222220638dSKrzysztof Kozlowski    items:
232220638dSKrzysztof Kozlowski      - description: LPASS LPI TLMM Control and Status registers
242220638dSKrzysztof Kozlowski
252220638dSKrzysztof Kozlowski  clocks:
262220638dSKrzysztof Kozlowski    items:
272220638dSKrzysztof Kozlowski      - description: LPASS Core voting clock
282220638dSKrzysztof Kozlowski      - description: LPASS Audio voting clock
292220638dSKrzysztof Kozlowski
302220638dSKrzysztof Kozlowski  clock-names:
312220638dSKrzysztof Kozlowski    items:
322220638dSKrzysztof Kozlowski      - const: core
332220638dSKrzysztof Kozlowski      - const: audio
342220638dSKrzysztof Kozlowski
352220638dSKrzysztof KozlowskipatternProperties:
362220638dSKrzysztof Kozlowski  "-state$":
372220638dSKrzysztof Kozlowski    oneOf:
382220638dSKrzysztof Kozlowski      - $ref: "#/$defs/qcom-sm8650-lpass-state"
392220638dSKrzysztof Kozlowski      - patternProperties:
402220638dSKrzysztof Kozlowski          "-pins$":
412220638dSKrzysztof Kozlowski            $ref: "#/$defs/qcom-sm8650-lpass-state"
422220638dSKrzysztof Kozlowski        additionalProperties: false
432220638dSKrzysztof Kozlowski
442220638dSKrzysztof Kozlowski$defs:
452220638dSKrzysztof Kozlowski  qcom-sm8650-lpass-state:
462220638dSKrzysztof Kozlowski    type: object
472220638dSKrzysztof Kozlowski    description:
482220638dSKrzysztof Kozlowski      Pinctrl node's client devices use subnodes for desired pin configuration.
492220638dSKrzysztof Kozlowski      Client device subnodes use below standard properties.
50*5a5ecedcSKrzysztof Kozlowski    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
51*5a5ecedcSKrzysztof Kozlowski    unevaluatedProperties: false
522220638dSKrzysztof Kozlowski
532220638dSKrzysztof Kozlowski    properties:
542220638dSKrzysztof Kozlowski      pins:
552220638dSKrzysztof Kozlowski        description:
562220638dSKrzysztof Kozlowski          List of gpio pins affected by the properties specified in this
572220638dSKrzysztof Kozlowski          subnode.
582220638dSKrzysztof Kozlowski        items:
592220638dSKrzysztof Kozlowski          pattern: "^gpio([0-9]|1[0-9]|2[0-2])$"
602220638dSKrzysztof Kozlowski
612220638dSKrzysztof Kozlowski      function:
622220638dSKrzysztof Kozlowski        enum: [ dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, dmic3_clk,
632220638dSKrzysztof Kozlowski                dmic3_data, dmic4_clk, dmic4_data, ext_mclk1_a, ext_mclk1_b,
642220638dSKrzysztof Kozlowski                ext_mclk1_c, ext_mclk1_d, ext_mclk1_e, gpio, i2s0_clk,
652220638dSKrzysztof Kozlowski                i2s0_data, i2s0_ws, i2s1_clk, i2s1_data, i2s1_ws, i2s2_clk,
662220638dSKrzysztof Kozlowski                i2s2_data, i2s2_ws, i2s3_clk, i2s3_data, i2s3_ws, i2s4_clk,
672220638dSKrzysztof Kozlowski                i2s4_data, i2s4_ws, qca_swr_clk, qca_swr_data, slimbus_clk,
682220638dSKrzysztof Kozlowski                slimbus_data, swr_rx_clk, swr_rx_data, swr_tx_clk, swr_tx_data,
692220638dSKrzysztof Kozlowski                wsa_swr_clk, wsa_swr_data, wsa2_swr_clk, wsa2_swr_data ]
702220638dSKrzysztof Kozlowski        description:
712220638dSKrzysztof Kozlowski          Specify the alternative function to be configured for the specified
722220638dSKrzysztof Kozlowski          pins.
732220638dSKrzysztof Kozlowski
742220638dSKrzysztof KozlowskiallOf:
75*5a5ecedcSKrzysztof Kozlowski  - $ref: qcom,lpass-lpi-common.yaml#
762220638dSKrzysztof Kozlowski
772220638dSKrzysztof Kozlowskirequired:
782220638dSKrzysztof Kozlowski  - compatible
792220638dSKrzysztof Kozlowski  - reg
802220638dSKrzysztof Kozlowski  - clocks
812220638dSKrzysztof Kozlowski  - clock-names
822220638dSKrzysztof Kozlowski
83*5a5ecedcSKrzysztof KozlowskiunevaluatedProperties: false
842220638dSKrzysztof Kozlowski
852220638dSKrzysztof Kozlowskiexamples:
862220638dSKrzysztof Kozlowski  - |
872220638dSKrzysztof Kozlowski    #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
882220638dSKrzysztof Kozlowski
892220638dSKrzysztof Kozlowski    lpass_tlmm: pinctrl@6e80000 {
902220638dSKrzysztof Kozlowski        compatible = "qcom,sm8650-lpass-lpi-pinctrl";
912220638dSKrzysztof Kozlowski        reg = <0x06e80000 0x20000>;
922220638dSKrzysztof Kozlowski
932220638dSKrzysztof Kozlowski        clocks = <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
942220638dSKrzysztof Kozlowski                 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
952220638dSKrzysztof Kozlowski        clock-names = "core", "audio";
962220638dSKrzysztof Kozlowski
972220638dSKrzysztof Kozlowski        gpio-controller;
982220638dSKrzysztof Kozlowski        #gpio-cells = <2>;
992220638dSKrzysztof Kozlowski        gpio-ranges = <&lpass_tlmm 0 0 23>;
1002220638dSKrzysztof Kozlowski
1012220638dSKrzysztof Kozlowski        tx-swr-sleep-clk-state {
1022220638dSKrzysztof Kozlowski            pins = "gpio0";
1032220638dSKrzysztof Kozlowski            function = "swr_tx_clk";
1042220638dSKrzysztof Kozlowski            drive-strength = <2>;
1052220638dSKrzysztof Kozlowski            bias-pull-down;
1062220638dSKrzysztof Kozlowski        };
1072220638dSKrzysztof Kozlowski    };
108