mbox series

[0/2] pinctrl: qcom: add sm4250 lpi pinctrl

Message ID 20240606130323.138970-1-srinivas.kandagatla@linaro.org
Headers show
Series pinctrl: qcom: add sm4250 lpi pinctrl | expand

Message

Srinivas Kandagatla June 6, 2024, 1:03 p.m. UTC
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

Add support for sm4250 lpi pinctrl.

Alexey tested this on RB2 with HDMI Audio.

Srinivas Kandagatla (2):
  dt-bindings: pinctrl: qcom: Add SM4250 pinctrl
  pinctrl: qcom: Introduce SM4250 LPI pinctrl driver

 .../qcom,sm4250-lpass-lpi-pinctrl.yaml        | 119 +++++++++++
 drivers/pinctrl/qcom/Kconfig                  |   9 +
 drivers/pinctrl/qcom/Makefile                 |   1 +
 .../pinctrl/qcom/pinctrl-sm4250-lpass-lpi.c   | 191 ++++++++++++++++++
 4 files changed, 320 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,sm4250-lpass-lpi-pinctrl.yaml
 create mode 100644 drivers/pinctrl/qcom/pinctrl-sm4250-lpass-lpi.c

Comments

Krzysztof Kozlowski June 7, 2024, 7:36 a.m. UTC | #1
On 06/06/2024 15:03, srinivas.kandagatla@linaro.org wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> 
> Add device tree binding Documentation details for Qualcomm SM4250 LPASS
> LPI(Low power Island) pinctrl device.

...

> +
> +description:
> +  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
> +  (LPASS) Low Power Island (LPI) of Qualcomm SM4250 SoC.
> +
> +properties:
> +  compatible:
> +    const: qcom,sm4250-lpass-lpi-pinctrl
> +
> +  reg:
> +    maxItems: 2

Please use recent bindings as starting work or template, e.g. sm8550 or
sm8650. IOW, you need to list the items.

> +
> +  clocks:
> +    items:
> +      - description: LPASS Audio voting clock
> +
> +  clock-names:
> +    items:
> +      - const: audio
> +
> +patternProperties:
> +  "-state$":
> +    oneOf:
> +      - $ref: "#/$defs/qcom-sm4250-lpass-state"
> +      - patternProperties:
> +          "-pins$":
> +            $ref: "#/$defs/qcom-sm4250-lpass-state"
> +        additionalProperties: false
> +
> +$defs:
> +  qcom-sm4250-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:
> +          oneOf:

No need for oneOf. And then directly "pattern" without leading hyphen.

> +            - pattern: "^gpio([0-9]|1[0-8])$"
> +        minItems: 1
> +        maxItems: 19
> +
> +      function:
> +        enum: [ gpio, dmic01_clk, dmic01_data, dmic23_clk, dmic23_data,
> +                dmic4_clk, dmic4_data, ext_mclk0_a, ext_mclk0_b, ext_mclk1_a,
> +                ext_mclk1_b, ext_mclk1_c, i2s1_clk, i2s1_data, i2s1_ws,
> +                i2s2_clk, i2s2_data, i2s2_ws, i2s3_clk, i2s3_data, i2s3_ws,
> +                qua_mi2s_data, qua_mi2s_sclk, qua_mi2s_ws, slim_clk, slim_data,
> +                swr_rx_clk, swr_rx_data, swr_tx_clk, swr_tx_data, swr_wsa_clk,
> +                swr_wsa_data ]
> +        description:
> +          Specify the alternative function to be configured for the specified
> +          pins.
> +
> +allOf:
> +  - $ref: qcom,lpass-lpi-common.yaml#
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - clock-names
> +

Best regards,
Krzysztof