1*743cbe65SKonrad Dybcio# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*743cbe65SKonrad Dybcio%YAML 1.2 3*743cbe65SKonrad Dybcio--- 4*743cbe65SKonrad Dybcio$id: http://devicetree.org/schemas/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml# 5*743cbe65SKonrad Dybcio$schema: http://devicetree.org/meta-schemas/core.yaml# 6*743cbe65SKonrad Dybcio 7*743cbe65SKonrad Dybciotitle: Qualcomm SM6115 SoC LPASS LPI TLMM 8*743cbe65SKonrad Dybcio 9*743cbe65SKonrad Dybciomaintainers: 10*743cbe65SKonrad Dybcio - Konrad Dybcio <konradybcio@kernel.org> 11*743cbe65SKonrad Dybcio - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12*743cbe65SKonrad Dybcio 13*743cbe65SKonrad Dybciodescription: 14*743cbe65SKonrad Dybcio Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem 15*743cbe65SKonrad Dybcio (LPASS) Low Power Island (LPI) of Qualcomm SM6115 SoC. 16*743cbe65SKonrad Dybcio 17*743cbe65SKonrad Dybcioproperties: 18*743cbe65SKonrad Dybcio compatible: 19*743cbe65SKonrad Dybcio const: qcom,sm6115-lpass-lpi-pinctrl 20*743cbe65SKonrad Dybcio 21*743cbe65SKonrad Dybcio reg: 22*743cbe65SKonrad Dybcio items: 23*743cbe65SKonrad Dybcio - description: LPASS LPI TLMM Control and Status registers 24*743cbe65SKonrad Dybcio - description: LPASS LPI MCC registers 25*743cbe65SKonrad Dybcio 26*743cbe65SKonrad Dybcio clocks: 27*743cbe65SKonrad Dybcio items: 28*743cbe65SKonrad Dybcio - description: LPASS Audio voting clock 29*743cbe65SKonrad Dybcio 30*743cbe65SKonrad Dybcio clock-names: 31*743cbe65SKonrad Dybcio items: 32*743cbe65SKonrad Dybcio - const: audio 33*743cbe65SKonrad Dybcio 34*743cbe65SKonrad Dybcio gpio-controller: true 35*743cbe65SKonrad Dybcio 36*743cbe65SKonrad Dybcio "#gpio-cells": 37*743cbe65SKonrad Dybcio description: Specifying the pin number and flags, as defined in 38*743cbe65SKonrad Dybcio include/dt-bindings/gpio/gpio.h 39*743cbe65SKonrad Dybcio const: 2 40*743cbe65SKonrad Dybcio 41*743cbe65SKonrad Dybcio gpio-ranges: 42*743cbe65SKonrad Dybcio maxItems: 1 43*743cbe65SKonrad Dybcio 44*743cbe65SKonrad DybciopatternProperties: 45*743cbe65SKonrad Dybcio "-state$": 46*743cbe65SKonrad Dybcio oneOf: 47*743cbe65SKonrad Dybcio - $ref: "#/$defs/qcom-sm6115-lpass-state" 48*743cbe65SKonrad Dybcio - patternProperties: 49*743cbe65SKonrad Dybcio "-pins$": 50*743cbe65SKonrad Dybcio $ref: "#/$defs/qcom-sm6115-lpass-state" 51*743cbe65SKonrad Dybcio additionalProperties: false 52*743cbe65SKonrad Dybcio 53*743cbe65SKonrad Dybcio$defs: 54*743cbe65SKonrad Dybcio qcom-sm6115-lpass-state: 55*743cbe65SKonrad Dybcio type: object 56*743cbe65SKonrad Dybcio description: 57*743cbe65SKonrad Dybcio Pinctrl node's client devices use subnodes for desired pin configuration. 58*743cbe65SKonrad Dybcio Client device subnodes use below standard properties. 59*743cbe65SKonrad Dybcio $ref: /schemas/pinctrl/pincfg-node.yaml 60*743cbe65SKonrad Dybcio 61*743cbe65SKonrad Dybcio properties: 62*743cbe65SKonrad Dybcio pins: 63*743cbe65SKonrad Dybcio description: 64*743cbe65SKonrad Dybcio List of gpio pins affected by the properties specified in this 65*743cbe65SKonrad Dybcio subnode. 66*743cbe65SKonrad Dybcio items: 67*743cbe65SKonrad Dybcio pattern: "^gpio([0-9]|1[0-8])$" 68*743cbe65SKonrad Dybcio 69*743cbe65SKonrad Dybcio function: 70*743cbe65SKonrad Dybcio enum: [ dmic01_clk, dmic01_data, dmic23_clk, dmic23_data, gpio, i2s1_clk, 71*743cbe65SKonrad Dybcio i2s1_data, i2s1_ws, i2s2_clk, i2s2_data, i2s2_ws, i2s3_clk, 72*743cbe65SKonrad Dybcio i2s3_data, i2s3_ws, qua_mi2s_data, qua_mi2s_sclk, qua_mi2s_ws, 73*743cbe65SKonrad Dybcio swr_rx_clk, swr_rx_data, swr_tx_clk, swr_tx_data, wsa_mclk ] 74*743cbe65SKonrad Dybcio description: 75*743cbe65SKonrad Dybcio Specify the alternative function to be configured for the specified 76*743cbe65SKonrad Dybcio pins. 77*743cbe65SKonrad Dybcio 78*743cbe65SKonrad Dybcio drive-strength: 79*743cbe65SKonrad Dybcio enum: [2, 4, 6, 8, 10, 12, 14, 16] 80*743cbe65SKonrad Dybcio default: 2 81*743cbe65SKonrad Dybcio description: 82*743cbe65SKonrad Dybcio Selects the drive strength for the specified pins, in mA. 83*743cbe65SKonrad Dybcio 84*743cbe65SKonrad Dybcio slew-rate: 85*743cbe65SKonrad Dybcio enum: [0, 1, 2, 3] 86*743cbe65SKonrad Dybcio default: 0 87*743cbe65SKonrad Dybcio description: | 88*743cbe65SKonrad Dybcio 0: No adjustments 89*743cbe65SKonrad Dybcio 1: Higher Slew rate (faster edges) 90*743cbe65SKonrad Dybcio 2: Lower Slew rate (slower edges) 91*743cbe65SKonrad Dybcio 3: Reserved (No adjustments) 92*743cbe65SKonrad Dybcio 93*743cbe65SKonrad Dybcio bias-bus-hold: true 94*743cbe65SKonrad Dybcio bias-pull-down: true 95*743cbe65SKonrad Dybcio bias-pull-up: true 96*743cbe65SKonrad Dybcio bias-disable: true 97*743cbe65SKonrad Dybcio input-enable: true 98*743cbe65SKonrad Dybcio output-high: true 99*743cbe65SKonrad Dybcio output-low: true 100*743cbe65SKonrad Dybcio 101*743cbe65SKonrad Dybcio required: 102*743cbe65SKonrad Dybcio - pins 103*743cbe65SKonrad Dybcio - function 104*743cbe65SKonrad Dybcio 105*743cbe65SKonrad Dybcio additionalProperties: false 106*743cbe65SKonrad Dybcio 107*743cbe65SKonrad DybcioallOf: 108*743cbe65SKonrad Dybcio - $ref: pinctrl.yaml# 109*743cbe65SKonrad Dybcio 110*743cbe65SKonrad Dybciorequired: 111*743cbe65SKonrad Dybcio - compatible 112*743cbe65SKonrad Dybcio - reg 113*743cbe65SKonrad Dybcio - clocks 114*743cbe65SKonrad Dybcio - clock-names 115*743cbe65SKonrad Dybcio - gpio-controller 116*743cbe65SKonrad Dybcio - "#gpio-cells" 117*743cbe65SKonrad Dybcio - gpio-ranges 118*743cbe65SKonrad Dybcio 119*743cbe65SKonrad DybcioadditionalProperties: false 120*743cbe65SKonrad Dybcio 121*743cbe65SKonrad Dybcioexamples: 122*743cbe65SKonrad Dybcio - | 123*743cbe65SKonrad Dybcio #include <dt-bindings/sound/qcom,q6afe.h> 124*743cbe65SKonrad Dybcio 125*743cbe65SKonrad Dybcio lpass_tlmm: pinctrl@a7c0000 { 126*743cbe65SKonrad Dybcio compatible = "qcom,sm6115-lpass-lpi-pinctrl"; 127*743cbe65SKonrad Dybcio reg = <0x0a7c0000 0x20000>, 128*743cbe65SKonrad Dybcio <0x0a950000 0x10000>; 129*743cbe65SKonrad Dybcio clocks = <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; 130*743cbe65SKonrad Dybcio clock-names = "audio"; 131*743cbe65SKonrad Dybcio 132*743cbe65SKonrad Dybcio gpio-controller; 133*743cbe65SKonrad Dybcio #gpio-cells = <2>; 134*743cbe65SKonrad Dybcio gpio-ranges = <&lpass_tlmm 0 0 19>; 135*743cbe65SKonrad Dybcio }; 136