X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fdrv%2Ftwi_at91.c;h=ad95f50cb80f6155ee3c34b0c194dc68fb380742;hb=HEAD;hp=b0b84be5cb4bb7b4cb5f02ed3bced106e636d02c;hpb=cccaf5bb8ab5563c17c620f2daa004740c71e5fb;p=bertos.git diff --git a/bertos/cpu/arm/drv/twi_at91.c b/bertos/cpu/arm/drv/twi_at91.c index b0b84be5..ad95f50c 100644 --- a/bertos/cpu/arm/drv/twi_at91.c +++ b/bertos/cpu/arm/drv/twi_at91.c @@ -32,13 +32,13 @@ * * \brief Driver for the AT91 ARM TWI (implementation) * - * \version $Id$ * * \author Francesco Sacchi */ #include "twi_at91.h" +#include "cfg/cfg_i2c.h" #include #include #include @@ -180,7 +180,7 @@ bool twi_read(uint8_t id, twi_iaddr_t byte1, twi_iaddr_t byte2, twi_iaddr_t byte /* * Start reception. * Kludge: if we want to receive only 1 byte, the stop but *must* be set here - * (thanks to crappy twi implementation again). + * (thanks to crappy twi implementation again). */ if (size == 1) { @@ -249,11 +249,11 @@ void twi_init(void) /* * Compute twi clock. * CLDIV = ((Tlow * 2^CKDIV) -3) * Tmck - * CHDIV = ((THigh * 2^CKDIV) -3) * Tmck - * Only CLDIV is computed since CLDIV = CHDIV (50% duty cycle) + * CHDIV = ((THigh * 2^CKDIV) -3) * Tmck + * Only CLDIV is computed since CLDIV = CHDIV (50% duty cycle) */ - uint16_t cldiv, ckdiv = 0; - while ((cldiv = ((CLOCK_FREQ / (2 * CONFIG_TWI_FREQ)) - 3) / (1 << ckdiv)) > 255) + uint16_t cldiv, ckdiv = 0; + while ((cldiv = ((CPU_FREQ / (2 * CONFIG_I2C_FREQ)) - 3) / (1 << ckdiv)) > 255) ckdiv++; /* Atmel errata states that ckdiv *must* be less than 5 for unknown reason */ @@ -264,3 +264,4 @@ void twi_init(void) MOD_INIT(twi); } +