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