Bosch M_CAN Linux Driver
Mario Hüttel
09003224fd
* Added 'Patch Kernel' section * Modified example device tree to fit newest driver |
||
---|---|---|
drivers/net/can/m_can | ||
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
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>;
};