xilinx_can.txt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. Xilinx Axi CAN/Zynq CANPS controller Device Tree Bindings
  2. ---------------------------------------------------------
  3. Required properties:
  4. - compatible : Should be:
  5. - "xlnx,zynq-can-1.0" for Zynq CAN controllers
  6. - "xlnx,axi-can-1.00.a" for Axi CAN controllers
  7. - "xlnx,canfd-1.0" for CAN FD controllers
  8. - reg : Physical base address and size of the controller
  9. registers map.
  10. - interrupts : Property with a value describing the interrupt
  11. number.
  12. - clock-names : List of input clock names
  13. - "can_clk", "pclk" (For CANPS),
  14. - "can_clk", "s_axi_aclk" (For AXI CAN and CAN FD).
  15. (See clock bindings for details).
  16. - clocks : Clock phandles (see clock bindings for details).
  17. - tx-fifo-depth : Can Tx fifo depth (Zynq, Axi CAN).
  18. - rx-fifo-depth : Can Rx fifo depth (Zynq, Axi CAN, CAN FD in
  19. sequential Rx mode).
  20. - tx-mailbox-count : Can Tx mailbox buffer count (CAN FD).
  21. - rx-mailbox-count : Can Rx mailbox buffer count (CAN FD in mailbox Rx
  22. mode).
  23. Example:
  24. For Zynq CANPS Dts file:
  25. zynq_can_0: can@e0008000 {
  26. compatible = "xlnx,zynq-can-1.0";
  27. clocks = <&clkc 19>, <&clkc 36>;
  28. clock-names = "can_clk", "pclk";
  29. reg = <0xe0008000 0x1000>;
  30. interrupts = <0 28 4>;
  31. interrupt-parent = <&intc>;
  32. tx-fifo-depth = <0x40>;
  33. rx-fifo-depth = <0x40>;
  34. };
  35. For Axi CAN Dts file:
  36. axi_can_0: axi-can@40000000 {
  37. compatible = "xlnx,axi-can-1.00.a";
  38. clocks = <&clkc 0>, <&clkc 1>;
  39. clock-names = "can_clk","s_axi_aclk" ;
  40. reg = <0x40000000 0x10000>;
  41. interrupt-parent = <&intc>;
  42. interrupts = <0 59 1>;
  43. tx-fifo-depth = <0x40>;
  44. rx-fifo-depth = <0x40>;
  45. };
  46. For CAN FD Dts file:
  47. canfd_0: canfd@40000000 {
  48. compatible = "xlnx,canfd-1.0";
  49. clocks = <&clkc 0>, <&clkc 1>;
  50. clock-names = "can_clk", "s_axi_aclk";
  51. reg = <0x40000000 0x2000>;
  52. interrupt-parent = <&intc>;
  53. interrupts = <0 59 1>;
  54. tx-mailbox-count = <0x20>;
  55. rx-fifo-depth = <0x20>;
  56. };