On barebox-next, I get: board/freescale-mx25-3-stack/built-in.o: In function `go': 3stack.c:(.flash_header_start+0x0): undefined reference to `_start' board/freescale-mx25-3-stack/built-in.o: In function `imx25_3ds_fec_init': 3stack.c:(.text.imx25_3ds_fec_init+0x4): undefined reference to `mc34704_get' 3stack.c:(.text.imx25_3ds_fec_init+0x1c): undefined reference to `mc34704_reg_write' I guess this change also needs: diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index afd8cae..18a9cbc 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -140,6 +140,8 @@ config MACH_FREESCALE_MX25_3STACK bool "Freescale MX25 3stack" select HAS_CFI select MACH_HAS_LOWLEVEL_INIT + select I2C + select DRIVER_I2C_MC34704 help Say Y here if you are using the Freescale MX25 3stack board equipped with a Freescale i.MX25 Processor On Wed, Jun 9, 2010 at 9:05 AM, Baruch Siach <baruch@xxxxxxxxxx> wrote: > Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> > --- > board/freescale-mx25-3-stack/3stack.c | 18 ++++++++++++++++++ > 1 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/board/freescale-mx25-3-stack/3stack.c b/board/freescale-mx25-3-stack/3stack.c > index 6659185..316a2bc 100644 > --- a/board/freescale-mx25-3-stack/3stack.c > +++ b/board/freescale-mx25-3-stack/3stack.c > @@ -36,6 +36,8 @@ > #include <nand.h> > #include <mach/imx-flash-header.h> > #include <mach/iomux-mx25.h> > +#include <i2c/i2c.h> > +#include <i2c/mc34704.h> > > extern unsigned long _stext; > > @@ -183,8 +185,18 @@ static struct device_d usbh2_dev = { > }; > #endif > > +static struct i2c_board_info i2c_devices[] = { > + { > + I2C_BOARD_INFO("mc34704", 0x54), > + }, > +}; > #define IOMUXC_BASE_ADDR 0x43FAC000 > > +static struct device_d i2c_dev = { > + .name = "i2c-imx", > + .map_base = IMX_I2C1_BASE, > +}; > + > static int imx25_devices_init(void) > { > ulong val; > @@ -256,6 +268,9 @@ static int imx25_devices_init(void) > register_device(&sdram0_dev); > register_device(&sram0_dev); > > + i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices)); > + register_device(&i2c_dev); > + > armlinux_set_bootparams((void *)0x80000100); > armlinux_set_architecture(MACH_TYPE_MX25_3DS); > > @@ -303,6 +318,9 @@ static struct pad_desc imx25_pads[] = { > MX25_PAD_VSYNC__USBH2_DATA5, > MX25_PAD_LSCLK__USBH2_DATA6, > MX25_PAD_OE_ACD__USBH2_DATA7, > + /* i2c */ > + MX25_PAD_I2C1_CLK__SCL, > + MX25_PAD_I2C1_DAT__SDA, > }; > > static int imx25_console_init(void) > -- > 1.7.1 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox > _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox