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