PW-A9300
基板には"PW-A7200series"とあるので、共通基板を流用していると思われる (部品定数の差異は不明だが)
下記、"PW-A7200series"があった型番
PW-G4200
PW-G5300
※PINのL,Hは基板パターンとBrain起動の定常状態をscalpelによるレジスタダンプにより調べた
CPU
Freescale MCIMX283DVM4B
ADC
HSADC0, LRADC0, LRADC6は1kでGNDにPull-Down
HLRADC1~5はSub-LCDのタッチパネル
LRADC1がバッテリ電圧 (AUART0_CTSがHでFETスイッチON)
DRAM
Micron MT46H64M16LFBF-5 (刻印 "D9LRG" より)
16Mbit x 16bit x 4 banks 構成
謎の配線
GPMI_D05のH or MPUの40ピンのHによってDRAMのCSをHにできる
GPMI_D04によってVDDIO_EMIの様子を見れる?
eMMC
TOSHIBA THGBM4G6D2HBAIR
8GByte
SSP0に結線
SSP0_DETECTは未接続(内部PullUp有効)
eMMCの電源制御FETは未実装(パターンとランドはある)
PWM3が接続(未使用)
MPU
ベースとなっているMPU "MC9S08QE16"? (ピン機能が酷似しているため)
役割
キーマトリクス
本体開閉検出 (35ピン)
SDカード挿入検出 (34ピン)
電池電圧検知 (21ピン)
自己リセット (13ピン) Lでリセット
DRAMのDCDC制御, DRAMのCS解放
I2C0に結線
CPUのENET0_MDCとMPUの25ピンが結線
CPUのENET0_MDIOとMPUの26ピンが結線
CPUのENET0_RX_ENとMPUの39ピンが結線 (割り込みピン)
MPUからiMX28をUSBBootモードに移行できる? (39ピン)
table: MPU_KeyMatrix
MPU_KO0 MPU_KO1 MPU_KO2 MPU_KO3 MPU_KO4 MPU_KO5 MPU_KO6 MPU_KO7
MPU_KBI2P0 入/切 一括検索 大辞林 英和/和英 古語 ブリタニカ Home 辞書メニュー
MPU_KBI2P1 切替 しおり
MPU_KBI2P2 Q W E R T Y U I
MPU_KBI2P3 A S D F G H O P
MPU_KBI2P4 Z X C V B J K L
MPU_KBI2P5 機能 Sジャンプ N M -
MPU_KBI2P6 ^ ← ↑ ↓ →
MPU_KBI2P7 音声 v 戻る 検索・決定 後退
SD
GPMIに結線
電源はSDカードソケット付近のFETが担当
SSP2_SS2ピンがLで給電
挿入検出はMPUの34ピンに結線
カード挿入でL
Serial
PWM0(DUART-TX)とPWM1(DUART-RX)に出ている
プローブポイントは本体基板画像参照
115200/8-N-1
Audio
Yamaha YMU818B
I2C0に結線、オーディオ出力はSAIF0に結線
マイク非搭載機種によりSAIF1との結線は見られない
イヤホン端子の挿抜検出にSSP2_SS1を使用
挿入時にL
Buzzer
正極側がPWM4、負極側がSAIF1_SDATA
USB
USB ID (VDDIO33 から10kでPull-UPしている)
GPMI_RDY0で制御可能
Main LCD
LQ050J1UG01
Bootlogには "LQ050J1UG01 controller 16bit-2" と出力されるが、基板上では24bit分結線されている
IOMUXからは16bit分(LCD_D00~LCD_D15までLCDIF、LCD_D16以降はGPIO)
LCD側基板で2.8Vと1.8Vを生成してLCDに供給してる
GPMI_ALE が1.8V側、GPMI_CLE が2.8V側のイネーブル信号、どちらも HでON
ENET_CLK(入力ピン)がLCDに接続されているが用途不明
タッチパネルコントローラは SX8650
割り込み信号は AUART0_TX に結線
A0ピンは AUART0_RX に結線
I²CはI2C0に結線
バックライトは TPS61160A で駆動
PWM制御は AUART1_RX に結線
AUART1_TX で LED電流を切り替える (Hで明るめ, Lで暗め?)
PWM1モード
Sub LCD
YMC240120-02AADFDGL
SSP2_SCK, SSP2_MOSI, SSP2_MISO, SSP2_SS0と結線 (SSP2_MISOはGPIOでRESETn)
pepepper氏の解析より、WinCEドライバの名前"EDNA2_slcd_ST7586.dll"よりST7586の可能性大
タッチパネル
水平方向がLRADC5とLRADC4
垂直方向がLRADC3とLRADC2
バックライト
PWM2がHで点灯
開閉センサ
刻印が"BC 34 Z"
SNT-4Aパッケージに近い ABLICのホールIC S57xxシリーズ?
4ピン 1:Output, 2:GND, 3:GND, 4:VDD
本体が閉じている状態でL、開いている状態でH
電源電圧検出
リセットボタン付近にある一列に並ぶICがそれ
ICの刻印にミツミのマークがあるためリセットICの類 多分PST81xxシリーズ
ENET0_TXD1、ENET0_TXD0、ENET0_TX_EN、ENET0_RXD1、MPUの21ピンにそれぞれ結線
本体基板写真(部品面)
https://gyazo.com/13df62744b37c4281eb8a5ae028548e3
LCD側基板写真(部品面)
https://gyazo.com/c3d23ff34b2bdcbdc899c9d56767ff36
(クリックして拡大できます)
bootlog (PW-G5300)
"Press ENTER to download now or SPACE to cancel." の表示でターミナルよりキー入力したが変化は見られなかった
code: cold_boot
HTLLCB
E
LLLC
Microsoft Windows CE Bootloader Common Library Version 1.4 Built Nov 30 2012 15:56:13
--SetMUXPin()
MCU_I2CInit Start
MCU_I2CInit End
fInitLoop Loop start
MCU_ReadRegister MCU_REG_STATUS
WaitBIT ON
Batt Detect
no MCU_REG_STATUS_UPDATE
not MCU_REG_RESET_DIAG
+ SDMMC_Init
MMC High Density card
MMC 8bit
WARNING: SDMMC_Init: g_bSDHCExist0=1 g_bSDHCExist1=0 OEMPlatformInit: SWITCH SDHC device to user partition.
INFO: Booted from SD/MMC
INFO: Loading boot configuration from SDHC
INFO: Successfully loaded boot configuration from SDHC
Batt Detect
Cold Boot OS
System ready!
Preparing for download...
INFO: Initial Eboot Screen Display...
EBOOT: EBOOT_SetupPIXClock--
ConfigurePanel
tony HW_LCDIF_CTRL_RD()=0x4010020
mpulcd_init_panel_hw pass
InitSharp() pass
Initiating image download in 0 seconds.
Starting auto download ...
+InitSpecifiedEthDevice
INFO: MAC address: 0-2-B3-92-A8-C4
-BLMenu .
INFO: Using device name: 'MX2843204'
INFO: Check Card BOOT
INFO: Reading NK image to SDHC (please wait)...
INFO: Copying NK image to RAM address 0xa0200000
INFO: Read is 100% complete
INFO: Copy of NK completed successfully
OEMLaunch called PhysAddress 0x40200000.
Download successful! Jumping to image at 0x0 (physical 0x40200000)...
Windows CE Kernel for ARM (Thumb Enabled) Built on Apr 5 2011 at 17:47:22
INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
+OEMInit
-OEMInit
cspddk.dll: CSP_Init()
BZR_Thread() ID = 01420002
Buzzer Ready
UsbEventThread() ID = 01830002
UfnPdd_PowerDown+++
UfnPdd_PowerDown---
SPI_Init: SpiInitialize Sucess: pSpi 0xd04f0d20 !!
PowerInit()++
CurrentCheckThread() ID = 01960002
PowerInitHandle() ID = 01980002
PowerInitHandle()++
PowerInitHandle()--
PowerIRQHandler() ID = 019A0002
VDD5VDROOPHandler() ID = 019D0002
PowerInit()--
BatteryPDDInitialize ++
BatteryPDDInitialize(1) --
BatteryThreadProc() ID = 01C20002
SLD_OffOnISR() ID = 01C80002
SLD_OffOnISR Start
CallInterruptThread() ID = 01E00002
CallInterruptThread2() ID = 01E30002
CallDisableDelayThread() ID = 01E80002
CallHPDetectInterruptThread() ID = 01EB0002
CallDelayStartThread() ID = 01EE0002
OffEventThread() ID = 009D0006
PowerMangementThread() ID = 00A00006
EnterSuspendThread() ID = 00A70006
PWR: PWR_Init: pPWRInfo=0xd04f2760
PWR: PowerMangementThread START
BSPBacklightInitialize()
MRSensorISR() ID = 01AC0006
TPD_Init() ++
PenupDelayThreadProc() ID = 01CF0006
TPD_Thread() ID = 01F00006
TPD_Init() --
SDHC: + DllEntry, Enter
SDHCDGetSlotInfo 0
ControllerIst() ID = 02470002
SDHCCardDetectThread() ID = 024A0002
ZZM: The SD card0 is present.
SDHCDGetSlotInfo 0
ControllerIst() ID = 025B0002
SDHCCardDetectThread() ID = 025E0002
ZZM: NO SD card1.
ZZM: The SD card0 is present.
CMD5: 0x00000005 0x00000000
SDHCSlotOptionHandler - SDHCDSetSlotInterfaceEx : Clock Setting: 52000000
SetInterface : setting for 8 bit mode
CSDSlot::HandleAddDevice() NO_MMC_DDR_MODE
FSTHandleAddDevice: LoadDevice type = 1, slot 0EDNA2CSDDevice::SDLoadDevice() Device_MMC (1) SDMEMORY: IdleThread() ID = 031D0002
DSK_Init sector(0x27000) Size = 0x1000
DSK_Init sector(0xae800) Adjust Size = 0x6b17ff
DSK_Init sector(0x38000) Size = 0x8000
DSK_Init sector(0x28000) Size = 0x10000
DSK_Init sector(0x40000) Size = 0x4b800
DSK_Init sector(0x8b800) Size = 0x23000
GetBlockSize: Failed to get the alignment value Error:0x2. Setting to default. GetOverlayAlign: fails, size is 8!
CreateFile PXP failed!
No Pixel Pipeline handle available! Will use 8 as default block size.
CreateFile PXP failed!
No Pixel Pipeline handle available! Will use 1 as default exponent value.
GetDisplayGuid:
Initializing LQ050J1UG01 controller 16bit-2
Display_TE_Check_Thread() ID = 037A0002
GetVMemSizeFromRegistry: succeeds, size is 8388608!
KeybdEventThreadProc() ID = 03A30002
KbdNotificationThread() ID = 03A50002
EDNA2_KBD_Entry: Initialize KBD EDNA2 ID 0
EDNA2_KBD_ThreadProc() ID = 03B50002
EDNA2_KBD_PowerThreadProc() ID = 03B70002
EDNA2_KBD_ScanDelayProc() ID = 03BA0002
MCU_REG_STATUS = 0x0
MCU_REG_PORT_STATUS = 0x0
MCU_REG_RESET_STATUS = 0x1
MCUStartCommunication() START
MCUStartCommunication() END
EDNA2_KBD_Entry: END
LayMgr.cpp: Layout Manager successfully initialized to 1
DdsiTouchPanelAttach()
PenupDelayThreadProc() ID = 03C80002
Disable JTAG
Debug UART disable
bootlog (PW-G5300) with SD
EBOOTが見るbinファイルは "EDNA3EXE.BIN"
code: boot_with_sd
HTLLC5
U
E
LLLC
Microsoft Windows CE Bootloader Common Library Version 1.4 Built Nov 30 2012 15:56:13
--SetMUXPin()
MCU_I2CInit Start
MCU_I2CInit End
fInitLoop Loop start
MCU_ReadRegister MCU_REG_STATUS
WaitBIT Retry 0
MCU_ReadRegister MCU_REG_STATUS
WaitBIT Retry 1
MCU_ReadRegister MCU_REG_STATUS
WaitBIT Retry 2
MCU_ReadRegister MCU_REG_STATUS
WaitBIT Retry 3
MCU_ReadRegister MCU_REG_STATUS
WaitBIT ON
no MCU_REG_STATUS_UPDATE
not MCU_REG_RESET_DIAG
+ SDMMC_Init
MMC High Density card
MMC 8bit
- SDMMC_Init
WARNING: SDMMC_Init: g_bSDHCExist0=1 g_bSDHCExist1=1 OEMPlatformInit: SWITCH SDHC device to user partition.
INFO: Booted from SD/MMC
INFO: Loading boot configuration from SDHC
INFO: Successfully loaded boot configuration from SDHC
ERROR: cannot open image file'EDNA3CFG.BIN'
Cold Boot OS
System ready!
Preparing for download...
INFO: Initial Eboot Screen Display...
EBOOT: EBOOT_SetupPIXClock--
ConfigurePanel
tony HW_LCDIF_CTRL_RD()=0x4010020
mpulcd_init_panel_hw pass
InitSharp() pass
Initiating image download in 0 seconds.
Starting auto download ...
+InitSpecifiedEthDevice
INFO: MAC address: 0-2-B3-92-A8-C4
-BLMenu .
INFO: Using device name: 'MX2843204'
INFO: Check Card BOOT
ERROR: cannot open image file'EDNA3EXE.BIN'
INFO: Check Card BOOT(0)
INFO: Reading NK image to SDHC (please wait)...
INFO: Copying NK image to RAM address 0xa0200000
INFO: Read is 1% complete
INFO: Read is 2% complete
INFO: Read is 3% complete
INFO: Read is 4% complete
INFO: Read is 5% complete
INFO: Read is 6% complete
INFO: Read is 7% complete
INFO: Read is 8% complete
INFO: Read is 9% complete
INFO: Read is 10% complete
INFO: Read is 11% complete
INFO: Read is 12% complete
INFO: Read is 13% complete
INFO: Read is 14% complete
INFO: Read is 15% complete
INFO: Read is 16% complete
INFO: Read is 17% complete
INFO: Read is 18% complete
INFO: Read is 19% complete
INFO: Read is 20% complete
INFO: Read is 21% complete
INFO: Read is 22% complete
INFO: Read is 23% complete
INFO: Read is 24% complete
INFO: Read is 25% complete
INFO: Read is 26% complete
INFO: Read is 27% complete
INFO: Read is 28% complete
INFO: Read is 29% complete
INFO: Read is 30% complete
INFO: Read is 31% complete
INFO: Read is 32% complete
INFO: Read is 33% complete
INFO: Read is 34% complete
INFO: Read is 35% complete
INFO: Read is 36% complete
INFO: Read is 37% complete
INFO: Read is 38% complete
INFO: Read is 39% complete
INFO: Read is 40% complete
INFO: Read is 41% complete
INFO: Read is 42% complete
INFO: Read is 43% complete
INFO: Read is 44% complete
INFO: Read is 45% complete
INFO: Read is 46% complete
INFO: Read is 47% complete
INFO: Read is 48% complete
INFO: Read is 49% complete
INFO: Read is 50% complete
INFO: Read is 51% complete
INFO: Read is 52% complete
INFO: Read is 53% complete
INFO: Read is 54% complete
INFO: Read is 55% complete
INFO: Read is 56% complete
INFO: Read is 57% complete
INFO: Read is 58% complete
INFO: Read is 59% complete
INFO: Read is 60% complete
INFO: Read is 61% complete
INFO: Read is 62% complete
INFO: Read is 63% complete
INFO: Read is 64% complete
INFO: Read is 65% complete
INFO: Read is 66% complete
INFO: Read is 67% complete
INFO: Read is 68% complete
INFO: Read is 69% complete
INFO: Read is 70% complete
INFO: Read is 71% complete
INFO: Read is 72% complete
INFO: Read is 73% complete
INFO: Read is 74% complete
INFO: Read is 75% complete
INFO: Read is 76% complete
INFO: Read is 77% complete
INFO: Read is 78% complete
INFO: Read is 79% complete
INFO: Read is 80% complete
INFO: Read is 81% complete
INFO: Read is 82% complete
INFO: Read is 83% complete
INFO: Read is 84% complete
INFO: Read is 85% complete
INFO: Read is 86% complete
INFO: Read is 87% complete
INFO: Read is 88% complete
INFO: Read is 89% complete
INFO: Read is 90% complete
INFO: Read is 91% complete
INFO: Read is 92% complete
INFO: Read is 93% complete
INFO: Read is 94% complete
INFO: Read is 95% complete
INFO: Read is 96% complete
INFO: Read is 97% complete
INFO: Read is 98% complete
INFO: Read is 99% complete
INFO: Read is 100% complete
INFO: Copy of NK completed successfully
OEMLaunch called PhysAddress 0x40200000.
Download successful! Jumping to image at 0x0 (physical 0x40200000)...
Windows CE Kernel for ARM (Thumb Enabled) Built on Apr 5 2011 at 17:47:22
INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
+OEMInit
-OEMInit
cspddk.dll: CSP_Init()
BZR_Thread() ID = 01420002
Buzzer Ready
UsbEventThread() ID = 01830002
UfnPdd_PowerDown+++
UfnPdd_PowerDown---
SPI_Init: SpiInitialize Sucess: pSpi 0xd04f0d20 !!
PowerInit()++
CurrentCheckThread() ID = 01960002
PowerInitHandle() ID = 01980002
PowerInitHandle()++
Power initialization, PMU_POWER_SUPPLY_5V!
PowerInitHandle()--
PowerIRQHandler() ID = 019A0002
VDD5VDROOPHandler() ID = 019D0002
PowerInit()--
BatteryPDDInitialize ++
BatteryPDDInitialize(1) --
BatteryThreadProc() ID = 01C30002
SLD_OffOnISR() ID = 01C90002
SLD_OffOnISR Start
CallInterruptThread() ID = 01E10002
CallInterruptThread2() ID = 01E40002
CallDisableDelayThread() ID = 01E90002
CallHPDetectInterruptThread() ID = 01EC0002
CallDelayStartThread() ID = 01EF0002
OffEventThread() ID = 009E0006
PowerMangementThread() ID = 00A50006
EnterSuspendThread() ID = 00A80006
PWR: PWR_Init: pPWRInfo=0xd04f2760
PWR: PowerMangementThread START
BSPBacklightInitialize()
MRSensorISR() ID = 01AE0006
TPD_Init() ++
PenupDelayThreadProc() ID = 01D10006
TPD_Thread() ID = 01F30006
TPD_Init() --
SDHC: + DllEntry, Enter
SDHCDGetSlotInfo 0
ControllerIst() ID = 02480002
SDHCCardDetectThread() ID = 024B0002
ZZM: The SD card0 is present.
SDHCDGetSlotInfo 0
ControllerIst() ID = 025C0002
SDHCCardDetectThread() ID = 025F0002
ZZM: NO SD card1.
ZZM: The SD card0 is present.
CMD5: 0x00000005 0x00000000
SDHCSlotOptionHandler - SDHCDSetSlotInterfaceEx : Clock Setting: 52000000
SetInterface : setting for 8 bit mode
CSDSlot::HandleAddDevice() NO_MMC_DDR_MODE
FSTHandleAddDevice: LoadDevice type = 1, slot 0EDNA2CSDDevice::SDLoadDevice() Device_MMC (1) SDMEMORY: IdleThread() ID = 03200002
DSK_Init sector(0x27000) Size = 0x1000
DSK_Init sector(0xae800) Adjust Size = 0x6b17ff
DSK_Init sector(0x38000) Size = 0x8000
DSK_Init sector(0x28000) Size = 0x10000
DSK_Init sector(0x40000) Size = 0x4b800
DSK_Init sector(0x8b800) Size = 0x23000
GetBlockSize: Failed to get the alignment value Error:0x2. Setting to default. GetOverlayAlign: fails, size is 8!
CreateFile PXP failed!
No Pixel Pipeline handle available! Will use 8 as default block size.
CreateFile PXP failed!
No Pixel Pipeline handle available! Will use 1 as default exponent value.
GetDisplayGuid:
Initializing LQ050J1UG01 controller 16bit-2
Display_TE_Check_Thread() ID = 037D0002
GetVMemSizeFromRegistry: succeeds, size is 8388608!
KeybdEventThreadProc() ID = 03A60002
KbdNotificationThread() ID = 03A80002
EDNA2_KBD_Entry: Initialize KBD EDNA2 ID 0
EDNA2_KBD_ThreadProc() ID = 03B80002
EDNA2_KBD_PowerThreadProc() ID = 03BA0002
EDNA2_KBD_ScanDelayProc() ID = 03BD0002
MCU_REG_STATUS = 0x0
MCU_EV_SD_DETECT
MCU_REG_PORT_STATUS = 0x60
MCU_REG_RESET_STATUS = 0x1
MCUStartCommunication() START
MCUStartCommunication() END
EDNA2_KBD_Entry: END
LayMgr.cpp: Layout Manager successfully initialized to 1
DdsiTouchPanelAttach()
PenupDelayThreadProc() ID = 03CB0002
ZZM: The SD card1 is present.
BSPSDHCCardDetectThread : Detect
ZZM: The SD card1 is present.
BSPSDHCCardDetectThread : Detect
Disable JTAG
Debug UART disable