I2C Driver Support

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Apr 20 07:59:58 UTC 2016



On 20/04/16 08:53, Chris Johns wrote:
>> Three I2C driver variants exist
>>
>> * no framework drivers,

This is difficult, since there is no clear search criterium. Examples are

c/src/lib/libbsp/powerpc/gen5200/i2c/mpc5200mbus.c
c/src/lib/libcpu/m68k/mcf5206/mbus/mcfmbus.c

>> * libi2c drivers, and

cpukit/libi2c/libi2c.c:#include <rtems/libi2c.h>
c/src/libchip/display/disp_hcms29xx.c:#include <rtems/libi2c.h>
c/src/libchip/i2c/spi-sd-card.h:#include <rtems/libi2c.h>
c/src/libchip/i2c/i2c-ds1621.h:#include <rtems/libi2c.h>
c/src/libchip/i2c/i2c-2b-eeprom.c:#include <rtems/libi2c.h>
c/src/libchip/i2c/spi-sd-card.c:#include <rtems/libi2c.h>
c/src/libchip/i2c/spi-flash-m25p40.c:#include <rtems/libi2c.h>
c/src/libchip/i2c/spi-fram-fm25l256.c:#include <rtems/libi2c.h>
c/src/libchip/i2c/i2c-2b-eeprom.h:#include <rtems/libi2c.h>
c/src/libchip/i2c/i2c-sc620.h:#include <rtems/libi2c.h>
c/src/libchip/i2c/spi-memdrv.c:#include <rtems/libi2c.h>
c/src/libchip/i2c/i2c-ds1621.c:#include <rtems/libi2c.h>
c/src/libchip/i2c/spi-memdrv.h:#include <rtems/libi2c.h>
c/src/lib/libbsp/m68k/gen68360/spi/m360_spi.h:#include <rtems/libi2c.h>
c/src/lib/libbsp/m68k/gen68360/spi/m360_spi.c:#include <rtems/libi2c.h>
c/src/lib/libbsp/sparc/shared/include/i2cmst.h:#include <rtems/libi2c.h>
c/src/lib/libbsp/sparc/shared/i2c/i2cmst.c:#include <rtems/libi2c.h>
c/src/lib/libbsp/sparc/shared/spi/spictrl.c:#include <rtems/libi2c.h>
c/src/lib/libbsp/powerpc/beatnik/marvell/gti2c_busdrv.h:#include 
<rtems/libi2c.h>
c/src/lib/libbsp/powerpc/beatnik/marvell/gti2c.c:#include <rtems/libi2c.h>
c/src/lib/libbsp/powerpc/beatnik/startup/i2c_init.c:#include 
<rtems/libi2c.h>
c/src/lib/libbsp/powerpc/mvme3100/i2c/mpc8540_i2c.c:#include 
<rtems/libi2c.h>
c/src/lib/libbsp/powerpc/mvme3100/i2c/i2c_init.c:#include <rtems/libi2c.h>
c/src/lib/libbsp/powerpc/mvme3100/i2c/mpc8540_i2c_busdrv.h:#include 
<rtems/libi2c.h>
c/src/lib/libbsp/powerpc/tqm8xx/spi/spi.h:#include <rtems/libi2c.h>
c/src/lib/libbsp/powerpc/tqm8xx/spi/spi.c:#include <rtems/libi2c.h>
c/src/lib/libbsp/powerpc/shared/motorola/vpd.c:#include <rtems/libi2c.h>
c/src/lib/libbsp/arm/lpc24xx/include/ssp.h:#include <rtems/libi2c.h>
c/src/lib/libbsp/arm/lpc24xx/include/i2c.h:#include <rtems/libi2c.h>
c/src/lib/libbsp/arm/lm3s69xx/include/ssi.h:#include <rtems/libi2c.h>
c/src/lib/libbsp/arm/raspberrypi/include/spi.h:#include <rtems/libi2c.h>
c/src/lib/libcpu/powerpc/mpc55xx/include/dspi.h:#include <rtems/libi2c.h>
c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.h:#include 
<rtems/libi2c.h>
c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c:#include 
<rtems/libi2c.h>
c/src/lib/libcpu/powerpc/mpc83xx/spi/mpc83xx_spidrv.h:#include 
<rtems/libi2c.h>
c/src/lib/libcpu/powerpc/mpc83xx/spi/mpc83xx_spidrv.c:#include 
<rtems/libi2c.h>
c/src/lib/libcpu/bfin/serial/spi.c:#include <rtems/libi2c.h>

>> * drivers using the Linux compatible API (all new BSPs should use this
>> framework).

cpukit/dev/include/dev/i2c/eeprom.h:#include <dev/i2c/i2c.h>
cpukit/dev/include/dev/i2c/switch-nxp-pca9548a.h:#include <dev/i2c/i2c.h>
cpukit/dev/include/dev/i2c/gpio-nxp-pca9535.h:#include <dev/i2c/i2c.h>
cpukit/dev/i2c/i2c-bus.c:#include <dev/i2c/i2c.h>
cpukit/dev/i2c/i2c-dev.c:#include <dev/i2c/i2c.h>
c/src/lib/libbsp/arm/xilinx-zynq/i2c/cadence-i2c.c:#include <dev/i2c/i2c.h>
c/src/lib/libbsp/arm/raspberrypi/include/i2c.h:#include <dev/i2c/i2c.h>
testsuites/libtests/i2c01/init.c:#include <dev/i2c/i2c.h>

>
> Can we please get a list of each of the BSPs which fall in to each group?
>
> Are you able to provide a simple technical break down about each 
> group, eg reusable, SMP, user support, etc?
>
> We should select the preferred model and then determine what we can do 
> to move all code to that model. 

We lack support for a proper SPI driver framework.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the devel mailing list