SPRZ444C February   2018  – November 2026 DRA780 , DRA781 , DRA782 , DRA783 , DRA786 , DRA787

 

  1.   1
  2. 1Introduction
    1.     Related Documentation
    2.     Trademarks
    3.     Modules Impacted
  3. 2Silicon Advisories
    1.     i202
    2.     i694
    3.     i727
    4.     i729
    5.     i767
    6.     i813
    7.     i814
    8.     i826
    9.     i829
    10.     i872
    11.     i874
    12.     i879
    13.     i883
    14.     i889
    15.     i893
    16.     i894
    17.     i898
    18.     i899
    19.     i914
    20.     i916
    21.     i930
    22.     i936
    23.     i938
    24.     i939
    25.     i940
  4. 3Silicon Limitations
    1.     i833
    2.     i873
    3.     i876
    4.     i877
  5. 4Silicon Cautions
    1.     i781
    2.     i827
    3.     i828
    4.     i836
    5.     i839
    6.     i864
    7.     i886
    8.     i912
  6. 5Revision History

i893

DCAN Initialization Sequence

CRITICALITY

Low

DESCRIPTION

If the DCAN module is allowed to enter/exit clock-gated mode dynamically while traffic is present on the DCAN interface (even if the traffic is not to/from the SoC) then the DCAN module and PRCM handshake state machines can become out of sync resulting in the DCAN module hanging.

WORKAROUND

In order to cleanly initialize the DCAN module the following sequence should be followed. Steps 1 and 2 can happen in any order, but should occur before Step 3.

  1. Configure the DCAN module’s clock domain in SW_WKUP mode
    • DCAN1: CM_WKUPAON_CLKSTCTRL. CLKTRCTRL = 0x2
  2. Configure CD_L4_CFG for NO_SLEEP mode
    • CM_L4CFG_CLKSTCTRL. CLKTRCTRL = 0x0
  3. Execute RAM Init Sequence:
    • Mask the RX input via pinmux configuration
      • Select default/gpio function instead of dcan rx. Specific register and MUXMODE value depends on pin-mux used on the board
      • For DCAN1 muxed with uart1_rtsn: CTRL_CORE_PAD_UART1_RTSN.UART1_RTSN_MUXMODE = 0xF
    • Enable DCAN module
      • DCAN1: CM_WKUPAON_DCAN1_CLKCTRL.MODULEMODE = 0x2
    • Perform RAM_INIT sequence
      • DCAN1: CTRL_CORE_CONTROL_IO_2.DCAN_RAMINIT_START = 0x1
      • Poll for
        CTRL_CORE_CONTROL_IO_2.DCAN_RAMINIT_START = 0x1
    • Enable RX input via pin mux configuration
      • Select dcan_rx function
      • Specific register and MUXMODE value depends on pin-mux used on the board
      • For DCAN1 muxed with uart1_rtsn: CTRL_CORE_PAD_UART1_RTSN.UART1_RTSN_MUXMODE = 0xC

REVISIONS IMPACTED

SR 2.0A, 2.0

TDA3x: 2.0A, 2.0, 1.0A, 1.0

DRA78x: 2.0A, 2.0

DM50x: 2.0