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>; }; ```