X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Fcortex-m3%2Fdrv%2Fi2c_lm3s.c;h=fd2f5905d4abe74a1ab802feda478b0806f35012;hb=8016ea0a758a96d75ee7d64c773990b38d94fa8e;hp=afc6a60b2947ee4ad8f74e73fd5c279b0dd16cd8;hpb=435a106abeebb441338e79c68e24cbf970d7ee7f;p=bertos.git diff --git a/bertos/cpu/cortex-m3/drv/i2c_lm3s.c b/bertos/cpu/cortex-m3/drv/i2c_lm3s.c index afc6a60b..fd2f5905 100644 --- a/bertos/cpu/cortex-m3/drv/i2c_lm3s.c +++ b/bertos/cpu/cortex-m3/drv/i2c_lm3s.c @@ -32,6 +32,8 @@ * * \brief Driver for the LM3S I2C (implementation) * + * \author Daniele Basile + * */ #include "cfg/cfg_i2c.h" @@ -43,7 +45,6 @@ #include #include // BV() -#include #include #include @@ -118,7 +119,7 @@ INLINE bool wait_addrAck(I2c *i2c, uint32_t mode_mask) return true; } -static void i2c_lm3s_put(I2c *i2c, const uint8_t data) +static void i2c_lm3s_putc(I2c *i2c, const uint8_t data) { HWREG(i2c->hw->base + I2C_O_MDR) = data; @@ -151,7 +152,7 @@ static void i2c_lm3s_put(I2c *i2c, const uint8_t data) } } -static uint8_t i2c_lm3s_get(I2c *i2c) +static uint8_t i2c_lm3s_getc(I2c *i2c) { uint8_t data; if (i2c->hw->first_xtranf) @@ -195,18 +196,16 @@ static uint8_t i2c_lm3s_get(I2c *i2c) return data; } -MOD_DEFINE(i2c); - static const I2cVT i2c_lm3s_vt = { .start = i2c_lm3s_start, - .get = i2c_lm3s_get, - .put = i2c_lm3s_put, - .send = i2c_swSend, - .recv = i2c_swRecv, + .getc = i2c_lm3s_getc, + .putc = i2c_lm3s_putc, + .write = i2c_genericWrite, + .read = i2c_genericRead, }; -struct I2cHardware i2c_lm3s_hw[] = +static struct I2cHardware i2c_lm3s_hw[] = { { /* I2C0 */ .base = I2C0_MASTER_BASE, @@ -254,6 +253,4 @@ void i2c_hw_init(I2c *i2c, int dev, uint32_t clock) * to the desired clock, never greater. */ HWREG(i2c->hw->base + I2C_O_MTPR) = ((CPU_FREQ + (2 * 10 * clock) - 1) / (2 * 10 * clock)) - 1; - - MOD_INIT(i2c); }