Skip to content

Memory map

Jonathan Neuschäfer edited this page Aug 27, 2021 · 36 revisions
Physical address name description
0x00000000 internal RAM (0x2000 bytes)
0x00002000 DRAM (repeats to fill address space until 0x20000000)
0x40000000 memory-mapped SPI flash
0x50000000 mystery space (32-bit reads return the address(?))
0x7fff0000 Boot ROM alias
0x80000000 Internal RAM and DRAM alias (like 0x00000000-0x1fffffff)
0xb0000000 GCR System Global Control Registers
0xb0000200 CLK Clock Registers
0xb0001000 MC Memory controller
0xb0002000 MAC1 Ethernet MAC 1
0xb0003000 MAC2 Ethernet MAC 2
0xb0005000 USB2 USB 2.0 device controller
0xb0006000 USB1 USB 1.1 device controller
0xb0007000 SDHC SD Card host controller
0xb0018000 VCD video capture device
0xb8000000 UART0 UART0
0xb8000100 UART1 UART1
0xb8000200 PECI PECI controller
0xb8000300 GFXI graphics interface
0xb8001000 TIMER Timers
0xb8002000 AIC Interrupt controller
0xb8003000 GPIO GPIOs
0xb8004000 TACH0 tachometer 0
0xb8005000 TACH1 tachometer 1
0xb8006000 I2C0 I2C controllers
0xb8006100 I2C1
0xb8006200 I2C2
0xb8006300 I2C3
0xb8006400 I2C4
0xb8006500 I2C5
0xb8007000 PWM Pulse-width modulation
0xb8008000 KCS IPMI KCS and POST code monitor
0xb8009000 ADC Analog-digital converter
0xb800b000 AES
0xc0000000 memory-mapped SPI flash
0xc6000000 internal RAM, 0x400 bytes
0xc8000000 FIU boot SPI flash controller
0xc8001000 SHM Shared memory(?)
0xffff0000 Boot ROM

Buses

  • The ATEN kernel indicates that AHB starts at 0xb0000000 and APB starts at 0xb8000000.

ATEN kernel

The ATEN kernel installs the following mappings, to be used from the kernel and from userspace:

physical virtual size description
0xb0000000 0xf0010000 0x00010000 (64k) AHB, I/O devices
0xb0010000 0xf0020000 0x00010000 (64k) VCD
0xb8000000 0xf0030000 0x00010000 (64k) APB, more I/O devices
0x06400000 0xf0100000 0x02000000 (32M) VCD memory, part of RAM

Note that the VCDMEM mapping is longer than it should be: 0x06400000 + 0x02000000 = 0x08400000. As a result, the first 4 MiB of RAM are also accessible to all userspace.

References

Clone this wiki locally