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.

AM4372: "CTRL_DCAN_RAMINIT" register setting

Guru 10295 points

Part Number: AM4372

Hi Support Team,

Regarding the CTRL_DCAN_RAMINIT register, My customer has a following question.


Question:
When using the DCAN1 module with AM4372, is it necessary to write "1"
to the "DCAN1_RAMINIT_START" field in the "CTRL_DCAN_RAMINIT" register?

Background:
In our current software, after entering the initialization mode and setting
the "DCAN_BTR" register during DCAN1 initialization,
the following 1) and 2) are performed to disable all Message Objects (No. 1 to 64).

1) Write "0x00000000" to the "DCAN_IF1ARB" register.
2) Write "0x00A000xx" to the "DCAN_IF1CMD" register (xx=0x01 to 0x40)

However, the "CTRL_DCAN_RAMINIT" register remains unset and is not written.
If writing to the "CTRL_DCAN_RAMINIT" register is not mandatory, we would like to keep it as it is.

It is currently communicating with DCAN1 and is working fine.

Best Regards,
Kanae

  • Hi,

    Could you please indicate the OS being used for the application?

    Best Regards,

    Schuyler

  • Hi Schuyler,

    Thank you for your reply.
    The OS used for the customer's application is Linux.

    Best regards,
    Kanae

  • Hi Kanae,

    As Linux is the OS in this application there is a driver provided as part of the SDK that does not require writing registers and would most likely impact the operation of the CAN driver. Why do they want to write the registers?

    Best Regards,

    Schuyler

  • Hi Schuyler,

    Thank you for your support.

    The customer's system is fine with the current no setting
    ("0" in the "DCAN1_RAMINIT_START" field),
    but the TRM states the following, so we wanted to confirm
    if it is necessary to write "1" in the "DCAN1_RAMINIT_START" field.

    From your answer, am I correct in understanding that it is not necessary
    to write 1 to the bit and that the current status is acceptable?

    Best Regards,
    Kanae

  • Hi Schuyler,

    Thank you for your support.

    Could you please check the following my understanding is correct, or not?

    From your answer, it is not necessary to write 1 to the bit and that the current status is acceptable.

    Please let me know when you will be able to get a response from the TI internal team member,
    as I need to report back to the customer.

    Best Regards,
    Kanae

  • Hi Schuyler,

    Thank you for your support.

    Regarding the impact of the delay in replying on the customer's product development,
    I am informing you as follows.
    I would appreciate your prompt response.



    We are currently in the process of executing an internal third-party verification of our boards.
    Since the development phase has been delayed, we have increased our verification staff and
    are trying to make up for the delay in the verification phase before shifting to production.
    If register modification is mandatory, then depending on the affected modification range,
    we will request re-verification of the affected test items with the modified software, which will affect the verification period.

    Therefore, we would appreciate an answer as soon as possible before the verification progresses
    and the number of re-verification items increases, and while we can make up for the delay.


    Best Regards,
    Kanae

  • Hi Kanae,

    Since there is a driver supplied as part of the TI SDK that handles the register settings there is no need to set register settings outside of the driver context. The bits you are asking about appeared to be set as part of the driver probe function. Here is the Linux driver source file.

    Best Regards,

    Schuyler

  • Hi Schuyler,

    After providing the above your answer to our customer, additional information and question were received as follows.



    We apologize for not explaining the software configuration of our product program.

    Our product program does not use the TI SDK drivers.
    We use μItron and do not use TI SDK at all.
    We use our own driver based on the Technical Reference Manual.
    Therefore, please let us know if writing to the CTRL_DCAN_RAMINIT register is mandatory
    "as a specification of AM4372 CPU (as a usage of AM4372 CPU)".

    In the own driver, as mentioned in the first question, we do not write to the CTRL_DCAN_RAMINIT register,
    but we write 0 to all Message Objects (No.1 to 64) during initialization mode,
    and we are currently able to communicate with DCAN1 without any problems.

    [Question]
    Is writing to the CTRL_DCAN_RAMINIT register mandatory for the AM4372 CPU?

    [Answer expected by the customer]

    No, it is not required.
    or
    If all Message Objects are written to 0 during initialization mode, it is not required.
    or
    Required.


    I thank you for your reply, but I would like to ask for your answer as a specification of AM4372, not based on TI SDK.

    Best Regards,
    Kanae

  • Hi Kanae,

    After further reviewing the DCAN code on the AM4372 in the DCAN community driver the CTRL_DCAN_RAMINIT process is being done in the Linux driver. There are commit messages in the driver indicating that this step is required.

    Best Regards,

    Schuyler

  • Hi Schuyler,

    Thank you for your reply.
    From your answer, I understand that you recommend referring to the Linux driver,
    so your answer to our customer will be "Required".
    I will share this with my customer.

    Best Regards,
    Kanae