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,sm8450-lpass-lpi-pinctrl.yaml# 57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 67ef62cebSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Qualcomm SM8450 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 SM8450 SoC. 157ef62cebSEmmanuel Vadot 167ef62cebSEmmanuel Vadotproperties: 177ef62cebSEmmanuel Vadot compatible: 187ef62cebSEmmanuel Vadot const: qcom,sm8450-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-sm8450-lpass-state" 398bab661aSEmmanuel Vadot - patternProperties: 408bab661aSEmmanuel Vadot "-pins$": 418bab661aSEmmanuel Vadot $ref: "#/$defs/qcom-sm8450-lpass-state" 428bab661aSEmmanuel Vadot additionalProperties: false 438bab661aSEmmanuel Vadot 448bab661aSEmmanuel Vadot$defs: 458bab661aSEmmanuel Vadot qcom-sm8450-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-9]|2[0-2])$" 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, i2s4_ws, i2s4_clk, i2s4_data, 687ef62cebSEmmanuel Vadot slimbus_clk, i2s3_clk, i2s3_ws, i2s3_data, slimbus_data, 697ef62cebSEmmanuel Vadot ext_mclk1_c, ext_mclk1_b, ext_mclk1_a, ext_mclk1_d, 707ef62cebSEmmanuel Vadot ext_mclk1_e ] 717ef62cebSEmmanuel Vadot description: 727ef62cebSEmmanuel Vadot Specify the alternative function to be configured for the specified 737ef62cebSEmmanuel Vadot pins. 747ef62cebSEmmanuel Vadot 757ef62cebSEmmanuel VadotallOf: 76*8d13bc63SEmmanuel Vadot - $ref: qcom,lpass-lpi-common.yaml# 777ef62cebSEmmanuel Vadot 787ef62cebSEmmanuel Vadotrequired: 797ef62cebSEmmanuel Vadot - compatible 807ef62cebSEmmanuel Vadot - reg 817ef62cebSEmmanuel Vadot - clocks 827ef62cebSEmmanuel Vadot - clock-names 837ef62cebSEmmanuel Vadot 84*8d13bc63SEmmanuel VadotunevaluatedProperties: false 857ef62cebSEmmanuel Vadot 867ef62cebSEmmanuel Vadotexamples: 877ef62cebSEmmanuel Vadot - | 887ef62cebSEmmanuel Vadot #include <dt-bindings/sound/qcom,q6afe.h> 897ef62cebSEmmanuel Vadot pinctrl@3440000 { 907ef62cebSEmmanuel Vadot compatible = "qcom,sm8450-lpass-lpi-pinctrl"; 917ef62cebSEmmanuel Vadot reg = <0x3440000 0x20000>, 927ef62cebSEmmanuel Vadot <0x34d0000 0x10000>; 937ef62cebSEmmanuel Vadot clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 947ef62cebSEmmanuel Vadot <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; 957ef62cebSEmmanuel Vadot clock-names = "core", "audio"; 967ef62cebSEmmanuel Vadot gpio-controller; 977ef62cebSEmmanuel Vadot #gpio-cells = <2>; 987ef62cebSEmmanuel Vadot gpio-ranges = <&lpi_tlmm 0 0 23>; 998bab661aSEmmanuel Vadot 1008bab661aSEmmanuel Vadot wsa-swr-active-state { 1018bab661aSEmmanuel Vadot clk-pins { 1028bab661aSEmmanuel Vadot pins = "gpio10"; 1038bab661aSEmmanuel Vadot function = "wsa_swr_clk"; 1048bab661aSEmmanuel Vadot drive-strength = <2>; 1058bab661aSEmmanuel Vadot slew-rate = <1>; 1068bab661aSEmmanuel Vadot bias-disable; 1078bab661aSEmmanuel Vadot }; 1088bab661aSEmmanuel Vadot 1098bab661aSEmmanuel Vadot data-pins { 1108bab661aSEmmanuel Vadot pins = "gpio11"; 1118bab661aSEmmanuel Vadot function = "wsa_swr_data"; 1128bab661aSEmmanuel Vadot drive-strength = <2>; 1138bab661aSEmmanuel Vadot slew-rate = <1>; 1148bab661aSEmmanuel Vadot }; 1158bab661aSEmmanuel Vadot }; 1168bab661aSEmmanuel Vadot 1178bab661aSEmmanuel Vadot tx-swr-sleep-clk-state { 1188bab661aSEmmanuel Vadot pins = "gpio0"; 1198bab661aSEmmanuel Vadot function = "swr_tx_clk"; 1208bab661aSEmmanuel Vadot drive-strength = <2>; 1218bab661aSEmmanuel Vadot bias-pull-down; 1228bab661aSEmmanuel Vadot }; 1237ef62cebSEmmanuel Vadot }; 124