1*350027a3SNickolay Goppen# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*350027a3SNickolay Goppen%YAML 1.2 3*350027a3SNickolay Goppen--- 4*350027a3SNickolay Goppen$id: http://devicetree.org/schemas/pinctrl/qcom,sdm660-lpass-lpi-pinctrl.yaml# 5*350027a3SNickolay Goppen$schema: http://devicetree.org/meta-schemas/core.yaml# 6*350027a3SNickolay Goppen 7*350027a3SNickolay Goppentitle: Qualcomm SDM660 SoC LPASS LPI TLMM 8*350027a3SNickolay Goppen 9*350027a3SNickolay Goppenmaintainers: 10*350027a3SNickolay Goppen - Nickolay Goppen <setotau@mainlining.org> 11*350027a3SNickolay Goppen 12*350027a3SNickolay Goppendescription: 13*350027a3SNickolay Goppen Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem 14*350027a3SNickolay Goppen (LPASS) Low Power Island (LPI) of Qualcomm SDM660 SoC. 15*350027a3SNickolay Goppen 16*350027a3SNickolay Goppenproperties: 17*350027a3SNickolay Goppen compatible: 18*350027a3SNickolay Goppen const: qcom,sdm660-lpass-lpi-pinctrl 19*350027a3SNickolay Goppen 20*350027a3SNickolay Goppen reg: 21*350027a3SNickolay Goppen items: 22*350027a3SNickolay Goppen - description: LPASS LPI TLMM Control and Status registers 23*350027a3SNickolay Goppen 24*350027a3SNickolay GoppenpatternProperties: 25*350027a3SNickolay Goppen "-state$": 26*350027a3SNickolay Goppen oneOf: 27*350027a3SNickolay Goppen - $ref: "#/$defs/qcom-sdm660-lpass-state" 28*350027a3SNickolay Goppen - patternProperties: 29*350027a3SNickolay Goppen "-pins$": 30*350027a3SNickolay Goppen $ref: "#/$defs/qcom-sdm660-lpass-state" 31*350027a3SNickolay Goppen additionalProperties: false 32*350027a3SNickolay Goppen 33*350027a3SNickolay Goppen$defs: 34*350027a3SNickolay Goppen qcom-sdm660-lpass-state: 35*350027a3SNickolay Goppen type: object 36*350027a3SNickolay Goppen description: 37*350027a3SNickolay Goppen Pinctrl node's client devices use subnodes for desired pin configuration. 38*350027a3SNickolay Goppen Client device subnodes use below standard properties. 39*350027a3SNickolay Goppen $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state 40*350027a3SNickolay Goppen unevaluatedProperties: false 41*350027a3SNickolay Goppen 42*350027a3SNickolay Goppen properties: 43*350027a3SNickolay Goppen pins: 44*350027a3SNickolay Goppen description: 45*350027a3SNickolay Goppen List of gpio pins affected by the properties specified in this 46*350027a3SNickolay Goppen subnode. 47*350027a3SNickolay Goppen items: 48*350027a3SNickolay Goppen pattern: "^gpio([0-9]|[1-2][0-9]|3[0-1])$" 49*350027a3SNickolay Goppen 50*350027a3SNickolay Goppen function: 51*350027a3SNickolay Goppen enum: [ gpio, comp_rx, dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, 52*350027a3SNickolay Goppen mclk0, pdm_tx, pdm_clk, pdm_rx, pdm_sync ] 53*350027a3SNickolay Goppen description: 54*350027a3SNickolay Goppen Specify the alternative function to be configured for the specified 55*350027a3SNickolay Goppen pins. 56*350027a3SNickolay Goppen 57*350027a3SNickolay GoppenallOf: 58*350027a3SNickolay Goppen - $ref: qcom,lpass-lpi-common.yaml# 59*350027a3SNickolay Goppen 60*350027a3SNickolay Goppenrequired: 61*350027a3SNickolay Goppen - compatible 62*350027a3SNickolay Goppen - reg 63*350027a3SNickolay Goppen 64*350027a3SNickolay GoppenunevaluatedProperties: false 65*350027a3SNickolay Goppen 66*350027a3SNickolay Goppenexamples: 67*350027a3SNickolay Goppen - | 68*350027a3SNickolay Goppen lpi_tlmm: pinctrl@15070000 { 69*350027a3SNickolay Goppen compatible = "qcom,sdm660-lpass-lpi-pinctrl"; 70*350027a3SNickolay Goppen reg = <0x15070000 0x20000>; 71*350027a3SNickolay Goppen gpio-controller; 72*350027a3SNickolay Goppen #gpio-cells = <2>; 73*350027a3SNickolay Goppen gpio-ranges = <&lpi_tlmm 0 0 32>; 74*350027a3SNickolay Goppen 75*350027a3SNickolay Goppen cdc_pdm_default: cdc-pdm-default-state { 76*350027a3SNickolay Goppen clk-pins { 77*350027a3SNickolay Goppen pins = "gpio18"; 78*350027a3SNickolay Goppen function = "pdm_clk"; 79*350027a3SNickolay Goppen drive-strength = <8>; 80*350027a3SNickolay Goppen output-high; 81*350027a3SNickolay Goppen }; 82*350027a3SNickolay Goppen 83*350027a3SNickolay Goppen sync-pins{ 84*350027a3SNickolay Goppen pins = "gpio19"; 85*350027a3SNickolay Goppen function = "pdm_sync"; 86*350027a3SNickolay Goppen drive-strength = <4>; 87*350027a3SNickolay Goppen output-high; 88*350027a3SNickolay Goppen }; 89*350027a3SNickolay Goppen 90*350027a3SNickolay Goppen tx-pins { 91*350027a3SNickolay Goppen pins = "gpio20"; 92*350027a3SNickolay Goppen function = "pdm_tx"; 93*350027a3SNickolay Goppen drive-strength = <8>; 94*350027a3SNickolay Goppen }; 95*350027a3SNickolay Goppen 96*350027a3SNickolay Goppen rx-pins { 97*350027a3SNickolay Goppen pins = "gpio21", "gpio23", "gpio25"; 98*350027a3SNickolay Goppen function = "pdm_rx"; 99*350027a3SNickolay Goppen drive-strength = <4>; 100*350027a3SNickolay Goppen output-high; 101*350027a3SNickolay Goppen }; 102*350027a3SNickolay Goppen }; 103*350027a3SNickolay Goppen 104*350027a3SNickolay Goppen cdc_comp_default: cdc-comp-default-state { 105*350027a3SNickolay Goppen pins = "gpio22", "gpio24"; 106*350027a3SNickolay Goppen function = "comp_rx"; 107*350027a3SNickolay Goppen drive-strength = <8>; 108*350027a3SNickolay Goppen }; 109*350027a3SNickolay Goppen }; 110