The Nintendo Switch consumer model comes with 32GB of built-in eMMC flash memory 1) located on a removeable PCB.
The Nintendo Switch's entire flash memory is contained on a daughterboard, labeled HAC-EMMC-01, featuring the one eMMC chip on side B (facing up from the motherboard), along with some traces and vias; and some passive components and more traces and vias on side A, with the board-to-board interconnect as the main feature here.
We are fairly certain that the following connector is used on the Switch main board and will mate to the flash PCB: Molex 500913-0302 0.40mm Pitch SlimStack™ Board-to-Board Receptacle, Surface Mount, Dual Row, Vertical Stacking, Mated Height of 1.80mm,…
Pin # | Name | Type | Comment |
---|---|---|---|
1 | 3V3 | PWR | measured |
2 | GND | PWR | Visible |
3 | CMD | BI | From maximus64 pinout |
4 | GND | PWR | Visible |
5 | DAT_STRB | OUT | Possibly the data strobe line, guess by stuckpixel |
6 | GND | PWR | Visible |
7 | DAT4 | BI | Proven with USB/eMMC board |
8 | GND | PWR | Visible |
9 | DAT5 | BI | Proven with USB/eMMC board |
10 | GND | PWR | Visible |
11 | DAT6 | BI | Proven with USB/eMMC board |
12 | GND | PWR | Visible |
13 | DAT7 | BI | Proven with USB/eMMC board |
14 | GND | PWR | Visible |
15 | 1V8 | PWR | Measured |
16 | 1V8 | PWR | Measured |
17 | GND | PWR | Measured |
18 | GND | PWR | Measured |
19 | DAT2 | BI | Proven with USB/eMMC board |
20 | GND | PWR | Measured |
21 | DAT1 | BI | Proven with USB/eMMC board |
22 | GND | PWR | Measured |
23 | DAT0 | BI | From maximus64 pinout |
24 | GND | PWR | Measured |
25 | DAT3 | BI | Proven with USB/eMMC board |
26 | GND | PWR | Measured |
27 | CLK | IN | From maximus64 pinout |
28 | GND | PWR | Measured |
29 | Seems NC | guesswork by q3k | |
30 | 3V3 | PWR | Measured |
MNT | GND | MECH | “All 4 corner pads/mounting pads, visible” |
The flash chip used seems to be one of the following:
The flash chips are compliant with the open standard JEDEC/MMCA Version 5.0/5.1 4)
It looks like Twitter user maximus64 dumped the flash memory using an eMMC to SD interface board (1 wire mode) by Exploitee.rs (current version, alpha)
The Switch drives the eMMC VCCQ (I/O bank) at 1.8v. This is a fairly uncommon voltage for hobbyists electronics, so not having to deal with voltage converters and being able to drive the eMMC at 3.3v is generally useful.
Yuri_10m confirmed that both Toshiba and Samsung eMMCs can be run at 3v3 VCCQ.
Looks like the Switch is driving CLK at 200 MHz DDR (HS400):
It is yet unknown if the Switch uses 8-bit or 4-bit mode during normal operation.
The Switch eMMC is divided into physical eMMC areas, and a Replay-Protected Memory Block (RPMB), as per JEDEC JESD84-B51 (login/registration required), which can contain partitions or boot information.
Name | Info | Size | Comment |
---|---|---|---|
User Data Area | Default | 29.12 GiB | Accessible with a standard MMC reader; contains GPT and all the GPT partitions. |
Boot Area Partition 1 | Hidden | 4.00 MiB | Contains BCT + two identical ARM7 bootloaders |
Boot Area Partition 2 | Hidden | 4.00 MiB | Contains two identical ARM7 bootloaders (different from Boot Area Partition 1) |
RPMB Area | Hidden, Locked, Auth Req'd | 4.00 MiB | Replay Protected Memory Block; Contents unknown. |
The General Purpose Area Partitions 0 to 3 are not used on the Switch.
The user area contains the entire GPT volume, with the following GPT partitions 5):
# | Name | Type | Size | Comment |
---|---|---|---|---|
1 | PRODINFO | 3.98 MiB | ||
2 | PRODINFOF | 4.00 MiB | ||
3 | BCPKG2-1-Normal-Main | 8.00 MiB | ||
4 | BCPKG2-2-Normal-Sub | 8.00 MiB | ||
5 | BCPKG2-3-SafeMode-Main | 8.00 MiB | ||
6 | BCPKG2-4-SafeMode-Sub | 8.00 MiB | ||
7 | BCPKG2-5-Repair-Main | 8.00 MiB | ||
8 | BCPKG2-6-Repair-Sub | 8.00 MiB | ||
9 | SAFE | 64.00 MiB | ||
10 | SYSTEM | 2.50GiB | ||
11 | USER | 26.00GiB | ||
End | Unallocated Space | Empty | 516.00 MiB |
To read the boot area partitions, you will need a way to send raw MMC commands to the eMMC. Some MMC readers might have Linux drivers that support this, your mileage may very.
The approach used here was a FPGA with softprocessor (or any microcontroller) to control the eMMC signals: CLK, CMD, DAT0.
The following sequence of MMC commands need to be sent:
Command | Argument | Comment | |
---|---|---|---|
1. | CMD0 | 00000000 | reset |
2. | CMD1 | 40FF8080 | send operating conditions, repeated until success |
3. | CMD3 | 00010000 | set rca |
4. | CMD9 | 00010000 | send csd |
5. | CMD7 | 00010000 | select card |
6. | CMD13 | 00010000 | send status |
7. | CMD16 | 00000200 | set block length |
Then, either of | |||
8. | CMD6 | 03B30100 | switch enable read boot1 partition |
CMD6 | 03B30200 | switch enable read boot2 partition | |
CMD6 | 03B30000 | switch enable read user partition | |
Followed by | |||
9. | CMD17 | sector | read sector, repeated for each sector to be read |
Register contents were recorded using a Samsung eMMC and the ReSwitched µLyNX USB/eMMC interface board. The selected modes and configureable field contents are listed for completeness and do not currently indicate the configurations actually used by the Nintendo Switch
Device IDentification register from a Samsung eMMC
Field | Name | Width | CID-Slice | Data (bin) | Data (hex) | Meaning |
---|---|---|---|---|---|---|
MID | Manufacturer ID | 8 | [127:120] | 00010101 | 0x15 | |
Reserved | 6 | [119:114] | 000000 | 0x00 | ||
CBX | Device/BGA | 2 | [113:112] | 01 | 0x1 | BGA (Discrete embedded) |
OID | OEM/Application ID | 8 | [111:104] | 00000000 | 0x00 | |
PNM | Product name | 48 | [103:56] | 42 4a 4e 42 34 52 | ASCII BJNB4R |
|
PRV | Product revision | 8 | [55:48] | 00001011 | 0x0B | 0.11 (BCD) |
PSN | Product serial number | 32 | [47:16] | Unique 32-bit unsigned Integer | ||
MDT | Manufacturing date | 8 | [15:8] | 10000011 | 0x83 | August 2016 |
CRC | CRC7 checksum | 7 | [7:1] | |||
- | not used, always “1” | 1 | [0:0] | 0 | 0x0 | ? |
Device-Specific Data register from a Samsung eMMC
(Raw: D0 27 01 32 0F 59 03 FF F6 DB FF EF 8E 40 40 00
)
Name | Field | Width | Type | CSD-slice | Data (bin) | Data (hex) | Meaning |
---|---|---|---|---|---|---|---|
CSD structure | CSD_STRUCTURE | 2 | R | [127:126] | 11 | 0x3 | Version coded in EXT_CSD |
System specification version | SPEC_VERS | 4 | R | [125:122] | 0100 | 0x4 | Version 4.1 4.2 4.3 4.4 4.41 4.5 4.51 5.0 5.01 5.1 |
Reserved | - | 2 | R | [121:120] | 00 | 0x0 | |
Data read access-time 1 | TAAC | 8 | R | [119:112] | 00100111 | 0x27 | Time Unit = 10ms, Mult. = 1.5 (?) |
Data read access-time 2 | NSAC | 8 | R | [111:104] | 00000001 | 0x01 | 100 clock cycles |
Max. bus clock frequency | TRAN_SPEED | 8 | R | [103:96] | 00110010 | 0x32 | Freq. Unit = 10MHz, Mult. = 2.6 |
Device command classes | CCC | 12 | R | [95:84] | 000011110101 | 0xF5 | Supports command class 0, 2, 4-7 |
Max. read data block length | READ_BL_LEN | 4 | R | [83:80] | 1001 | 0x9 | 512 Bytes |
Partial blocks for read allowed | READ_BL_PARTIAL | 1 | R | [79:79] | 0 | 0x0 | Only allows 512B for block data transfers |
Write block misalignment | WRITE_BLK_MISALIGN | 1 | R | [78:78] | 0 | 0x0 | Data block must align with physical block |
Read block misalignment | READ_BLK_MISALIGN | 1 | R | [77:77] | 0 | 0x0 | Data block must align with physical block |
DSR implemented | DSR_IMP | 1 | R | [76:76] | 0 | 0x0 | Driver stage register is not implemented |
Reserved | - | 2 | R | [75:74] | 00 | 0x0 | |
Device size | C_SIZE | 12 | R | [73:62] | 111111111111 | 0xFFF | Density >2GB |
Max. read current @ VDD min | VDD_R_CURR_MIN | 3 | R | [61:59] | 110 | 0x6 | 60mA |
Max. read current @ VDD max | VDD_R_CURR_MAX | 3 | R | [58:56] | 110 | 0x6 | 60mA |
Max. write current @ VDD min | VDD_W_CURR_MIN | 3 | R | [55:53] | 110 | 0x6 | 80mA |
Max. write current @ VDD max | VDD_W_CURR_MAX | 3 | R | [52:50] | 110 | 0x6 | 80mA |
Device size multiplier | C_SIZE_MULT | 3 | R | [49:47] | 111 | 0x7 | 512 (Density >2GB) |
Erase group size | ERASE_GRP_SIZE | 5 | R | [46:42] | 11111 | 0x1F | 32 Blocks |
Erase group size multiplier | ERASE_GRP_MULT | 5 | R | [41:37] | 11111 | 0x1F | 32 (=1024 blocks) |
Write protect group size | WP_GRP_SIZE | 5 | R | [36:32] | 01111 | 0x0F | 16 erase groups |
Write protect group enable | WP_GRP_ENABLE | 1 | R | [31:31] | 1 | 0x1 | Group write protection possible |
Manufacturer default ECC | DEFAULT_ECC | 2 | R | [30:29] | 00 | 0x0 | No ECC |
Write speed factor | R2W_FACTOR | 3 | R | [28:26] | 011 | 0x3 | 8x read acces time |
Max. write data block length | WRITE_BL_LEN | 4 | R | [25:22] | 1001 | 0x9 | 512 Bytes |
Partial blocks for write allowed | WRITE_BL_PARTIAL | 1 | R | [21:21] | 0 | 0x0 | Only allows 512B for block data transfers |
Reserved | - | 4 | R | [20:17] | |||
Content protection application | CONTENT_PROT_APP | 1 | R | [16:16] | 0 | 0x0 | content protection application not supported |
File format group | FILE_FORMAT_GRP | 1 | R/W | [15:15] | 0 | 0x0 | |
Copy flag (OTP) | COPY | 1 | R/W | [14:14] | 1 | 0x0 | Copy |
Permanent write protection | PERM_WRITE_PROTECT | 1 | R/W | [13:13] | 0 | 0x0 | Not protected |
Temporary write protection | TMP_WRITE_PROTECT | 1 | R/W/E | [12:12] | 0 | 0x0 | Not protected |
File format | FILE_FORMAT | 2 | R/W | [11:10] | 00 | 0x0 | Hard disk-like file system with partition table |
ECC code | ECC | 2 | R/W/E | [9:8] | 00 | 0x0 | No ECC |
CRC | CRC | 7 | R/W/E | [7:1] | 0 | 0x0 | ? |
Not used, always’1’ | - | 1 | — | [0:0] | 0 | 0x0 | ? |
Device properties and selected modes from a Samsung eMMC
Name | Field | Size (Bytes) | Type | CSD slice | Data (hex) | Meaning |
---|---|---|---|---|---|---|
Properties Segment | ||||||
Reserved | 6 | TBD | [511:506] | 6 x 0x00 | ||
Extended Security Commands Error | EXT_SECURITY_ERR | 1 | R | [505] | 0x00 | No Error |
Supported Command Sets | S_CMD_SET | 1 | R | [504] | 0x01 | Standard MMC |
HPI features | HPI_FEATURES | 1 | R | [503] | 0x01 | HPI mechanism implementation based on CMD13 |
Background operations support | BKOPS_SUPPORT | 1 | R | [502] | 0x01 | Background operations are supported |
Max packed read commands | MAX_PACKED_READS | 1 | R | [501] | 0x3F | Max. 63 Commands |
Max packed write commands | MAX_PACKED_WRITES | 1 | R | [500] | 0x3F | Max. 63 Commands |
Data Tag Support | DATA_TAG_SUPPORT | 1 | R | [499] | 0x01 | System Data Tag mechanism supported |
Tag Unit Size | TAG_UNIT_SIZE | 1 | R | [498] | 0x02 | 4 x Sector Size |
Tag Resources Size | TAG_RES_SIZE | 1 | R | [497] | 0x00 | 0 (See 7.4.9 in JESD84-B51) |
Context management capabilities | CONTEXT_CAPABILITIES | 1 | R | [496] | 0x05 | Large unit multiplier = 1; MAX_CONTEXT_ID = 5 |
Large Unit size | LARGE_UNIT_SIZE_M1 | 1 | R | [495] | 0x07 | Large Unit size = 8MB |
Extended partitions attribute support | EXT_SUPPORT | 1 | R | [494] | 0x3 | Supported partition attributes: Non-persistent, System code |
Supported modes | SUPPORTED_MODES | 1 | R | [493] | 0x01 | FFU is supported, Vendor Specific Mode is not supported |
FFU features | FFU_FEATURES | 1 | R | [492] | 0x00 | Device does not support MODE_OPERATION_CODES field |
Operation codes timeout | OPERATION_CODE_TIMEOUT | 1 | R | [491] | 0x00 | Not defined |
FFU Argument | FFU_ARG | 4 | R | [490:487] | 0xC7 0x81 0x00 0x00 | |
Barrier support | BARRIER_SUPPORT | 1 | R | [486] | 0x00 | Barrier command not supported |
Reserved | 177 | TBD | [485:309] | all 0x00 | ||
CMD Queuing Support | CMDQ_SUPPORT | 1 | R | [308] | 0x01 | Command queuing is supported |
CMD Queuing Depth | CMDQ_DEPTH | 1 | R | [307] | 0x0F | Queue Depth = 16 |
Reserved | 1 | TBD | [306] | 0x00 | ||
Number of FW sectors correctly programmed | NUMBER_OF_FW_SECTORS_ CORRECTLY_PROGRAMMED | 4 | R | [305:302] | all 0x00 | ? |
Vendor proprietary health report | VENDOR_PROPRIETARY_ HEALTH_REPORT | 32 | R | [301:270] | all 0x00 | |
Device life time estimation type B | DEVICE_LIFE_TIME_EST_TYP_B | 1 | R | [269] | 0x01 | 0-10% device life time used |
Device life time estimation type A | DEVICE_LIFE_TIME_EST_TYP_A | 1 | R | [268] | 0x01 | 0-10% device life time used |
Pre EOL information | PRE_EOL_INFO | 1 | R | [267] | 0x01 | Normal |
Optimal read size | OPTIMAL_READ_SIZE | 1 | R | [266] | 0x00 | Not defined |
Optimal write size | OPTIMAL_WRITE_SIZE | 1 | R | [265] | 0x10 | 64KB |
Optimal trim unit size | OPTIMAL_TRIM_UNIT_SIZE | 1 | R | [264] | 0x01 | 4KB |
Device version | DEVICE_VERSION | 2 | R | [263:262] | 0x00 0x00 | ? |
Firmware version | FIRMWARE_VERSION | 8 | R | [261:254] | [261:255] = 0x00, [254] = 0x0B | Version 11 or 0.11 |
Power class for 200MHz, DDR at VCC= 3.6V | PWR_CL_DDR_200_360 | 1 | R | [253] | 0x00 | ? |
Cache size | CACHE_SIZE | 4 | R | [252:249] | 0x00 0x01 0x00 0x00 | Cache size = 262144kb |
Generic CMD6 timeout | GENERIC_CMD6_TIME | 1 | R | [248] | 0x0A | 100ms |
Power off notification(long) timeout | POWER_OFF_LONG_TIME | 1 | R | [247] | 0x3C | 600ms |
Background operations status | BKOPS_STATUS | 1 | R | [246] | 0x00 | No operations required |
Number of correctly programmed sectors | CORRECTLY_PRG_ SECTORS_NUM | 4 | R | [245:242] | all 0x00 | ? |
1st initialization time after partitioning | INI_TIMEOUT_AP | 1 | R | [241] | 0x1E | 3s |
Cache Flushing Policy | CACHE_FLUSH_POLICY | 1 | R | [240] | 0x00 | Cache flushing policy is not provided by the device |
Power class for 52MHz, DDR at VCC = 3.6V | PWR_CL_DDR_52_360 | 1 | R | [239] | 0x00 | |
Power class for 52MHz, DDR at VCC = 1.95V | PWR_CL_DDR_52_195 | 1 | R | [238] | 0x00 | |
Power class for 200MHz at VCCQ = 1.95V, VCC = 3.6V | PWR_CL_200_195 | 1 | R | [237] | 0x00 | |
Power class for 200MHz, at VCCQ = 1.3V, VCC = 3.6V | PWR_CL_200_130 | 1 | R | [236] | 0x00 | |
Minimum Write Performance for 8bit at 52MHz in DDR mode | MIN_PERF_DDR_W_8_52 | 1 | R | [235] | 0x00 | For Devices not reaching the 4.8MB/s value (?) |
Minimum Read Performance for 8bit at 52MHz in DDR mode | MIN_PERF_DDR_R_8_52 | 1 | R | [234] | 0x00 | For Devices not reaching the 4.8MB/s value (?) |
Reserved | 1 | TBD | [233] | 0x00 | ||
TRIM Multiplier | TRIM_MULT | 1 | R | [232] | 0x02 | 600ms |
Secure Feature support | SEC_FEATURE_SUPPORT | 1 | R | [231] | 0x55 | Supported: Sanitize, Secure trim, automatic erase on retired blocks, secure purge |
Secure Erase Multiplier | SEC_ERASE_MULT | 1 | R | [230] | 0x1B | Secure Erase Timeout = 300ms × ERASE_TIMEOUT_MULT * 27 |
Secure TRIM Multiplier | SEC_TRIM_MULT | 1 | R | [229] | 0x11 | Secure Trim Timeout = 300ms × ERASE_TIMEOUT_MULT x 17 |
Boot information | BOOT_INFO | 1 | R | [228] | 0x07 | Supported: high speed timing & dual data rate during boot, alternative boot method |
Reserved | 1 | TBD | [227] | 0x00 | ||
Boot partition size | BOOT_SIZE_MULT | 1 | R | [226] | 0x20 | 4096 Kbytes |
Access size | ACC_SIZE | 1 | R | [225] | 0x07 | 32 Kbytes |
High-capacity erase unit size | HC_ERASE_GRP_SIZE | 1 | R | [224] | 0x01 | 512 Kbyte |
High-capacity erase timeout | ERASE_TIMEOUT_MULT | 1 | R | [223] | 0x01 | 300ms |
Reliable write sector count | REL_WR_SEC_C | 1 | R | [222] | 0x01 | |
High-capacity write protect group size | HC_WP_GRP_SIZE | 1 | R | [221] | 0x10 | 10, Write protect group size = 512KB * HC_ERASE_GRP_SIZE * HC_WP_GRP_SIZE |
Sleep current (VCC) | S_C_VCC | 1 | R | [220] | 0x07 | |
Sleep current (VCCQ) | S_C_VCCQ | 1 | R | [219] | 0x07 | 128µA |
Production state awareness timeout | PRODUCTION_STATE_ AWARENESS_TIMEOUT | 1 | R | [218] | 0x00 | Not defined |
Sleep/awake timeout | S_A_TIMEOUT | 1 | R | [217] | 0x11 | 13.1072ms |
Sleep Notification Timout1 | SLEEP_NOTIFICATION_TIME | 1 | R | [216] | 0x07 | 1.280ms |
Sector Count | SEC_COUNT | 4 | R | [215:212] | 61071360 Sectors = 31268536320 Byte = 32GB | |
Secure Write Protect Information | SECURE_WP_INFO | 1 | R | [211] | 0x01 | Legacy Write Protection Mode, Secure Write Protection is supported |
Minimum Write Performance for 8bit at 52 MHz | MIN_PERF_W_8_52 | 1 | R | [210] | 0x00 | For Devices not reaching the 2.4MB/s value (?) |
Minimum Read Performance for 8bit at 52 MHz | MIN_PERF_R_8_52 | 1 | R | [209] | 0x00 | For Devices not reaching the 2.4MB/s value (?) |
Minimum Write Performance for 8bit at 26 MHz, for 4bit at 52MHz | MIN_PERF_W_8_26_4_52 | 1 | R | [208] | 0x00 | For Devices not reaching the 2.4MB/s value (?) |
Minimum Read Performance for 8bit at 26 MHz, for 4bit at 52MHz | MIN_PERF_R_8_26_4_52 | 1 | R | [207] | 0x00 | For Devices not reaching the 2.4MB/s value (?) |
Minimum Write Performance for 4bit at 26 MHz | MIN_PERF_W_4_26 | 1 | R | [206] | 0x00 | For Devices not reaching the 2.4MB/s value (?) |
Minimum Read Performance for 4bit at 26 MHz | MIN_PERF_R_4_26 | 1 | R | [205] | 0x00 | For Devices not reaching the 2.4MB/s value (?) |
Reserved | 1 | TBD | [204] | 0x00 | ||
Power class for 26 MHz at 3.6 V 1 R | PWR_CL_26_360 | 1 | R | [203] | 0x00 | 100mA RMS, 200mA pk |
Power class for 52 MHz at 3.6 V 1 R | PWR_CL_52_360 | 1 | R | [202] | 0x00 | 100mA RMS, 200mA pk |
Power class for 26 MHz at 1.95 V 1 R | PWR_CL_26_195 | 1 | R | [201] | 0x00 | 65mA RMS, 130mA pk |
Power class for 52 MHz at 1.95 V 1 R | PWR_CL_52_195 | 1 | R | [200] | 0x00 | 65mA RMS, 130mA pk |
Partition switching timing | PARTITION_SWITCH_TIME | 1 | R | [199] | 0x01 | 10ms |
Out-of-interrupt busy timing | OUT_OF_INTERRUPT_TIME | 1 | R | [198] | 0x05 | 50ms |
I/O Driver Strength | DRIVER_STRENGTH | 1 | R | [197] | 0x1F | Supported Types: 0-4 |
Device type | DEVICE_TYPE | 1 | R | [196] | 0x57 | HS at 26 and 52MHz at rated voltage(s), HS DDR at 52MHz 1.8V or 3V, HS200 SDR and HS400 DDR at 200MHz at 1.8V |
Reserved | 1 | TBD | [195] | 0x00 | ||
CSD STRUCTURE | CSD_STRUCTURE | 1 | R | [194] | 0x02 | CSD version No. 1.2 |
Reserved | 1 | TBD | [193] | 0x00 | ||
Extended CSD revision | EXT_CSD_REV | 1 | R | [192] | 0x08 | Revision 1.8 (for MMC v5.1) |
Modes Segment | ||||||
Command set | CMD_SET | 1 | R/W/E_P | [191] | 0x00 | |
Reserved | 1 | TBD | [190] | 0x00 | ||
Command set revision | CMD_SET_REV | 1 | R | [189] | 0x00 | v4.0 |
Reserved | 1 | TBD | [188] | 0x00 | ||
Power class | POWER_CLASS | 1 | R/W/E_P | [187] | 0x00 | 100mA RMS, 200mA pk |
Reserved | 1 | TBD | [186] | 0x00 | ||
High-speed interface timing | HS_TIMING | 1 | R/W/E_P | [185] | 0x01 | High Speed |
Strobe Support | STROBE_SUPPORT | 1 | R | [184] | 0x01 | Supports Enhanced Strobe mode |
Bus width mode | BUS_WIDTH | 1 | W/E_P | [183] | 0x00 | 1 bit mode, default strobe |
Reserved | 1 | TBD | [182] | 0x00 | ||
Erased memory content | ERASED_MEM_CONT | 1 | R | [181] | 0x00 | Erased memory range shall be 0 |
Reserved | 1 | TBD | [180] | 0x00 | ||
Partition configuration | PARTITION_CONFIG | 1 | R/W/E & R/W/E_P | [179] | 0x00 | |
Boot config protection | BOOT_CONFIG_PROT | 1 | R/W & R/W/C_P | [178] | ||
Boot bus Conditions | BOOT_BUS_CONDITIONS | 1 | R/W/E | [177] | ||
Reserved | 1 | TBD | [176] | |||
High-density erase group definition | ERASE_GROUP_DEF | 1 | R/W/E_P | [175] | ||
Boot write protection status registers | BOOT_WP_STATUS | 1 | R | [174] | ||
Boot area write protection register | BOOT_WP | 1 | R/W & R/W/C_P | [173] | ||
Reserved | 1 | TBD | [172] | |||
User area write protection register | USER_WP | 1 | R/W, R/W/C_P & R/W/E_P | [171] | ||
Reserved | 1 | TBD | [170] | |||
FW configuration | FW_CONFIG | 1 | R/W | [169] | ||
RPMB Size | RPMB_SIZE_MULT | 1 | R | [168] | ||
Write reliability setting register | WR_REL_SET | 1 | R/W | [167] | ||
Write reliability parameter register | WR_REL_PARAM | 1 | R | [166] | ||
Start Sanitize operation | SANITIZE_START | 1 | W/E_P | [165] | ||
Manually start background operations | BKOPS_START | 1 | W/E_P | [164] | ||
Enable background operations handshake | BKOPS_EN | 1 | R/W & R/W/E | [163] | ||
H/W reset function | RST_n_FUNCTION | 1 | R/W | [162] | ||
HPI management | HPI_MGMT | 1 | R/W/E_P | [161] | ||
Partitioning Support | PARTITIONING_SUPPORT | 1 | R | [160] | ||
Max Enhanced Area Size | MAX_ENH_SIZE_MULT | 3 | R | [159:157] | ||
Partitions attribute | PARTITIONS_ATTRIBUTE | 1 | R/W | [156] | ||
Partitioning Setting | PARTITION_SETTING_ COMPLETED | 1 | R/W | [155] | ||
General Purpose Partition Size | GP_SIZE_MULT | 12 | R/W | [154:143] | ||
Enhanced User Data Area Size | ENH_SIZE_MULT | 3 | R/W | [142:140] | ||
Enhanced User Data Start Address | ENH_START_ADDR | 4 | R/W | [139:136] | ||
Reserved | 1 | TBD | [135] | |||
Bad Block Management mode | SEC_BAD_BLK_MGMNT | 1 | R/W | [134] | ||
Production state awareness | PRODUCTION_STATE_ AWARENESS | 1 | R/W/E | [133] | ||
Package Case Temperature is controlled | TCASE_SUPPORT | 1 | W/E_P | [132] | ||
Periodic Wake-up | PERIODIC_WAKEUP | 1 | R/W/E | [131] | ||
Program CID/CSD in DDR mode support | PROGRAM_CID_CSD_ DDR_SUPPORT | 1 | R | [130] | ||
Reserved | 2 | TBD | [129:128] | |||
Vendor Specific Fields | VENDOR_SPECIFIC_FIELD | 64 | <vendor specific> | [127:64] | ||
Native sector size | NATIVE_SECTOR_SIZE | 1 | R | [63] | ||
Sector size emulation | USE_NATIVE_SECTOR | 1 | R/W | [62] | ||
Sector size | DATA_SECTOR_SIZE | 1 | R | [61] | ||
1st initialization after disabling sector size emulation | INI_TIMEOUT_EMU | 1 | R | [60] | ||
Class 6 commands control | CLASS_6_CTRL | 1 | R/W/E_P | [59] | ||
Number of addressed group to be Released | DYNCAP_NEEDED | 1 | R | [58] | ||
Exception events control | EXCEPTION_EVENTS_CTRL | 2 | R/W/E_P | [57:56] | ||
Exception events status | EXCEPTION_EVENTS_STATUS | 2 | R | [55:54] | ||
Extended Partitions Attribute | EXT_PARTITIONS_ATTRIBUTE | 2 | R/W | [53:52] | ||
Context configuration | CONTEXT_CONF | 15 | R/W/E_P | [51:37] | ||
Packed command status | PACKED_COMMAND_STATUS | 1 | R | [36] | ||
Packed command failure index | PACKED_FAILURE_INDEX | 1 | R | [35] | ||
Power Off Notification | POWER_OFF_NOTIFICATION | 1 | R/W/E_P | [34] | ||
Control to turn the Cache ON/OFF | CACHE_CTRL | 1 | R/W/E_P | [33] | ||
Flushing of the cache | FLUSH_CACHE | 1 | W/E_P | [32] | ||
Control to turn the Barrier ON/OFF | BARRIER_CTRL | 1 | R/W | [31] | ||
Mode config | MODE_CONFIG | 1 | R/W/E_P | [30] | ||
Mode operation codes | MODE_OPERATION_CODES | 1 | W/E_P | [29] | ||
Reserved | 2 | TBD | [28:27] | |||
FFU status | FFU_STATUS | 1 | R | [26] | ||
Pre loading data size | PRE_LOADING_DATA_SIZE | 4 | R/W/E_P | [25:22] | ||
Max pre loading data size | MAX_PRE_LOADING_DATA_SIZE | 4 | R | [21:18] | ||
Product state awareness enablement | PRODUCT_STATE_ AWARENESS_ENABLEMENT | 1 | R/W/E & R | [17] | ||
Secure Removal Type | SECURE_REMOVAL_TYPE | 1 | R/W & R | [16] | ||
Command Queue Mode Enable | CMDQ_MODE_EN | 1 | R/W/E_P | [15] | ||
Reserved | 15 | TBD | [14:0] |