rcar_can.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. Renesas R-Car CAN controller Device Tree Bindings
  2. -------------------------------------------------
  3. Required properties:
  4. - compatible: "renesas,can-r8a7778" if CAN controller is a part of R8A7778 SoC.
  5. "renesas,can-r8a7779" if CAN controller is a part of R8A7779 SoC.
  6. "renesas,can-r8a7790" if CAN controller is a part of R8A7790 SoC.
  7. "renesas,can-r8a7791" if CAN controller is a part of R8A7791 SoC.
  8. - reg: physical base address and size of the R-Car CAN register map.
  9. - interrupts: interrupt specifier for the sole interrupt.
  10. - clocks: phandles and clock specifiers for 3 CAN clock inputs.
  11. - clock-names: 3 clock input name strings: "clkp1", "clkp2", "can_clk".
  12. - pinctrl-0: pin control group to be used for this controller.
  13. - pinctrl-names: must be "default".
  14. Optional properties:
  15. - renesas,can-clock-select: R-Car CAN Clock Source Select. Valid values are:
  16. <0x0> (default) : Peripheral clock (clkp1)
  17. <0x1> : Peripheral clock (clkp2)
  18. <0x3> : Externally input clock
  19. Example
  20. -------
  21. SoC common .dtsi file:
  22. can0: can@e6e80000 {
  23. compatible = "renesas,can-r8a7791";
  24. reg = <0 0xe6e80000 0 0x1000>;
  25. interrupts = <0 186 IRQ_TYPE_LEVEL_HIGH>;
  26. clocks = <&mstp9_clks R8A7791_CLK_RCAN0>,
  27. <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
  28. clock-names = "clkp1", "clkp2", "can_clk";
  29. status = "disabled";
  30. };
  31. Board specific .dts file:
  32. &can0 {
  33. pinctrl-0 = <&can0_pins>;
  34. pinctrl-names = "default";
  35. status = "okay";
  36. };