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.tar.gz rockbox-9ed980785429db35f51f8d324cc75c23f2e5fb20.zip |
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 54d860e0df..209f1df4e2 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.") | |||
8 | 8 | ||
9 | function STMP.i2c.init() | 9 | function STMP.i2c.init() |
10 | HW.I2C.CTRL0.SFTRST.set() | 10 | HW.I2C.CTRL0.SFTRST.set() |
11 | STMP.pinctrl.pin(0, 30).muxsel("MAIN") | 11 | STMP.pinctrl.i2c.setup() |
12 | STMP.pinctrl.pin(0, 30).pull(true) | ||
13 | STMP.pinctrl.pin(0, 31).muxsel("MAIN") | ||
14 | STMP.pinctrl.pin(0, 31).pull(true) | ||
15 | STMP.i2c.reset() | 12 | STMP.i2c.reset() |
16 | STMP.i2c.set_speed(true) | 13 | STMP.i2c.set_speed(true) |
17 | end | 14 | end |
@@ -21,7 +18,9 @@ function STMP.i2c.reset() | |||
21 | HW.I2C.CTRL0.SFTRST.clr() | 18 | HW.I2C.CTRL0.SFTRST.clr() |
22 | HW.I2C.CTRL0.CLKGATE.clr() | 19 | HW.I2C.CTRL0.CLKGATE.clr() |
23 | -- errata for IMX233 | 20 | -- errata for IMX233 |
24 | HW.I2C.CTRL1.ACK_MODE.set(); | 21 | if STMP.is_imx233() then |
22 | HW.I2C.CTRL1.ACK_MODE.set(); | ||
23 | end | ||
25 | end | 24 | end |
26 | 25 | ||
27 | function STMP.i2c.set_speed(fast) | 26 | function STMP.i2c.set_speed(fast) |
@@ -63,7 +62,9 @@ function STMP.i2c.transmit(slave_addr, buffer, send_stop) | |||
63 | while HW.I2C.CTRL0.RUN.read() == 1 do | 62 | while HW.I2C.CTRL0.RUN.read() == 1 do |
64 | end | 63 | end |
65 | if HW.I2C.CTRL1.NO_SLAVE_ACK_IRQ.read() == 1 then | 64 | if HW.I2C.CTRL1.NO_SLAVE_ACK_IRQ.read() == 1 then |
66 | HW.I2C.CTRL1.CLR_GOT_A_NAK.set() | 65 | if STMP.is_imx233() then |
66 | HW.I2C.CTRL1.CLR_GOT_A_NAK.set() | ||
67 | end | ||
67 | STMP.i2c.reset() | 68 | STMP.i2c.reset() |
68 | return false | 69 | return false |
69 | end | 70 | end |