xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,sm8650-lpass-lpi-pinctrl.yaml (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
18d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28d13bc63SEmmanuel Vadot%YAML 1.2
38d13bc63SEmmanuel Vadot---
48d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sm8650-lpass-lpi-pinctrl.yaml#
58d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68d13bc63SEmmanuel Vadot
78d13bc63SEmmanuel Vadottitle: Qualcomm SM8650 SoC LPASS LPI TLMM
88d13bc63SEmmanuel Vadot
98d13bc63SEmmanuel Vadotmaintainers:
108d13bc63SEmmanuel Vadot  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
118d13bc63SEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
128d13bc63SEmmanuel Vadot
138d13bc63SEmmanuel Vadotdescription:
148d13bc63SEmmanuel Vadot  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
158d13bc63SEmmanuel Vadot  (LPASS) Low Power Island (LPI) of Qualcomm SM8650 SoC.
168d13bc63SEmmanuel Vadot
178d13bc63SEmmanuel Vadotproperties:
188d13bc63SEmmanuel Vadot  compatible:
19*5f62a964SEmmanuel Vadot    oneOf:
20*5f62a964SEmmanuel Vadot      - const: qcom,sm8650-lpass-lpi-pinctrl
21*5f62a964SEmmanuel Vadot      - items:
22*5f62a964SEmmanuel Vadot          - const: qcom,sm8750-lpass-lpi-pinctrl
23*5f62a964SEmmanuel Vadot          - const: qcom,sm8650-lpass-lpi-pinctrl
248d13bc63SEmmanuel Vadot
258d13bc63SEmmanuel Vadot  reg:
268d13bc63SEmmanuel Vadot    items:
278d13bc63SEmmanuel Vadot      - description: LPASS LPI TLMM Control and Status registers
288d13bc63SEmmanuel Vadot
298d13bc63SEmmanuel Vadot  clocks:
308d13bc63SEmmanuel Vadot    items:
318d13bc63SEmmanuel Vadot      - description: LPASS Core voting clock
328d13bc63SEmmanuel Vadot      - description: LPASS Audio voting clock
338d13bc63SEmmanuel Vadot
348d13bc63SEmmanuel Vadot  clock-names:
358d13bc63SEmmanuel Vadot    items:
368d13bc63SEmmanuel Vadot      - const: core
378d13bc63SEmmanuel Vadot      - const: audio
388d13bc63SEmmanuel Vadot
398d13bc63SEmmanuel VadotpatternProperties:
408d13bc63SEmmanuel Vadot  "-state$":
418d13bc63SEmmanuel Vadot    oneOf:
428d13bc63SEmmanuel Vadot      - $ref: "#/$defs/qcom-sm8650-lpass-state"
438d13bc63SEmmanuel Vadot      - patternProperties:
448d13bc63SEmmanuel Vadot          "-pins$":
458d13bc63SEmmanuel Vadot            $ref: "#/$defs/qcom-sm8650-lpass-state"
468d13bc63SEmmanuel Vadot        additionalProperties: false
478d13bc63SEmmanuel Vadot
488d13bc63SEmmanuel Vadot$defs:
498d13bc63SEmmanuel Vadot  qcom-sm8650-lpass-state:
508d13bc63SEmmanuel Vadot    type: object
518d13bc63SEmmanuel Vadot    description:
528d13bc63SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
538d13bc63SEmmanuel Vadot      Client device subnodes use below standard properties.
548d13bc63SEmmanuel Vadot    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
558d13bc63SEmmanuel Vadot    unevaluatedProperties: false
568d13bc63SEmmanuel Vadot
578d13bc63SEmmanuel Vadot    properties:
588d13bc63SEmmanuel Vadot      pins:
598d13bc63SEmmanuel Vadot        description:
608d13bc63SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
618d13bc63SEmmanuel Vadot          subnode.
628d13bc63SEmmanuel Vadot        items:
638d13bc63SEmmanuel Vadot          pattern: "^gpio([0-9]|1[0-9]|2[0-2])$"
648d13bc63SEmmanuel Vadot
658d13bc63SEmmanuel Vadot      function:
668d13bc63SEmmanuel Vadot        enum: [ dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, dmic3_clk,
678d13bc63SEmmanuel Vadot                dmic3_data, dmic4_clk, dmic4_data, ext_mclk1_a, ext_mclk1_b,
688d13bc63SEmmanuel Vadot                ext_mclk1_c, ext_mclk1_d, ext_mclk1_e, gpio, i2s0_clk,
698d13bc63SEmmanuel Vadot                i2s0_data, i2s0_ws, i2s1_clk, i2s1_data, i2s1_ws, i2s2_clk,
708d13bc63SEmmanuel Vadot                i2s2_data, i2s2_ws, i2s3_clk, i2s3_data, i2s3_ws, i2s4_clk,
718d13bc63SEmmanuel Vadot                i2s4_data, i2s4_ws, qca_swr_clk, qca_swr_data, slimbus_clk,
728d13bc63SEmmanuel Vadot                slimbus_data, swr_rx_clk, swr_rx_data, swr_tx_clk, swr_tx_data,
738d13bc63SEmmanuel Vadot                wsa_swr_clk, wsa_swr_data, wsa2_swr_clk, wsa2_swr_data ]
748d13bc63SEmmanuel Vadot        description:
758d13bc63SEmmanuel Vadot          Specify the alternative function to be configured for the specified
768d13bc63SEmmanuel Vadot          pins.
778d13bc63SEmmanuel Vadot
788d13bc63SEmmanuel VadotallOf:
798d13bc63SEmmanuel Vadot  - $ref: qcom,lpass-lpi-common.yaml#
808d13bc63SEmmanuel Vadot
818d13bc63SEmmanuel Vadotrequired:
828d13bc63SEmmanuel Vadot  - compatible
838d13bc63SEmmanuel Vadot  - reg
848d13bc63SEmmanuel Vadot  - clocks
858d13bc63SEmmanuel Vadot  - clock-names
868d13bc63SEmmanuel Vadot
878d13bc63SEmmanuel VadotunevaluatedProperties: false
888d13bc63SEmmanuel Vadot
898d13bc63SEmmanuel Vadotexamples:
908d13bc63SEmmanuel Vadot  - |
918d13bc63SEmmanuel Vadot    #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
928d13bc63SEmmanuel Vadot
938d13bc63SEmmanuel Vadot    lpass_tlmm: pinctrl@6e80000 {
948d13bc63SEmmanuel Vadot        compatible = "qcom,sm8650-lpass-lpi-pinctrl";
958d13bc63SEmmanuel Vadot        reg = <0x06e80000 0x20000>;
968d13bc63SEmmanuel Vadot
978d13bc63SEmmanuel Vadot        clocks = <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
988d13bc63SEmmanuel Vadot                 <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
998d13bc63SEmmanuel Vadot        clock-names = "core", "audio";
1008d13bc63SEmmanuel Vadot
1018d13bc63SEmmanuel Vadot        gpio-controller;
1028d13bc63SEmmanuel Vadot        #gpio-cells = <2>;
1038d13bc63SEmmanuel Vadot        gpio-ranges = <&lpass_tlmm 0 0 23>;
1048d13bc63SEmmanuel Vadot
1058d13bc63SEmmanuel Vadot        tx-swr-sleep-clk-state {
1068d13bc63SEmmanuel Vadot            pins = "gpio0";
1078d13bc63SEmmanuel Vadot            function = "swr_tx_clk";
1088d13bc63SEmmanuel Vadot            drive-strength = <2>;
1098d13bc63SEmmanuel Vadot            bias-pull-down;
1108d13bc63SEmmanuel Vadot        };
1118d13bc63SEmmanuel Vadot    };
112