xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,lpass-lpi-pinctrl.yaml (revision e67e85659c0de33e617e5fbf1028c6e8b49eee53)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,lpass-lpi-pinctrl.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: Qualcomm Technologies, Inc. Low Power Audio SubSystem (LPASS)
85def4c47SEmmanuel Vadot  Low Power Island (LPI) TLMM block
95def4c47SEmmanuel Vadot
105def4c47SEmmanuel Vadotmaintainers:
115def4c47SEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
125def4c47SEmmanuel Vadot
135def4c47SEmmanuel Vadotdescription: |
145def4c47SEmmanuel Vadot  This binding describes the Top Level Mode Multiplexer block found in the
155def4c47SEmmanuel Vadot  LPASS LPI IP on most Qualcomm SoCs
165def4c47SEmmanuel Vadot
175def4c47SEmmanuel Vadotproperties:
185def4c47SEmmanuel Vadot  compatible:
195def4c47SEmmanuel Vadot    const: qcom,sm8250-lpass-lpi-pinctrl
205def4c47SEmmanuel Vadot
215def4c47SEmmanuel Vadot  reg:
225def4c47SEmmanuel Vadot    minItems: 2
235def4c47SEmmanuel Vadot    maxItems: 2
245def4c47SEmmanuel Vadot
255def4c47SEmmanuel Vadot  clocks:
265def4c47SEmmanuel Vadot    items:
275def4c47SEmmanuel Vadot      - description: LPASS Core voting clock
285def4c47SEmmanuel Vadot      - description: LPASS Audio voting clock
295def4c47SEmmanuel Vadot
305def4c47SEmmanuel Vadot  clock-names:
315def4c47SEmmanuel Vadot    items:
325def4c47SEmmanuel Vadot      - const: core
335def4c47SEmmanuel Vadot      - const: audio
345def4c47SEmmanuel Vadot
355def4c47SEmmanuel Vadot  gpio-controller: true
365def4c47SEmmanuel Vadot
375def4c47SEmmanuel Vadot  '#gpio-cells':
385def4c47SEmmanuel Vadot    description: Specifying the pin number and flags, as defined in
395def4c47SEmmanuel Vadot      include/dt-bindings/gpio/gpio.h
405def4c47SEmmanuel Vadot    const: 2
415def4c47SEmmanuel Vadot
425def4c47SEmmanuel Vadot  gpio-ranges:
435def4c47SEmmanuel Vadot    maxItems: 1
445def4c47SEmmanuel Vadot
455def4c47SEmmanuel Vadot#PIN CONFIGURATION NODES
465def4c47SEmmanuel VadotpatternProperties:
475def4c47SEmmanuel Vadot  '-pins$':
485def4c47SEmmanuel Vadot    type: object
495def4c47SEmmanuel Vadot    description:
505def4c47SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
515def4c47SEmmanuel Vadot      Client device subnodes use below standard properties.
525def4c47SEmmanuel Vadot    $ref: "/schemas/pinctrl/pincfg-node.yaml"
535def4c47SEmmanuel Vadot
545def4c47SEmmanuel Vadot    properties:
555def4c47SEmmanuel Vadot      pins:
565def4c47SEmmanuel Vadot        description:
575def4c47SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
585def4c47SEmmanuel Vadot          subnode.
595def4c47SEmmanuel Vadot        items:
605def4c47SEmmanuel Vadot          oneOf:
615def4c47SEmmanuel Vadot            - pattern: "^gpio([0-9]|[1-9][0-9])$"
625def4c47SEmmanuel Vadot        minItems: 1
635def4c47SEmmanuel Vadot        maxItems: 14
645def4c47SEmmanuel Vadot
655def4c47SEmmanuel Vadot      function:
665def4c47SEmmanuel Vadot        enum: [ gpio, swr_tx_clk, qua_mi2s_sclk, swr_tx_data, qua_mi2s_ws,
675def4c47SEmmanuel Vadot                qua_mi2s_data, swr_rx_clk, swr_rx_data, dmic1_clk, i2s1_clk,
685def4c47SEmmanuel Vadot                dmic1_data, i2s1_ws, dmic2_clk, dmic2_data, i2s1_data,
695def4c47SEmmanuel Vadot                i2s2_clk, wsa_swr_clk, i2s2_ws, wsa_swr_data, dmic3_clk,
705def4c47SEmmanuel Vadot                dmic3_data, i2s2_data ]
715def4c47SEmmanuel Vadot        description:
725def4c47SEmmanuel Vadot          Specify the alternative function to be configured for the specified
735def4c47SEmmanuel Vadot          pins.
745def4c47SEmmanuel Vadot
755def4c47SEmmanuel Vadot      drive-strength:
765def4c47SEmmanuel Vadot        enum: [2, 4, 6, 8, 10, 12, 14, 16]
775def4c47SEmmanuel Vadot        default: 2
785def4c47SEmmanuel Vadot        description:
795def4c47SEmmanuel Vadot          Selects the drive strength for the specified pins, in mA.
805def4c47SEmmanuel Vadot
815def4c47SEmmanuel Vadot      slew-rate:
825def4c47SEmmanuel Vadot        enum: [0, 1, 2, 3]
835def4c47SEmmanuel Vadot        default: 0
845def4c47SEmmanuel Vadot        description: |
855def4c47SEmmanuel Vadot            0: No adjustments
865def4c47SEmmanuel Vadot            1: Higher Slew rate (faster edges)
875def4c47SEmmanuel Vadot            2: Lower Slew rate (slower edges)
885def4c47SEmmanuel Vadot            3: Reserved (No adjustments)
895def4c47SEmmanuel Vadot
905def4c47SEmmanuel Vadot      bias-pull-down: true
915def4c47SEmmanuel Vadot
925def4c47SEmmanuel Vadot      bias-pull-up: true
935def4c47SEmmanuel Vadot
945def4c47SEmmanuel Vadot      bias-disable: true
955def4c47SEmmanuel Vadot
965def4c47SEmmanuel Vadot      output-high: true
975def4c47SEmmanuel Vadot
985def4c47SEmmanuel Vadot      output-low: true
995def4c47SEmmanuel Vadot
1005def4c47SEmmanuel Vadot    required:
1015def4c47SEmmanuel Vadot      - pins
1025def4c47SEmmanuel Vadot      - function
1035def4c47SEmmanuel Vadot
1045def4c47SEmmanuel Vadot    additionalProperties: false
1055def4c47SEmmanuel Vadot
106*e67e8565SEmmanuel VadotallOf:
107*e67e8565SEmmanuel Vadot  - $ref: "pinctrl.yaml#"
108*e67e8565SEmmanuel Vadot
1095def4c47SEmmanuel Vadotrequired:
1105def4c47SEmmanuel Vadot  - compatible
1115def4c47SEmmanuel Vadot  - reg
1125def4c47SEmmanuel Vadot  - clocks
1135def4c47SEmmanuel Vadot  - clock-names
1145def4c47SEmmanuel Vadot  - gpio-controller
1155def4c47SEmmanuel Vadot  - '#gpio-cells'
1165def4c47SEmmanuel Vadot  - gpio-ranges
1175def4c47SEmmanuel Vadot
1185def4c47SEmmanuel VadotadditionalProperties: false
1195def4c47SEmmanuel Vadot
1205def4c47SEmmanuel Vadotexamples:
1215def4c47SEmmanuel Vadot  - |
1225def4c47SEmmanuel Vadot    #include <dt-bindings/sound/qcom,q6afe.h>
1235def4c47SEmmanuel Vadot    lpi_tlmm: pinctrl@33c0000 {
1245def4c47SEmmanuel Vadot        compatible = "qcom,sm8250-lpass-lpi-pinctrl";
1255def4c47SEmmanuel Vadot        reg = <0x33c0000 0x20000>,
1265def4c47SEmmanuel Vadot              <0x3550000 0x10000>;
1275def4c47SEmmanuel Vadot        clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
1285def4c47SEmmanuel Vadot                 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
1295def4c47SEmmanuel Vadot        clock-names = "core", "audio";
1305def4c47SEmmanuel Vadot        gpio-controller;
1315def4c47SEmmanuel Vadot        #gpio-cells = <2>;
1325def4c47SEmmanuel Vadot        gpio-ranges = <&lpi_tlmm 0 0 14>;
1335def4c47SEmmanuel Vadot    };
134