PW-B1
Work in progress
間違っていてもゆるして....
主要なコンポーネント
SoC
NXP i.MX 7 ULP MCIMX7U5DVP07SD
Cortex-A7 と Cortex-M4 を搭載しているヘテロジニアスマルチコア
GPU(Vivante GC7000)搭載
OS
uITRON 互換 μC3?
DRAM
winbond W97AH2NBVA2E
LPDDR2-800
4Mbit x 32bit x 8bankの構成 1Gbit(128MiB)の容量
データバスは32bit
eMMC
Samsung KLM8G1GETF-B041
容量は8GB
eMMC 5.1 (HS400)
Codec
Rohm BU26154MUV
タッチパネルI/Fを搭載のステレオオーディオコーデック
スピーカーはモノ限定
PMIC
NXP PF1550 PMIC MC32PF1550A4EP
i.MX7ULPとLPDDR3構成に調整されてる。 (型番のA4が該当)
この中に降圧DCDCドライバ(x3)やLDO(x3)、DRAM用電源、Li-ion充電回路が入ってる。
Touch ADC
Semtech SX8650
Hole Sensor
Toshiba TCS30SPU
S極検出 CMOS出力 パッケージにPA5と表記
A面側 (SoCのある面) に実装
Toshiba TCS30DPU
両極検出 CMOS出力 パッケージにPA7と表記
B面側に実装
結線など
Functionの参照元はReference Manualの添付データにあるIMX7ULPRMB2_Rev0_IOMUX.xlsxより
また、Functionは接続先より推定した値であり、確定はレジスタダンプが必要となる
手元でu-bootが2021/06/20に動いたので一部断定したFunctionを記載 (PADやTPのピンは用途が不明なのでまだ)
DRAM
DDR系ピンは機能が固定なので、省略
DDR_ODTがB面側パッドTP401に接続 → 未使用?
eMMC
電源VCCQとVCCはそれぞれPMIC_LDO1とPMIC_SW3から供給される
また、VCCQとVCCはU505のTPS22976によって制御される (PMIC_LDO2のON?)
table: emmc_connections
Pin Pad Func <> Pin Pad Note
PTE0 D12 SDHC1_D1 DAT1 A4 internal PU
PTE1 A12 SDHC1_D0 DAT0 A3 internal PU
PTE2 B12 SDHC1_CLK CLK M6 internal PD
PTE3 B11 SDHC1_CMD CMD M5 internal PU
PTE4 B10 SDHC1_D3 DAT3 B2 internal PU
PTE5 A10 SDHC1_D2 DAT2 A5 internal PU
PTE6 D9 SDHC1_D4 DAT4 B3 internal PU
PTE7 E8 SDHC1_D5 DAT5 B4 internal PU
PTE8 F9 SDHC1_D6 DAT6 B5 internal PU
PTE9 G9 SDHC1_D7 DAT7 B6 internal PU
PTE10 D8 SDHC1_DQS Data Strobe H5 internal PU
PTE11 A8 SDHC1_RESET_b RSTN K5 internal PU
MicroSD
電源はPMIC_LDO2から供給され、U504のTPS22919によって制御される (PTD0がHIGHでON)
カード検出はなぜかPTA12 とPTA31にそれぞれ33kと10kを介して接続
PTA12にHighを出せばPTA31で検出できる
table: microsd_connections
Pin Pad Func <> Pin Pad I/O Note
PTA12 GPIO CD - O 33k ohm series
PTA31 GPIO CD - I 10k ohm series
PTD0 GPIO ON 3 O SD Power Control
PTD1 B24 SDHC0_CMD CMD 3 47k ohm PU
PTD2 B23 SDHC0_CLK CLK 5 47k ohm PU
PTD7 A20 SDHC0_D3 DAT3 2 47k ohm PU
PTD8 B20 SDHC0_D2 DAT2 1 47k ohm PU
PTD9 B19 SDHC0_D1 DAT1 8 47k ohm PU
PTD10 B18 SDHC0_D0 DAT0 7 47k ohm PU
Codec
電源はPMIC_LDO1から供給
I2CバスはLPI2C0でTouchADCと共有
※基板上でHPR(ヘッドフォンR側出力)が接続されいないように見える → HPL(ヘッドフォンR側出力)をLとRに分配している
TP302がRESET_Bと接続
table: codec_connections
Pin Pad Func <> Pin Pad I/O Note
PTA2 AG14 I2S0_RXD0 SAI_SDOUT 29 I 100 ohm series
PTA4 AD15 I2S_MCLK0 MCLKI 22 O 100 ohm series
PTA5 AC15 I2S0_TX_BCLK SAI_BCLK 27 O 100 ohm series
PTA6 AB15 I2S0_TX_FS SAI_LRCLK 26 O 100 ohm series
PTA7 AD14 I2S0_TXD0 SAI_SDIN 28 O 100 ohm series
PTA16 AG18 LPI2C0_SCL CSB_SCL 23 - 2k ohm PU
PTA17 AD19 LPI2C0_SDA SDATA_SDA 24 - 2k ohm PU
PTC1 E17 GPIO RESET_B 20 O 47k ohm PU
PTF16 GPIO - - I Headphone Detection
※何故かダンプしたときのI2Sに関連したピンはI2S_MCLK0を除きGPIOだった
音出すときにはじめてI2Sに変わるのかもしれない
Keyboard
電源ボタンは独立している押下でPTB1がLOWになる
table: key_connections
Pin Pad Func <> Pin CN802 Pad I/O Note
PTB1 AF2 GPIO POW 1, 2 I internal PU
PTB3 AE4 GPIO KI0 3 I internal PU
PTB6 AF5 GPIO KI1 4 I internal PU
PTB7 AF6 GPIO KI2 5 I internal PU
PTB9 AD7 GPIO KI3 6 I internal PU
PTB14 AG8 GPIO KI4 7 I internal PU
PTB16 AF9 GPIO KI5 8 I internal PU
PTB19 AD10 GPIO KI6 9 I internal PU
PTB18 AG10 GPIO KO0 10 O OpenDrain
PTB17 AF10 GPIO KO1 11 O OpenDrain
PTB10 AC7 GPIO KO2 12 O OpenDrain
PTA23 AD20 GPIO KO3 13 O OpenDrain
PTA0 AE14 GPIO KO4 14 O OpenDrain
PTA18 AC19 GPIO KO5 15 O OpenDrain
PTA9 AC16 GPIO KO6 16 O OpenDrain
PTA8 AB16 GPIO? ? 17 O OpenDrain
PTA15 AF18 GPIO? ? 18 O OpenDrain
PTB11 AB7 GPIO? ? 19 O OpenDrain
GND 20
※CN802はMicroUSBポートを下にして上から採番
キーマトリクス
table: key-matrix
KI0 KI1 KI2 KI3 KI4 KI5 KI6
KO0 ▼ 削除 クリア ▲ 決定↩ ▶ 文字大 ー ?
KO1 I P O M L K
KO2 My辞書 一覧から選ぶ 履歴 ホーム 国語・漢字 英和・和英
KO3 ◀ 文字小 スペース/変換 戻る ^ 音量+ あA1/記号 v 音量- 音声
KO4 N V B シフト C Z X
KO5 J G H A F S D
KO6 U T Y Q R W E
※キーボード基板のパターンが一部抵抗体なので、完全な導通はしない
※電源ボタンは押下すると、GNDとつながる
LCD
電源は2系統ありLCD本体の電源(仮称LCD_POWER)とバックライト電源(仮称LCD_BACKLIGHT)と思われる
電源の大本はPMIC_VSYSから供給され
LCD_POWER側をU808のAP3428/Aが制御(PTB15でON/OFF)
LCD_BACKLIGHT側をU807の不明なDCDCが制御( PTF17でON/OFF)
PTB0とPTF1が短絡している?
SoCのGPIOと思われるピンを調べたがPWM信号らしきもの無かった → MIPI-DSIのコマンドで制御?
table:lcd_connections
Device Pin Pad Func <> Pin CN801 Pad I/O Note
SX8650 Y- 5 - Y- 1
SX8650 X- 4 - X- 2
SX8650 Y+ 3 - Y+ 3
SX8650 X+ 2 - X+ 4
- GND - - GND 5
SoC PTB0 GPIO ? 4 I (short PTF1)
SoC PTF1 GPIO ? 4 I (short PTB0)
SoC PTB8 GPIO ? 5 O
SoC PTF3 GPIO ? 6 I
SoC PTB2 GPIO ? 7 O
- LCD_POWER - - LCD_POWER 8
- LCD_POWER - - LCD_POWER 9
- GND - - GND 10
SoC DSI_DATA1_P DSI_DATA1 LCD_DSI_DATA1_P 11
SoC DSI_DATA1_N DSI_DATA1 LCD_DSI_DATA1_N 12
- GND - - GND 13
SoC DSI_DATA1_P DSI_CLK LCD_DSI_CLK_P 14
SoC DSI_DATA1_N DSI_CLK LCD_DSI_CLK_N 15
- GND - - GND 16
SoC DSI_DATA0_P DSI_DATA0 LCD_DSI_DATA0_P 17
SoC DSI_DATA0_N DSI_DATA0 LCD_DSI_DATA0_N 18
- GND - - GND 19
- GND - - GND 20
- LCD_BACKLIGHT - - LCD_BACKLIGHT 21
- LCD_BACKLIGHT - - LCD_BACKLIGHT 22
- GND - - GND 23 (for backlight ?)
- GND - - GND 24 (for backlight ?)
※CN801もCN802の採番に従う
Touch ADC
電源はPMIC_LDO1から供給
I2CバスはLPI2C0でCodecと共有 (A0が接地なのでアドレスは0x38)
タッチパネルX+,X-,Y+,およびY-は省略
table:touch_adc_connections
Pin Pad Func <> Pin Pad I/O Note
PTA13 GPIO NIRQ 7 I
PTA17 AD19 LPI2C0_SDA SDA 8 - 2k ohm PU
PTA16 AG18 LPI2C0_SCL SCL 9 - 2k ohm PU
PTA1 GPIO NRST 10 O
Hole Sensors
A面側U701のTCS30SPUはPMIC_LDO1、B面側U702のTCS30DPUはPMIC_LDO2より電源を供給
table:holesens_connections
Pin Pad Func <> Pin Pad I/O Note
PTA19 AB19 GPIO 1 Vout I A-side
PTA3 GPIO 1 Vout I B-side
PMIC
USBの5VVUSBINやLi-IonVBAT1,2がすべての源流でそこからVSYSを作りそれが各LDOやDCDCに供給される
I2CバスはLPI2C3
バックアップCell LICELLは未使用
Li-Ionチャージ信号CHGBはTP102に接続
table: pmic_connections
Pin Pad Func <> Pin Pad I/O Note
PTA22 AC20 EWM_RESET_OUT WDI 1 - 47k ohm PU
PTB13 AD8 LPI2C3_SDA SDA 2 - 2k ohm PU
PTB12 AC8 LPI2C3_SCL SCL 3 - 2k ohm PU
STANDBY_REQ V2 - STANDBY 7 -
PTA14 GPIO INTB 9 I via Q101
RESET0_B - RESETBMCU 10 -
PTA25 GPIO - - O Q102 (BAT_TH 10k PU Switch)
PTA24 ADC0_CH8A - - - USBPHY voltage sense?
PTA20 ADC0_CH10A - - - VBAT voltage sense?
PTB5 GPIO - - O U104 (VBAT voltage sense Switch)
USB
VUSBはFuseF701を通してPMIC_VUSBINに接続
USB_IDとUSB0_ID(PTC13)はUBSコネクタ手前のB702につながっているが、B702が未実装のため要ショート
B面側TP330がPTC13に接続
table:usb_connections
Pin Pad Func <> Pin Pad Note
USB0_DM T2 USB0 USB_DM 2
USB0_DP T1 USB1 USB_DP 3
PTC13 D13 GPIO USB_ID 4 B702 series (UNIMPLEMENTATION)
TP
テストパッド
table: testpads
Side Name Device Pin Name Description Touchable Note
A TP301 SoC PTB0 No
A TP302 Codec RESET_B Codec Reset# Yes
A TP303 SD SD_CMD SD Command Yes
A TP310 SoC HSIC_DATA Yes
A TP??1 SoC HSIC_STOBE No
A TP31? SoC TAMPER Yes
A TP320 SoC ADC1_OUT Yes
A TP321 ? SoC ADC0_OUT No
A TP332 SoC PTC0 Yes
A ? SoC PTD6 No
A TP350 SoC PTE15 Yes
A ? SoC PTF18 Yes
A ? SoC PTF19 No
A ? SoC ONOFF No
B TP1 PMIC SW3FB DCDC3 voltage Yes
B TP102 PMIC CHGB Battery Charging signal Yes
B TP307 SoC PTA30 JTAG_TRST_b? Yes
B TP308 SoC PTA26 JTAG_TMS/SWD_DIO? Yes
B TP309 SoC PTA28 JTAG_TDI? Yes
B TP316 SoC TESTCLK_P Yes
B TP317 SoC TESTCLK_N Yes
B TP311 SoC PTA27 JTAG_TDO? Yes
B TP322 SoC PTD3 Yes
B TP323 SoC PTD4 Yes
B TP324 SoC PTD5 Yes
B TP330 SoC PTC13 Yes
B TP401 SoC DDR_ODT Yes
B ? SoC PTA10 LPUART2_TX Yes M4 Debug Serial (Widepad)
B ? SoC PTA11 LPUART2_RX Yes M4 Debug Serial
B ? SoC PTC2 LPUART4_TX Yes A7 Debug Serial (Widepad)
B ? SoC PTC3 LPUART4_RX Yes A7 Debug Serial
B TP701 Li-ion BAT_V+ Battery + Yes
B TP702 Li-ion BAT_TH Battery thermostat Yes
B TP703 - GND GND Yes
B TP706 - GND GND Yes
B TP709 - GND GND Yes
B TP710 SW RESET Reset SW Yes
B TP711 SoC PTA22 PMIC_WDI Yes
B TP712 SoC PTC5 Yes
基板詳細
10MB越えのPDFなので注意
回路
リセット回路
https://gyazo.com/6489257fe3e97748304add6872f5378a