Files
rk3588-ddr-analysis/rk3588_regs_auto.h
T
test0r 816848a474 RK3588 DDR init blob reverse engineering
- Ghidra decompilation of v1.02-v1.19 blobs (118 functions)
- 53 functions renamed, 79 MMIO registers mapped to TRM
- 45 timeout-less poll loops identified and patched
- Production patcher (patch_prod.py) and QEMU emulator
- Comprehensive analysis, frequency tables, community research

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:06:47 +02:00

80 lines
3.2 KiB
C

#define _DAT_00012be0 REG32(0x00012be0)
#define _DAT_00012c20 REG32(0x00012c20)
#define _DAT_00012c28 REG32(0x00012c28)
#define _DAT_00012c30 REG32(0x00012c30)
#define _DAT_00012c38 REG32(0x00012c38)
#define _DAT_00014e3a REG32(0x00014e3a)
#define _DAT_00014e3e REG32(0x00014e3e)
#define _DAT_00014e7c REG32(0x00014e7c)
#define _DAT_00014e7e REG32(0x00014e7e)
#define _DAT_00014e80 REG32(0x00014e80)
#define _DAT_00014e82 REG32(0x00014e82)
#define _DAT_00014f74 REG32(0x00014f74)
#define _DAT_00015140 REG32(0x00015140)
#define _DAT_000152c8 REG32(0x000152c8)
#define _DAT_000152f0 REG32(0x000152f0)
#define _DAT_000152f4 REG32(0x000152f4)
#define _DAT_000152f8 REG32(0x000152f8)
#define _DAT_000153f0 REG32(0x000153f0)
#define _DAT_000153f8 REG32(0x000153f8)
#define _DAT_000154e8 REG32(0x000154e8)
#define _DAT_000154ec REG32(0x000154ec)
#define _DAT_000154f0 REG32(0x000154f0)
#define _DAT_001fe000 REG32(0x001fe000)
#define _DAT_001fe004 REG32(0x001fe004)
#define _DAT_001fe008 REG32(0x001fe008)
#define _DAT_001fe00c REG32(0x001fe00c)
#define _DAT_001fe010 REG32(0x001fe010)
#define _DAT_fd588080 REG32(0xfd588080)
#define _DAT_fd59800c REG32(0xfd59800c)
#define _DAT_fd5f4000 REG32(0xfd5f4000)
#define _DAT_fd5f400c REG32(0xfd5f400c)
#define _DAT_fd5f800c REG32(0xfd5f800c)
#define _DAT_fd5f8018 REG32(0xfd5f8018)
#define _DAT_fd5f8020 REG32(0xfd5f8020)
#define _DAT_fd5f8028 REG32(0xfd5f8028)
#define _DAT_fd5f802c REG32(0xfd5f802c)
#define _DAT_fd5f8030 REG32(0xfd5f8030)
#define _DAT_fd5f8038 REG32(0xfd5f8038)
#define _DAT_fd5f8044 REG32(0xfd5f8044)
#define _DAT_fd5f804c REG32(0xfd5f804c)
#define _DAT_fd5f8050 REG32(0xfd5f8050)
#define _DAT_fd5f8054 REG32(0xfd5f8054)
#define _DAT_fd5f805c REG32(0xfd5f805c)
#define _DAT_fd5f8060 REG32(0xfd5f8060)
#define _DAT_fd5f8068 REG32(0xfd5f8068)
#define _DAT_fd5f806c REG32(0xfd5f806c)
#define _DAT_fd5f8070 REG32(0xfd5f8070)
#define _DAT_fd5f8074 REG32(0xfd5f8074)
#define _DAT_fd5f8078 REG32(0xfd5f8078)
#define _DAT_fd5f807c REG32(0xfd5f807c)
#define _DAT_fd5f8080 REG32(0xfd5f8080)
#define _DAT_fd5f8084 REG32(0xfd5f8084)
#define _DAT_fd5f8088 REG32(0xfd5f8088)
#define _DAT_fd5f808c REG32(0xfd5f808c)
#define _DAT_fd5f8098 REG32(0xfd5f8098)
#define _DAT_fd5f809c REG32(0xfd5f809c)
#define _DAT_fd8c8004 REG32(0xfd8c8004)
#define _DAT_fd8c8008 REG32(0xfd8c8008)
#define _DAT_fd8c8014 REG32(0xfd8c8014)
#define _DAT_fd8c8018 REG32(0xfd8c8018)
#define _DAT_fe0100f0 REG32(0xfe0100f0)
#define _DAT_fe0100f4 REG32(0xfe0100f4)
#define _DAT_fe0100f8 REG32(0xfe0100f8)
#define _DAT_fe0100fc REG32(0xfe0100fc)
#define _DAT_fe030040 REG32(0xfe030040)
#define _DAT_fe050000 REG32(0xfe050000)
#define _DAT_fe050004 REG32(0xfe050004)
#define _DAT_fe050008 REG32(0xfe050008)
#define _DAT_fe05000c REG32(0xfe05000c)
#define _DAT_fe05002c REG32(0xfe05002c)
#define _DAT_fe050054 REG32(0xfe050054)
#define _DAT_fe050058 REG32(0xfe050058)
#define _DAT_fe0500e0 REG32(0xfe0500e0)
#define _DAT_fe0500e4 REG32(0xfe0500e4)
#define _DAT_fecc0004 REG32(0xfecc0004)
#define _DAT_fecc0008 REG32(0xfecc0008)
#define _DAT_fecc0020 REG32(0xfecc0020)
#define _DAT_fecc0084 REG32(0xfecc0084)
#define _DAT_ff000010 REG32(0xff000010)