On 6/27/25 10:44 PM, Rob Herring wrote: > On Wed, Jun 25, 2025 at 11:12:01AM +0200, Luca Weiss wrote: >> Document the Top Level Mode Multiplexer on the SM7635 Platform. >> >> Signed-off-by: Luca Weiss <luca.we...@fairphone.com> >> --- >> .../bindings/pinctrl/qcom,sm7635-tlmm.yaml | 133 >> +++++++++++++++++++++ >> 1 file changed, 133 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sm7635-tlmm.yaml >> b/Documentation/devicetree/bindings/pinctrl/qcom,sm7635-tlmm.yaml >> new file mode 100644 >> index >> 0000000000000000000000000000000000000000..3f49239efb6e866015b40e3477a8bd0edd21b1fc >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sm7635-tlmm.yaml >> @@ -0,0 +1,133 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/pinctrl/qcom,sm7635-tlmm.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm Technologies, Inc. SM7635 TLMM block >> + >> +maintainers: >> + - Luca Weiss <luca.we...@fairphone.com> >> + >> +description: >> + Top Level Mode Multiplexer pin controller in Qualcomm SM7635 SoC. >> + >> +allOf: >> + - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# >> + >> +properties: >> + compatible: >> + const: qcom,sm7635-tlmm >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + gpio-reserved-ranges: >> + minItems: 1 >> + maxItems: 84 >> + >> + gpio-line-names: >> + maxItems: 167 >> + >> +patternProperties: >> + "-state$": >> + oneOf: >> + - $ref: "#/$defs/qcom-sm7635-tlmm-state" >> + - patternProperties: >> + "-pins$": >> + $ref: "#/$defs/qcom-sm7635-tlmm-state" >> + additionalProperties: false > > Is there really value in continuing this complicated QCom pattern? Can > we just have 1 level or 2 levels only?
The 1-level pattern is useful for states that contain settings for a single pin (or a common set of settings for multiple pins), whereas the 2-level one makes sense for groups of differently-set pins that are logically coupled (e.g. a set of SDHCI-active states) Only keeping 1 would increase the boilerplate as each group of logically-adjacent pins would need to be referred to individually in pinctrl-n = <>, whereas keeping only option 2 would increase boilerplate in the state definitions (think creating a 2d array for a single scalar value) So I think both are rather useful in their own regard.. Konrad