1*e343cff7SSrinivasa Rao Mandadapu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*e343cff7SSrinivasa Rao Mandadapu%YAML 1.2 3*e343cff7SSrinivasa Rao Mandadapu--- 4*e343cff7SSrinivasa Rao Mandadapu$id: http://devicetree.org/schemas/pinctrl/qcom,sm8250-lpass-lpi-pinctrl.yaml# 5*e343cff7SSrinivasa Rao Mandadapu$schema: http://devicetree.org/meta-schemas/core.yaml# 6*e343cff7SSrinivasa Rao Mandadapu 7*e343cff7SSrinivasa Rao Mandadaputitle: Qualcomm Technologies, Inc. Low Power Audio SubSystem (LPASS) 8*e343cff7SSrinivasa Rao Mandadapu Low Power Island (LPI) TLMM block 9*e343cff7SSrinivasa Rao Mandadapu 10*e343cff7SSrinivasa Rao Mandadapumaintainers: 11*e343cff7SSrinivasa Rao Mandadapu - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12*e343cff7SSrinivasa Rao Mandadapu 13*e343cff7SSrinivasa Rao Mandadapudescription: | 14*e343cff7SSrinivasa Rao Mandadapu This binding describes the Top Level Mode Multiplexer block found in the 15*e343cff7SSrinivasa Rao Mandadapu LPASS LPI IP on most Qualcomm SoCs 16*e343cff7SSrinivasa Rao Mandadapu 17*e343cff7SSrinivasa Rao Mandadapuproperties: 18*e343cff7SSrinivasa Rao Mandadapu compatible: 19*e343cff7SSrinivasa Rao Mandadapu const: qcom,sm8250-lpass-lpi-pinctrl 20*e343cff7SSrinivasa Rao Mandadapu 21*e343cff7SSrinivasa Rao Mandadapu reg: 22*e343cff7SSrinivasa Rao Mandadapu minItems: 2 23*e343cff7SSrinivasa Rao Mandadapu maxItems: 2 24*e343cff7SSrinivasa Rao Mandadapu 25*e343cff7SSrinivasa Rao Mandadapu clocks: 26*e343cff7SSrinivasa Rao Mandadapu items: 27*e343cff7SSrinivasa Rao Mandadapu - description: LPASS Core voting clock 28*e343cff7SSrinivasa Rao Mandadapu - description: LPASS Audio voting clock 29*e343cff7SSrinivasa Rao Mandadapu 30*e343cff7SSrinivasa Rao Mandadapu clock-names: 31*e343cff7SSrinivasa Rao Mandadapu items: 32*e343cff7SSrinivasa Rao Mandadapu - const: core 33*e343cff7SSrinivasa Rao Mandadapu - const: audio 34*e343cff7SSrinivasa Rao Mandadapu 35*e343cff7SSrinivasa Rao Mandadapu gpio-controller: true 36*e343cff7SSrinivasa Rao Mandadapu 37*e343cff7SSrinivasa Rao Mandadapu '#gpio-cells': 38*e343cff7SSrinivasa Rao Mandadapu description: Specifying the pin number and flags, as defined in 39*e343cff7SSrinivasa Rao Mandadapu include/dt-bindings/gpio/gpio.h 40*e343cff7SSrinivasa Rao Mandadapu const: 2 41*e343cff7SSrinivasa Rao Mandadapu 42*e343cff7SSrinivasa Rao Mandadapu gpio-ranges: 43*e343cff7SSrinivasa Rao Mandadapu maxItems: 1 44*e343cff7SSrinivasa Rao Mandadapu 45*e343cff7SSrinivasa Rao Mandadapu#PIN CONFIGURATION NODES 46*e343cff7SSrinivasa Rao MandadapupatternProperties: 47*e343cff7SSrinivasa Rao Mandadapu '-pins$': 48*e343cff7SSrinivasa Rao Mandadapu type: object 49*e343cff7SSrinivasa Rao Mandadapu description: 50*e343cff7SSrinivasa Rao Mandadapu Pinctrl node's client devices use subnodes for desired pin configuration. 51*e343cff7SSrinivasa Rao Mandadapu Client device subnodes use below standard properties. 52*e343cff7SSrinivasa Rao Mandadapu $ref: "/schemas/pinctrl/pincfg-node.yaml" 53*e343cff7SSrinivasa Rao Mandadapu 54*e343cff7SSrinivasa Rao Mandadapu properties: 55*e343cff7SSrinivasa Rao Mandadapu pins: 56*e343cff7SSrinivasa Rao Mandadapu description: 57*e343cff7SSrinivasa Rao Mandadapu List of gpio pins affected by the properties specified in this 58*e343cff7SSrinivasa Rao Mandadapu subnode. 59*e343cff7SSrinivasa Rao Mandadapu items: 60*e343cff7SSrinivasa Rao Mandadapu oneOf: 61*e343cff7SSrinivasa Rao Mandadapu - pattern: "^gpio([0-9]|[1-9][0-9])$" 62*e343cff7SSrinivasa Rao Mandadapu minItems: 1 63*e343cff7SSrinivasa Rao Mandadapu maxItems: 14 64*e343cff7SSrinivasa Rao Mandadapu 65*e343cff7SSrinivasa Rao Mandadapu function: 66*e343cff7SSrinivasa Rao Mandadapu enum: [ gpio, swr_tx_clk, qua_mi2s_sclk, swr_tx_data, qua_mi2s_ws, 67*e343cff7SSrinivasa Rao Mandadapu qua_mi2s_data, swr_rx_clk, swr_rx_data, dmic1_clk, i2s1_clk, 68*e343cff7SSrinivasa Rao Mandadapu dmic1_data, i2s1_ws, dmic2_clk, dmic2_data, i2s1_data, 69*e343cff7SSrinivasa Rao Mandadapu i2s2_clk, wsa_swr_clk, i2s2_ws, wsa_swr_data, dmic3_clk, 70*e343cff7SSrinivasa Rao Mandadapu dmic3_data, i2s2_data ] 71*e343cff7SSrinivasa Rao Mandadapu description: 72*e343cff7SSrinivasa Rao Mandadapu Specify the alternative function to be configured for the specified 73*e343cff7SSrinivasa Rao Mandadapu pins. 74*e343cff7SSrinivasa Rao Mandadapu 75*e343cff7SSrinivasa Rao Mandadapu drive-strength: 76*e343cff7SSrinivasa Rao Mandadapu enum: [2, 4, 6, 8, 10, 12, 14, 16] 77*e343cff7SSrinivasa Rao Mandadapu default: 2 78*e343cff7SSrinivasa Rao Mandadapu description: 79*e343cff7SSrinivasa Rao Mandadapu Selects the drive strength for the specified pins, in mA. 80*e343cff7SSrinivasa Rao Mandadapu 81*e343cff7SSrinivasa Rao Mandadapu slew-rate: 82*e343cff7SSrinivasa Rao Mandadapu enum: [0, 1, 2, 3] 83*e343cff7SSrinivasa Rao Mandadapu default: 0 84*e343cff7SSrinivasa Rao Mandadapu description: | 85*e343cff7SSrinivasa Rao Mandadapu 0: No adjustments 86*e343cff7SSrinivasa Rao Mandadapu 1: Higher Slew rate (faster edges) 87*e343cff7SSrinivasa Rao Mandadapu 2: Lower Slew rate (slower edges) 88*e343cff7SSrinivasa Rao Mandadapu 3: Reserved (No adjustments) 89*e343cff7SSrinivasa Rao Mandadapu 90*e343cff7SSrinivasa Rao Mandadapu bias-pull-down: true 91*e343cff7SSrinivasa Rao Mandadapu 92*e343cff7SSrinivasa Rao Mandadapu bias-pull-up: true 93*e343cff7SSrinivasa Rao Mandadapu 94*e343cff7SSrinivasa Rao Mandadapu bias-disable: true 95*e343cff7SSrinivasa Rao Mandadapu 96*e343cff7SSrinivasa Rao Mandadapu output-high: true 97*e343cff7SSrinivasa Rao Mandadapu 98*e343cff7SSrinivasa Rao Mandadapu output-low: true 99*e343cff7SSrinivasa Rao Mandadapu 100*e343cff7SSrinivasa Rao Mandadapu required: 101*e343cff7SSrinivasa Rao Mandadapu - pins 102*e343cff7SSrinivasa Rao Mandadapu - function 103*e343cff7SSrinivasa Rao Mandadapu 104*e343cff7SSrinivasa Rao Mandadapu additionalProperties: false 105*e343cff7SSrinivasa Rao Mandadapu 106*e343cff7SSrinivasa Rao MandadapuallOf: 107*e343cff7SSrinivasa Rao Mandadapu - $ref: "pinctrl.yaml#" 108*e343cff7SSrinivasa Rao Mandadapu 109*e343cff7SSrinivasa Rao Mandadapurequired: 110*e343cff7SSrinivasa Rao Mandadapu - compatible 111*e343cff7SSrinivasa Rao Mandadapu - reg 112*e343cff7SSrinivasa Rao Mandadapu - clocks 113*e343cff7SSrinivasa Rao Mandadapu - clock-names 114*e343cff7SSrinivasa Rao Mandadapu - gpio-controller 115*e343cff7SSrinivasa Rao Mandadapu - '#gpio-cells' 116*e343cff7SSrinivasa Rao Mandadapu - gpio-ranges 117*e343cff7SSrinivasa Rao Mandadapu 118*e343cff7SSrinivasa Rao MandadapuadditionalProperties: false 119*e343cff7SSrinivasa Rao Mandadapu 120*e343cff7SSrinivasa Rao Mandadapuexamples: 121*e343cff7SSrinivasa Rao Mandadapu - | 122*e343cff7SSrinivasa Rao Mandadapu #include <dt-bindings/sound/qcom,q6afe.h> 123*e343cff7SSrinivasa Rao Mandadapu lpi_tlmm: pinctrl@33c0000 { 124*e343cff7SSrinivasa Rao Mandadapu compatible = "qcom,sm8250-lpass-lpi-pinctrl"; 125*e343cff7SSrinivasa Rao Mandadapu reg = <0x33c0000 0x20000>, 126*e343cff7SSrinivasa Rao Mandadapu <0x3550000 0x10000>; 127*e343cff7SSrinivasa Rao Mandadapu clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 128*e343cff7SSrinivasa Rao Mandadapu <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; 129*e343cff7SSrinivasa Rao Mandadapu clock-names = "core", "audio"; 130*e343cff7SSrinivasa Rao Mandadapu gpio-controller; 131*e343cff7SSrinivasa Rao Mandadapu #gpio-cells = <2>; 132*e343cff7SSrinivasa Rao Mandadapu gpio-ranges = <&lpi_tlmm 0 0 14>; 133*e343cff7SSrinivasa Rao Mandadapu }; 134