This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: MCU_MCAN on A72 core with Linux

Part Number: TDA4VM

Tool/software:

Hi Dev Experts,

I'm working on custom board. I'm using TI Linux SDK 9.2. What I'm trying to do right now is to use MCU_MCAN0 peripheral on core A72 that runs Linux.  

In k3-j721e-mcu-wakeup.dtsi file following code is already included:

mcu_mcan0: can@40528000 {
  compatible = "bosch,m_can";
  reg = <0x00 0x40528000 0x00 0x200>,
  <0x00 0x40500000 0x00 0x8000>;
  reg-names = "m_can", "message_ram";
  power-domains = <&k3_pds 172 TI_SCI_PD_EXCLUSIVE>;
  clocks = <&k3_clks 172 0>, <&k3_clks 172 1>;
  clock-names = "hclk", "cclk";
  interrupts = <GIC_SPI 832 IRQ_TYPE_LEVEL_HIGH>,
  <GIC_SPI 833 IRQ_TYPE_LEVEL_HIGH>;
  interrupt-names = "int0", "int1";
  bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
  status = "disabled";
};
In k3-j721e-common-proc-board.dts I have added following code:
mcu_mcan0_pins_default: mcu_mcan0_pins_default {
  pinctrl-single,pins = <
    J721E_WKUP_IOPAD(0xac, PIN_INPUT, 0) /* (C29) MCU_MCAN0_RX */
    J721E_WKUP_IOPAD(0xa8, PIN_OUTPUT, 0) /* (D29) MCU_MCAN0_TX */
  >;
};
&mcu_mcan0 {
  status = "okay";
  pinctrl-names = "default";
  pinctrl-0 = <&mcu_mcan0_pins_default>;
  can-transceiver {
    max-bitrate = <5000000>;
  };
};
But unfortunately this peripheral is not working. 
dmesg shows me:
Configuration for C29 (CANRX) is
Input for RX pin is enabled.
Configuration for D29 (CANTX) is:
TX driver is enabled. 
The address registers I have taken from DS
 In Linux terminal I run:
Next I try to send any package
but unfortunately nothing is sent on bus. I have connected logic analyzer to the D29 pin, and there is a silence. There is not any changes in the statistics. 
Does anybody have any idea what is wring with my configuration?