Samsung Exynos 4412

From Linux Exynos
Jump to: navigation, search
Samsung Exynos 4412
Exynos 4412 in a Galaxy S III
Manufacturer Samsung
CPU
Architecture ARMv7
Configuration 4x ARM Cortex A9 @ 1.4GHz
Cache 4x 32 kiB L1i-cache
4x 32 kiB L1d-cache
1 MiB L2-cache
Specifications
Memory 32-bit dual-channel 400 MHz LPDDR, LPDDR2, DDR2 or DDR3 (6.4 GB/sec)
GPU ARM Mali-400MP4 (quad-core) @ 440 MHz ; 17.6 GFLOPS

The Exynos 4412 consists of a quad-core 32nm Cortex-A9 with a Mali-400MP4 GPU.

Contents

Overview

Main Components

The Exynos 4412 includes:

  • CPU: Cortex-A9 processor with NEON support.
  • GPU: Mali400
  • MFC v5.1 for video encoding/decoding.
  • FIMC for CSC, scaling, and rotation, and camera input.
  • FIMC-IS for camera input, and 3A, face detection, and dynamic range compression.
  • FIMG2D v4.1 for 2D accleration, including scaling and rotation.

Memory Map

Note: This is not necessarily a complete memory map. End addresses and sizes in particular are mostly incorrect, unless explicitly included in the manual.

Start End Size Description
0x00000000 0x00010000 64KB iROM
0x02000000 0x02010000 64KB iROM (mirror of 0x0 to 0x10000)
0x02020000 0x02060000 256KB iRAM (on-chip SRAM)
0x03000000 0x03020000 128KB Data memory (SRAM) of Samsung Reconfigurable Processor (seems to be part of the audio subsystem)
0x03020000 0x03030000 64KB I-cache/general purpose SRAM for SRP
0x03030000 0x03039000 36KB Write-only configuration memory for SRP
0x03810000 0x03820000 64KB Audio subsystem clock configuration registers
0x03820000 0x03830000 64KB Audio subsystem communication registers
0x03860000 0x03860FFF 4KB GPIO3 configuration registers
0x04000000 0x05000000 16MB Bank 0 of SROM controller
0x05000000 0x06000000 16MB Bank 1 of SROM controller
0x06000000 0x07000000 16MB Bank 2 of SROM controller
0x07000000 0x08000000 16MB Bank 3 of SROM controller
0x08000000 0x0C000000 64MB Reserved
0x0C000000 0x0CD00000 - Reserved
0x0CE00000 0x0D000000  ? NAND controller registers
0x10000000 0x10010000 64KB Chip ID registers
0x10010000 0x10020000 64KB System configuration registers
0x10020000 0x10030000 64KB PMU configuration registers
0x1003000 0x1004000 64KB Clock configuration registers (excluding ISP and CPU)
0x1004000 0x1005000 64KB CPU and ISP clock configuration registers
0x10050000 0x10060000 64KB Multi core timer (MCT) configuration registers
0x10060000 0x10070000 64KB Watchdog configuration registers
0x10070000 0x10080000 64KB RTC configuration registers
0x100A0000 0x100B0000 64KB Keypad interface configuration registers
0x100B0000 0x100C0000 64KB HDMI CEC configuration registers
0x100C0000 0x100D0000 64KB TMU configuration registers
0x10100000 0x10110000 64KB SECKEY (secure boot related?)
0x10110000 0x10120000 64KB TZPC0 - TrustZone Protection Interface configuration registers
0x10120000 0x10130000 64KB TZPC1
0x10130000 0x10140000 64KB TZPC2
0x10140000 0x10150000 64KB TZPC3
0x10150000 0x10160000 64KB TZPC4
0x10160000 0x10170000 64KB TZPC5
0x10440000 0x10450000 64KB Interrupt combiner configuration registers
0x10480000 0x10490000 64KB GIC configuration registers
0x10490000 0x104A0000 64KB GIC distributor configuration registers
0x10540000 0x10550000 64KB C2C (modem interface) configuration registers
0x10580000 0x10590000 64KB C2C configuration registers (modem-side)
0x10600000 0x10610000 64KB DRAM bank 0 controller configuration registers
0x10610000 0x10620000 64KB DRAM bank 1 controller configuration registers
0x106A0000 0x106B0000 64KB DRAM bank 0 PPMU (Platform Performance Measuring Unit) configuration registers
0x106B0000 0x106C0000 64KB DRAM bank 1 PPMU configuration registers
0x106C0000 0x106D0000 64KB CPU PPMU configuration registers
0x106E0000 0x106F0000 64KB C2C GPIO configuration registers (GPIO4)
0x10700000 0x10710000 64KB TZ Address Access Controller LR configuration registers
0x10710000 0x10720000 64KB TZ Address Access Controller LW configuration registers
0x10720000 0x10730000 64KB TZ Address Access Controller RR configuration registers
0x10730000 0x10740000 64KB TZ Address Access Controller RW configuration registers
0x10800000 0x10810000 64KB G2D configuration registers
0x10830000 0x10840000 64KB Security Subsystem (SSS) configuration registers
0x10880000 0x10890000 64KB Coresight configuration registers
0x10890000 0x108A0000 64KB Coresight configuration registers
0x108B0000 0x108C0000 64KB Coresight configuration registers
0x10A40000 0x10A50000 64KB G2D SysMMU configuration registers
0x10A50000 0x10A60000 64KB SSS SysMMU configuration registers
0x11000000 0x11010000 64KB GPIO2 configuration registers
0x11400000 0x11410000 64KB GPIO1 configuration registers
0x11800000 0x11810000 64KB FIMC0 configuration registers
0x11810000 0x11820000 64KB FIMC1 configuration registers
0x11820000 0x11830000 64KB FIMC2 configuration registers
0x11830000 0x11840000 64KB FIMC3 configuration registers
0x11840000 0x11850000 64KB JPEG configuration registers
0x11880000 0x11890000 64KB MIPI CSI0 configuration registers
0x11890000 0x118A0000 64KB MIPI CSI1 configuration registers
0x11A20000 0x11A30000 64KB FIMC0 SysMMU configuration registers
0x11A30000 0x11A40000 64KB FIMC1 SysMMU configuration registers
0x11A40000 0x11A50000 64KB FIMC2 SysMMU configuration registers
0x11A50000 0x11A60000 64KB FIMC3 SysMMU configuration registers
0x11A60000 0x11A70000 64KB JPEG SysMMU configuration registers
0x11C00000 0x11C10000 64KB FIMD0 configuration registers
0x11C80000 0x11C90000 64KB MIPI DSI0 configuration registers
0x11E20000 0x11E30000 64KB FIMD0 SysMMU configuration registers
0x12000000 0x12010000 64KB FIMC-IS configuration registers
0x12010000 0x12020000 64KB FIMC-IS DRC (dynamic range compression) configuration registers
0x12040000 0x12050000 64KB FIMC-IS FD (face detection) configuration registers
0x12110000 0x12120000 64KB FIMC-IS MPWM configuration registers
0x12130000 0x12140000 64KB FIMC-IS I2C0 configuration registers
0x12140000 0x12150000 64KB FIMC-IS I2C1 configuration registers
0x12150000 0x12160000 64KB FIMC-IS TCADC configuration registers
0x12160000 0x12170000 64KB FIMC-IS PWM configuration registers
0x12170000 0x12180000 64KB FIMC-IS watchdog configuration registers
0x12180000 0x12190000 64KB FIMC-IS MCUCTL (microcontroller control) configuration registers
0x12190000 0x121A0000 64KB FIMC-IS UART configuration registers
0x121A0000 0x121B0000 64KB FIMC-IS SPI0 configuration registers
0x121B0000 0x121C0000 64KB FIMC-IS SPI1 configuration registers
0x121E0000 0x121F0000 64KB FIMC_IS GIC_C configuration registers
0x121F0000 0x12200000 64KB FIMC_IS GIC_D configuration registers
0x12260000 0x12270000 64KB FIMC-IS ISP SysMMU configuration registers
0x12270000 0x12280000 64KB FIMC-IS DRC SysMMU configuration registers
0x122A0000 0x122B0000 64KB FIMC-IS FD SysMMU configuration registers
0x122B0000 0x122C0000 64KB FIMC-IS Cortex-A5 SysMMU configuration registers
0x12390000 0x123A0000 64KB FIMC_LITE0 configuration registers
0x123A0000 0x123B0000 64KB FIMC_LITE1 configuration registers
0x123B0000 0x123C0000 64KB FIMC_LITE0 SysMMU configuration registers
0x123C0000 0x123D0000 64KB FIMC_LITE1 SysMMU configuration registers
0x12480000 0x12490000 64KB HSOTG (USB device controller) configuration registers
0x12500000 0x12510000 64KB TSI (Transport Stream Interface) configuration registers
0x12510000 0x12520000 64KB SDMMC0 configuration registers
0x12520000 0x12530000 64KB SDMMC1 configuration registers
0x12530000 0x12540000 64KB SDMMC2 configuration registers
0x12540000 0x12550000 64KB SDMMC3 configuration registers
0x12550000 0x12560000 64KB SDMMC4 configuration registers
0x12560000 0x12570000 64KB MIPI HSI configuration registers
0x12570000 0x12580000 64KB SROM controller configuration registers
0x12580000 0x12590000 64KB EHCI controller configuration registers
0x12590000 0x125A0000 64KB OHCI controller configuration registers
0x125B0000 0x125C0000 64KB HSOTG PHY configuration registers
0x12680000 0x12690000 64KB PDMA0 (Peripheral DMA) configuration registers
0x12690000 0x126A0000 64KB PDMA1 (Peripheral DMA) configuration registers
0x126C0000 0x126D0000 64KB ADC configuration registers
0x12700000 0x12710000 64KB GPS configuration registers (maybe? this seems to be totally undocumented)
0x12810000 0x12820000 64KB Rotator configuration registers
0x12840000 0x12850000 64KB sMDMA (? memory DMA) configuration registers
0x12850000 0x12860000 64KB nsMDMA configuration registers
0x12A30000 0x12A40000 64KB Rotator SysMMU configuration registers
0x12A40000 0x12A50000 64KB MDMA SysMMU configuration registers
0x12C00000 0x12C10000 64KB Video Processor (VP) configuration registers
0x12C10000 0x12C20000 64KB Mixer configuration registers
0x12D00000 0x12D10000 64KB HDMI0 configuration registers
0x12D10000 0x12D20000 64KB HDMI1 configuration registers
0x12D20000 0x12D30000 64KB HDMI2 configuration registers
0x12D30000 0x12D40000 64KB HDMI3 configuration registers
0x12D40000 0x12D50000 64KB HDMI4 configuration registers
0x12D50000 0x12D60000 64KB HDMI5 configuration registers
0x12D60000 0x12D70000 64KB HDMI6 configuration registers
0x12E20000 0x12E30000 64KB TV SysMMU configuration registers
0x13000000 0x13010000 64KB Mali 400MP4 (G3D) configuration registers
0x13220000 0x13230000 64KB G3D PPMU configuration registers
0x13400000 0x13410000 64KB MFC configuration registers
0x13620000 0x13630000 64KB MFC_L SysMMU configuration registers
0x13630000 0x13640000 64KB MFC_R SysMMU configuration registers
0x13660000 0x13670000 64KB MFC_L PPMU configuration registers
0x13670000 0x13680000 64KB MFC_R PPMU configuration registers
0x13800000 0x13810000 64KB UART0 configuration registers
0x13810000 0x13820000 64KB UART1 configuration registers
0x13820000 0x13830000 64KB UART2 configuration registers
0x13830000 0x13840000 64KB UART3 configuration registers
0x13840000 0x13850000 64KB UART4 configuration registers
0x13860000 0x13870000 64KB I2C0 configuration registers
0x13870000 0x13880000 64KB I2C1 configuration registers
0x13880000 0x13890000 64KB I2C2 configuration registers
0x13890000 0x138A0000 64KB I2C3 configuration registers
0x138A0000 0x138B0000 64KB I2C4 configuration registers
0x138B0000 0x138C0000 64KB I2C5 configuration registers
0x138C0000 0x138D0000 64KB I2C6 configuration registers
0x138D0000 0x138E0000 64KB I2C7 configuration registers
0x138E0000 0x138F0000 64KB I2C HDMI PHY configuration registers
0x13920000 0x13930000 64KB SPI0 configuration registers
0x13930000 0x13940000 64KB SPI1 configuration registers
0x13940000 0x13950000 64KB SPI2 configuration registers
0x13960000 0x13970000 64KB I2S1 configuration registers
0x13970000 0x13980000 64KB I2S2 configuration registers
0x13980000 0x13990000 64KB PCM1 configuration registers
0x13990000 0x139A0000 64KB PCM2 configuration registers
0x139A0000 0x139B0000 64KB AC97 configuration registers
0x139B0000 0x139C0000 64KB SPDIF configuration registers
0x139D0000 0x139E0000 64KB PWM Timer configuration registers
0x40000000 0xA0000000 1.5GB DRAM controller 0 memory
0xA0000000 0x00000000 1.5GB DRAM controller 1 memory

Useful resources