1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*0e8011faSEmmanuel Vadot%YAML 1.2 3*0e8011faSEmmanuel Vadot--- 4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sm4250-lpass-lpi-pinctrl.yaml# 5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*0e8011faSEmmanuel Vadot 7*0e8011faSEmmanuel Vadottitle: Qualcomm SM4250 SoC LPASS LPI TLMM 8*0e8011faSEmmanuel Vadot 9*0e8011faSEmmanuel Vadotmaintainers: 10*0e8011faSEmmanuel Vadot - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11*0e8011faSEmmanuel Vadot 12*0e8011faSEmmanuel Vadotdescription: 13*0e8011faSEmmanuel Vadot Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem 14*0e8011faSEmmanuel Vadot (LPASS) Low Power Island (LPI) of Qualcomm SM4250 SoC. 15*0e8011faSEmmanuel Vadot 16*0e8011faSEmmanuel Vadotproperties: 17*0e8011faSEmmanuel Vadot compatible: 18*0e8011faSEmmanuel Vadot const: qcom,sm4250-lpass-lpi-pinctrl 19*0e8011faSEmmanuel Vadot 20*0e8011faSEmmanuel Vadot reg: 21*0e8011faSEmmanuel Vadot items: 22*0e8011faSEmmanuel Vadot - description: LPASS LPI TLMM Control and Status registers 23*0e8011faSEmmanuel Vadot - description: LPASS LPI MCC registers 24*0e8011faSEmmanuel Vadot 25*0e8011faSEmmanuel Vadot clocks: 26*0e8011faSEmmanuel Vadot items: 27*0e8011faSEmmanuel Vadot - description: LPASS Audio voting clock 28*0e8011faSEmmanuel Vadot 29*0e8011faSEmmanuel Vadot clock-names: 30*0e8011faSEmmanuel Vadot items: 31*0e8011faSEmmanuel Vadot - const: audio 32*0e8011faSEmmanuel Vadot 33*0e8011faSEmmanuel VadotpatternProperties: 34*0e8011faSEmmanuel Vadot "-state$": 35*0e8011faSEmmanuel Vadot oneOf: 36*0e8011faSEmmanuel Vadot - $ref: "#/$defs/qcom-sm4250-lpass-state" 37*0e8011faSEmmanuel Vadot - patternProperties: 38*0e8011faSEmmanuel Vadot "-pins$": 39*0e8011faSEmmanuel Vadot $ref: "#/$defs/qcom-sm4250-lpass-state" 40*0e8011faSEmmanuel Vadot additionalProperties: false 41*0e8011faSEmmanuel Vadot 42*0e8011faSEmmanuel Vadot$defs: 43*0e8011faSEmmanuel Vadot qcom-sm4250-lpass-state: 44*0e8011faSEmmanuel Vadot type: object 45*0e8011faSEmmanuel Vadot description: 46*0e8011faSEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 47*0e8011faSEmmanuel Vadot Client device subnodes use below standard properties. 48*0e8011faSEmmanuel Vadot $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state 49*0e8011faSEmmanuel Vadot unevaluatedProperties: false 50*0e8011faSEmmanuel Vadot 51*0e8011faSEmmanuel Vadot properties: 52*0e8011faSEmmanuel Vadot pins: 53*0e8011faSEmmanuel Vadot description: 54*0e8011faSEmmanuel Vadot List of gpio pins affected by the properties specified in this 55*0e8011faSEmmanuel Vadot subnode. 56*0e8011faSEmmanuel Vadot items: 57*0e8011faSEmmanuel Vadot pattern: "^gpio([0-9]|1[0-9]|2[0-6])$" 58*0e8011faSEmmanuel Vadot 59*0e8011faSEmmanuel Vadot function: 60*0e8011faSEmmanuel Vadot enum: [ gpio, dmic01_clk, dmic01_data, dmic23_clk, dmic23_data, 61*0e8011faSEmmanuel Vadot dmic4_clk, dmic4_data, ext_mclk0_a, ext_mclk0_b, ext_mclk1_a, 62*0e8011faSEmmanuel Vadot ext_mclk1_b, ext_mclk1_c, i2s1_clk, i2s1_data, i2s1_ws, 63*0e8011faSEmmanuel Vadot i2s2_clk, i2s2_data, i2s2_ws, i2s3_clk, i2s3_data, i2s3_ws, 64*0e8011faSEmmanuel Vadot qua_mi2s_data, qua_mi2s_sclk, qua_mi2s_ws, slim_clk, slim_data, 65*0e8011faSEmmanuel Vadot swr_rx_clk, swr_rx_data, swr_tx_clk, swr_tx_data, swr_wsa_clk, 66*0e8011faSEmmanuel Vadot swr_wsa_data ] 67*0e8011faSEmmanuel Vadot description: 68*0e8011faSEmmanuel Vadot Specify the alternative function to be configured for the specified 69*0e8011faSEmmanuel Vadot pins. 70*0e8011faSEmmanuel Vadot 71*0e8011faSEmmanuel VadotallOf: 72*0e8011faSEmmanuel Vadot - $ref: qcom,lpass-lpi-common.yaml# 73*0e8011faSEmmanuel Vadot 74*0e8011faSEmmanuel Vadotrequired: 75*0e8011faSEmmanuel Vadot - compatible 76*0e8011faSEmmanuel Vadot - reg 77*0e8011faSEmmanuel Vadot - clocks 78*0e8011faSEmmanuel Vadot - clock-names 79*0e8011faSEmmanuel Vadot 80*0e8011faSEmmanuel VadotunevaluatedProperties: false 81*0e8011faSEmmanuel Vadot 82*0e8011faSEmmanuel Vadotexamples: 83*0e8011faSEmmanuel Vadot - | 84*0e8011faSEmmanuel Vadot #include <dt-bindings/sound/qcom,q6afe.h> 85*0e8011faSEmmanuel Vadot lpi_tlmm: pinctrl@a7c0000 { 86*0e8011faSEmmanuel Vadot compatible = "qcom,sm4250-lpass-lpi-pinctrl"; 87*0e8011faSEmmanuel Vadot reg = <0xa7c0000 0x20000>, 88*0e8011faSEmmanuel Vadot <0xa950000 0x10000>; 89*0e8011faSEmmanuel Vadot clocks = <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; 90*0e8011faSEmmanuel Vadot clock-names = "audio"; 91*0e8011faSEmmanuel Vadot gpio-controller; 92*0e8011faSEmmanuel Vadot #gpio-cells = <2>; 93*0e8011faSEmmanuel Vadot gpio-ranges = <&lpi_tlmm 0 0 19>; 94*0e8011faSEmmanuel Vadot 95*0e8011faSEmmanuel Vadot i2s2-active-state { 96*0e8011faSEmmanuel Vadot clk-pins { 97*0e8011faSEmmanuel Vadot pins = "gpio10"; 98*0e8011faSEmmanuel Vadot function = "i2s2_clk"; 99*0e8011faSEmmanuel Vadot drive-strength = <2>; 100*0e8011faSEmmanuel Vadot slew-rate = <1>; 101*0e8011faSEmmanuel Vadot bias-disable; 102*0e8011faSEmmanuel Vadot }; 103*0e8011faSEmmanuel Vadot 104*0e8011faSEmmanuel Vadot data-pins { 105*0e8011faSEmmanuel Vadot pins = "gpio12"; 106*0e8011faSEmmanuel Vadot function = "i2s2_data"; 107*0e8011faSEmmanuel Vadot drive-strength = <2>; 108*0e8011faSEmmanuel Vadot slew-rate = <1>; 109*0e8011faSEmmanuel Vadot }; 110*0e8011faSEmmanuel Vadot }; 111*0e8011faSEmmanuel Vadot 112*0e8011faSEmmanuel Vadot i2s2-sleep-clk-state { 113*0e8011faSEmmanuel Vadot pins = "gpio10"; 114*0e8011faSEmmanuel Vadot function = "i2s2_clk"; 115*0e8011faSEmmanuel Vadot drive-strength = <2>; 116*0e8011faSEmmanuel Vadot bias-pull-down; 117*0e8011faSEmmanuel Vadot }; 118*0e8011faSEmmanuel Vadot }; 119