16af63b66SSrinivasa Rao Mandadapu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
26af63b66SSrinivasa Rao Mandadapu%YAML 1.2
36af63b66SSrinivasa Rao Mandadapu---
46af63b66SSrinivasa Rao Mandadapu$id: http://devicetree.org/schemas/pinctrl/qcom,sc7280-lpass-lpi-pinctrl.yaml#
56af63b66SSrinivasa Rao Mandadapu$schema: http://devicetree.org/meta-schemas/core.yaml#
66af63b66SSrinivasa Rao Mandadapu
7aad11c79SKrzysztof Kozlowskititle: Qualcomm SC7280 SoC LPASS LPI TLMM
86af63b66SSrinivasa Rao Mandadapu
96af63b66SSrinivasa Rao Mandadapumaintainers:
106af63b66SSrinivasa Rao Mandadapu  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
116af63b66SSrinivasa Rao Mandadapu
12aad11c79SKrzysztof Kozlowskidescription:
13aad11c79SKrzysztof Kozlowski  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
14aad11c79SKrzysztof Kozlowski  (LPASS) Low Power Island (LPI) of Qualcomm SC7280 SoC.
156af63b66SSrinivasa Rao Mandadapu
166af63b66SSrinivasa Rao Mandadapuproperties:
176af63b66SSrinivasa Rao Mandadapu  compatible:
186af63b66SSrinivasa Rao Mandadapu    const: qcom,sc7280-lpass-lpi-pinctrl
196af63b66SSrinivasa Rao Mandadapu
206af63b66SSrinivasa Rao Mandadapu  reg:
216af63b66SSrinivasa Rao Mandadapu    maxItems: 2
226af63b66SSrinivasa Rao Mandadapu
236af63b66SSrinivasa Rao Mandadapu  gpio-controller: true
246af63b66SSrinivasa Rao Mandadapu
25aad11c79SKrzysztof Kozlowski  "#gpio-cells":
266af63b66SSrinivasa Rao Mandadapu    description: Specifying the pin number and flags, as defined in
276af63b66SSrinivasa Rao Mandadapu      include/dt-bindings/gpio/gpio.h
286af63b66SSrinivasa Rao Mandadapu    const: 2
296af63b66SSrinivasa Rao Mandadapu
306af63b66SSrinivasa Rao Mandadapu  gpio-ranges:
316af63b66SSrinivasa Rao Mandadapu    maxItems: 1
326af63b66SSrinivasa Rao Mandadapu
336af63b66SSrinivasa Rao MandadapupatternProperties:
34cb70c0d8SKrzysztof Kozlowski  "-state$":
35cb70c0d8SKrzysztof Kozlowski    oneOf:
36cb70c0d8SKrzysztof Kozlowski      - $ref: "#/$defs/qcom-sc7280-lpass-state"
37cb70c0d8SKrzysztof Kozlowski      - patternProperties:
38cb70c0d8SKrzysztof Kozlowski          "-pins$":
39cb70c0d8SKrzysztof Kozlowski            $ref: "#/$defs/qcom-sc7280-lpass-state"
40cb70c0d8SKrzysztof Kozlowski        additionalProperties: false
41cb70c0d8SKrzysztof Kozlowski
42cb70c0d8SKrzysztof Kozlowski$defs:
43cb70c0d8SKrzysztof Kozlowski  qcom-sc7280-lpass-state:
446af63b66SSrinivasa Rao Mandadapu    type: object
456af63b66SSrinivasa Rao Mandadapu    description:
466af63b66SSrinivasa Rao Mandadapu      Pinctrl node's client devices use subnodes for desired pin configuration.
476af63b66SSrinivasa Rao Mandadapu      Client device subnodes use below standard properties.
48*49cd1dd1SRob Herring    $ref: /schemas/pinctrl/pincfg-node.yaml
496af63b66SSrinivasa Rao Mandadapu
506af63b66SSrinivasa Rao Mandadapu    properties:
516af63b66SSrinivasa Rao Mandadapu      pins:
526af63b66SSrinivasa Rao Mandadapu        description:
536af63b66SSrinivasa Rao Mandadapu          List of gpio pins affected by the properties specified in this
546af63b66SSrinivasa Rao Mandadapu          subnode.
556af63b66SSrinivasa Rao Mandadapu        items:
566af63b66SSrinivasa Rao Mandadapu          oneOf:
57315dffb8SKrzysztof Kozlowski            - pattern: "^gpio([0-9]|1[0-4])$"
586af63b66SSrinivasa Rao Mandadapu        minItems: 1
596af63b66SSrinivasa Rao Mandadapu        maxItems: 15
606af63b66SSrinivasa Rao Mandadapu
616af63b66SSrinivasa Rao Mandadapu      function:
626af63b66SSrinivasa Rao Mandadapu        enum: [ gpio, swr_tx_clk, qua_mi2s_sclk, swr_tx_data, qua_mi2s_ws,
636af63b66SSrinivasa Rao Mandadapu                qua_mi2s_data, swr_rx_clk, swr_rx_data, dmic1_clk, i2s1_clk,
646af63b66SSrinivasa Rao Mandadapu                dmic1_data, i2s1_ws, dmic2_clk, dmic2_data, i2s1_data,
656af63b66SSrinivasa Rao Mandadapu                i2s2_clk, wsa_swr_clk, i2s2_ws, wsa_swr_data, dmic3_clk,
666af63b66SSrinivasa Rao Mandadapu                dmic3_data, i2s2_data ]
676af63b66SSrinivasa Rao Mandadapu        description:
686af63b66SSrinivasa Rao Mandadapu          Specify the alternative function to be configured for the specified
696af63b66SSrinivasa Rao Mandadapu          pins.
706af63b66SSrinivasa Rao Mandadapu
716af63b66SSrinivasa Rao Mandadapu      drive-strength:
726af63b66SSrinivasa Rao Mandadapu        enum: [2, 4, 6, 8, 10, 12, 14, 16]
736af63b66SSrinivasa Rao Mandadapu        default: 2
746af63b66SSrinivasa Rao Mandadapu        description:
756af63b66SSrinivasa Rao Mandadapu          Selects the drive strength for the specified pins, in mA.
766af63b66SSrinivasa Rao Mandadapu
776af63b66SSrinivasa Rao Mandadapu      slew-rate:
786af63b66SSrinivasa Rao Mandadapu        enum: [0, 1, 2, 3]
796af63b66SSrinivasa Rao Mandadapu        default: 0
806af63b66SSrinivasa Rao Mandadapu        description: |
816af63b66SSrinivasa Rao Mandadapu            0: No adjustments
826af63b66SSrinivasa Rao Mandadapu            1: Higher Slew rate (faster edges)
836af63b66SSrinivasa Rao Mandadapu            2: Lower Slew rate (slower edges)
846af63b66SSrinivasa Rao Mandadapu            3: Reserved (No adjustments)
856af63b66SSrinivasa Rao Mandadapu
866af63b66SSrinivasa Rao Mandadapu      bias-pull-down: true
876af63b66SSrinivasa Rao Mandadapu      bias-pull-up: true
8813e4319bSKrzysztof Kozlowski      bias-bus-hold: true
896af63b66SSrinivasa Rao Mandadapu      bias-disable: true
906af63b66SSrinivasa Rao Mandadapu      output-high: true
916af63b66SSrinivasa Rao Mandadapu      output-low: true
926af63b66SSrinivasa Rao Mandadapu
936af63b66SSrinivasa Rao Mandadapu    required:
946af63b66SSrinivasa Rao Mandadapu      - pins
956af63b66SSrinivasa Rao Mandadapu      - function
966af63b66SSrinivasa Rao Mandadapu
976af63b66SSrinivasa Rao Mandadapu    additionalProperties: false
986af63b66SSrinivasa Rao Mandadapu
996af63b66SSrinivasa Rao Mandadapurequired:
1006af63b66SSrinivasa Rao Mandadapu  - compatible
1016af63b66SSrinivasa Rao Mandadapu  - reg
1026af63b66SSrinivasa Rao Mandadapu  - gpio-controller
103aad11c79SKrzysztof Kozlowski  - "#gpio-cells"
1046af63b66SSrinivasa Rao Mandadapu  - gpio-ranges
1056af63b66SSrinivasa Rao Mandadapu
1066af63b66SSrinivasa Rao MandadapuadditionalProperties: false
1076af63b66SSrinivasa Rao Mandadapu
1086af63b66SSrinivasa Rao Mandadapuexamples:
1096af63b66SSrinivasa Rao Mandadapu  - |
1106af63b66SSrinivasa Rao Mandadapu    lpass_tlmm: pinctrl@33c0000 {
1116af63b66SSrinivasa Rao Mandadapu        compatible = "qcom,sc7280-lpass-lpi-pinctrl";
1126af63b66SSrinivasa Rao Mandadapu        reg = <0x33c0000 0x20000>,
1136af63b66SSrinivasa Rao Mandadapu              <0x3550000 0x10000>;
1146af63b66SSrinivasa Rao Mandadapu        gpio-controller;
1156af63b66SSrinivasa Rao Mandadapu        #gpio-cells = <2>;
1166af63b66SSrinivasa Rao Mandadapu        gpio-ranges = <&lpass_tlmm 0 0 15>;
117cb70c0d8SKrzysztof Kozlowski
118cb70c0d8SKrzysztof Kozlowski        dmic01-state {
119cb70c0d8SKrzysztof Kozlowski            dmic01-clk-pins {
120cb70c0d8SKrzysztof Kozlowski                pins = "gpio6";
121cb70c0d8SKrzysztof Kozlowski                function = "dmic1_clk";
122cb70c0d8SKrzysztof Kozlowski            };
123cb70c0d8SKrzysztof Kozlowski
124cb70c0d8SKrzysztof Kozlowski            dmic01-clk-sleep-pins {
125cb70c0d8SKrzysztof Kozlowski                pins = "gpio6";
126cb70c0d8SKrzysztof Kozlowski                function = "dmic1_clk";
127cb70c0d8SKrzysztof Kozlowski            };
128cb70c0d8SKrzysztof Kozlowski        };
129cb70c0d8SKrzysztof Kozlowski
130cb70c0d8SKrzysztof Kozlowski        tx-swr-data-sleep-state {
131cb70c0d8SKrzysztof Kozlowski            pins = "gpio1", "gpio2", "gpio14";
132cb70c0d8SKrzysztof Kozlowski            function = "swr_tx_data";
133cb70c0d8SKrzysztof Kozlowski        };
1346af63b66SSrinivasa Rao Mandadapu    };
135