SPRZ436G October   2015  – February 2021 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL

 

  1. 1Introduction
    1.     Related Documentation
    2.     Trademarks
    3.     Modules Impacted
  2. 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.     i907
    62.     i913
    63.     i916
    64.     i927
    65.     i928
    66.     i929
    67.     i930
    68.     i932
    69.     i933
    70.     i936
    71.     i940
  3. 3Silicon Limitations
    1.     Revisions SR 2.1, 2.0, 1.0 - Limitations List
    2.     i596
    3.     i641
    4.     i833
    5.     i838
    6.     i845
    7.     i848
    8.     i876
    9.     i877
    10.     i892
    11.     i909
    12.     i922
    13.     i925
  4. 4Silicon Cautions
    1.     Revisions SR 2.1, 2.0, 1.0 - Cautions List
    2.     i827
    3.     i832
    4.     i836
    5.     i839
    6.     i864
    7.     i885
    8.     i886
    9.     i912
    10.     i918
    11.     i920
    12.     i921
    13.     i926
    14.     i931
    15.     i934
    16.     i935
  5. 5Revision History

i863

MMC2 Has PU/PD Contention Immediately after Release from Reset

CRITICALITY

High

DESCRIPTION

On AM571x SR 1.0 which should always set SYSBOOT15=1, the MMC2_DAT[x] terminals have internal weak pull-down resistors (PD) in the range of 8 kΩ ~ 36 kΩ (1.8 V) or 9 kΩ ~ 82 kΩ (3.3 V) which are turned on by default immediately after the device has been released from reset. The JEDEC eMMC standard requires external weak pull-up resistors (PU) on eMMC CMD and DAT signals, and internal weak pull-up resistors on DAT[7-0] terminals of eMMC devices to prevent inputs from floating. The external resistors are in the range of 4.7 kΩ ~ 100 kΩ and the internal eMMC device resistors are in the range of 10 kΩ ~ 150 kΩ. After reset, these weak pull-up resistors contradict the internal pull state of the device and presents a PU/PD contention on the eMMC DAT signals; this may lead to reliability issues if not handled properly.

On AM571x SR 2.1 and SR 2.0, and AM570x SR 2.1, SR 2.0, the MMC2 DAT[x] terminals have internal weak pull-down resistors (PD) which are disabled by default when SYSBOOT15=0 or enabled by default when SYSBOOT15=1. Refer to the TRM section “Permanent PU/PD disabling” for details.

PU/PD Contention Reliability Issue:

The PU/PD contention applies a mid-supply voltage to the input buffer which may cause excessive current to flow through the input buffer. In this scenario, both FETs (PMOS/NMOS) in the input buffer are partially turned ON, resulting in a current path from VDD through the input buffer to VSS. Total leakage power during this state may be up to 800 µA per input buffer operating at 1.8 V, or up to 2 mA per input buffer operating at 3.3 V. Hysteresis on the input buffers prevents the noise from causing the input logic level to change state, but it does not prevent the current path.

To maintain system reliability, SW should minimize the duration eMMC DAT lines spend in this invalid state.

WORKAROUND

SW should minimize the time eMMC DAT terminals spend in the PU/PD contention state to a maximum of 200 hours in a device life cycle.

On AM571x SR1.0 (which should always have SYSBOOT15=1) - or AM571x SR 2.1 and SR 2.0/ AM570x SR 2.1 and SR 2.0 when SYSBOOT15=1 - this is done by configuring MMC pinmux configuration to turn off the internal pull-down resistors as early as possible in secondary boot loader (SBL, i.e. the initial software image loaded by the device’s ROM boot loader; one that is responsible for loading subsequent boot images or the main OS). If external pulls are not implemented on the PCB, then the internal PU on eMMC DAT signals should be enabled simultaneously. Alternately, if external pulls are implemented (as recommended by the JEDEC JESD84- B451) the internal pull resistors can be disabled. SW should take care of writing the below values in the listed registers-bit fields:


CTRL_CORE_PAD_GPMC_A24[3:0] = 1   ; mmc2_dat0
CTRL_CORE_PAD_GPMC_A24[16] = 0    ; Enables weak Pull Up/Down
CTRL_CORE_PAD_GPMC_A24[17] = 1    ; Pull Up is selected
CTRL_CORE_PAD_GPMC_A24[18] = 1    ; Receive Mode is Enabled
CTRL_CORE_PAD_GPMC_A24[19] = 0    ; Fast slew is selected
CTRL_CORE_PAD_GPMC_A25[3:0] = 1   ; mmc2_dat1
CTRL_CORE_PAD_GPMC_A25[16] = 0    ; Enables weak Pull Up/Down
CTRL_CORE_PAD_GPMC_A25[17] = 1    ; Pull Up is selected
CTRL_CORE_PAD_GPMC_A25[18] = 1    ; Receive Mode is Enabled
CTRL_CORE_PAD_GPMC_A25[19] = 0    ; Fast slew is selected
CTRL_CORE_PAD_GPMC_A26[3:0] = 1   ; mmc2_dat2
CTRL_CORE_PAD_GPMC_A26[16] = 0    ; Enables weak Pull Up/Down
CTRL_CORE_PAD_GPMC_A26[17] = 1    ; Pull Up is selected
CTRL_CORE_PAD_GPMC_A26[18] = 1    ; Receive Mode is Enabled
CTRL_CORE_PAD_GPMC_A26[19] = 0    ; Fast slew is selected
CTRL_CORE_PAD_GPMC_A27[3:0] = 1   ; mmc2_dat3
CTRL_CORE_PAD_GPMC_A27[16] = 0    ; Enables weak Pull Up/Down
CTRL_CORE_PAD_GPMC_A27[17] = 1    ; Pull Up is selected
CTRL_CORE_PAD_GPMC_A27[18] = 1    ; Receive Mode is Enabled
CTRL_CORE_PAD_GPMC_A27[19] = 0    ; Fast slew is selected
CTRL_CORE_PAD_GPMC_A19[3:0] = 1   ; mmc2_dat4
CTRL_CORE_PAD_GPMC_A19 [16] = 0    ; Enables weak Pull Up/Down
CTRL_CORE_PAD_GPMC_A19 [17] = 1    ; Pull Up is selected
CTRL_CORE_PAD_GPMC_A19 [18] = 1    ; Receive Mode is Enabled
CTRL_CORE_PAD_GPMC_A19 [19] = 0    ; Fast slew is selected
CTRL_CORE_PAD_GPMC_A20[3:0] = 1   ; mmc2_dat5
CTRL_CORE_PAD_GPMC_A20[16] = 0    ; Enables weak Pull Up/Down
CTRL_CORE_PAD_GPMC_A20[17] = 1    ; Pull Up is selected
CTRL_CORE_PAD_GPMC_A20[18] = 1    ; Receive Mode is Enabled
CTRL_CORE_PAD_GPMC_A20[19] = 0    ; Fast slew is selected
CTRL_CORE_PAD_GPMC_A21[3:0] = 1   ; mmc2_dat6
CTRL_CORE_PAD_GPMC_A21[16] = 0    ; Enables weak Pull Up/Down
CTRL_CORE_PAD_GPMC_A21[17] = 1    ; Pull Up is selected
CTRL_CORE_PAD_GPMC_A21[18] = 1    ; Receive Mode is Enabled
CTRL_CORE_PAD_GPMC_A21[19] = 0    ; Fast slew is selected
CTRL_CORE_PAD_GPMC_A22[3:0] = 1   ; mmc2_dat7
CTRL_CORE_PAD_GPMC_A22[16] = 0    ; Enables weak Pull Up/Down
CTRL_CORE_PAD_GPMC_A22[17] = 1    ; Pull Up is selected
CTRL_CORE_PAD_GPMC_A22[18] = 1    ; Receive Mode is Enabled
CTRL_CORE_PAD_GPMC_A22[19] = 0    ; Fast slew is selected
			

The 200 hours can be distributed any way throughout the lifetime of a device, and can be one instance of 200 hours or any number of occurrences totaling 200 hours.

On AM571x SR 2.1 and SR 2.0 and AM570x SR 2.1 and SR 2.0, if SYSBOOT15=0 then no software workaround is required since the internal pulls are permanently disabled. Note that external pull-up resistors on the MMC data bus are mandatory in this case. It is OK if the software workaround remains since accesses to configure the internal pulls has no effect.

REVISIONS IMPACTED

AM571x SR 2.1, 2.0 (if SYSBOOT15=1, as described in i863 above)
AM571x SR 1.0
AM570x SR 2.1, 2.0 (if SYSBOOT15=1, as described in i863 above)

DRA79x: 2.1, 2.0

TDA2Ex (23mm): 2.0, 1.0

TDA2Ex (17mm): 2.1, 2.0

AM571x: 2.1, 2.0, 1.0

AM570x: 2.1, 2.0

DRA72x: 2.0, 1.0

DRA71x: 2.1, 2.0