Commit 7cb0f17f authored by Anssi Hannula's avatar Anssi Hannula Committed by Marc Kleine-Budde

dt-bindings: can: xilinx_can: add Xilinx CAN FD bindings

Add compatible string and new attributes to support the Xilinx CAN FD
core.

Unlike the previously documented Xilinx CAN cores, the CAN FD core has
TX mailboxes instead of TX FIFO, and optionally RX mailboxes instead of
RX FIFO (selected at core generation time, not switchable at runtime).
Add "tx-mailbox-count" and "rx-mailbox-count" to specify the mailbox
counts instead of reusing "tx-fifo-depth" and "rx-fifo-depth".

The RX FIFO depth is constant 32, but allow it to be specified via
"rx-fifo-depth" to match DT usage with Zynq CAN (which has constant RX
FIFO of depth of 64).

v2: Remove unnecessary "rx-mode" DT property.
Signed-off-by: default avatarAnssi Hannula <anssi.hannula@bitwise.fi>
Cc: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent 11ee5fcd
...@@ -2,20 +2,26 @@ Xilinx Axi CAN/Zynq CANPS controller Device Tree Bindings ...@@ -2,20 +2,26 @@ Xilinx Axi CAN/Zynq CANPS controller Device Tree Bindings
--------------------------------------------------------- ---------------------------------------------------------
Required properties: Required properties:
- compatible : Should be "xlnx,zynq-can-1.0" for Zynq CAN - compatible : Should be:
controllers and "xlnx,axi-can-1.00.a" for Axi CAN - "xlnx,zynq-can-1.0" for Zynq CAN controllers
controllers. - "xlnx,axi-can-1.00.a" for Axi CAN controllers
- reg : Physical base address and size of the Axi CAN/Zynq - "xlnx,canfd-1.0" for CAN FD controllers
CANPS registers map. - reg : Physical base address and size of the controller
registers map.
- interrupts : Property with a value describing the interrupt - interrupts : Property with a value describing the interrupt
number. number.
- interrupt-parent : Must be core interrupt controller - interrupt-parent : Must be core interrupt controller
- clock-names : List of input clock names - "can_clk", "pclk" - clock-names : List of input clock names
(For CANPS), "can_clk" , "s_axi_aclk"(For AXI CAN) - "can_clk", "pclk" (For CANPS),
- "can_clk", "s_axi_aclk" (For AXI CAN and CAN FD).
(See clock bindings for details). (See clock bindings for details).
- clocks : Clock phandles (see clock bindings for details). - clocks : Clock phandles (see clock bindings for details).
- tx-fifo-depth : Can Tx fifo depth. - tx-fifo-depth : Can Tx fifo depth (Zynq, Axi CAN).
- rx-fifo-depth : Can Rx fifo depth. - rx-fifo-depth : Can Rx fifo depth (Zynq, Axi CAN, CAN FD in
sequential Rx mode).
- tx-mailbox-count : Can Tx mailbox buffer count (CAN FD).
- rx-mailbox-count : Can Rx mailbox buffer count (CAN FD in mailbox Rx
mode).
Example: Example:
...@@ -42,3 +48,14 @@ For Axi CAN Dts file: ...@@ -42,3 +48,14 @@ For Axi CAN Dts file:
tx-fifo-depth = <0x40>; tx-fifo-depth = <0x40>;
rx-fifo-depth = <0x40>; rx-fifo-depth = <0x40>;
}; };
For CAN FD Dts file:
canfd_0: canfd@40000000 {
compatible = "xlnx,canfd-1.0";
clocks = <&clkc 0>, <&clkc 1>;
clock-names = "can_clk", "s_axi_aclk";
reg = <0x40000000 0x2000>;
interrupt-parent = <&intc>;
interrupts = <0 59 1>;
tx-mailbox-count = <0x20>;
rx-fifo-depth = <0x20>;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment