diff options
| author | Amaury Pouly <amaury.pouly@gmail.com> | 2013-10-22 00:24:32 +0200 |
|---|---|---|
| committer | Amaury Pouly <amaury.pouly@gmail.com> | 2013-10-22 00:34:44 +0200 |
| commit | 9ed980785429db35f51f8d324cc75c23f2e5fb20 (patch) | |
| tree | aa5362c4eea139c22b606b685e2ab29a19908d0d /utils/hwstub/tools/lua/stmp/i2c.lua | |
| parent | bfb67f41a9e9df3b730d34041be6b4f4a4983c5b (diff) | |
| download | rockbox-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.lua | 13 |
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 |