summaryrefslogtreecommitdiff
path: root/utils/hwstub/tools/lua/stmp/i2c.lua
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-10-22 00:24:32 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2013-10-22 00:34:44 +0200
commit9ed980785429db35f51f8d324cc75c23f2e5fb20 (patch)
treeaa5362c4eea139c22b606b685e2ab29a19908d0d /utils/hwstub/tools/lua/stmp/i2c.lua
parentbfb67f41a9e9df3b730d34041be6b4f4a4983c5b (diff)
downloadrockbox-9ed980785429db35f51f8d324cc75c23f2e5fb20.zip
rockbox-9ed980785429db35f51f8d324cc75c23f2e5fb20.tar.gz
rockbox-9ed980785429db35f51f8d324cc75c23f2e5fb20.tar.bz2
rockbox-9ed980785429db35f51f8d324cc75c23f2e5fb20.tar.xz
hwstub: rework i2c completely
Change-Id: I1e5f87f15f0ca9586d8185316ffcaeef6d9d4d38
Diffstat (limited to 'utils/hwstub/tools/lua/stmp/i2c.lua')
-rw-r--r--utils/hwstub/tools/lua/stmp/i2c.lua13
1 files changed, 7 insertions, 6 deletions
diff --git a/utils/hwstub/tools/lua/stmp/i2c.lua b/utils/hwstub/tools/lua/stmp/i2c.lua
index 54d860e..209f1df 100644
--- a/utils/hwstub/tools/lua/stmp/i2c.lua
+++ b/utils/hwstub/tools/lua/stmp/i2c.lua
@@ -8,10 +8,7 @@ h:add("The STMP.clkctrl table handles the i2c device for all STMPs.")
function STMP.i2c.init()
HW.I2C.CTRL0.SFTRST.set()
- STMP.pinctrl.pin(0, 30).muxsel("MAIN")
- STMP.pinctrl.pin(0, 30).pull(true)
- STMP.pinctrl.pin(0, 31).muxsel("MAIN")
- STMP.pinctrl.pin(0, 31).pull(true)
+ STMP.pinctrl.i2c.setup()
STMP.i2c.reset()
STMP.i2c.set_speed(true)
end
@@ -21,7 +18,9 @@ function STMP.i2c.reset()
HW.I2C.CTRL0.SFTRST.clr()
HW.I2C.CTRL0.CLKGATE.clr()
-- errata for IMX233
- HW.I2C.CTRL1.ACK_MODE.set();
+ if STMP.is_imx233() then
+ HW.I2C.CTRL1.ACK_MODE.set();
+ end
end
function STMP.i2c.set_speed(fast)
@@ -63,7 +62,9 @@ function STMP.i2c.transmit(slave_addr, buffer, send_stop)
while HW.I2C.CTRL0.RUN.read() == 1 do
end
if HW.I2C.CTRL1.NO_SLAVE_ACK_IRQ.read() == 1 then
- HW.I2C.CTRL1.CLR_GOT_A_NAK.set()
+ if STMP.is_imx233() then
+ HW.I2C.CTRL1.CLR_GOT_A_NAK.set()
+ end
STMP.i2c.reset()
return false
end