SPRZ428E November   2014  – September 2024 TDA2E

 

  1.   1
  2. 1Introduction
    1.     Related Documentation
    2.     Trademarks
    3.     Modules Impacted
  3. 2Silicon Advisories
    1.     Revisions SR 2.1, 2.0, 1.0 - Advisories List
    2.     i202
    3.     i378
    4.     i631
    5.     i694
    6.     i698
    7.     i699
    8.     i709
    9.     i727
    10.     i729
    11.     i734
    12.     i767
    13.     i782
    14.     i783
    15.     i802
    16.     i803
    17.     i807
    18.     i808
    19.     i809
    20.     i810
    21.     i813
    22.     i814
    23.     i815
    24.     i818
    25.     i819
    26.     i820
    27.     i824
    28.     i826
    29.     i829
    30.     i834
    31.     i849
    32.     i856
    33.     i862
    34.     i863
    35.     i867
    36.     i868
    37.     i869
    38.     i870
    39.     i871
    40.     i872
    41.     i874
    42.     i875
    43.     i878
    44.     i879
    45.     i880
    46.     i882
    47.     i883
    48.     i887
    49.     i889
    50.     i890
    51.     i893
    52.     i895
    53.     i896
    54.     i897
    55.     i898
    56.     i899
    57.     i900
    58.     i903
    59.     i904
    60.     i906
    61.     i913
    62.     i916
    63.     i927
    64.     i928
    65.     i929
    66.     i930
    67.     i932
    68.     i933
    69.     i2446
  4. 3Silicon Limitations
    1.     Revisions SR 2.1, 2.0, 1.0 - Limitations List
    2.     i596
    3.     i641
    4.     i833
    5.     i838
    6.     i844
    7.     i845
    8.     i848
    9.     i876
    10.     i877
    11.     i892
    12.     i909
  5. 4Silicon Cautions
    1.     Revisions SR 2.1, 2.0, 1.0 - Cautions List
    2.     i781
    3. 4.1 92
    4.     i827
    5.     i832
    6.     i836
    7.     i839
    8.     i864
    9.     i885
    10.     i886
    11.     i912
    12.     i918
    13.     i920
    14.     i926
    15.     i931
    16.     i934
    17. 4.2 106
  6. 5Revision History

i2446

PRU-ICSS: Express bus initialization recommendation

Details:

The affected SoCs includes two instances of ICSS (ICSS1 and ICSS2). There is a bus connection from ICSS1 to ICSS2 and from ICSS2 to ICSS1. This bus logic requires a synchronous reset (clocks to be enabled) to drive a known state on its outputs. If clocks are not enabled to ICSS1 in software, then depending on the random state of the ICSS1 output bus, it may continuously issue Read or Write transactions to ICSS2 resulting in corruption of the ICSS2 module. The same situation can happen in reverse if ICSS1 is enabled and ICSS2 clocks are not on.

The power-up state of the critical control signals on each bus tends to settle to 0-state, but that is not guaranteed without a proper reset. This is why the issue may not be observed on all systems or may have different fail modes from system to system.

Workaround(s):

If a single ICSS module is used in a customer system, then clocks to the other ICSS module should be enabled first – this results in the ICSS module that is being used having proper deasserted state on the input bus before it is enabled.

If both ICSS modules are used in a system, then software can use the EDMA controller to issue an atomic write to the clock enable registers such that the two ICSS modules clocks are turned on within 20ns of each other.

Pseudo-code for a system that uses only ICSS2 or ICSS1 is shown here:

// CM_L4PER2_PRUSS1_CLKCTRL and CM_L4PER2_PRUSS2_CLKCTRL

/* Example #1 if ICSS2 used (ICSS1 not used) */

// Enable ICSS1 clock – ICSS1 state may be corrupted as ICSS2 is powered off now

*(volatile uint32_t*)(0x4A009718) = 0x00000002;

// Enable ICSS2

*(volatile uint32_t*)(0x4A009720) = 0x00000002;

/* Example #2 if ICSS1 usage (ICSS2 not used) */

// Enable ICSS2 clock – ICSS2 state may be corrupted as ICSS1 is powered off now

*(volatile uint32_t*)(0x4A009720) = 0x00000002;

// Enable ICSS1

*(volatile uint32_t*)(0x4A009718) = 0x00000002;

If a system uses both ICSS1 and ICSS2, contact your TI representative for an SDK patch that implements the EDMA workaround.