1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2aa1a8ff2SEmmanuel Vadot%YAML 1.2 3aa1a8ff2SEmmanuel Vadot--- 4aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sm8350-lpass-lpi-pinctrl.yaml# 5aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6aa1a8ff2SEmmanuel Vadot 7aa1a8ff2SEmmanuel Vadottitle: Qualcomm SM8350 SoC LPASS LPI TLMM 8aa1a8ff2SEmmanuel Vadot 9aa1a8ff2SEmmanuel Vadotmaintainers: 10aa1a8ff2SEmmanuel Vadot - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11aa1a8ff2SEmmanuel Vadot - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12aa1a8ff2SEmmanuel Vadot 13aa1a8ff2SEmmanuel Vadotdescription: 14aa1a8ff2SEmmanuel Vadot Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem 15aa1a8ff2SEmmanuel Vadot (LPASS) Low Power Island (LPI) of Qualcomm SM8350 SoC. 16aa1a8ff2SEmmanuel Vadot 17aa1a8ff2SEmmanuel Vadotproperties: 18aa1a8ff2SEmmanuel Vadot compatible: 19aa1a8ff2SEmmanuel Vadot const: qcom,sm8350-lpass-lpi-pinctrl 20aa1a8ff2SEmmanuel Vadot 21aa1a8ff2SEmmanuel Vadot reg: 22aa1a8ff2SEmmanuel Vadot items: 23aa1a8ff2SEmmanuel Vadot - description: LPASS LPI TLMM Control and Status registers 24aa1a8ff2SEmmanuel Vadot - description: LPASS LPI MCC registers 25aa1a8ff2SEmmanuel Vadot 26aa1a8ff2SEmmanuel Vadot clocks: 27aa1a8ff2SEmmanuel Vadot items: 28aa1a8ff2SEmmanuel Vadot - description: LPASS Core voting clock 29aa1a8ff2SEmmanuel Vadot - description: LPASS Audio voting clock 30aa1a8ff2SEmmanuel Vadot 31aa1a8ff2SEmmanuel Vadot clock-names: 32aa1a8ff2SEmmanuel Vadot items: 33aa1a8ff2SEmmanuel Vadot - const: core 34aa1a8ff2SEmmanuel Vadot - const: audio 35aa1a8ff2SEmmanuel Vadot 36aa1a8ff2SEmmanuel VadotpatternProperties: 37aa1a8ff2SEmmanuel Vadot "-state$": 38aa1a8ff2SEmmanuel Vadot oneOf: 39aa1a8ff2SEmmanuel Vadot - $ref: "#/$defs/qcom-sm8350-lpass-state" 40aa1a8ff2SEmmanuel Vadot - patternProperties: 41aa1a8ff2SEmmanuel Vadot "-pins$": 42aa1a8ff2SEmmanuel Vadot $ref: "#/$defs/qcom-sm8350-lpass-state" 43aa1a8ff2SEmmanuel Vadot additionalProperties: false 44aa1a8ff2SEmmanuel Vadot 45aa1a8ff2SEmmanuel Vadot$defs: 46aa1a8ff2SEmmanuel Vadot qcom-sm8350-lpass-state: 47aa1a8ff2SEmmanuel Vadot type: object 48aa1a8ff2SEmmanuel Vadot description: 49aa1a8ff2SEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 50aa1a8ff2SEmmanuel Vadot Client device subnodes use below standard properties. 51*8d13bc63SEmmanuel Vadot $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state 52*8d13bc63SEmmanuel Vadot unevaluatedProperties: false 53aa1a8ff2SEmmanuel Vadot 54aa1a8ff2SEmmanuel Vadot properties: 55aa1a8ff2SEmmanuel Vadot pins: 56aa1a8ff2SEmmanuel Vadot description: 57aa1a8ff2SEmmanuel Vadot List of gpio pins affected by the properties specified in this 58aa1a8ff2SEmmanuel Vadot subnode. 59aa1a8ff2SEmmanuel Vadot items: 60aa1a8ff2SEmmanuel Vadot pattern: "^gpio([0-9]|1[0-9]|2[0-2])$" 61aa1a8ff2SEmmanuel Vadot 62aa1a8ff2SEmmanuel Vadot function: 63aa1a8ff2SEmmanuel Vadot enum: [ dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, dmic3_clk, 64aa1a8ff2SEmmanuel Vadot dmic3_data, dmic4_clk, dmic4_data, ext_mclk1_a, ext_mclk1_b, 65aa1a8ff2SEmmanuel Vadot ext_mclk1_c, ext_mclk1_d, ext_mclk1_e, gpio, i2s0_clk, 66aa1a8ff2SEmmanuel Vadot i2s0_data, i2s0_ws, i2s1_clk, i2s1_data, i2s1_ws, i2s2_clk, 67aa1a8ff2SEmmanuel Vadot i2s2_data, i2s2_ws, i2s3_clk, i2s3_data, i2s3_ws, i2s4_clk, 68aa1a8ff2SEmmanuel Vadot i2s4_data, i2s4_ws, slimbus_clk, slimbus_data, swr_rx_clk, 69aa1a8ff2SEmmanuel Vadot swr_rx_data, swr_tx_clk, swr_tx_data, wsa_swr_clk, 70aa1a8ff2SEmmanuel Vadot wsa_swr_data, wsa2_swr_clk, wsa2_swr_data ] 71aa1a8ff2SEmmanuel Vadot description: 72aa1a8ff2SEmmanuel Vadot Specify the alternative function to be configured for the specified 73aa1a8ff2SEmmanuel Vadot pins. 74aa1a8ff2SEmmanuel Vadot 75aa1a8ff2SEmmanuel VadotallOf: 76*8d13bc63SEmmanuel Vadot - $ref: qcom,lpass-lpi-common.yaml# 77aa1a8ff2SEmmanuel Vadot 78aa1a8ff2SEmmanuel Vadotrequired: 79aa1a8ff2SEmmanuel Vadot - compatible 80aa1a8ff2SEmmanuel Vadot - reg 81aa1a8ff2SEmmanuel Vadot - clocks 82aa1a8ff2SEmmanuel Vadot - clock-names 83aa1a8ff2SEmmanuel Vadot 84*8d13bc63SEmmanuel VadotunevaluatedProperties: false 85aa1a8ff2SEmmanuel Vadot 86aa1a8ff2SEmmanuel Vadotexamples: 87aa1a8ff2SEmmanuel Vadot - | 88aa1a8ff2SEmmanuel Vadot #include <dt-bindings/sound/qcom,q6afe.h> 89aa1a8ff2SEmmanuel Vadot 90aa1a8ff2SEmmanuel Vadot lpass_tlmm: pinctrl@33c0000 { 91aa1a8ff2SEmmanuel Vadot compatible = "qcom,sm8350-lpass-lpi-pinctrl"; 92aa1a8ff2SEmmanuel Vadot reg = <0x033c0000 0x20000>, 93aa1a8ff2SEmmanuel Vadot <0x03550000 0x10000>; 94aa1a8ff2SEmmanuel Vadot 95aa1a8ff2SEmmanuel Vadot clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 96aa1a8ff2SEmmanuel Vadot <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; 97aa1a8ff2SEmmanuel Vadot clock-names = "core", "audio"; 98aa1a8ff2SEmmanuel Vadot 99aa1a8ff2SEmmanuel Vadot gpio-controller; 100aa1a8ff2SEmmanuel Vadot #gpio-cells = <2>; 101aa1a8ff2SEmmanuel Vadot gpio-ranges = <&lpass_tlmm 0 0 15>; 102aa1a8ff2SEmmanuel Vadot }; 103