Bosch M_CAN Linux Driver
Go to file
Mario Hüttel eebb77c20f added Readme 2016-08-11 15:47:30 +02:00
Kconfig init commit 2016-08-11 15:30:12 +02:00
Makefile init commit 2016-08-11 15:30:12 +02:00
README.md added Readme 2016-08-11 15:47:30 +02:00
m_can.c init commit 2016-08-11 15:30:12 +02:00
m_can_v321.c init commit 2016-08-11 15:30:12 +02:00

README.md

Bosch M_CAN (CAN Controller) Device Driver

Files

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

Compile

compile as normal Kernel Driver.

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

Device Tree

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

/* M_CAN Device Tree Nodes */
hclk: hclk {
	compatible = "fixed-clock";
	#clock-cells = < 0 >;
	clock-frequency = <50000000>;
};
cclk: cclk {
	compatible = "fixed-clock";
	#clock-cells = < 0 >;
	clock-frequency = <40000000>;
};	
mcan0: can@0xff240000 {
	compatible = "bosch,m_can-3.2.1";
	reg = <0xff240000 0x200>,<0xff260000 0x4000>;
	reg-names = "m_can", "message_ram";
	interrupt-parent = <&intc>;
	/* Shared Interrupt for every M_CAN */
	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>;
};