diff options
Diffstat (limited to 'c/src/lib/libbsp/arm/lpc24xx/include/i2c.h')
-rw-r--r-- | c/src/lib/libbsp/arm/lpc24xx/include/i2c.h | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/include/i2c.h b/c/src/lib/libbsp/arm/lpc24xx/include/i2c.h index a6eeee35b0..1e5577112a 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/include/i2c.h +++ b/c/src/lib/libbsp/arm/lpc24xx/include/i2c.h @@ -7,12 +7,13 @@ */ /* - * Copyright (c) 2009 - * embedded brains GmbH - * Obere Lagerstr. 30 - * D-82178 Puchheim - * Germany - * <rtems@embedded-brains.de> + * Copyright (c) 2009-2011 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * <rtems@embedded-brains.de> * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -22,8 +23,12 @@ #ifndef LIBBSP_ARM_LPC24XX_I2C_H #define LIBBSP_ARM_LPC24XX_I2C_H +#include <rtems.h> #include <rtems/libi2c.h> +#include <bsp/io.h> +#include <bsp/lpc24xx.h> + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -38,11 +43,24 @@ extern "C" { * @{ */ -extern rtems_libi2c_bus_t * const lpc24xx_i2c_0; +typedef struct { + rtems_libi2c_bus_t bus; + volatile lpc24xx_i2c *regs; + size_t index; + const lpc24xx_pin_range *pins; + rtems_vector_number vector; + rtems_id state_update; + uint8_t *volatile data; + uint8_t *volatile end; +} lpc24xx_i2c_bus_entry; + +extern const rtems_libi2c_bus_ops_t lpc24xx_i2c_ops; + +extern rtems_libi2c_bus_t *const lpc24xx_i2c_0; -extern rtems_libi2c_bus_t * const lpc24xx_i2c_1; +extern rtems_libi2c_bus_t *const lpc24xx_i2c_1; -extern rtems_libi2c_bus_t * const lpc24xx_i2c_2; +extern rtems_libi2c_bus_t *const lpc24xx_i2c_2; /** @} */ |