Samsung Omnia SGH-i900 Hardware Information

The Samsung SGH-i900 Omnia is a 3.5G cellphone running Windows Mobile 6.1 Professional.

Dissasembly photos:

Samsung Omnia Teardown - Contains photos of a dissassembled Samsung SGH-i910 and some hardware information.

Samsung Omnia SGH-i900 hardware component list:

Samsung Omnia Hardware List - Contains incredibly descriptive and complete information on the included hardware.

Also check the hardware documents page for a list of downloadable datasheets and other documentation.

Most of the following information is taken from the Samsung Omnia page on gnufiish.org and might be outdated or irrelevant.

Si4703 FM Tuner

Bluetooth CSR 41814

  • Same as M800
  • On which UART?
  • Power GPIOs?
  • Bluetooth on:
004.969    GPIOS    GPLR0: GPIO3(3)=1
005.118    GPIOS    GPLR2: GPIO76(76)=1
005.422    GPIOS    GPLR2: GPIO84(84)=0
005.426    GPIOS    GPLR2: GPIO84(84)=1
[Tons of GPIO84 off/on toogle]
008.242    GPIOS    GPLR1: GPIO48(48)=0
008.242    GPIOS    GPLR2: GPIO71(71)=1
008.276    GPIOS    GPLR2: GPIO84(84)=0
008.280    GPIOS    GPLR2: GPIO84(84)=1
008.287    GPIOS    GPLR2: GPIO84(84)=0
008.383    GPIOS    GPLR1: GPIO48(48)=1
008.383    GPIOS    GPLR2: GPIO71(71)=0 GPIO84(84)=1
010.506    GPIOS    GPLR2: GPIO84(84)=0
010.508    GPIOS    GPLR2: GPIO84(84)=1
  • Bluetooth off:
081.778    GPIOS    GPLR2: GPIO84(84)=0
081.795    GPIOS    GPLR2: GPIO84(84)=1
082.578    GPIOS    GPLR0: GPIO3(3)=0
082.578    GPIOS    GPLR2: GPIO76(76)=0
082.597    GPIOS    GPLR1: GPIO48(48)=0
082.597    GPIOS    GPLR2: GPIO71(71)=1
083.598    GPIOS    GPLR1: GPIO48(48)=1
083.598    GPIOS    GPLR2: GPIO71(71)=0

Wifi Marvell 8686

  • SDIO on mmc2
  • Power GPIOs?
  • Wifi on:
017.827    GPIOS    GPLR0: GPIO3(3)=1
017.844    GPIOS    GPLR0: GPIO16(16)=1
017.844    GPIOS    GPLR3: GPIO104(104)=1 GPIO118(118)=1
017.860    GPIOS    GPLR0: GPIO8(8)=1 GPIO16(16)=0
017.917    GPIOS    GPLR0: GPIO9(9)=1
017.917    GPIOS    GPLR1: GPIO48(48)=0
023.032    GPIOS    GPLR2: GPIO89(89)=0
  • Wifi off:
043.160    GPIOS    GPLR0: GPIO8(8)=0
043.160    GPIOS    GPLR3: GPIO104(104)=0 GPIO118(118)=0
043.163    GPIOS    GPLR0: GPIO9(9)=1
043.163    GPIOS    GPLR1: GPIO48(48)=0
043.168    GPIOS    GPLR0: GPIO3(3)=0
044.164    GPIOS    GPLR0: GPIO9(9)=0
044.164    GPIOS    GPLR1: GPIO48(48)=1

8/16 GB SD Flash

  • On mmc1
  • Already detected from mainline

Audio Codec / Touchscreen Wolfson WM9713

  • Driver already mainline
  • Which GPIO?

Screen: 240×400 pixels, 3.2”

  • Framebuffer timings known and already working

GSM/UMTS Modem: Qualcomm MSM6281

  • Connected to to Cypress 16Kbyte (128Kbit) dual port ram
  • Power GPIOs?
  • Memory address?
  • Phone on:
003.651    GPIOS    GPLR2: GPIO81(81)=1
003.802    GPIOS    GPLR3: GPIO107(107)=1
004.206    GPIOS    GPLR2: GPIO81(81)=0
009.051    GPIOS    GPLR3: GPIO106(106)=1

Phone off:

037.879    GPIOS    GPLR3: GPIO106(106)=0
038.386    GPIOS    GPLR3: GPIO107(107)=0

GPIOs

  • Default settings
Beginning memory tracing.
Watching GPIOS(00): Addr a8e00000(@40e00000)
Watching GPIOS(01): Addr a8e00004(@40e00004)
Watching GPIOS(02): Addr a8e00008(@40e00008)
Watching GPIOS(03): Addr a8e00100(@40e00100)
Watching GPIOS(04): Addr a8e0000c(@40e0000c)
Watching GPIOS(05): Addr a8e00010(@40e00010)
Watching GPIOS(06): Addr a8e00014(@40e00014)
Watching GPIOS(07): Addr a8e0010c(@40e0010c)
Watching GPIOS(08): Addr a8e00054(@40e00054)
Watching GPIOS(09): Addr a8e00058(@40e00058)
Watching GPIOS(10): Addr a8e0005c(@40e0005c)
Watching GPIOS(11): Addr a8e00060(@40e00060)
Watching GPIOS(12): Addr a8e00064(@40e00064)
Watching GPIOS(13): Addr a8e00068(@40e00068)
Watching GPIOS(14): Addr a8e0006c(@40e0006c)
Watching GPIOS(15): Addr a8e00070(@40e00070)
000.000    GPIOS    GPLR0=05101084: GPIO2=1 GPIO7=1 GPIO12=1 GPIO20=1 GPIO24=1 GPIO26=1
000.000    GPIOS    GPLR1=00010000: GPIO48=1
000.000    GPIOS    GPLR2=007c0040: GPIO70=1 GPIO82=1 GPIO83=1 GPIO84=1 GPIO85=1 GPIO86=1
000.000    GPIOS    GPLR3=40801cd0: GPIO100=1 GPIO102=1 GPIO103=1 GPIO106=1 GPIO107=1 GPIO108=1 GPIO119=1 GPIO126=1
000.000    GPIOS    GPDR0=3d2bd68c: GPIO2=1 GPIO3=1 GPIO7=1 GPIO9=1 GPIO10=1 GPIO12=1 GPIO14=1 GPIO15=1 GPIO16=1 GPIO17=1 GPIO19=1 GPIO21=1 GPIO24=1 GPIO26=1 GPIO27=1 GPIO28=1 GPIO29=1
000.000    GPIOS    GPDR1=fffb8040: GPIO38=1 GPIO47=1 GPIO48=1 GPIO49=1 GPIO51=1 GPIO52=1 GPIO53=1 GPIO54=1 GPIO55=1 GPIO56=1 GPIO57=1 GPIO58=1 GPIO59=1 GPIO60=1 GPIO61=1 GPIO62=1 GPIO63=1
000.000    GPIOS    GPDR2=bceadfbf: GPIO64=1 GPIO65=1 GPIO66=1 GPIO67=1 GPIO68=1 GPIO69=1 GPIO71=1 GPIO72=1 GPIO73=1 GPIO74=1 GPIO75=1 GPIO76=1 GPIO78=1 GPIO79=1 GPIO81=1 GPIO83=1 GPIO85=1 GPIO86=1 GPIO87=1 GPIO90=1 GPIO91=1 GPIO92=1 GPIO93=1 GPIO95=1
000.000    GPIOS    GPDR3=dec1a17b: GPIO96=1 GPIO97=1 GPIO99=1 GPIO100=1 GPIO101=1 GPIO102=1 GPIO104=1 GPIO109=1 GPIO111=1 GPIO112=1 GPIO118=1 GPIO119=1 GPIO121=1 GPIO122=1 GPIO123=1 GPIO124=1 GPIO126=1 GPIO127=1
000.000    GPIOS  GAFR0_L=00000000:
000.000    GPIOS  GAFR0_U=00000000:
000.000    GPIOS  GAFR1_L=00000000:
000.000    GPIOS  GAFR1_U=00000000:
000.000    GPIOS  GAFR2_L=00000000:
000.000    GPIOS  GAFR2_U=00000000:
000.000    GPIOS  GAFR3_L=00000000:
000.000    GPIOS  GAFR3_U=00000000:
  • GPLR0: GPIO17 Audio related
  • GPLR0: GPIO20 Ambient sensor or accellerometer related
  • GPLR0: GPIO23 Touchscreen (press=1, release=0)
  • GPLR2: GPIO70 GPS related ??
  • GPLR2: GPIO79 Flash light (Vibrator??)
  • GPLR3: GPIO125 Accelerometer related

Camera Sony IMX034

  • Camera (back) on:
022.678    GPIOS    GPLR0: GPIO0(0)=1
022.678    GPIOS    GPLR1: GPIO47(47)=1 GPIO53(53)=1
022.678    GPIOS    GPLR2: GPIO90(90)=1
022.678    GPIOS    GPDR3: GPIO127(255)=0
  • Camera (back) off:
041.157    GPIOS    GPLR2: GPIO79(79)=1
041.289    GPIOS    GPLR2: GPIO79(79)=0
041.384    GPIOS    GPLR0: GPIO0(0)=0
041.384    GPIOS    GPLR1: GPIO47(47)=0 GPIO53(53)=0
041.384    GPIOS    GPLR2: GPIO90(90)=0
041.384    GPIOS    GPDR3: GPIO127(255)=1

Vibrator

  • Vibrator on (Incoing call with vibration on):
016.683    GPIOS    GPLR0: GPIO9(9)=1
016.683    GPIOS    GPLR1: GPIO48(48)=0
016.976    GPIOS    GPLR2: GPIO79(79)=1
017.149    GPIOS    GPLR0: GPIO9(9)=0
017.149    GPIOS    GPLR1: GPIO48(48)=1
017.504    GPIOS    GPLR0: GPIO9(9)=1
017.504    GPIOS    GPLR1: GPIO48(48)=0
017.743    GPIOS    GPLR0: GPIO9(9)=0
017.743    GPIOS    GPLR1: GPIO48(48)=1
020.311    GPIOS    GPLR2: GPIO79(79)=0
022.157    GPIOS    GPLR2: GPIO79(79)=1
023.121    GPIOS    GPLR2: GPIO79(79)=0
  • Vibrator off (Incoing call with vibration off):
017.425    GPIOS    GPLR0: GPIO9(9)=1
017.425    GPIOS    GPLR1: GPIO48(48)=0
017.756    GPIOS    GPLR0: GPIO9(9)=0
017.756    GPIOS    GPLR1: GPIO48(48)=1
018.056    GPIOS    GPLR0: GPIO9(9)=1
018.056    GPIOS    GPLR1: GPIO48(48)=0
018.293    GPIOS    GPLR0: GPIO9(9)=0
018.293    GPIOS    GPLR1: GPIO48(48)=1

Bosch Sensortec BMA020 Accelerometer

  • On SPI?

Ambient Light Sensor

  • Chip unknown

JTAG pinout

There's an 8-pin connector CN601 underneath the LCD FPCB connector with the following pinout (thanks to plvt_florian):

  • 1: VCC 3.3V
  • 2: nTRST
  • 3: TDI
  • 4: TMS
  • 5: TCK
  • 6: TDO
  • 7: nRST
  • 8: GND