[PATCH v2 2/2] dt-bindings: i3c: silvaco,i3c-master: Add Amlogic A9 support
Frank Li
Frank.li at oss.nxp.com
Mon Nov 2 13:48:47 PST 2026
On Mon, Nov 02, 2026 at 07:05:40PM +0800, Junyi Zhao wrote:
> Amlogic A9 SoCs integrate the Silvaco I3C IP with two controller
> instances:
>
> - amlogic,a9-i3c for the EE domain, which takes two clocks,
> "pclk" and "fast_clk" like the NXP variants;
>
> - amlogic,a9-ao-i3c for the Always-On (AO) domain, which exposes
> only "pclk": its bus clock is generated by an internal divider
> located in the controller's own register space.
>
> Allow both compatibles with the "silvaco,i3c-master-v1" fallback and
> enforce the per-variant clock counts.
>
> Signed-off-by: Junyi Zhao <junyi.zhao at amlogic.com>
> ---
> .../bindings/i3c/silvaco,i3c-master.yaml | 24 ++++++++++++++++++++--
> 1 file changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml b/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml
> index 853092f75..de1fdec65 100644
> --- a/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml
> +++ b/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml
> @@ -19,6 +19,8 @@ properties:
> - enum:
> - nxp,imx94-i3c
> - nxp,imx95-i3c
> + - amlogic,a9-i3c
> + - amlogic,a9-ao-i3c
> - const: silvaco,i3c-master-v1
You have drvdata for it. Needn't fallback to silvaco,i3c-master-v1
Frank
>
> reg:
> @@ -28,14 +30,14 @@ properties:
> maxItems: 1
>
> clocks:
> - minItems: 2
> + minItems: 1
> items:
> - description: system clock
> - description: bus clock
> - description: other (slower) events clock
>
> clock-names:
> - minItems: 2
> + minItems: 1
> items:
> - const: pclk
> - const: fast_clk
> @@ -72,12 +74,30 @@ allOf:
> enum:
> - nxp,imx94-i3c
> - nxp,imx95-i3c
> + - amlogic,a9-i3c
> then:
> properties:
> clocks:
> + minItems: 2
> maxItems: 2
> clock-names:
> + minItems: 2
> maxItems: 2
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: amlogic,a9-ao-i3c
> + then:
> + properties:
> + clocks:
> + maxItems: 1
> + description:
> + The "ao" variant is the controller instance in the Always-On (AO)
> + domain, which has no separate bus clock and derives the
> + bus clock from an internal divider.
> + clock-names:
> + maxItems: 1
>
> unevaluatedProperties: false
>
>
> --
> 2.42.0
>
More information about the linux-arm-kernel
mailing list