--- bsps/arm/beagle/i2c/bbb-i2c.c | 6 +++--- bsps/arm/beagle/start/bspstart.c | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/bsps/arm/beagle/i2c/bbb-i2c.c b/bsps/arm/beagle/i2c/bbb-i2c.c index 37b88864b9..f705078085 100644 --- a/bsps/arm/beagle/i2c/bbb-i2c.c +++ b/bsps/arm/beagle/i2c/bbb-i2c.c @@ -186,16 +186,16 @@ static int am335x_i2c_reset( bbb_i2c_bus *bus ) bus->con_reg = 0; regs->BBB_I2C_CON = bus->con_reg; - udelay( 50000 ); + rtems_counter_delay_nanoseconds(50000000); regs->BBB_I2C_SYSC = AM335X_I2C_SYSC_SRST; - udelay( 1000 ); + rtems_counter_delay_nanoseconds(1000000); regs->BBB_I2C_CON = AM335X_I2C_CON_I2C_EN; while ( !( regs->BBB_I2C_SYSS & AM335X_I2C_SYSS_RDONE ) && timeout >= 0 ) { --timeout; - udelay( 100 ); + rtems_counter_delay_nanoseconds(100000); } if ( timeout <= 0 ) { diff --git a/bsps/arm/beagle/start/bspstart.c b/bsps/arm/beagle/start/bspstart.c index 224f9ecf3b..aadb9e826f 100644 --- a/bsps/arm/beagle/start/bspstart.c +++ b/bsps/arm/beagle/start/bspstart.c @@ -17,6 +17,8 @@ #include <bsp/irq-generic.h> #include <bsp/fdt.h> #include <bsp/linker-symbols.h> +#include <bsp/i2c.h> +#include <rtems/sysinit.h> #include "bspdebug.h" @@ -41,3 +43,14 @@ uint32_t bsp_fdt_map_intr(const uint32_t *intr, size_t icells) { return intr[0]; } + +static void bbb_i2c_0_initialize(void) +{ + bbb_register_i2c_0(); +} + +RTEMS_SYSINIT_ITEM( + bbb_i2c_0_initialize, + RTEMS_SYSINIT_LAST, + RTEMS_SYSINIT_ORDER_LAST +); -- 2.20.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel