[PATCH 6/8] mx25 3ds: add support for i2c master and PMIC

Ivo Clarysse ivo.clarysse at gmail.com
Mon Jun 14 09:01:48 EDT 2010


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 at tkos.co.il> wrote:
> Signed-off-by: Baruch Siach <baruch at tkos.co.il>
> ---
>  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 at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>



More information about the barebox mailing list