1e343cff7SSrinivasa Rao Mandadapu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2e343cff7SSrinivasa Rao Mandadapu%YAML 1.2 3e343cff7SSrinivasa Rao Mandadapu--- 4e343cff7SSrinivasa Rao Mandadapu$id: http://devicetree.org/schemas/pinctrl/qcom,sm8250-lpass-lpi-pinctrl.yaml# 5e343cff7SSrinivasa Rao Mandadapu$schema: http://devicetree.org/meta-schemas/core.yaml# 6e343cff7SSrinivasa Rao Mandadapu 727404203SKrzysztof Kozlowskititle: Qualcomm SM8250 SoC LPASS LPI TLMM 8e343cff7SSrinivasa Rao Mandadapu 9e343cff7SSrinivasa Rao Mandadapumaintainers: 10e343cff7SSrinivasa Rao Mandadapu - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11e343cff7SSrinivasa Rao Mandadapu 1227404203SKrzysztof Kozlowskidescription: 1327404203SKrzysztof Kozlowski Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem 1427404203SKrzysztof Kozlowski (LPASS) Low Power Island (LPI) of Qualcomm SM8250 SoC. 15e343cff7SSrinivasa Rao Mandadapu 16e343cff7SSrinivasa Rao Mandadapuproperties: 17e343cff7SSrinivasa Rao Mandadapu compatible: 18e343cff7SSrinivasa Rao Mandadapu const: qcom,sm8250-lpass-lpi-pinctrl 19e343cff7SSrinivasa Rao Mandadapu 20e343cff7SSrinivasa Rao Mandadapu reg: 21e343cff7SSrinivasa Rao Mandadapu maxItems: 2 22e343cff7SSrinivasa Rao Mandadapu 23e343cff7SSrinivasa Rao Mandadapu clocks: 24e343cff7SSrinivasa Rao Mandadapu items: 25e343cff7SSrinivasa Rao Mandadapu - description: LPASS Core voting clock 26e343cff7SSrinivasa Rao Mandadapu - description: LPASS Audio voting clock 27e343cff7SSrinivasa Rao Mandadapu 28e343cff7SSrinivasa Rao Mandadapu clock-names: 29e343cff7SSrinivasa Rao Mandadapu items: 30e343cff7SSrinivasa Rao Mandadapu - const: core 31e343cff7SSrinivasa Rao Mandadapu - const: audio 32e343cff7SSrinivasa Rao Mandadapu 33e343cff7SSrinivasa Rao Mandadapu gpio-controller: true 34e343cff7SSrinivasa Rao Mandadapu 3527404203SKrzysztof Kozlowski "#gpio-cells": 36e343cff7SSrinivasa Rao Mandadapu description: Specifying the pin number and flags, as defined in 37e343cff7SSrinivasa Rao Mandadapu include/dt-bindings/gpio/gpio.h 38e343cff7SSrinivasa Rao Mandadapu const: 2 39e343cff7SSrinivasa Rao Mandadapu 40e343cff7SSrinivasa Rao Mandadapu gpio-ranges: 41e343cff7SSrinivasa Rao Mandadapu maxItems: 1 42e343cff7SSrinivasa Rao Mandadapu 43e343cff7SSrinivasa Rao MandadapupatternProperties: 44351123e6SKrzysztof Kozlowski "-state$": 45351123e6SKrzysztof Kozlowski oneOf: 46351123e6SKrzysztof Kozlowski - $ref: "#/$defs/qcom-sm8250-lpass-state" 47351123e6SKrzysztof Kozlowski - patternProperties: 48351123e6SKrzysztof Kozlowski "-pins$": 49351123e6SKrzysztof Kozlowski $ref: "#/$defs/qcom-sm8250-lpass-state" 50351123e6SKrzysztof Kozlowski additionalProperties: false 51351123e6SKrzysztof Kozlowski 52351123e6SKrzysztof Kozlowski$defs: 53351123e6SKrzysztof Kozlowski qcom-sm8250-lpass-state: 54e343cff7SSrinivasa Rao Mandadapu type: object 55e343cff7SSrinivasa Rao Mandadapu description: 56e343cff7SSrinivasa Rao Mandadapu Pinctrl node's client devices use subnodes for desired pin configuration. 57e343cff7SSrinivasa Rao Mandadapu Client device subnodes use below standard properties. 58*49cd1dd1SRob Herring $ref: /schemas/pinctrl/pincfg-node.yaml 59e343cff7SSrinivasa Rao Mandadapu 60e343cff7SSrinivasa Rao Mandadapu properties: 61e343cff7SSrinivasa Rao Mandadapu pins: 62e343cff7SSrinivasa Rao Mandadapu description: 63e343cff7SSrinivasa Rao Mandadapu List of gpio pins affected by the properties specified in this 64e343cff7SSrinivasa Rao Mandadapu subnode. 65e343cff7SSrinivasa Rao Mandadapu items: 66e343cff7SSrinivasa Rao Mandadapu oneOf: 67315dffb8SKrzysztof Kozlowski - pattern: "^gpio([0-9]|1[0-3])$" 68e343cff7SSrinivasa Rao Mandadapu minItems: 1 69e343cff7SSrinivasa Rao Mandadapu maxItems: 14 70e343cff7SSrinivasa Rao Mandadapu 71e343cff7SSrinivasa Rao Mandadapu function: 72e343cff7SSrinivasa Rao Mandadapu enum: [ gpio, swr_tx_clk, qua_mi2s_sclk, swr_tx_data, qua_mi2s_ws, 73e343cff7SSrinivasa Rao Mandadapu qua_mi2s_data, swr_rx_clk, swr_rx_data, dmic1_clk, i2s1_clk, 74e343cff7SSrinivasa Rao Mandadapu dmic1_data, i2s1_ws, dmic2_clk, dmic2_data, i2s1_data, 75e343cff7SSrinivasa Rao Mandadapu i2s2_clk, wsa_swr_clk, i2s2_ws, wsa_swr_data, dmic3_clk, 76e343cff7SSrinivasa Rao Mandadapu dmic3_data, i2s2_data ] 77e343cff7SSrinivasa Rao Mandadapu description: 78e343cff7SSrinivasa Rao Mandadapu Specify the alternative function to be configured for the specified 79e343cff7SSrinivasa Rao Mandadapu pins. 80e343cff7SSrinivasa Rao Mandadapu 81e343cff7SSrinivasa Rao Mandadapu drive-strength: 82e343cff7SSrinivasa Rao Mandadapu enum: [2, 4, 6, 8, 10, 12, 14, 16] 83e343cff7SSrinivasa Rao Mandadapu default: 2 84e343cff7SSrinivasa Rao Mandadapu description: 85e343cff7SSrinivasa Rao Mandadapu Selects the drive strength for the specified pins, in mA. 86e343cff7SSrinivasa Rao Mandadapu 87e343cff7SSrinivasa Rao Mandadapu slew-rate: 88e343cff7SSrinivasa Rao Mandadapu enum: [0, 1, 2, 3] 89e343cff7SSrinivasa Rao Mandadapu default: 0 90e343cff7SSrinivasa Rao Mandadapu description: | 91e343cff7SSrinivasa Rao Mandadapu 0: No adjustments 92e343cff7SSrinivasa Rao Mandadapu 1: Higher Slew rate (faster edges) 93e343cff7SSrinivasa Rao Mandadapu 2: Lower Slew rate (slower edges) 94e343cff7SSrinivasa Rao Mandadapu 3: Reserved (No adjustments) 95e343cff7SSrinivasa Rao Mandadapu 96e343cff7SSrinivasa Rao Mandadapu bias-pull-down: true 97e343cff7SSrinivasa Rao Mandadapu bias-pull-up: true 98a76a13c8SKrzysztof Kozlowski bias-bus-hold: true 99e343cff7SSrinivasa Rao Mandadapu bias-disable: true 100a76a13c8SKrzysztof Kozlowski input-enable: true 101e343cff7SSrinivasa Rao Mandadapu output-high: true 102e343cff7SSrinivasa Rao Mandadapu output-low: true 103e343cff7SSrinivasa Rao Mandadapu 104e343cff7SSrinivasa Rao Mandadapu required: 105e343cff7SSrinivasa Rao Mandadapu - pins 106e343cff7SSrinivasa Rao Mandadapu - function 107e343cff7SSrinivasa Rao Mandadapu 108e343cff7SSrinivasa Rao Mandadapu additionalProperties: false 109e343cff7SSrinivasa Rao Mandadapu 110e343cff7SSrinivasa Rao MandadapuallOf: 11127404203SKrzysztof Kozlowski - $ref: pinctrl.yaml# 112e343cff7SSrinivasa Rao Mandadapu 113e343cff7SSrinivasa Rao Mandadapurequired: 114e343cff7SSrinivasa Rao Mandadapu - compatible 115e343cff7SSrinivasa Rao Mandadapu - reg 116e343cff7SSrinivasa Rao Mandadapu - clocks 117e343cff7SSrinivasa Rao Mandadapu - clock-names 118e343cff7SSrinivasa Rao Mandadapu - gpio-controller 11927404203SKrzysztof Kozlowski - "#gpio-cells" 120e343cff7SSrinivasa Rao Mandadapu - gpio-ranges 121e343cff7SSrinivasa Rao Mandadapu 122e343cff7SSrinivasa Rao MandadapuadditionalProperties: false 123e343cff7SSrinivasa Rao Mandadapu 124e343cff7SSrinivasa Rao Mandadapuexamples: 125e343cff7SSrinivasa Rao Mandadapu - | 126e343cff7SSrinivasa Rao Mandadapu #include <dt-bindings/sound/qcom,q6afe.h> 127e343cff7SSrinivasa Rao Mandadapu lpi_tlmm: pinctrl@33c0000 { 128e343cff7SSrinivasa Rao Mandadapu compatible = "qcom,sm8250-lpass-lpi-pinctrl"; 129e343cff7SSrinivasa Rao Mandadapu reg = <0x33c0000 0x20000>, 130e343cff7SSrinivasa Rao Mandadapu <0x3550000 0x10000>; 131e343cff7SSrinivasa Rao Mandadapu clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 132e343cff7SSrinivasa Rao Mandadapu <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; 133e343cff7SSrinivasa Rao Mandadapu clock-names = "core", "audio"; 134e343cff7SSrinivasa Rao Mandadapu gpio-controller; 135e343cff7SSrinivasa Rao Mandadapu #gpio-cells = <2>; 136e343cff7SSrinivasa Rao Mandadapu gpio-ranges = <&lpi_tlmm 0 0 14>; 137351123e6SKrzysztof Kozlowski 138351123e6SKrzysztof Kozlowski wsa-swr-active-state { 139351123e6SKrzysztof Kozlowski clk-pins { 140351123e6SKrzysztof Kozlowski pins = "gpio10"; 141351123e6SKrzysztof Kozlowski function = "wsa_swr_clk"; 142351123e6SKrzysztof Kozlowski drive-strength = <2>; 143351123e6SKrzysztof Kozlowski slew-rate = <1>; 144351123e6SKrzysztof Kozlowski bias-disable; 145351123e6SKrzysztof Kozlowski }; 146351123e6SKrzysztof Kozlowski 147351123e6SKrzysztof Kozlowski data-pins { 148351123e6SKrzysztof Kozlowski pins = "gpio11"; 149351123e6SKrzysztof Kozlowski function = "wsa_swr_data"; 150351123e6SKrzysztof Kozlowski drive-strength = <2>; 151351123e6SKrzysztof Kozlowski slew-rate = <1>; 152351123e6SKrzysztof Kozlowski }; 153351123e6SKrzysztof Kozlowski }; 154351123e6SKrzysztof Kozlowski 155351123e6SKrzysztof Kozlowski tx-swr-sleep-clk-state { 156351123e6SKrzysztof Kozlowski pins = "gpio0"; 157351123e6SKrzysztof Kozlowski function = "swr_tx_clk"; 158351123e6SKrzysztof Kozlowski drive-strength = <2>; 159351123e6SKrzysztof Kozlowski bias-pull-down; 160351123e6SKrzysztof Kozlowski }; 161e343cff7SSrinivasa Rao Mandadapu }; 162