xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,sc7280-lpass-lpi-pinctrl.yaml (revision cb70c0d8b50a4051743fb42d2fc730f268864361)
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
76af63b66SSrinivasa Rao Mandadaputitle: Qualcomm Technologies, Inc. Low Power Audio SubSystem (LPASS)
86af63b66SSrinivasa Rao Mandadapu  Low Power Island (LPI) TLMM block
96af63b66SSrinivasa Rao Mandadapu
106af63b66SSrinivasa Rao Mandadapumaintainers:
116af63b66SSrinivasa Rao Mandadapu  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
126af63b66SSrinivasa Rao Mandadapu
136af63b66SSrinivasa Rao Mandadapudescription: |
146af63b66SSrinivasa Rao Mandadapu  This binding describes the Top Level Mode Multiplexer block found in the
156af63b66SSrinivasa Rao Mandadapu  LPASS LPI IP on most Qualcomm SoCs
166af63b66SSrinivasa Rao Mandadapu
176af63b66SSrinivasa Rao Mandadapuproperties:
186af63b66SSrinivasa Rao Mandadapu  compatible:
196af63b66SSrinivasa Rao Mandadapu    const: qcom,sc7280-lpass-lpi-pinctrl
206af63b66SSrinivasa Rao Mandadapu
21174eceeaSSrinivasa Rao Mandadapu  qcom,adsp-bypass-mode:
22174eceeaSSrinivasa Rao Mandadapu    description:
23174eceeaSSrinivasa Rao Mandadapu      Tells ADSP is in bypass mode.
24174eceeaSSrinivasa Rao Mandadapu    type: boolean
25174eceeaSSrinivasa Rao Mandadapu
266af63b66SSrinivasa Rao Mandadapu  reg:
276af63b66SSrinivasa Rao Mandadapu    minItems: 2
286af63b66SSrinivasa Rao Mandadapu    maxItems: 2
296af63b66SSrinivasa Rao Mandadapu
306af63b66SSrinivasa Rao Mandadapu  gpio-controller: true
316af63b66SSrinivasa Rao Mandadapu
326af63b66SSrinivasa Rao Mandadapu  '#gpio-cells':
336af63b66SSrinivasa Rao Mandadapu    description: Specifying the pin number and flags, as defined in
346af63b66SSrinivasa Rao Mandadapu      include/dt-bindings/gpio/gpio.h
356af63b66SSrinivasa Rao Mandadapu    const: 2
366af63b66SSrinivasa Rao Mandadapu
376af63b66SSrinivasa Rao Mandadapu  gpio-ranges:
386af63b66SSrinivasa Rao Mandadapu    maxItems: 1
396af63b66SSrinivasa Rao Mandadapu
406af63b66SSrinivasa Rao MandadapupatternProperties:
41*cb70c0d8SKrzysztof Kozlowski  "-state$":
42*cb70c0d8SKrzysztof Kozlowski    oneOf:
43*cb70c0d8SKrzysztof Kozlowski      - $ref: "#/$defs/qcom-sc7280-lpass-state"
44*cb70c0d8SKrzysztof Kozlowski      - patternProperties:
45*cb70c0d8SKrzysztof Kozlowski          "-pins$":
46*cb70c0d8SKrzysztof Kozlowski            $ref: "#/$defs/qcom-sc7280-lpass-state"
47*cb70c0d8SKrzysztof Kozlowski        additionalProperties: false
48*cb70c0d8SKrzysztof Kozlowski
49*cb70c0d8SKrzysztof Kozlowski$defs:
50*cb70c0d8SKrzysztof Kozlowski  qcom-sc7280-lpass-state:
516af63b66SSrinivasa Rao Mandadapu    type: object
526af63b66SSrinivasa Rao Mandadapu    description:
536af63b66SSrinivasa Rao Mandadapu      Pinctrl node's client devices use subnodes for desired pin configuration.
546af63b66SSrinivasa Rao Mandadapu      Client device subnodes use below standard properties.
556af63b66SSrinivasa Rao Mandadapu    $ref: "/schemas/pinctrl/pincfg-node.yaml"
566af63b66SSrinivasa Rao Mandadapu
576af63b66SSrinivasa Rao Mandadapu    properties:
586af63b66SSrinivasa Rao Mandadapu      pins:
596af63b66SSrinivasa Rao Mandadapu        description:
606af63b66SSrinivasa Rao Mandadapu          List of gpio pins affected by the properties specified in this
616af63b66SSrinivasa Rao Mandadapu          subnode.
626af63b66SSrinivasa Rao Mandadapu        items:
636af63b66SSrinivasa Rao Mandadapu          oneOf:
646af63b66SSrinivasa Rao Mandadapu            - pattern: "^gpio([0-9]|[1-9][0-9])$"
656af63b66SSrinivasa Rao Mandadapu        minItems: 1
666af63b66SSrinivasa Rao Mandadapu        maxItems: 15
676af63b66SSrinivasa Rao Mandadapu
686af63b66SSrinivasa Rao Mandadapu      function:
696af63b66SSrinivasa Rao Mandadapu        enum: [ gpio, swr_tx_clk, qua_mi2s_sclk, swr_tx_data, qua_mi2s_ws,
706af63b66SSrinivasa Rao Mandadapu                qua_mi2s_data, swr_rx_clk, swr_rx_data, dmic1_clk, i2s1_clk,
716af63b66SSrinivasa Rao Mandadapu                dmic1_data, i2s1_ws, dmic2_clk, dmic2_data, i2s1_data,
726af63b66SSrinivasa Rao Mandadapu                i2s2_clk, wsa_swr_clk, i2s2_ws, wsa_swr_data, dmic3_clk,
736af63b66SSrinivasa Rao Mandadapu                dmic3_data, i2s2_data ]
746af63b66SSrinivasa Rao Mandadapu        description:
756af63b66SSrinivasa Rao Mandadapu          Specify the alternative function to be configured for the specified
766af63b66SSrinivasa Rao Mandadapu          pins.
776af63b66SSrinivasa Rao Mandadapu
786af63b66SSrinivasa Rao Mandadapu      drive-strength:
796af63b66SSrinivasa Rao Mandadapu        enum: [2, 4, 6, 8, 10, 12, 14, 16]
806af63b66SSrinivasa Rao Mandadapu        default: 2
816af63b66SSrinivasa Rao Mandadapu        description:
826af63b66SSrinivasa Rao Mandadapu          Selects the drive strength for the specified pins, in mA.
836af63b66SSrinivasa Rao Mandadapu
846af63b66SSrinivasa Rao Mandadapu      slew-rate:
856af63b66SSrinivasa Rao Mandadapu        enum: [0, 1, 2, 3]
866af63b66SSrinivasa Rao Mandadapu        default: 0
876af63b66SSrinivasa Rao Mandadapu        description: |
886af63b66SSrinivasa Rao Mandadapu            0: No adjustments
896af63b66SSrinivasa Rao Mandadapu            1: Higher Slew rate (faster edges)
906af63b66SSrinivasa Rao Mandadapu            2: Lower Slew rate (slower edges)
916af63b66SSrinivasa Rao Mandadapu            3: Reserved (No adjustments)
926af63b66SSrinivasa Rao Mandadapu
936af63b66SSrinivasa Rao Mandadapu      bias-pull-down: true
946af63b66SSrinivasa Rao Mandadapu
956af63b66SSrinivasa Rao Mandadapu      bias-pull-up: true
966af63b66SSrinivasa Rao Mandadapu
976af63b66SSrinivasa Rao Mandadapu      bias-disable: true
986af63b66SSrinivasa Rao Mandadapu
996af63b66SSrinivasa Rao Mandadapu      output-high: true
1006af63b66SSrinivasa Rao Mandadapu
1016af63b66SSrinivasa Rao Mandadapu      output-low: true
1026af63b66SSrinivasa Rao Mandadapu
1036af63b66SSrinivasa Rao Mandadapu    required:
1046af63b66SSrinivasa Rao Mandadapu      - pins
1056af63b66SSrinivasa Rao Mandadapu      - function
1066af63b66SSrinivasa Rao Mandadapu
1076af63b66SSrinivasa Rao Mandadapu    additionalProperties: false
1086af63b66SSrinivasa Rao Mandadapu
1096af63b66SSrinivasa Rao Mandadapurequired:
1106af63b66SSrinivasa Rao Mandadapu  - compatible
1116af63b66SSrinivasa Rao Mandadapu  - reg
1126af63b66SSrinivasa Rao Mandadapu  - gpio-controller
1136af63b66SSrinivasa Rao Mandadapu  - '#gpio-cells'
1146af63b66SSrinivasa Rao Mandadapu  - gpio-ranges
1156af63b66SSrinivasa Rao Mandadapu
1166af63b66SSrinivasa Rao MandadapuadditionalProperties: false
1176af63b66SSrinivasa Rao Mandadapu
1186af63b66SSrinivasa Rao Mandadapuexamples:
1196af63b66SSrinivasa Rao Mandadapu  - |
1206af63b66SSrinivasa Rao Mandadapu    lpass_tlmm: pinctrl@33c0000 {
1216af63b66SSrinivasa Rao Mandadapu        compatible = "qcom,sc7280-lpass-lpi-pinctrl";
1226af63b66SSrinivasa Rao Mandadapu        reg = <0x33c0000 0x20000>,
1236af63b66SSrinivasa Rao Mandadapu              <0x3550000 0x10000>;
1246af63b66SSrinivasa Rao Mandadapu        gpio-controller;
1256af63b66SSrinivasa Rao Mandadapu        #gpio-cells = <2>;
1266af63b66SSrinivasa Rao Mandadapu        gpio-ranges = <&lpass_tlmm 0 0 15>;
127*cb70c0d8SKrzysztof Kozlowski
128*cb70c0d8SKrzysztof Kozlowski        dmic01-state {
129*cb70c0d8SKrzysztof Kozlowski            dmic01-clk-pins {
130*cb70c0d8SKrzysztof Kozlowski                pins = "gpio6";
131*cb70c0d8SKrzysztof Kozlowski                function = "dmic1_clk";
132*cb70c0d8SKrzysztof Kozlowski            };
133*cb70c0d8SKrzysztof Kozlowski
134*cb70c0d8SKrzysztof Kozlowski            dmic01-clk-sleep-pins {
135*cb70c0d8SKrzysztof Kozlowski                pins = "gpio6";
136*cb70c0d8SKrzysztof Kozlowski                function = "dmic1_clk";
137*cb70c0d8SKrzysztof Kozlowski            };
138*cb70c0d8SKrzysztof Kozlowski        };
139*cb70c0d8SKrzysztof Kozlowski
140*cb70c0d8SKrzysztof Kozlowski        tx-swr-data-sleep-state {
141*cb70c0d8SKrzysztof Kozlowski            pins = "gpio1", "gpio2", "gpio14";
142*cb70c0d8SKrzysztof Kozlowski            function = "swr_tx_data";
143*cb70c0d8SKrzysztof Kozlowski        };
1446af63b66SSrinivasa Rao Mandadapu    };
145