Registers

NAME PHYSICAL ADDRESS PROCESS ADDRESS WIDTH
REG_I2C1DATA 0x10116100 0x1EC16100 1
REG_I2C1CNT 0x10116101 0x1EC16101 1
REG_I2C1CNTEX 0x10116102 0x1EC16102 2
REG_I2C1SCL 0x10116104 0x1EC16104 2
REG_I2C2DATA 0x10114400 0x1EC14400 1
REG_I2C2CNT 0x10114401 0x1EC14401 1
REG_I2C2CNTEX 0x10114402 0x1EC14402 2
REG_I2C2SCL 0x10114404 0x1EC14404 2
REG_I2C3DATA 0x10114800 0x1EC14800 1
REG_I2C3CNT 0x10114801 0x1EC14801 1
REG_I2C3CNTEX 0x10114802 0x1EC14802 2
REG_I2C3SCL 0x10114804 0x1EC14804 2

I2C Devices

Device id Device bus id Device address Device description
0 1 0x4a Power management?(same device addr as the DSi power-management)
1 1 0x7a Camera0?(same dev-addr as DSi cam0)
2 1 0x78 Camera1?(same dev-addr as DSi cam1)
3 2 0x4a MCU
4 2 0x78 ?
5 2 0x2c ?
6 2 0x2e ?
7 2 0x40 ?
8 2 0x44 ?
9 3 0xa6 ?
10 3 0xd0 ?
11 3 0xd2 ?
12 3 0xa4 ?
13 3 0x9a ?
14 3 0xa0 eeprom?


Device 3

REGISTER WIDTH DESCRIPTION
0x03 8 ?
0x04 8 ?
0x18 8 ?
0x20 8 Writing u8 value 4 here triggers a hardware system reboot.
0x22 8 ?
0x23 8 ?
0x24 8 ?
0x28 8 ?
0x29 8 ?
0x2A 8 ?
0x2B 8 ?
0x2C 8 ?
0x30 8 ?
0x31 8 ?
0x32 8 ?
0x33 8 ?
0x34 8 ?
0x35 8 ?
0x36 8 ?
0x37 8 ?
0x38 8 ?
0x39 8 ?
0x3A 8 ?
0x3B 8 ?
0x3C 8 ?
0x41 8 ?
0x43 8 ?
0x4E 8 ?
0x50 8 ?
0x51 8 ?
0x58 8 ?
0x60 8 ?


I2CCNT

REG_I2CxCNT
BIT DESCRIPTION
0 HOLD (0=Last byte of transaction, 1=More bytes coming)
2 Error flag/ack?
4 Read mode related?
5 Read mode?
6 IRQ enable?
7 Enable?