SPRZ450B February   2018  – September 2024 DRA74P , DRA75P , DRA76P , DRA77P

 

  1.   1
  2. 1Introduction
    1.     Related Documentation
    2.     Trademarks
    3.     Modules Impacted
  3. 2Silicon Advisories
    1.     Revisions SR 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.     i869
    36.     i870
    37.     i871
    38.     i872
    39.     i874
    40.     i878
    41.     i879
    42.     i883
    43.     i889
    44.     i890
    45.     i893
    46.     i896
    47.     i897
    48.     i898
    49.     i899
    50.     i900
    51.     i903
    52.     i904
    53.     i916
    54.     i929
    55.     i930
    56.     i932
    57.     i933
    58.     i936
    59.     i940
    60.     i2446
  4. 3Silicon Limitations
    1.     Revisions SR 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 1.0 - Cautions List
    2.     i781
    3.     i827
    4.     i832
    5.     i836
    6.     i839
    7.     i864
    8.     i885
    9.     i886
    10.     i912
    11.     i926
    12.     i931
    13.     i935
    14.     i937
  6. 5Revision History

i863

MMC2 Has PU/PD Contention Immediately after Release from Reset

CRITICALITY

High

DESCRIPTION

If SYSBOOT15=0, 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.

If SYSBOOT15=1, the internal week pull-down resistors (PD) of the MMC2 DAT[x] terminals are permanently disabled. 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.

If SYSBOOT15=0 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.

If SYSBOOT15=1 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

SR 1.0 (if SYSBOOT15=0, as described in i863 above)

AM574x: 1.0

DRA75xP, DRA74xP, DRA77xP, DRA76xP: 1.0

TDA2Px: 1.0

AM576x: 1.0