Merge pull request #1 from sifive/i2c
[sifive-blocks.git] / src / main / scala / devices / i2c / I2CCtrlRegs.scala
diff --git a/src/main/scala/devices/i2c/I2CCtrlRegs.scala b/src/main/scala/devices/i2c/I2CCtrlRegs.scala
new file mode 100644 (file)
index 0000000..aaa6197
--- /dev/null
@@ -0,0 +1,13 @@
+// See LICENSE for license details.
+package sifive.blocks.devices.i2c
+
+// matching Open Cores I2C to re-use Linux driver
+// http://lxr.free-electrons.com/source/drivers/i2c/busses/i2c-ocores.c?v=4.6
+
+object I2CCtrlRegs {
+  val prescaler_lo = 0x00  // low byte clock prescaler register
+  val prescaler_hi = 0x04  // high byte clock prescaler register
+  val control      = 0x08  // control register
+  val data         = 0x0c  // write: transmit byte, read: receive byte
+  val cmd_status   = 0x10  // write: command, read: status
+}