From: Nickolay Goppen <setotau@yandex.ru>
Add bindings for pin controller in SDM660 Low Power Audio SubSystem
LPASS).
Co-developed-by: Richard Acayan <mailingradian@gmail.com>
Signed-off-by: Richard Acayan <mailingradian@gmail.com>
Signed-off-by: Nickolay Goppen <setotau@yandex.ru>
---
.../pinctrl/qcom,sdm660-lpass-lpi-pinctrl.yaml | 74 ++++++++++++++++++++++
1 file changed, 74 insertions(+)
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sdm660-lpass-lpi-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sdm660-lpass-lpi-pinctrl.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f71dbea9f75b398c9c5dd585635c469e1f426b6f
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,sdm660-lpass-lpi-pinctrl.yaml
@@ -0,0 +1,74 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/qcom,sdm660-lpass-lpi-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm SDM660 SoC LPASS LPI TLMM
+
+maintainers:
+ - Nickolay Goppen <setotau@yandex.ru>
+
+description:
+ Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
+ (LPASS) Low Power Island (LPI) of Qualcomm SDM660 SoC.
+
+properties:
+ compatible:
+ const: qcom,sdm660-lpass-lpi-pinctrl
+
+ reg:
+ items:
+ - description: LPASS LPI TLMM Control and Status registers
+
+patternProperties:
+ "-state$":
+ oneOf:
+ - $ref: "#/$defs/qcom-sdm660-lpass-state"
+ - patternProperties:
+ "-pins$":
+ $ref: "#/$defs/qcom-sdm660-lpass-state"
+ additionalProperties: false
+
+$defs:
+ qcom-sdm660-lpass-state:
+ type: object
+ description:
+ Pinctrl node's client devices use subnodes for desired pin configuration.
+ Client device subnodes use below standard properties.
+ $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
+ unevaluatedProperties: false
+
+ properties:
+ pins:
+ description:
+ List of gpio pins affected by the properties specified in this
+ subnode.
+ items:
+ pattern: "^gpio([0-9]|[1-2][0-9]|3[0-1])$"
+
+ function:
+ enum: [ gpio, comp_rx, dmic12, dmic34, mclk0, pdm_2_gpios,
+ pdm_clk, pdm_rx, pdm_sync ]
+ description:
+ Specify the alternative function to be configured for the specified
+ pins.
+
+allOf:
+ - $ref: qcom,lpass-lpi-common.yaml#
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ lpi_tlmm: pinctrl@15070000 {
+ compatible = "qcom,sdm660-lpass-lpi-pinctrl";
+ reg = <0x15070000 0x20000>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&lpi_tlmm 0 0 32>;
+ };
--
2.51.0
On 28/08/2025 21:23, Nickolay Goppen via B4 Relay wrote:
> From: Nickolay Goppen <setotau@yandex.ru>
>
> Add bindings for pin controller in SDM660 Low Power Audio SubSystem
> LPASS).
>
> Co-developed-by: Richard Acayan <mailingradian@gmail.com>
> Signed-off-by: Richard Acayan <mailingradian@gmail.com>
> Signed-off-by: Nickolay Goppen <setotau@yandex.ru>
Completely reversed/messed chain.
...
> +
> +properties:
> + compatible:
> + const: qcom,sdm660-lpass-lpi-pinctrl
> +
> + reg:
> + items:
> + - description: LPASS LPI TLMM Control and Status registers
Clocks missing, maybe some other properties as well.
> +
> +patternProperties:
> + "-state$":
> + oneOf:
> + - $ref: "#/$defs/qcom-sdm660-lpass-state"
> + - patternProperties:
> + "-pins$":
> + $ref: "#/$defs/qcom-sdm660-lpass-state"
> + additionalProperties: false
> +
> +$defs:
> + qcom-sdm660-lpass-state:
> + type: object
> + description:
> + Pinctrl node's client devices use subnodes for desired pin configuration.
> + Client device subnodes use below standard properties.
> + $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
> + unevaluatedProperties: false
> +
> + properties:
> + pins:
> + description:
> + List of gpio pins affected by the properties specified in this
> + subnode.
> + items:
> + pattern: "^gpio([0-9]|[1-2][0-9]|3[0-1])$"
> +
> + function:
> + enum: [ gpio, comp_rx, dmic12, dmic34, mclk0, pdm_2_gpios,
> + pdm_clk, pdm_rx, pdm_sync ]
> + description:
> + Specify the alternative function to be configured for the specified
> + pins.
> +
> +allOf:
> + - $ref: qcom,lpass-lpi-common.yaml#
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + lpi_tlmm: pinctrl@15070000 {
> + compatible = "qcom,sdm660-lpass-lpi-pinctrl";
> + reg = <0x15070000 0x20000>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + gpio-ranges = <&lpi_tlmm 0 0 32>;
That's quite incomplete example. Missing at least one pinmux node. See
other files.
> + };
>
Best regards,
Krzysztof
29.08.2025 09:06, Krzysztof Kozlowski пишет:
> On 28/08/2025 21:23, Nickolay Goppen via B4 Relay wrote:
>> From: Nickolay Goppen <setotau@yandex.ru>
>>
>> Add bindings for pin controller in SDM660 Low Power Audio SubSystem
>> LPASS).
>>
>> Co-developed-by: Richard Acayan <mailingradian@gmail.com>
>> Signed-off-by: Richard Acayan <mailingradian@gmail.com>
>> Signed-off-by: Nickolay Goppen <setotau@yandex.ru>
> Completely reversed/messed chain.
>
> ...
>
>> +
>> +properties:
>> + compatible:
>> + const: qcom,sdm660-lpass-lpi-pinctrl
>> +
>> + reg:
>> + items:
>> + - description: LPASS LPI TLMM Control and Status registers
>
> Clocks missing, maybe some other properties as well.
I've read a downstream LPI-related dts and didn't find any clock-related
properties.
Also sc7280-lpass-lpi dt-binding doesn't have any clock-related properties.
>
>> +
>> +patternProperties:
>> + "-state$":
>> + oneOf:
>> + - $ref: "#/$defs/qcom-sdm660-lpass-state"
>> + - patternProperties:
>> + "-pins$":
>> + $ref: "#/$defs/qcom-sdm660-lpass-state"
>> + additionalProperties: false
>> +
>> +$defs:
>> + qcom-sdm660-lpass-state:
>> + type: object
>> + description:
>> + Pinctrl node's client devices use subnodes for desired pin configuration.
>> + Client device subnodes use below standard properties.
>> + $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
>> + unevaluatedProperties: false
>> +
>> + properties:
>> + pins:
>> + description:
>> + List of gpio pins affected by the properties specified in this
>> + subnode.
>> + items:
>> + pattern: "^gpio([0-9]|[1-2][0-9]|3[0-1])$"
>> +
>> + function:
>> + enum: [ gpio, comp_rx, dmic12, dmic34, mclk0, pdm_2_gpios,
>> + pdm_clk, pdm_rx, pdm_sync ]
>> + description:
>> + Specify the alternative function to be configured for the specified
>> + pins.
>> +
>> +allOf:
>> + - $ref: qcom,lpass-lpi-common.yaml#
>> +
>> +required:
>> + - compatible
>> + - reg
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> + - |
>> + lpi_tlmm: pinctrl@15070000 {
>> + compatible = "qcom,sdm660-lpass-lpi-pinctrl";
>> + reg = <0x15070000 0x20000>;
>> + gpio-controller;
>> + #gpio-cells = <2>;
>> + gpio-ranges = <&lpi_tlmm 0 0 32>;
> That's quite incomplete example. Missing at least one pinmux node. See
> other files.
>
Ok, I've got it. It will be added in the next iteration.
>> + };
>>
>
> Best regards,
> Krzysztof
On 29/08/2025 08:06, Krzysztof Kozlowski wrote: > On 28/08/2025 21:23, Nickolay Goppen via B4 Relay wrote: >> From: Nickolay Goppen <setotau@yandex.ru> >> >> Add bindings for pin controller in SDM660 Low Power Audio SubSystem >> LPASS). >> >> Co-developed-by: Richard Acayan <mailingradian@gmail.com> >> Signed-off-by: Richard Acayan <mailingradian@gmail.com> >> Signed-off-by: Nickolay Goppen <setotau@yandex.ru> > > Completely reversed/messed chain. Ah no, sorry, it's ok. I missed who is the sender here. Best regards, Krzysztof
© 2016 - 2026 Red Hat, Inc.