Bosch M_CAN Linux Driver
Go to file
Mario Hüttel 09003224fd Modified Readme
* Added 'Patch Kernel' section
* Modified example device tree to fit newest driver
2017-04-26 13:18:19 +02:00
drivers/net/can/m_can can: m_can: Enable TX FIFO Handling for M_CAN IP version >= v3.1.x 2017-04-26 13:13:46 +02:00
README.md Modified Readme 2017-04-26 13:18:19 +02:00

Bosch M_CAN (CAN Controller) Device Driver

Files

  • *.c : Driver C-Source Files
  • Kconfig : Config file for menuconfig etc.
  • Makefile : Makefile for Kernel Build

Patch Kernel

  • Apply the specific commits on your kernel source tree
  • Or copy the newest m_can.c to your kernel source tree.

Compile

compile as normal Kernel Driver.

  • Driver can be compiled as an externel module.
  • Driver can be compiled statically into the kernel.
  • selectable with menuconfig

Device Tree

The following code shows a basic device tree for an M_CAN node:

/* M_CAN Device Tree Nodes */
/* Example clocks */
hclk: hclk {
	compatible = "fixed-clock";
	#clock-cells = < 0 >;
	clock-frequency = <50000000>;
};
cclk: cclk {
	compatible = "fixed-clock";
	#clock-cells = < 0 >;
	clock-frequency = <40000000>;
};

/* M_CAN device */
mcan0: can@0xff240000 {
	compatible = "bosch,m_can";
	reg = <0xff240000 0x200>,<0xff260000 0x4000>;
	reg-names = "m_can", "message_ram";
	interrupt-parent = <&intc>;
	interrupts = <0x0 40 0x4>;
	interrupt-names = "int0";
	clocks = <&hclk>, <&cclk>;
	clock-names = "hclk", "cclk";
	bosch,mram-cfg = <0x0 128 64 64 32 64 32 32>;
};