source: rtems/c/src/lib/libbsp/arm/lpc24xx/include/i2c.h @ 991fdb33

4.115
Last change on this file since 991fdb33 was c499856, checked in by Chris Johns <chrisj@…>, on Mar 20, 2014 at 9:10:47 PM

Change all references of rtems.com to rtems.org.

  • Property mode set to 100644
File size: 1.3 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup lpc24xx_libi2c
5 *
6 * @brief LibI2C bus driver for the I2C modules.
7 */
8
9/*
10 * Copyright (c) 2009-2011 embedded brains GmbH.  All rights reserved.
11 *
12 *  embedded brains GmbH
13 *  Obere Lagerstr. 30
14 *  82178 Puchheim
15 *  Germany
16 *  <rtems@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.org/license/LICENSE.
21 */
22
23#ifndef LIBBSP_ARM_LPC24XX_I2C_H
24#define LIBBSP_ARM_LPC24XX_I2C_H
25
26#include <rtems.h>
27#include <rtems/libi2c.h>
28
29#include <bsp/io.h>
30#include <bsp/lpc24xx.h>
31
32#ifdef __cplusplus
33extern "C" {
34#endif /* __cplusplus */
35
36/**
37 * @defgroup lpc24xx_libi2c LPC24XX Bus Drivers
38 *
39 * @ingroup libi2c
40 *
41 * @brief LibI2C bus drivers for LPC24XX.
42 *
43 * @{
44 */
45
46typedef struct {
47  rtems_libi2c_bus_t bus;
48  volatile lpc24xx_i2c *regs;
49  size_t index;
50  const lpc24xx_pin_range *pins;
51  rtems_vector_number vector;
52  rtems_id state_update;
53  uint8_t *volatile data;
54  uint8_t *volatile end;
55} lpc24xx_i2c_bus_entry;
56
57extern const rtems_libi2c_bus_ops_t lpc24xx_i2c_ops;
58
59extern rtems_libi2c_bus_t *const lpc24xx_i2c_0;
60
61extern rtems_libi2c_bus_t *const lpc24xx_i2c_1;
62
63extern rtems_libi2c_bus_t *const lpc24xx_i2c_2;
64
65/** @} */
66
67#ifdef __cplusplus
68}
69#endif /* __cplusplus */
70
71#endif /* LIBBSP_ARM_LPC24XX_I2C_H */
Note: See TracBrowser for help on using the repository browser.