Inside Samsung Galaxy S III GT-I9300

Inside Galaxy S III GT-I9300

As presented May 3 2012 in London, analysis by François SIMOND aka supercurio.

Folllow: http://twitter.com/#!/supercurio

Android apps: https://play.google.com/store/apps/developer?id=supercurio+-+Project+Voodoo

This analysis is done based on elements from a live system, without physical tear-down.

Thanks to Brian Klug for the help with running a modified version of my reporting tool to get this data.

SoC

Exynos 4 smdk4x12

CPU:

4 cores.

features: swp half thumb fastmult vfp edsp neon vfpv3 tls

Linux Frequency scaling:

Max Frequency 1.4 GHz

1.3 GHz

1.2 GHz

1.1 GHz

1 GHz

900 Mhz

800 Mhz

700 Mhz

600 MHz

500 Mhz

Min frequency: 200 Mhz

Scaling driver: exynos_cpufreq,

Active governor: pegasusq

Cpu frequency transition latency: 100000 ns

Exynos bus frequency: 160160

Audio codec:

Wolfson Micro WM1811

http://www.wolfsonmicro.com/products/audio_hubs/WM1811/

100dB SNR Class W Headphone amp output, ReTune DSP, 3x digital interface.

Ultra low power standby, flexible, multi-button accessory detect.

Like WM8994 in Galaxy S / Nexus S, except:

1x stereo DAC instead of 2x.

2x 2W Speaker amp instead of 2x 1W

Smaller and probably cheaper, same sound quality expected.

Audio driver configuration & policy implementation based on TinyUCM (/etc/tinyucm.conf)

Probable subset of TinyHAL implementing codec configuration in config files instead of having everything hardcoded in ROM or kernel driver at compile time.

Native sampling rate: 44100 Hz. It means music played will be sent as-is to the DAC instead of being processed by a software up-sampling routine as it is on Galaxy Nexus or other devices with codecs accepting only 48000 Hz.

Confirmed Voodoo Sound capable ;)

FM Radio:

Si4709 receiver, as in Galaxy S / Galaxy S II / Galaxy Note

Display:

Super AMOLED HD, Pentile matrix, 4.8”

Likely generation as Galaxy Nexus and Galaxy Note display.

Resolution: 720x1280

Refresh rate: 60Hz

Default color mode: 32bit.

Real DPI as calculated by driver (need confirmation by measurements)

305dpi, physical width 60mm, physical height 106mm

MHL output controller: Samsung sii9234 (need confirmation about who really manufactures the chip, and if its Sil9234. Driver say Sii9234, might be a typo in driver?)

mDNIe hardware support (mode, scenarios, outdoor)

OpenGL / EGL:

Renderer name: Mali-400 MP

OpenGL ES 1.1 extensions:

GL_OES_byte_coordinates

GL_OES_fixed_point

GL_OES_single_precision

GL_OES_matrix_get

GL_OES_read_format

GL_OES_compressed_paletted_texture

GL_OES_point_size_array

GL_OES_point_sprite

GL_OES_texture_npot

GL_OES_query_matrix

GL_OES_matrix_palette

GL_OES_extended_matrix_palette

GL_OES_compressed_ETC1_RGB8_texture

GL_OES_EGL_image

GL_OES_draw_texture

GL_OES_depth_texture

GL_OES_packed_depth_stencil

GL_EXT_texture_format_BGRA8888

GL_OES_framebuffer_object

GL_OES_stencil8

GL_OES_depth24

GL_ARM_rgba8

GL_OES_EGL_image_external

GL_OES_EGL_sync

GL_OES_rgb8_rgba8

GL_EXT_multisampled_render_to_texture

GL_OES_texture_cube_map

GL_EXT_discard_framebuffer

OpenGL ES 2.0 extensions:

GL_OES_texture_npot

GL_OES_compressed_ETC1_RGB8_texture

GL_OES_standard_derivatives

GL_OES_EGL_image

GL_OES_depth24

GL_ARM_rgba8

GL_ARM_mali_shader_binary

GL_OES_depth_texture

GL_OES_packed_depth_stencil

GL_EXT_texture_format_BGRA8888

GL_EXT_blend_minmax

GL_OES_EGL_image_external

GL_OES_EGL_sync

GL_OES_rgb8_rgba8

GL_EXT_multisampled_render_to_texture

GL_EXT_discard_framebuffer

EGL 1.4 extensions:

EGL_KHR_image

EGL_KHR_image_base

EGL_KHR_image_pixmap

EGL_KHR_gl_texture_2D_image

EGL_KHR_gl_texture_cubemap_image

EGL_KHR_gl_renderbuffer_image

EGL_KHR_fence_sync

EGL_ANDROID_image_native_buffer

Camera:

Back: Samsung LSI S5C73M3 8M pixel camera

http://patchwork.linuxtv.org/patch/10708/ reading shows the sensor should support 120fps capture at 640x480. Might be a potential camera hack!

Network:

Broadcom BCM4334 - latest ultra low power solution for smartphones

Wi-fi 802.11 a/b/g/n

Bluetooth 4

Contains FM receiver (unused, Si4709 instead)

See Anandtech coverage on Broadcam announcement.

Radio:

Baseband: XMM6262 (thanks Brian Klug, good catch!)

ROM details:

Android 4.0.4

London demo device ROM version: I9300XXALE4a (build date Thu May  3 16:05:51 KST 2012)

Built for CPU armeabi-v7a

ro.build.product=m0 << strange

Android UI LCD density configured to 320 dpi

100Hz maximum input frequency (touch)

Voice recognition server named WakeUpCmdRecognizer, based on acoustic and grammar models (/system/wakeupdata/sensory/)

Misc

Partition sizes:

/system: 1G (might more: df command rounding error), 315Mb Free.

/data: 11G (shared with /sdcard, pure Ext4)

/cache: 1G

Mount options: optimized Ext4 settings (same as those introduced in Voodoo lagfix)

Sd Cards & additional storage.

Internal: /mnt/sdcard

External: /mnt/extSdCard

USB sticks: /mnt/UsbDriveA to FAK8975C

Samsung proprietary exfat kernel driver.

Mounts:

rootfs / rootfs ro,relatime 0 0

tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0

devpts /dev/pts devpts rw,relatime,mode=600 0 0

proc /proc proc rw,relatime 0 0

sysfs /sys sysfs rw,relatime 0 0

none /acct cgroup rw,relatime,cpuacct 0 0

tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0

tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0

none /dev/cpuctl cgroup rw,relatime,cpu 0 0

/dev/block/mmcblk0p9 /system ext4 ro,noatime,barrier=1,data=ordered 0 0

/dev/block/mmcblk0p12 /data ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered,noauto_da_alloc,discard 0 0

/dev/block/mmcblk0p8 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered 0 0

/dev/block/mmcblk0p3 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered 0 0

/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0

/dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

Sensors:

Accelerometer:

STMicroelectronics - LSM330DLC 3-axis Accelerometer

Magnetic Field sensor:

Asahi Kasei Microdevices - AK8975C 3-axis Magnetic field sensor

Orientation + Gravity + Linear acceleration + Rotation

STMicroelectronics - iNemoEngine

Light & Proximity sensor:

Capella - CM36651

Gyroscope

STMicroelectronics - LSM330DLC Gyroscope sensor

Pressure:

STMicroelectronics - LPS331AP Pressure Sensor

Voltage regulators, MFD, battery gauge.

MAXIM MAX7763

MAXIM MAX77686

MAXIM 17047 Fuel Gauge

Camera LED flash controller

AnalogicTech AAT1290

Notification LED

Panasonic an30259a

NFC Controller

NXP PN65N (same as Galaxy Nexus)

Linux Kernel:

Linux version 3.0.15-495902-user (se.infra@SEP-53) (gcc version 4.4.3 (GCC) ) #1 SMP PREEMPT Thu May 3 15:53:58 KST 2012

Kernel modules:

dhd (Wi-fi Bluetooth)

btlock

Si4709_driver

extfat_fs, extfat_core (proprietary)

Media framework encoders and decoders

Samsung audio decoders

AAC

AC3

AMR-NB, AMR-WB

FLAC

MP3

Ra & Rv  (Real Audio)

WMA

Samsung audio encoders

AAC

AMR-NB

Samsung video decoders

AVC (H264)

MPEG-4

H263

H263 Sorenson

Dedicated DRM decoder

Samsung Video encoders

AVC (H264)

MPEG-4

H263

Standard google decoders.

AAC

AMR-NB, AMR-WB

G711 A-LAW / U-LAW

H263

H264

MP3

MPEG-4

Vorbis

VPxUSB

USB Audio

snd-usb-audio usb class audio driver present. Might work, might not.

Serial Bridge

Prolific - PL-2303