u32
(little endian) at 0x0 contains pointer to low region (FARB0
)u32
at 0x1000 contains pointer to high region (FARB1
)- 0x0 or 0xFFFFFFFF indicates that the region is inactive
- Alpine Ridge patches by dgsga:
27 27
→37 37
at 0x35- Sets
APPLE_HOST_MODE
(bit 4) in both sets of chicken bits
- Sets
A0
→20
at 0x81- Clears
EE_ARC_ENABLE
(bit 7) inARC_DEBUG
- Clears
- Supposedly works through Maple Ridge
- Linux exposes a sysfs interface to perform NVM updates
- For some reason update support was never enabled on Maple Ridge
- Works with a one-line kernel patch
- Can be used to downgrade NVM firmware
- 38 → 31 worked for me on JHL8540 (on ProArt Z790)
- ASUS supports NVM firmware updates in UEFI (at least on ProArt Z690/Z790)
- Updater application is
TbtNvmDrvShellUpdate
(5EDCCC1A-F4CA-42F4-8D3E-CA4C0B396BF7)- Actual update is performed by an
EFI_FIRMWARE_MANAGEMENT_PROTOCOL
(86C77A67-0B97-4633-A187-49104D0685C7) instance - Protocol instance for Thunderbolt installed by driver CCF23F50-F7C1-4F00-8E70-13643C37E8B0
- NVM firmware update loaded from EED54281-1C11-4358-BF5A-F64995FBF11B on most (all?) boards with built-in Maple Ridge
- Actual update is performed by an