xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,sc8280xp-lpass-lpi-pinctrl.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27ef62cebSEmmanuel Vadot%YAML 1.2
37ef62cebSEmmanuel Vadot---
47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sc8280xp-lpass-lpi-pinctrl.yaml#
57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
67ef62cebSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Qualcomm SC8280XP SoC LPASS LPI TLMM
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel Vadotmaintainers:
107ef62cebSEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
117ef62cebSEmmanuel Vadot
128bab661aSEmmanuel Vadotdescription:
138bab661aSEmmanuel Vadot  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
148bab661aSEmmanuel Vadot  (LPASS) Low Power Island (LPI) of Qualcomm SC8280XP SoC.
157ef62cebSEmmanuel Vadot
167ef62cebSEmmanuel Vadotproperties:
177ef62cebSEmmanuel Vadot  compatible:
187ef62cebSEmmanuel Vadot    const: qcom,sc8280xp-lpass-lpi-pinctrl
197ef62cebSEmmanuel Vadot
207ef62cebSEmmanuel Vadot  reg:
217ef62cebSEmmanuel Vadot    items:
227ef62cebSEmmanuel Vadot      - description: LPASS LPI TLMM Control and Status registers
23fac71e4eSEmmanuel Vadot      - description: LPASS LPI MCC registers
247ef62cebSEmmanuel Vadot
257ef62cebSEmmanuel Vadot  clocks:
267ef62cebSEmmanuel Vadot    items:
277ef62cebSEmmanuel Vadot      - description: LPASS Core voting clock
287ef62cebSEmmanuel Vadot      - description: LPASS Audio voting clock
297ef62cebSEmmanuel Vadot
307ef62cebSEmmanuel Vadot  clock-names:
317ef62cebSEmmanuel Vadot    items:
327ef62cebSEmmanuel Vadot      - const: core
337ef62cebSEmmanuel Vadot      - const: audio
347ef62cebSEmmanuel Vadot
357ef62cebSEmmanuel VadotpatternProperties:
368bab661aSEmmanuel Vadot  "-state$":
378bab661aSEmmanuel Vadot    oneOf:
388bab661aSEmmanuel Vadot      - $ref: "#/$defs/qcom-sc8280xp-lpass-state"
398bab661aSEmmanuel Vadot      - patternProperties:
408bab661aSEmmanuel Vadot          "-pins$":
418bab661aSEmmanuel Vadot            $ref: "#/$defs/qcom-sc8280xp-lpass-state"
428bab661aSEmmanuel Vadot        additionalProperties: false
438bab661aSEmmanuel Vadot
448bab661aSEmmanuel Vadot$defs:
458bab661aSEmmanuel Vadot  qcom-sc8280xp-lpass-state:
467ef62cebSEmmanuel Vadot    type: object
477ef62cebSEmmanuel Vadot    description:
487ef62cebSEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
497ef62cebSEmmanuel Vadot      Client device subnodes use below standard properties.
50*8d13bc63SEmmanuel Vadot    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
51*8d13bc63SEmmanuel Vadot    unevaluatedProperties: false
527ef62cebSEmmanuel Vadot
537ef62cebSEmmanuel Vadot    properties:
547ef62cebSEmmanuel Vadot      pins:
557ef62cebSEmmanuel Vadot        description:
567ef62cebSEmmanuel Vadot          List of gpio pins affected by the properties specified in this
577ef62cebSEmmanuel Vadot          subnode.
587ef62cebSEmmanuel Vadot        items:
59cb7aa33aSEmmanuel Vadot          pattern: "^gpio([0-9]|1[0-8])$"
607ef62cebSEmmanuel Vadot
617ef62cebSEmmanuel Vadot      function:
627ef62cebSEmmanuel Vadot        enum: [ swr_tx_clk, swr_tx_data, swr_rx_clk, swr_rx_data,
637ef62cebSEmmanuel Vadot                dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, dmic4_clk,
647ef62cebSEmmanuel Vadot                dmic4_data, i2s2_clk, i2s2_ws, dmic3_clk, dmic3_data,
657ef62cebSEmmanuel Vadot                qua_mi2s_sclk, qua_mi2s_ws, qua_mi2s_data, i2s1_clk, i2s1_ws,
667ef62cebSEmmanuel Vadot                i2s1_data, wsa_swr_clk, wsa_swr_data, wsa2_swr_clk,
677ef62cebSEmmanuel Vadot                wsa2_swr_data, i2s2_data, i2s3_clk, i2s3_ws, i2s3_data,
687ef62cebSEmmanuel Vadot                ext_mclk1_c, ext_mclk1_b, ext_mclk1_a ]
697ef62cebSEmmanuel Vadot        description:
707ef62cebSEmmanuel Vadot          Specify the alternative function to be configured for the specified
717ef62cebSEmmanuel Vadot          pins.
727ef62cebSEmmanuel Vadot
737ef62cebSEmmanuel VadotallOf:
74*8d13bc63SEmmanuel Vadot  - $ref: qcom,lpass-lpi-common.yaml#
757ef62cebSEmmanuel Vadot
767ef62cebSEmmanuel Vadotrequired:
777ef62cebSEmmanuel Vadot  - compatible
787ef62cebSEmmanuel Vadot  - reg
797ef62cebSEmmanuel Vadot  - clocks
807ef62cebSEmmanuel Vadot  - clock-names
817ef62cebSEmmanuel Vadot
82*8d13bc63SEmmanuel VadotunevaluatedProperties: false
837ef62cebSEmmanuel Vadot
847ef62cebSEmmanuel Vadotexamples:
857ef62cebSEmmanuel Vadot  - |
867ef62cebSEmmanuel Vadot    #include <dt-bindings/sound/qcom,q6afe.h>
877ef62cebSEmmanuel Vadot    pinctrl@33c0000 {
887ef62cebSEmmanuel Vadot        compatible = "qcom,sc8280xp-lpass-lpi-pinctrl";
897ef62cebSEmmanuel Vadot        reg = <0x33c0000 0x20000>,
907ef62cebSEmmanuel Vadot              <0x3550000 0x10000>;
917ef62cebSEmmanuel Vadot        clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
927ef62cebSEmmanuel Vadot                 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
937ef62cebSEmmanuel Vadot        clock-names = "core", "audio";
947ef62cebSEmmanuel Vadot        gpio-controller;
957ef62cebSEmmanuel Vadot        #gpio-cells = <2>;
96cb7aa33aSEmmanuel Vadot        gpio-ranges = <&lpi_tlmm 0 0 19>;
978bab661aSEmmanuel Vadot
988bab661aSEmmanuel Vadot        dmic01-state {
998bab661aSEmmanuel Vadot            dmic01-clk-pins {
1008bab661aSEmmanuel Vadot                pins = "gpio16";
1018bab661aSEmmanuel Vadot                function = "dmic1_clk";
1028bab661aSEmmanuel Vadot            };
1038bab661aSEmmanuel Vadot
1048bab661aSEmmanuel Vadot            dmic01-clk-sleep-pins {
1058bab661aSEmmanuel Vadot                pins = "gpio16";
1068bab661aSEmmanuel Vadot                function = "dmic1_clk";
1078bab661aSEmmanuel Vadot            };
1088bab661aSEmmanuel Vadot        };
1098bab661aSEmmanuel Vadot
1108bab661aSEmmanuel Vadot        tx-swr-data-sleep-state {
1118bab661aSEmmanuel Vadot            pins = "gpio0", "gpio1";
1128bab661aSEmmanuel Vadot            function = "swr_tx_data";
1138bab661aSEmmanuel Vadot        };
1147ef62cebSEmmanuel Vadot    };
115