1958bb025SSrinivas Kandagatla# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2958bb025SSrinivas Kandagatla%YAML 1.2 3958bb025SSrinivas Kandagatla--- 4958bb025SSrinivas Kandagatla$id: http://devicetree.org/schemas/pinctrl/qcom,sc8280xp-lpass-lpi-pinctrl.yaml# 5958bb025SSrinivas Kandagatla$schema: http://devicetree.org/meta-schemas/core.yaml# 6958bb025SSrinivas Kandagatla 7e1c36247SKrzysztof Kozlowskititle: Qualcomm SC8280XP SoC LPASS LPI TLMM 8958bb025SSrinivas Kandagatla 9958bb025SSrinivas Kandagatlamaintainers: 10958bb025SSrinivas Kandagatla - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11958bb025SSrinivas Kandagatla 12e1c36247SKrzysztof Kozlowskidescription: 13e1c36247SKrzysztof Kozlowski Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem 14e1c36247SKrzysztof Kozlowski (LPASS) Low Power Island (LPI) of Qualcomm SC8280XP SoC. 15958bb025SSrinivas Kandagatla 16958bb025SSrinivas Kandagatlaproperties: 17958bb025SSrinivas Kandagatla compatible: 18958bb025SSrinivas Kandagatla const: qcom,sc8280xp-lpass-lpi-pinctrl 19958bb025SSrinivas Kandagatla 20958bb025SSrinivas Kandagatla reg: 21958bb025SSrinivas Kandagatla items: 22958bb025SSrinivas Kandagatla - description: LPASS LPI TLMM Control and Status registers 23958bb025SSrinivas Kandagatla - description: LPASS LPI pins SLEW registers 24958bb025SSrinivas Kandagatla 25958bb025SSrinivas Kandagatla clocks: 26958bb025SSrinivas Kandagatla items: 27958bb025SSrinivas Kandagatla - description: LPASS Core voting clock 28958bb025SSrinivas Kandagatla - description: LPASS Audio voting clock 29958bb025SSrinivas Kandagatla 30958bb025SSrinivas Kandagatla clock-names: 31958bb025SSrinivas Kandagatla items: 32958bb025SSrinivas Kandagatla - const: core 33958bb025SSrinivas Kandagatla - const: audio 34958bb025SSrinivas Kandagatla 35958bb025SSrinivas Kandagatla gpio-controller: true 36958bb025SSrinivas Kandagatla 37e1c36247SKrzysztof Kozlowski "#gpio-cells": 38958bb025SSrinivas Kandagatla description: Specifying the pin number and flags, as defined in 39958bb025SSrinivas Kandagatla include/dt-bindings/gpio/gpio.h 40958bb025SSrinivas Kandagatla const: 2 41958bb025SSrinivas Kandagatla 42958bb025SSrinivas Kandagatla gpio-ranges: 43958bb025SSrinivas Kandagatla maxItems: 1 44958bb025SSrinivas Kandagatla 45958bb025SSrinivas KandagatlapatternProperties: 46b47a6c8bSKrzysztof Kozlowski "-state$": 47b47a6c8bSKrzysztof Kozlowski oneOf: 48b47a6c8bSKrzysztof Kozlowski - $ref: "#/$defs/qcom-sc8280xp-lpass-state" 49b47a6c8bSKrzysztof Kozlowski - patternProperties: 50b47a6c8bSKrzysztof Kozlowski "-pins$": 51b47a6c8bSKrzysztof Kozlowski $ref: "#/$defs/qcom-sc8280xp-lpass-state" 52b47a6c8bSKrzysztof Kozlowski additionalProperties: false 53b47a6c8bSKrzysztof Kozlowski 54b47a6c8bSKrzysztof Kozlowski$defs: 55b47a6c8bSKrzysztof Kozlowski qcom-sc8280xp-lpass-state: 56958bb025SSrinivas Kandagatla type: object 57958bb025SSrinivas Kandagatla description: 58958bb025SSrinivas Kandagatla Pinctrl node's client devices use subnodes for desired pin configuration. 59958bb025SSrinivas Kandagatla Client device subnodes use below standard properties. 60958bb025SSrinivas Kandagatla $ref: /schemas/pinctrl/pincfg-node.yaml 61958bb025SSrinivas Kandagatla 62958bb025SSrinivas Kandagatla properties: 63958bb025SSrinivas Kandagatla pins: 64958bb025SSrinivas Kandagatla description: 65958bb025SSrinivas Kandagatla List of gpio pins affected by the properties specified in this 66958bb025SSrinivas Kandagatla subnode. 67958bb025SSrinivas Kandagatla items: 68*3c90b1baSKrzysztof Kozlowski pattern: "^gpio([0-9]|1[0-8])$" 69958bb025SSrinivas Kandagatla 70958bb025SSrinivas Kandagatla function: 71958bb025SSrinivas Kandagatla enum: [ swr_tx_clk, swr_tx_data, swr_rx_clk, swr_rx_data, 72958bb025SSrinivas Kandagatla dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, dmic4_clk, 73958bb025SSrinivas Kandagatla dmic4_data, i2s2_clk, i2s2_ws, dmic3_clk, dmic3_data, 74958bb025SSrinivas Kandagatla qua_mi2s_sclk, qua_mi2s_ws, qua_mi2s_data, i2s1_clk, i2s1_ws, 75958bb025SSrinivas Kandagatla i2s1_data, wsa_swr_clk, wsa_swr_data, wsa2_swr_clk, 76958bb025SSrinivas Kandagatla wsa2_swr_data, i2s2_data, i2s3_clk, i2s3_ws, i2s3_data, 77958bb025SSrinivas Kandagatla ext_mclk1_c, ext_mclk1_b, ext_mclk1_a ] 78958bb025SSrinivas Kandagatla description: 79958bb025SSrinivas Kandagatla Specify the alternative function to be configured for the specified 80958bb025SSrinivas Kandagatla pins. 81958bb025SSrinivas Kandagatla 82958bb025SSrinivas Kandagatla drive-strength: 83958bb025SSrinivas Kandagatla enum: [2, 4, 6, 8, 10, 12, 14, 16] 84958bb025SSrinivas Kandagatla default: 2 85958bb025SSrinivas Kandagatla description: 86958bb025SSrinivas Kandagatla Selects the drive strength for the specified pins, in mA. 87958bb025SSrinivas Kandagatla 88958bb025SSrinivas Kandagatla slew-rate: 89958bb025SSrinivas Kandagatla enum: [0, 1, 2, 3] 90958bb025SSrinivas Kandagatla default: 0 91958bb025SSrinivas Kandagatla description: | 92958bb025SSrinivas Kandagatla 0: No adjustments 93958bb025SSrinivas Kandagatla 1: Higher Slew rate (faster edges) 94958bb025SSrinivas Kandagatla 2: Lower Slew rate (slower edges) 95958bb025SSrinivas Kandagatla 3: Reserved (No adjustments) 96958bb025SSrinivas Kandagatla 97958bb025SSrinivas Kandagatla bias-pull-down: true 98958bb025SSrinivas Kandagatla 99958bb025SSrinivas Kandagatla bias-pull-up: true 100958bb025SSrinivas Kandagatla 101958bb025SSrinivas Kandagatla bias-disable: true 102958bb025SSrinivas Kandagatla 103958bb025SSrinivas Kandagatla output-high: true 104958bb025SSrinivas Kandagatla 105958bb025SSrinivas Kandagatla output-low: true 106958bb025SSrinivas Kandagatla 107958bb025SSrinivas Kandagatla required: 108958bb025SSrinivas Kandagatla - pins 109958bb025SSrinivas Kandagatla - function 110958bb025SSrinivas Kandagatla 111958bb025SSrinivas Kandagatla additionalProperties: false 112958bb025SSrinivas Kandagatla 113958bb025SSrinivas KandagatlaallOf: 114958bb025SSrinivas Kandagatla - $ref: pinctrl.yaml# 115958bb025SSrinivas Kandagatla 116958bb025SSrinivas Kandagatlarequired: 117958bb025SSrinivas Kandagatla - compatible 118958bb025SSrinivas Kandagatla - reg 119958bb025SSrinivas Kandagatla - clocks 120958bb025SSrinivas Kandagatla - clock-names 121958bb025SSrinivas Kandagatla - gpio-controller 122e1c36247SKrzysztof Kozlowski - "#gpio-cells" 123958bb025SSrinivas Kandagatla - gpio-ranges 124958bb025SSrinivas Kandagatla 125958bb025SSrinivas KandagatlaadditionalProperties: false 126958bb025SSrinivas Kandagatla 127958bb025SSrinivas Kandagatlaexamples: 128958bb025SSrinivas Kandagatla - | 129958bb025SSrinivas Kandagatla #include <dt-bindings/sound/qcom,q6afe.h> 130958bb025SSrinivas Kandagatla pinctrl@33c0000 { 131958bb025SSrinivas Kandagatla compatible = "qcom,sc8280xp-lpass-lpi-pinctrl"; 132958bb025SSrinivas Kandagatla reg = <0x33c0000 0x20000>, 133958bb025SSrinivas Kandagatla <0x3550000 0x10000>; 134958bb025SSrinivas Kandagatla clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 135958bb025SSrinivas Kandagatla <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; 136958bb025SSrinivas Kandagatla clock-names = "core", "audio"; 137958bb025SSrinivas Kandagatla gpio-controller; 138958bb025SSrinivas Kandagatla #gpio-cells = <2>; 139958bb025SSrinivas Kandagatla gpio-ranges = <&lpi_tlmm 0 0 18>; 140b47a6c8bSKrzysztof Kozlowski 141b47a6c8bSKrzysztof Kozlowski dmic01-state { 142b47a6c8bSKrzysztof Kozlowski dmic01-clk-pins { 143b47a6c8bSKrzysztof Kozlowski pins = "gpio16"; 144b47a6c8bSKrzysztof Kozlowski function = "dmic1_clk"; 145b47a6c8bSKrzysztof Kozlowski }; 146b47a6c8bSKrzysztof Kozlowski 147b47a6c8bSKrzysztof Kozlowski dmic01-clk-sleep-pins { 148b47a6c8bSKrzysztof Kozlowski pins = "gpio16"; 149b47a6c8bSKrzysztof Kozlowski function = "dmic1_clk"; 150b47a6c8bSKrzysztof Kozlowski }; 151b47a6c8bSKrzysztof Kozlowski }; 152b47a6c8bSKrzysztof Kozlowski 153b47a6c8bSKrzysztof Kozlowski tx-swr-data-sleep-state { 154b47a6c8bSKrzysztof Kozlowski pins = "gpio0", "gpio1"; 155b47a6c8bSKrzysztof Kozlowski function = "swr_tx_data"; 156b47a6c8bSKrzysztof Kozlowski }; 157958bb025SSrinivas Kandagatla }; 158