Patchwork [U-Boot,16/18,V2] mxs: Add MX23 olinuxino board support

login
register
mail settings
Submitter Marek Vasut
Date Jan. 11, 2013, 11:27 p.m.
Message ID <1357946838-9707-1-git-send-email-marex@denx.de>
Download mbox | patch
Permalink /patch/211451/
State Superseded
Delegated to: Stefano Babic
Headers show

Comments

Marek Vasut - Jan. 11, 2013, 11:27 p.m.
This patch adds support for MX23-based Olinuxino board.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
---
 MAINTAINERS                                  |    1 +
 board/olimex/mx23_olinuxino/Makefile         |   47 +++++++++
 board/olimex/mx23_olinuxino/mx23_olinuxino.c |   51 ++++++++++
 board/olimex/mx23_olinuxino/spl_boot.c       |   90 +++++++++++++++++
 boards.cfg                                   |    1 +
 include/configs/mx23_olinuxino.h             |  133 ++++++++++++++++++++++++++
 6 files changed, 323 insertions(+)
 create mode 100644 board/olimex/mx23_olinuxino/Makefile
 create mode 100644 board/olimex/mx23_olinuxino/mx23_olinuxino.c
 create mode 100644 board/olimex/mx23_olinuxino/spl_boot.c
 create mode 100644 include/configs/mx23_olinuxino.h

V2: Add MAINTAINERS entry
    Remove CONFIG_MACH_TYPE (as this board is DT-only)
Otavio Salvador - Jan. 12, 2013, 1:19 p.m.
On Fri, Jan 11, 2013 at 9:27 PM, Marek Vasut <marex@denx.de> wrote:
> This patch adds support for MX23-based Olinuxino board.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> Cc: Otavio Salvador <otavio@ossystems.com.br>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
>  MAINTAINERS                                  |    1 +
>  board/olimex/mx23_olinuxino/Makefile         |   47 +++++++++
>  board/olimex/mx23_olinuxino/mx23_olinuxino.c |   51 ++++++++++
>  board/olimex/mx23_olinuxino/spl_boot.c       |   90 +++++++++++++++++
>  boards.cfg                                   |    1 +
>  include/configs/mx23_olinuxino.h             |  133 ++++++++++++++++++++++++++
>  6 files changed, 323 insertions(+)
>  create mode 100644 board/olimex/mx23_olinuxino/Makefile
>  create mode 100644 board/olimex/mx23_olinuxino/mx23_olinuxino.c
>  create mode 100644 board/olimex/mx23_olinuxino/spl_boot.c
>  create mode 100644 include/configs/mx23_olinuxino.h
>
> V2: Add MAINTAINERS entry
>     Remove CONFIG_MACH_TYPE (as this board is DT-only)

In fact it is not DT-only; we support it in linux-imx inside of OE and
the images provided by Olinex are also based 2.6.35 so it seems better
to define the machine type.

> diff --git a/MAINTAINERS b/MAINTAINERS
> index 36b47b7..08daa28 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -935,6 +935,7 @@ Marek Vasut <marek.vasut@gmail.com>
>         palmtc          xscale/pxa
>         vpac270         xscale/pxa
>         zipitz2         xscale/pxa
> +       mx23_olinuxino  i.MX23
>         m28evk          i.MX28
>         sc_sps_1        i.MX28
>
> diff --git a/board/olimex/mx23_olinuxino/Makefile b/board/olimex/mx23_olinuxino/Makefile
> new file mode 100644
> index 0000000..ff41cff
> --- /dev/null
> +++ b/board/olimex/mx23_olinuxino/Makefile
> @@ -0,0 +1,47 @@
> +#
> +# (C) Copyright 2000-2006
> +# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
> +#
> +# See file CREDITS for list of people who contributed to this
> +# project.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation; either version 2 of
> +# the License, or (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write to the Free Software
> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> +# MA 02111-1307 USA
> +#
> +
> +include $(TOPDIR)/config.mk
> +
> +LIB    = $(obj)lib$(BOARD).o
> +
> +ifndef CONFIG_SPL_BUILD
> +COBJS  := mx23_olinuxino.o
> +else
> +COBJS  := spl_boot.o
> +endif
> +
> +SRCS   := $(COBJS:.o=.c)
> +OBJS   := $(addprefix $(obj),$(COBJS))
> +
> +$(LIB):        $(obj).depend $(OBJS)
> +       $(call cmd_link_o_target, $(OBJS))
> +
> +#########################################################################
> +
> +# defines $(obj).depend target
> +include $(SRCTREE)/rules.mk
> +
> +sinclude $(obj).depend
> +
> +#########################################################################
> diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
> new file mode 100644
> index 0000000..2fcad26
> --- /dev/null
> +++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
> @@ -0,0 +1,51 @@
> +/*
> + * Olimex MX23 Olinuxino board
> + *
> + * Copyright (C) 2013 Marek Vasut <marex@denx.de>
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#include <common.h>
> +#include <asm/arch/imx-regs.h>
> +#include <asm/arch/sys_proto.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +/*
> + * Functions
> + */
> +int board_early_init_f(void)
> +{
> +       /* SSP clock init will come here soon. */
> +       return 0;
> +}
> +
> +int dram_init(void)
> +{
> +       return mxs_dram_init();
> +}
> +
> +int board_init(void)
> +{
> +       /* Adress of boot parameters */
> +       gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
> +
> +       return 0;
> +}
> diff --git a/board/olimex/mx23_olinuxino/spl_boot.c b/board/olimex/mx23_olinuxino/spl_boot.c
> new file mode 100644
> index 0000000..aaebe6c
> --- /dev/null
> +++ b/board/olimex/mx23_olinuxino/spl_boot.c
> @@ -0,0 +1,90 @@
> +/*
> + * Olimex MX23 Olinuxino Boot setup
> + *
> + * Copyright (C) 2013 Marek Vasut <marex@denx.de>
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#include <common.h>
> +#include <config.h>
> +#include <asm/io.h>
> +#include <asm/arch/iomux-mx23.h>
> +#include <asm/arch/imx-regs.h>
> +#include <asm/arch/sys_proto.h>
> +
> +#define        MUX_CONFIG_EMI  (MXS_PAD_3V3 | MXS_PAD_12MA | MXS_PAD_NOPULL)
> +
> +const iomux_cfg_t iomux_setup[] = {
> +       /* DUART */
> +       MX23_PAD_PWM0__DUART_RX,
> +       MX23_PAD_PWM1__DUART_TX,
> +
> +       /* EMI */
> +       MX23_PAD_EMI_D00__EMI_D00 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D01__EMI_D01 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D02__EMI_D02 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D03__EMI_D03 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D04__EMI_D04 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D05__EMI_D05 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D06__EMI_D06 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D07__EMI_D07 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D08__EMI_D08 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D09__EMI_D09 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D10__EMI_D10 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D11__EMI_D11 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D12__EMI_D12 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D13__EMI_D13 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D14__EMI_D14 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_D15__EMI_D15 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_DQM0__EMI_DQM0 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_DQM1__EMI_DQM1 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_DQS0__EMI_DQS0 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_DQS1__EMI_DQS1 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_CLK__EMI_CLK | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_CLKN__EMI_CLKN | MUX_CONFIG_EMI,
> +
> +       MX23_PAD_EMI_A00__EMI_A00 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A01__EMI_A01 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A02__EMI_A02 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A03__EMI_A03 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A04__EMI_A04 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A05__EMI_A05 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A06__EMI_A06 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A07__EMI_A07 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A08__EMI_A08 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A09__EMI_A09 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A10__EMI_A10 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A11__EMI_A11 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_A12__EMI_A12 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_BA0__EMI_BA0 | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_BA1__EMI_BA1 | MUX_CONFIG_EMI,
> +
> +       MX23_PAD_EMI_CASN__EMI_CASN | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_CE0N__EMI_CE0N | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_CE1N__EMI_CE1N | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_CKE__EMI_CKE | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_RASN__EMI_RASN | MUX_CONFIG_EMI,
> +       MX23_PAD_EMI_WEN__EMI_WEN | MUX_CONFIG_EMI,
> +};
> +
> +void board_init_ll(void)
> +{
> +       mxs_common_spl_init(iomux_setup, ARRAY_SIZE(iomux_setup));
> +}
> diff --git a/boards.cfg b/boards.cfg
> index 388e4a4..ef17745 100644
> --- a/boards.cfg
> +++ b/boards.cfg
> @@ -189,6 +189,7 @@ tx25                         arm         arm926ejs   tx25                karo
>  zmx25                        arm         arm926ejs   zmx25               syteco         mx25
>  imx27lite                    arm         arm926ejs   imx27lite           logicpd        mx27
>  magnesium                    arm         arm926ejs   imx27lite           logicpd        mx27
> +mx23_olinuxino               arm         arm926ejs   mx23_olinuxino      olimex         mxs            mx23_olinuxino
>  apx4devkit                   arm         arm926ejs   apx4devkit          bluegiga       mxs            apx4devkit
>  m28evk                       arm         arm926ejs   m28evk              denx           mxs            m28evk
>  mx28evk                      arm         arm926ejs   mx28evk             freescale      mxs            mx28evk
> diff --git a/include/configs/mx23_olinuxino.h b/include/configs/mx23_olinuxino.h
> new file mode 100644
> index 0000000..056436f
> --- /dev/null
> +++ b/include/configs/mx23_olinuxino.h
> @@ -0,0 +1,133 @@
> +/*
> + * Copyright (C) 2013 Marek Vasut <marex@denx.de>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +#ifndef __MX23_OLINUXINO_CONFIG_H__
> +#define __MX23_OLINUXINO_CONFIG_H__
> +
> +/*
> + * SoC configurations
> + */
> +#define        CONFIG_MX23                             /* i.MX23 SoC */
> +#define        CONFIG_MXS_GPIO                         /* GPIO control */
> +#define        CONFIG_SYS_HZ           1000            /* Ticks per second */
> +
> +#include <asm/arch/regs-base.h>
> +
> +#define        CONFIG_SYS_NO_FLASH
> +#define        CONFIG_BOARD_EARLY_INIT_F
> +#define        CONFIG_ARCH_MISC_INIT
> +
> +/*
> + * SPL
> + */
> +#define        CONFIG_SPL
> +#define        CONFIG_SPL_NO_CPU_SUPPORT_CODE
> +#define        CONFIG_SPL_START_S_PATH         "arch/arm/cpu/arm926ejs/mxs"
> +#define        CONFIG_SPL_LDSCRIPT     "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
> +#define        CONFIG_SPL_LIBCOMMON_SUPPORT
> +#define        CONFIG_SPL_LIBGENERIC_SUPPORT
> +#define        CONFIG_SPL_GPIO_SUPPORT
> +
> +/*
> + * U-Boot Commands
> + */
> +#include <config_cmd_default.h>
> +#define        CONFIG_DISPLAY_CPUINFO
> +#define        CONFIG_DOS_PARTITION
> +
> +#define        CONFIG_CMD_CACHE
> +#define        CONFIG_CMD_FAT
> +#define        CONFIG_CMD_GPIO
> +
> +/*
> + * Memory configurations
> + */
> +#define        CONFIG_NR_DRAM_BANKS            1               /* 1 bank of DRAM */
> +#define        PHYS_SDRAM_1                    0x40000000      /* Base address */
> +#define        PHYS_SDRAM_1_SIZE               0x08000000      /* Max 128 MB RAM */
> +#define        CONFIG_SYS_MALLOC_LEN           0x00400000      /* 4 MB for malloc */
> +#define        CONFIG_SYS_GBL_DATA_SIZE        128             /* Initial data */
> +#define        CONFIG_SYS_MEMTEST_START        0x40000000      /* Memtest start adr */
> +#define        CONFIG_SYS_MEMTEST_END          0x40400000      /* 4 MB RAM test */
> +#define        CONFIG_SYS_SDRAM_BASE           PHYS_SDRAM_1
> +/* Point initial SP in SRAM so SPL can use it too. */
> +
> +#define CONFIG_SYS_INIT_RAM_ADDR       0x00000000
> +#define CONFIG_SYS_INIT_RAM_SIZE       (128 * 1024)
> +
> +#define CONFIG_SYS_INIT_SP_OFFSET \
> +       (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
> +#define CONFIG_SYS_INIT_SP_ADDR \
> +       (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
> +/*
> + * We need to sacrifice first 4 bytes of RAM here to avoid triggering some
> + * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot
> + * binary. In case there was more of this mess, 0x100 bytes are skipped.
> + */
> +#define        CONFIG_SYS_TEXT_BASE            0x40000100
> +
> +/*
> + * U-Boot general configurations
> + */
> +#define        CONFIG_SYS_LONGHELP
> +#define        CONFIG_SYS_PROMPT       "=> "
> +#define        CONFIG_SYS_CBSIZE       1024            /* Console I/O buffer size */

The  SYS_CBSIZE might be smaller I think; we use 256 in sabresd and
others which have a much bigger environment so I think it could be
reduced.

> +#define        CONFIG_SYS_PBSIZE       \
> +       (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
> +                                               /* Print buffer size */
> +#define        CONFIG_SYS_MAXARGS      32              /* Max number of command args */
> +#define        CONFIG_SYS_BARGSIZE     CONFIG_SYS_CBSIZE
> +                                               /* Boot argument buffer size */
> +#define        CONFIG_VERSION_VARIABLE                 /* U-BOOT version */
> +#define        CONFIG_AUTO_COMPLETE                    /* Command auto complete */
> +#define        CONFIG_CMDLINE_EDITING                  /* Command history etc */
> +#define        CONFIG_SYS_HUSH_PARSER
> +
> +/*
> + * Serial Driver
> + */
> +#define        CONFIG_PL011_SERIAL
> +#define        CONFIG_PL011_CLOCK              24000000
> +#define        CONFIG_PL01x_PORTS              { (void *)MXS_UARTDBG_BASE }
> +#define        CONFIG_CONS_INDEX               0
> +#define        CONFIG_BAUDRATE                 115200  /* Default baud rate */
> +
> +/*
> + * APBH DMA
> + */
> +#define CONFIG_APBH_DMA
> +
> +/*
> + * ENV -- nowhere so far
> + */
> +#define        CONFIG_ENV_SIZE                 (16 * 1024)
> +#define        CONFIG_ENV_IS_NOWHERE
> +
> +/*
> + * Boot Linux
> + */
> +#define        CONFIG_CMDLINE_TAG
> +#define        CONFIG_SETUP_MEMORY_TAGS
> +#define        CONFIG_BOOTDELAY        3
> +#define        CONFIG_BOOTFILE         "uImage"
> +#define        CONFIG_BOOTARGS         "console=ttyAMA0,115200n8 "
> +#define        CONFIG_LOADADDR         0x42000000
> +#define        CONFIG_SYS_LOAD_ADDR    CONFIG_LOADADDR
> +#define        CONFIG_OF_LIBFDT
> +
> +#endif /* __MX23_OLINUXINO_CONFIG_H__ */
> --
> 1.7.10.4
>



--
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
Marek Vasut - Jan. 12, 2013, 4:16 p.m.
Dear Otavio Salvador,

> On Fri, Jan 11, 2013 at 9:27 PM, Marek Vasut <marex@denx.de> wrote:
> > This patch adds support for MX23-based Olinuxino board.
> > 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Fabio Estevam <fabio.estevam@freescale.com>
> > Cc: Otavio Salvador <otavio@ossystems.com.br>
> > Cc: Stefano Babic <sbabic@denx.de>
> > ---
> > 
> >  MAINTAINERS                                  |    1 +
> >  board/olimex/mx23_olinuxino/Makefile         |   47 +++++++++
> >  board/olimex/mx23_olinuxino/mx23_olinuxino.c |   51 ++++++++++
> >  board/olimex/mx23_olinuxino/spl_boot.c       |   90 +++++++++++++++++
> >  boards.cfg                                   |    1 +
> >  include/configs/mx23_olinuxino.h             |  133
> >  ++++++++++++++++++++++++++ 6 files changed, 323 insertions(+)
> >  create mode 100644 board/olimex/mx23_olinuxino/Makefile
> >  create mode 100644 board/olimex/mx23_olinuxino/mx23_olinuxino.c
> >  create mode 100644 board/olimex/mx23_olinuxino/spl_boot.c
> >  create mode 100644 include/configs/mx23_olinuxino.h
> > 
> > V2: Add MAINTAINERS entry
> > 
> >     Remove CONFIG_MACH_TYPE (as this board is DT-only)
> 
> In fact it is not DT-only; we support it in linux-imx inside of OE and
> the images provided by Olinex are also based 2.6.35 so it seems better
> to define the machine type.

Can be added in a subsequent patch.
[...]

> > +/*
> > + * U-Boot general configurations
> > + */
> > +#define        CONFIG_SYS_LONGHELP
> > +#define        CONFIG_SYS_PROMPT       "=> "
> > +#define        CONFIG_SYS_CBSIZE       1024            /* Console I/O
> > buffer size */
> 
> The  SYS_CBSIZE might be smaller I think; we use 256 in sabresd and
> others which have a much bigger environment so I think it could be
> reduced.

Can you elaborate what issues this causes please?
Otavio Salvador - Jan. 12, 2013, 4:39 p.m.
On Sat, Jan 12, 2013 at 2:16 PM, Marek Vasut <marex@denx.de> wrote:
> Dear Otavio Salvador,
>
>> On Fri, Jan 11, 2013 at 9:27 PM, Marek Vasut <marex@denx.de> wrote:
>> > This patch adds support for MX23-based Olinuxino board.
>> >
>> > Signed-off-by: Marek Vasut <marex@denx.de>
>> > Cc: Fabio Estevam <fabio.estevam@freescale.com>
>> > Cc: Otavio Salvador <otavio@ossystems.com.br>
>> > Cc: Stefano Babic <sbabic@denx.de>
>> > ---
>> >
>> >  MAINTAINERS                                  |    1 +
>> >  board/olimex/mx23_olinuxino/Makefile         |   47 +++++++++
>> >  board/olimex/mx23_olinuxino/mx23_olinuxino.c |   51 ++++++++++
>> >  board/olimex/mx23_olinuxino/spl_boot.c       |   90 +++++++++++++++++
>> >  boards.cfg                                   |    1 +
>> >  include/configs/mx23_olinuxino.h             |  133
>> >  ++++++++++++++++++++++++++ 6 files changed, 323 insertions(+)
>> >  create mode 100644 board/olimex/mx23_olinuxino/Makefile
>> >  create mode 100644 board/olimex/mx23_olinuxino/mx23_olinuxino.c
>> >  create mode 100644 board/olimex/mx23_olinuxino/spl_boot.c
>> >  create mode 100644 include/configs/mx23_olinuxino.h
>> >
>> > V2: Add MAINTAINERS entry
>> >
>> >     Remove CONFIG_MACH_TYPE (as this board is DT-only)
>>
>> In fact it is not DT-only; we support it in linux-imx inside of OE and
>> the images provided by Olinex are also based 2.6.35 so it seems better
>> to define the machine type.
>
> Can be added in a subsequent patch.
> [...]

I don't think it is the way to go for several reasons, mainly:

 * your v1 had this support
 * all sdcards provided by olimex use 2.6.35 kernel (until now)
 * the FSL supported kernel is non-DT

So I see no reason to not fix the patch, seriously.

>> > +/*
>> > + * U-Boot general configurations
>> > + */
>> > +#define        CONFIG_SYS_LONGHELP
>> > +#define        CONFIG_SYS_PROMPT       "=> "
>> > +#define        CONFIG_SYS_CBSIZE       1024            /* Console I/O
>> > buffer size */
>>
>> The  SYS_CBSIZE might be smaller I think; we use 256 in sabresd and
>> others which have a much bigger environment so I think it could be
>> reduced.
>
> Can you elaborate what issues this causes please?

It causes nothing except more memory allocation than need. As other
bords work fine with less it seems a good option to move to a smaller
value. Just it.

--
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
Marek Vasut - Jan. 12, 2013, 4:52 p.m.
Dear Otavio Salvador,

> On Sat, Jan 12, 2013 at 2:16 PM, Marek Vasut <marex@denx.de> wrote:
> > Dear Otavio Salvador,
> > 
> >> On Fri, Jan 11, 2013 at 9:27 PM, Marek Vasut <marex@denx.de> wrote:
> >> > This patch adds support for MX23-based Olinuxino board.
> >> > 
> >> > Signed-off-by: Marek Vasut <marex@denx.de>
> >> > Cc: Fabio Estevam <fabio.estevam@freescale.com>
> >> > Cc: Otavio Salvador <otavio@ossystems.com.br>
> >> > Cc: Stefano Babic <sbabic@denx.de>
> >> > ---
> >> > 
> >> >  MAINTAINERS                                  |    1 +
> >> >  board/olimex/mx23_olinuxino/Makefile         |   47 +++++++++
> >> >  board/olimex/mx23_olinuxino/mx23_olinuxino.c |   51 ++++++++++
> >> >  board/olimex/mx23_olinuxino/spl_boot.c       |   90 +++++++++++++++++
> >> >  boards.cfg                                   |    1 +
> >> >  include/configs/mx23_olinuxino.h             |  133
> >> >  ++++++++++++++++++++++++++ 6 files changed, 323 insertions(+)
> >> >  create mode 100644 board/olimex/mx23_olinuxino/Makefile
> >> >  create mode 100644 board/olimex/mx23_olinuxino/mx23_olinuxino.c
> >> >  create mode 100644 board/olimex/mx23_olinuxino/spl_boot.c
> >> >  create mode 100644 include/configs/mx23_olinuxino.h
> >> > 
> >> > V2: Add MAINTAINERS entry
> >> > 
> >> >     Remove CONFIG_MACH_TYPE (as this board is DT-only)
> >> 
> >> In fact it is not DT-only; we support it in linux-imx inside of OE and
> >> the images provided by Olinex are also based 2.6.35 so it seems better
> >> to define the machine type.
> > 
> > Can be added in a subsequent patch.
> > [...]
> 
> I don't think it is the way to go for several reasons, mainly:
> 
>  * your v1 had this support

0xffffffff is DT boot ID really.

>  * all sdcards provided by olimex use 2.6.35 kernel (until now)
>  * the FSL supported kernel is non-DT
> 
> So I see no reason to not fix the patch, seriously.

Can you provide pointer to olinuxino machine entry in RMK's ID database then 
please?

> >> > +/*
> >> > + * U-Boot general configurations
> >> > + */
> >> > +#define        CONFIG_SYS_LONGHELP
> >> > +#define        CONFIG_SYS_PROMPT       "=> "
> >> > +#define        CONFIG_SYS_CBSIZE       1024            /* Console I/O
> >> > buffer size */
> >> 
> >> The  SYS_CBSIZE might be smaller I think; we use 256 in sabresd and
> >> others which have a much bigger environment so I think it could be
> >> reduced.
> > 
> > Can you elaborate what issues this causes please?
> 
> It causes nothing except more memory allocation than need. As other
> bords work fine with less it seems a good option to move to a smaller
> value. Just it.

It reduces the size of console buffer, right?

Best regards,
Marek Vasut
Otavio Salvador - Jan. 12, 2013, 5:06 p.m.
On Sat, Jan 12, 2013 at 2:52 PM, Marek Vasut <marex@denx.de> wrote:
> Dear Otavio Salvador,
>
>> On Sat, Jan 12, 2013 at 2:16 PM, Marek Vasut <marex@denx.de> wrote:
>> > Dear Otavio Salvador,
>> >
>> >> On Fri, Jan 11, 2013 at 9:27 PM, Marek Vasut <marex@denx.de> wrote:
>> >> > This patch adds support for MX23-based Olinuxino board.
>> >> >
>> >> > Signed-off-by: Marek Vasut <marex@denx.de>
>> >> > Cc: Fabio Estevam <fabio.estevam@freescale.com>
>> >> > Cc: Otavio Salvador <otavio@ossystems.com.br>
>> >> > Cc: Stefano Babic <sbabic@denx.de>
>> >> > ---
>> >> >
>> >> >  MAINTAINERS                                  |    1 +
>> >> >  board/olimex/mx23_olinuxino/Makefile         |   47 +++++++++
>> >> >  board/olimex/mx23_olinuxino/mx23_olinuxino.c |   51 ++++++++++
>> >> >  board/olimex/mx23_olinuxino/spl_boot.c       |   90 +++++++++++++++++
>> >> >  boards.cfg                                   |    1 +
>> >> >  include/configs/mx23_olinuxino.h             |  133
>> >> >  ++++++++++++++++++++++++++ 6 files changed, 323 insertions(+)
>> >> >  create mode 100644 board/olimex/mx23_olinuxino/Makefile
>> >> >  create mode 100644 board/olimex/mx23_olinuxino/mx23_olinuxino.c
>> >> >  create mode 100644 board/olimex/mx23_olinuxino/spl_boot.c
>> >> >  create mode 100644 include/configs/mx23_olinuxino.h
>> >> >
>> >> > V2: Add MAINTAINERS entry
>> >> >
>> >> >     Remove CONFIG_MACH_TYPE (as this board is DT-only)
>> >>
>> >> In fact it is not DT-only; we support it in linux-imx inside of OE and
>> >> the images provided by Olinex are also based 2.6.35 so it seems better
>> >> to define the machine type.
>> >
>> > Can be added in a subsequent patch.
>> > [...]
>>
>> I don't think it is the way to go for several reasons, mainly:
>>
>>  * your v1 had this support
>
> 0xffffffff is DT boot ID really.
>
>>  * all sdcards provided by olimex use 2.6.35 kernel (until now)
>>  * the FSL supported kernel is non-DT
>>
>> So I see no reason to not fix the patch, seriously.
>
> Can you provide pointer to olinuxino machine entry in RMK's ID database then
> please?

+imx233_olinuxino MACH_IMX233_OLINUXINO IMX233_OLINUXINO 4105

This is from the board patch.

>> >> > +/*
>> >> > + * U-Boot general configurations
>> >> > + */
>> >> > +#define        CONFIG_SYS_LONGHELP
>> >> > +#define        CONFIG_SYS_PROMPT       "=> "
>> >> > +#define        CONFIG_SYS_CBSIZE       1024            /* Console I/O
>> >> > buffer size */
>> >>
>> >> The  SYS_CBSIZE might be smaller I think; we use 256 in sabresd and
>> >> others which have a much bigger environment so I think it could be
>> >> reduced.
>> >
>> > Can you elaborate what issues this causes please?
>>
>> It causes nothing except more memory allocation than need. As other
>> bords work fine with less it seems a good option to move to a smaller
>> value. Just it.
>
> It reduces the size of console buffer, right?

AFAIK yes.

--
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index 36b47b7..08daa28 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -935,6 +935,7 @@  Marek Vasut <marek.vasut@gmail.com>
 	palmtc		xscale/pxa
 	vpac270		xscale/pxa
 	zipitz2		xscale/pxa
+	mx23_olinuxino	i.MX23
 	m28evk		i.MX28
 	sc_sps_1	i.MX28
 
diff --git a/board/olimex/mx23_olinuxino/Makefile b/board/olimex/mx23_olinuxino/Makefile
new file mode 100644
index 0000000..ff41cff
--- /dev/null
+++ b/board/olimex/mx23_olinuxino/Makefile
@@ -0,0 +1,47 @@ 
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).o
+
+ifndef	CONFIG_SPL_BUILD
+COBJS	:= mx23_olinuxino.o
+else
+COBJS	:= spl_boot.o
+endif
+
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(call cmd_link_o_target, $(OBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
new file mode 100644
index 0000000..2fcad26
--- /dev/null
+++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
@@ -0,0 +1,51 @@ 
+/*
+ * Olimex MX23 Olinuxino board
+ *
+ * Copyright (C) 2013 Marek Vasut <marex@denx.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <asm/arch/imx-regs.h>
+#include <asm/arch/sys_proto.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * Functions
+ */
+int board_early_init_f(void)
+{
+	/* SSP clock init will come here soon. */
+	return 0;
+}
+
+int dram_init(void)
+{
+	return mxs_dram_init();
+}
+
+int board_init(void)
+{
+	/* Adress of boot parameters */
+	gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
+
+	return 0;
+}
diff --git a/board/olimex/mx23_olinuxino/spl_boot.c b/board/olimex/mx23_olinuxino/spl_boot.c
new file mode 100644
index 0000000..aaebe6c
--- /dev/null
+++ b/board/olimex/mx23_olinuxino/spl_boot.c
@@ -0,0 +1,90 @@ 
+/*
+ * Olimex MX23 Olinuxino Boot setup
+ *
+ * Copyright (C) 2013 Marek Vasut <marex@denx.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <config.h>
+#include <asm/io.h>
+#include <asm/arch/iomux-mx23.h>
+#include <asm/arch/imx-regs.h>
+#include <asm/arch/sys_proto.h>
+
+#define	MUX_CONFIG_EMI	(MXS_PAD_3V3 | MXS_PAD_12MA | MXS_PAD_NOPULL)
+
+const iomux_cfg_t iomux_setup[] = {
+	/* DUART */
+	MX23_PAD_PWM0__DUART_RX,
+	MX23_PAD_PWM1__DUART_TX,
+
+	/* EMI */
+	MX23_PAD_EMI_D00__EMI_D00 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D01__EMI_D01 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D02__EMI_D02 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D03__EMI_D03 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D04__EMI_D04 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D05__EMI_D05 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D06__EMI_D06 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D07__EMI_D07 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D08__EMI_D08 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D09__EMI_D09 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D10__EMI_D10 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D11__EMI_D11 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D12__EMI_D12 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D13__EMI_D13 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D14__EMI_D14 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D15__EMI_D15 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_DQM0__EMI_DQM0 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_DQM1__EMI_DQM1 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_DQS0__EMI_DQS0 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_DQS1__EMI_DQS1 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CLK__EMI_CLK | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CLKN__EMI_CLKN | MUX_CONFIG_EMI,
+
+	MX23_PAD_EMI_A00__EMI_A00 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A01__EMI_A01 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A02__EMI_A02 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A03__EMI_A03 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A04__EMI_A04 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A05__EMI_A05 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A06__EMI_A06 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A07__EMI_A07 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A08__EMI_A08 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A09__EMI_A09 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A10__EMI_A10 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A11__EMI_A11 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A12__EMI_A12 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_BA0__EMI_BA0 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_BA1__EMI_BA1 | MUX_CONFIG_EMI,
+
+	MX23_PAD_EMI_CASN__EMI_CASN | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CE0N__EMI_CE0N | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CE1N__EMI_CE1N | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CKE__EMI_CKE | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_RASN__EMI_RASN | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_WEN__EMI_WEN | MUX_CONFIG_EMI,
+};
+
+void board_init_ll(void)
+{
+	mxs_common_spl_init(iomux_setup, ARRAY_SIZE(iomux_setup));
+}
diff --git a/boards.cfg b/boards.cfg
index 388e4a4..ef17745 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -189,6 +189,7 @@  tx25                         arm         arm926ejs   tx25                karo
 zmx25                        arm         arm926ejs   zmx25               syteco         mx25
 imx27lite                    arm         arm926ejs   imx27lite           logicpd        mx27
 magnesium                    arm         arm926ejs   imx27lite           logicpd        mx27
+mx23_olinuxino               arm         arm926ejs   mx23_olinuxino      olimex         mxs		mx23_olinuxino
 apx4devkit                   arm         arm926ejs   apx4devkit          bluegiga       mxs		apx4devkit
 m28evk                       arm         arm926ejs   m28evk              denx           mxs		m28evk
 mx28evk                      arm         arm926ejs   mx28evk             freescale      mxs		mx28evk
diff --git a/include/configs/mx23_olinuxino.h b/include/configs/mx23_olinuxino.h
new file mode 100644
index 0000000..056436f
--- /dev/null
+++ b/include/configs/mx23_olinuxino.h
@@ -0,0 +1,133 @@ 
+/*
+ * Copyright (C) 2013 Marek Vasut <marex@denx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+#ifndef __MX23_OLINUXINO_CONFIG_H__
+#define __MX23_OLINUXINO_CONFIG_H__
+
+/*
+ * SoC configurations
+ */
+#define	CONFIG_MX23				/* i.MX23 SoC */
+#define	CONFIG_MXS_GPIO				/* GPIO control */
+#define	CONFIG_SYS_HZ		1000		/* Ticks per second */
+
+#include <asm/arch/regs-base.h>
+
+#define	CONFIG_SYS_NO_FLASH
+#define	CONFIG_BOARD_EARLY_INIT_F
+#define	CONFIG_ARCH_MISC_INIT
+
+/*
+ * SPL
+ */
+#define	CONFIG_SPL
+#define	CONFIG_SPL_NO_CPU_SUPPORT_CODE
+#define	CONFIG_SPL_START_S_PATH		"arch/arm/cpu/arm926ejs/mxs"
+#define	CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
+#define	CONFIG_SPL_LIBCOMMON_SUPPORT
+#define	CONFIG_SPL_LIBGENERIC_SUPPORT
+#define	CONFIG_SPL_GPIO_SUPPORT
+
+/*
+ * U-Boot Commands
+ */
+#include <config_cmd_default.h>
+#define	CONFIG_DISPLAY_CPUINFO
+#define	CONFIG_DOS_PARTITION
+
+#define	CONFIG_CMD_CACHE
+#define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_GPIO
+
+/*
+ * Memory configurations
+ */
+#define	CONFIG_NR_DRAM_BANKS		1		/* 1 bank of DRAM */
+#define	PHYS_SDRAM_1			0x40000000	/* Base address */
+#define	PHYS_SDRAM_1_SIZE		0x08000000	/* Max 128 MB RAM */
+#define	CONFIG_SYS_MALLOC_LEN		0x00400000	/* 4 MB for malloc */
+#define	CONFIG_SYS_GBL_DATA_SIZE	128		/* Initial data */
+#define	CONFIG_SYS_MEMTEST_START	0x40000000	/* Memtest start adr */
+#define	CONFIG_SYS_MEMTEST_END		0x40400000	/* 4 MB RAM test */
+#define	CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
+/* Point initial SP in SRAM so SPL can use it too. */
+
+#define CONFIG_SYS_INIT_RAM_ADDR	0x00000000
+#define CONFIG_SYS_INIT_RAM_SIZE	(128 * 1024)
+
+#define CONFIG_SYS_INIT_SP_OFFSET \
+	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR \
+	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
+/*
+ * We need to sacrifice first 4 bytes of RAM here to avoid triggering some
+ * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot
+ * binary. In case there was more of this mess, 0x100 bytes are skipped.
+ */
+#define	CONFIG_SYS_TEXT_BASE		0x40000100
+
+/*
+ * U-Boot general configurations
+ */
+#define	CONFIG_SYS_LONGHELP
+#define	CONFIG_SYS_PROMPT	"=> "
+#define	CONFIG_SYS_CBSIZE	1024		/* Console I/O buffer size */
+#define	CONFIG_SYS_PBSIZE	\
+	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
+						/* Print buffer size */
+#define	CONFIG_SYS_MAXARGS	32		/* Max number of command args */
+#define	CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE
+						/* Boot argument buffer size */
+#define	CONFIG_VERSION_VARIABLE			/* U-BOOT version */
+#define	CONFIG_AUTO_COMPLETE			/* Command auto complete */
+#define	CONFIG_CMDLINE_EDITING			/* Command history etc */
+#define	CONFIG_SYS_HUSH_PARSER
+
+/*
+ * Serial Driver
+ */
+#define	CONFIG_PL011_SERIAL
+#define	CONFIG_PL011_CLOCK		24000000
+#define	CONFIG_PL01x_PORTS		{ (void *)MXS_UARTDBG_BASE }
+#define	CONFIG_CONS_INDEX		0
+#define	CONFIG_BAUDRATE			115200	/* Default baud rate */
+
+/*
+ * APBH DMA
+ */
+#define CONFIG_APBH_DMA
+
+/*
+ * ENV -- nowhere so far
+ */
+#define	CONFIG_ENV_SIZE			(16 * 1024)
+#define	CONFIG_ENV_IS_NOWHERE
+
+/*
+ * Boot Linux
+ */
+#define	CONFIG_CMDLINE_TAG
+#define	CONFIG_SETUP_MEMORY_TAGS
+#define	CONFIG_BOOTDELAY	3
+#define	CONFIG_BOOTFILE		"uImage"
+#define	CONFIG_BOOTARGS		"console=ttyAMA0,115200n8 "
+#define	CONFIG_LOADADDR		0x42000000
+#define	CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
+#define	CONFIG_OF_LIBFDT
+
+#endif /* __MX23_OLINUXINO_CONFIG_H__ */