13bf14aecSLuca Weiss# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 23bf14aecSLuca Weiss%YAML 1.2 33bf14aecSLuca Weiss--- 43bf14aecSLuca Weiss$id: http://devicetree.org/schemas/pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml# 53bf14aecSLuca Weiss$schema: http://devicetree.org/meta-schemas/core.yaml# 63bf14aecSLuca Weiss 73bf14aecSLuca Weisstitle: Qualcomm Milos SoC LPASS LPI TLMM 83bf14aecSLuca Weiss 93bf14aecSLuca Weissmaintainers: 103bf14aecSLuca Weiss - Luca Weiss <luca.weiss@fairphone.com> 113bf14aecSLuca Weiss 123bf14aecSLuca Weissdescription: 133bf14aecSLuca Weiss Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem 143bf14aecSLuca Weiss (LPASS) Low Power Island (LPI) of Qualcomm Milos SoC. 153bf14aecSLuca Weiss 163bf14aecSLuca Weissproperties: 173bf14aecSLuca Weiss compatible: 18*f81bcaaeSRavi Hothi enum: 19*f81bcaaeSRavi Hothi - qcom,eliza-lpass-lpi-pinctrl 20*f81bcaaeSRavi Hothi - qcom,milos-lpass-lpi-pinctrl 213bf14aecSLuca Weiss 223bf14aecSLuca Weiss reg: 23*f81bcaaeSRavi Hothi minItems: 1 243bf14aecSLuca Weiss items: 253bf14aecSLuca Weiss - description: LPASS LPI TLMM Control and Status registers 263bf14aecSLuca Weiss - description: LPASS LPI MCC registers 273bf14aecSLuca Weiss 283bf14aecSLuca Weiss clocks: 293bf14aecSLuca Weiss items: 303bf14aecSLuca Weiss - description: LPASS Core voting clock 313bf14aecSLuca Weiss - description: LPASS Audio voting clock 323bf14aecSLuca Weiss 333bf14aecSLuca Weiss clock-names: 343bf14aecSLuca Weiss items: 353bf14aecSLuca Weiss - const: core 363bf14aecSLuca Weiss - const: audio 373bf14aecSLuca Weiss 383bf14aecSLuca WeisspatternProperties: 393bf14aecSLuca Weiss "-state$": 403bf14aecSLuca Weiss oneOf: 413bf14aecSLuca Weiss - $ref: "#/$defs/qcom-milos-lpass-state" 423bf14aecSLuca Weiss - patternProperties: 433bf14aecSLuca Weiss "-pins$": 443bf14aecSLuca Weiss $ref: "#/$defs/qcom-milos-lpass-state" 453bf14aecSLuca Weiss additionalProperties: false 463bf14aecSLuca Weiss 473bf14aecSLuca Weiss$defs: 483bf14aecSLuca Weiss qcom-milos-lpass-state: 493bf14aecSLuca Weiss type: object 503bf14aecSLuca Weiss description: 513bf14aecSLuca Weiss Pinctrl node's client devices use subnodes for desired pin configuration. 523bf14aecSLuca Weiss Client device subnodes use below standard properties. 533bf14aecSLuca Weiss $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state 543bf14aecSLuca Weiss unevaluatedProperties: false 553bf14aecSLuca Weiss 563bf14aecSLuca Weiss properties: 573bf14aecSLuca Weiss pins: 583bf14aecSLuca Weiss description: 593bf14aecSLuca Weiss List of gpio pins affected by the properties specified in this 603bf14aecSLuca Weiss subnode. 613bf14aecSLuca Weiss items: 623bf14aecSLuca Weiss pattern: "^gpio([0-9]|1[0-9]|2[0-2])$" 633bf14aecSLuca Weiss 643bf14aecSLuca Weiss function: 653bf14aecSLuca Weiss enum: [ dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, dmic3_clk, 663bf14aecSLuca Weiss dmic3_data, dmic4_clk, dmic4_data, ext_mclk1_a, ext_mclk1_b, 673bf14aecSLuca Weiss ext_mclk1_c, ext_mclk1_d, ext_mclk1_e, gpio, i2s0_clk, 683bf14aecSLuca Weiss i2s0_data, i2s0_ws, i2s1_clk, i2s1_data, i2s1_ws, i2s2_clk, 693bf14aecSLuca Weiss i2s2_data, i2s2_ws, i2s3_clk, i2s3_data, i2s3_ws, qca_swr_clk, 703bf14aecSLuca Weiss qca_swr_data, slimbus_clk, slimbus_data, swr_rx_clk, 713bf14aecSLuca Weiss swr_rx_data, swr_tx_clk, swr_tx_data, wsa_swr_clk, 723bf14aecSLuca Weiss wsa_swr_data ] 733bf14aecSLuca Weiss description: 743bf14aecSLuca Weiss Specify the alternative function to be configured for the specified 753bf14aecSLuca Weiss pins. 763bf14aecSLuca Weiss 773bf14aecSLuca WeissallOf: 783bf14aecSLuca Weiss - $ref: qcom,lpass-lpi-common.yaml# 793bf14aecSLuca Weiss 80*f81bcaaeSRavi Hothi - if: 81*f81bcaaeSRavi Hothi properties: 82*f81bcaaeSRavi Hothi compatible: 83*f81bcaaeSRavi Hothi const: qcom,eliza-lpass-lpi-pinctrl 84*f81bcaaeSRavi Hothi then: 85*f81bcaaeSRavi Hothi properties: 86*f81bcaaeSRavi Hothi reg: 87*f81bcaaeSRavi Hothi maxItems: 1 88*f81bcaaeSRavi Hothi else: 89*f81bcaaeSRavi Hothi properties: 90*f81bcaaeSRavi Hothi reg: 91*f81bcaaeSRavi Hothi minItems: 2 92*f81bcaaeSRavi Hothi 933bf14aecSLuca Weissrequired: 943bf14aecSLuca Weiss - compatible 953bf14aecSLuca Weiss - reg 963bf14aecSLuca Weiss - clocks 973bf14aecSLuca Weiss - clock-names 983bf14aecSLuca Weiss 993bf14aecSLuca WeissunevaluatedProperties: false 1003bf14aecSLuca Weiss 1013bf14aecSLuca Weissexamples: 1023bf14aecSLuca Weiss - | 1033bf14aecSLuca Weiss #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h> 1043bf14aecSLuca Weiss 1053bf14aecSLuca Weiss pinctrl@3440000 { 1063bf14aecSLuca Weiss compatible = "qcom,milos-lpass-lpi-pinctrl"; 1073bf14aecSLuca Weiss reg = <0x03440000 0x20000>, 1083bf14aecSLuca Weiss <0x034d0000 0x10000>; 1093bf14aecSLuca Weiss gpio-controller; 1103bf14aecSLuca Weiss #gpio-cells = <2>; 1113bf14aecSLuca Weiss gpio-ranges = <&lpass_tlmm 0 0 23>; 1123bf14aecSLuca Weiss 1133bf14aecSLuca Weiss clocks = <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 1143bf14aecSLuca Weiss <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; 1153bf14aecSLuca Weiss clock-names = "core", 1163bf14aecSLuca Weiss "audio"; 1173bf14aecSLuca Weiss 1183bf14aecSLuca Weiss tx-swr-active-clk-state { 1193bf14aecSLuca Weiss pins = "gpio0"; 1203bf14aecSLuca Weiss function = "swr_tx_clk"; 1213bf14aecSLuca Weiss drive-strength = <4>; 1223bf14aecSLuca Weiss slew-rate = <1>; 1233bf14aecSLuca Weiss bias-disable; 1243bf14aecSLuca Weiss }; 1253bf14aecSLuca Weiss }; 126