Add documentation for the rockchip rk3576 CAN controller.
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
---
.../net/can/rockchip,rk3568v2-canfd.yaml | 52 +++++++++++++++++--
1 file changed, 48 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml b/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
index a077c0330013..30782218728e 100644
--- a/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
+++ b/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
@@ -10,13 +10,12 @@ title:
maintainers:
- Marc Kleine-Budde <mkl@pengutronix.de>
-allOf:
- - $ref: can-controller.yaml#
-
properties:
compatible:
oneOf:
- - const: rockchip,rk3568v2-canfd
+ - enum:
+ - rockchip,rk3568v2-canfd
+ - rockchip,rk3576-can
- items:
- const: rockchip,rk3568v3-canfd
- const: rockchip,rk3568v2-canfd
@@ -43,6 +42,33 @@ properties:
- const: core
- const: apb
+ dmas:
+ maxItems: 1
+
+ dma-names:
+ items:
+ - const: rx
+
+allOf:
+ - $ref: can-controller.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: rockchip,rk3576-can
+ then:
+ properties:
+ dmas:
+ minItems: 1
+ maxItems: 2
+ dma-names:
+ minItems: 1
+ maxItems: 2
+ else:
+ properties:
+ dmas: false
+ dma-names: false
+
required:
- compatible
- reg
@@ -72,3 +98,21 @@ examples:
reset-names = "core", "apb";
};
};
+
+ - |
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ can@2ac00000 {
+ compatible = "rockchip,rk3576-can";
+ reg = <0x0 0x2ac00000 0x0 0x1000>;
+ interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>;
+ clock-names = "baud", "pclk";
+ resets = <&cru SRST_CAN0>, <&cru SRST_P_CAN0>;
+ reset-names = "core", "apb";
+ dmas = <&dmac0 20>;
+ dma-names = "rx";
+ };
+ };
--
2.34.1
On Wed, Oct 29, 2025 at 11:22:59AM +0800, Elaine Zhang wrote:
> Add documentation for the rockchip rk3576 CAN controller.
>
> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
> ---
> .../net/can/rockchip,rk3568v2-canfd.yaml | 52 +++++++++++++++++--
> 1 file changed, 48 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml b/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
> index a077c0330013..30782218728e 100644
> --- a/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
> +++ b/Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
> @@ -10,13 +10,12 @@ title:
> maintainers:
> - Marc Kleine-Budde <mkl@pengutronix.de>
>
> -allOf:
> - - $ref: can-controller.yaml#
> -
> properties:
> compatible:
> oneOf:
> - - const: rockchip,rk3568v2-canfd
> + - enum:
> + - rockchip,rk3568v2-canfd
> + - rockchip,rk3576-can
> - items:
> - const: rockchip,rk3568v3-canfd
> - const: rockchip,rk3568v2-canfd
> @@ -43,6 +42,33 @@ properties:
> - const: core
> - const: apb
>
> + dmas:
> + maxItems: 1
> +
> + dma-names:
> + items:
> + - const: rx
> +
> +allOf:
> + - $ref: can-controller.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: rockchip,rk3576-can
> + then:
> + properties:
> + dmas:
> + minItems: 1
> + maxItems: 2
> + dma-names:
> + minItems: 1
> + maxItems: 2
This looks wrong. You have one dma, but you're setting maxItems to 2.
Seems fine otherwise.
pw-bot: changes-requested
Cheers,
Conor.
> + else:
> + properties:
> + dmas: false
> + dma-names: false
> +
> required:
> - compatible
> - reg
> @@ -72,3 +98,21 @@ examples:
> reset-names = "core", "apb";
> };
> };
> +
> + - |
> + soc {
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + can@2ac00000 {
> + compatible = "rockchip,rk3576-can";
> + reg = <0x0 0x2ac00000 0x0 0x1000>;
> + interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>;
> + clock-names = "baud", "pclk";
> + resets = <&cru SRST_CAN0>, <&cru SRST_P_CAN0>;
> + reset-names = "core", "apb";
> + dmas = <&dmac0 20>;
> + dma-names = "rx";
> + };
> + };
> --
> 2.34.1
>
© 2016 - 2026 Red Hat, Inc.