Difference between revisions of "I2C Services"

From 3dbrew
Jump to: navigation, search
(I2C Service)
(I2C Service Names)
Line 8: Line 8:
 
* "i2c::IR"
 
* "i2c::IR"
 
* "i2c::EEP"
 
* "i2c::EEP"
* "i2c::NFC"
+
* "i2c::NFC" (Only available via the New3DS i2c sysmodule)
 +
* "i2c::QTM" (Only available via the New3DS i2c sysmodule)
  
 
= I2C Service =
 
= I2C Service =

Revision as of 05:30, 14 April 2015

I2C Service Names

  • "i2c::MCU"
  • "i2c::CAM"
  • "i2c::LCD"
  • "i2c::DEB"
  • "i2c::HID"
  • "i2c::IR"
  • "i2c::EEP"
  • "i2c::NFC" (Only available via the New3DS i2c sysmodule)
  • "i2c::QTM" (Only available via the New3DS i2c sysmodule)

I2C Service

Command Header Description
0x00010100 SetRegisterBits8 (u8 devid, u8 regid, u8 regdata, u8 mask)
0x0002.... EnableRegisterBits8 (u8 devid, u8 regid, u8 enablemask)
0x000300C0 DisableRegisterBits8 (u8 devid, u8 regid, u8 disablemask)
0x00040102 MultiSetRegisterBits16 (u16 regid, u16 regdata, u16 mask, devcount, u8* devidlistptr)
0x0005.... WriteRegister8 (u8 devid, u8 regid, u8 regdata)
0x0006.... WriteCommand8 (u8 devid, u8 cmdid)
0x0007.... WriteRegister16 (u8 devid, u16 regid, u16 regdata)
0x000800C2 MultiWriteRegister16 (u16 regid, u16 regdata, devcount, u8* devidlistptr)
0x0009.... u8 ReadRegister8 (u8 devid, u8 regid)
0x000A.... u16 ReadRegister16 (u8 devid, u16 regid)
0x000B00C2 WriteRegisterBuffer8 (u8 devid, u8 regid, buffersize, (buffersize << 14) | 0x402, u8* bufferptr)
0x000C00C2 WriteRegisterBuffer16 (u8 devid, u16 regid, buffersize, (buffersize << 15) | 0x402, u16* bufferptr)
0x000D00C0 ReadRegisterBuffer8 (u8 devid, u8 regid, buffersize, +0x180: (buffersize << 14) | 2, +0x184: u8 bufferptr)
0x000E00C2 WriteRegisterBuffer8_again? (u8 devid, u8 regid, buffersize, u8* bufferptr)
0x000F....
0x0010....
0x001100C2 ReadRegisterBuffer(u8 devid, u16 regid, buffersize, u8 *buff)
0x001200C2 WriteRegisterBuffer(u8 devid, u16 regid, buffersize, u8 *buff)
0x0013....
0x00140082
0x0015....