[U-Boot] [PATCH] imx: Add titanium board support (i.MX6 based)

Heiko Schocher hs at denx.de
Wed Apr 10 09:52:01 CEST 2013


Hello Stefan,

on 10.04.2013 09:17, Stefan Roese wrote:
> Titanium is a i.MX6 based board from ProjectionDesign / Barco. This
> patch adds support for this board with the newly introduced NAND
> support for i.MX6.
> 
> Signed-off-by: Stefan Roese <sr at denx.de>
> ---
>  MAINTAINERS                           |   2 +
>  board/freescale/titanium/Makefile     |  36 ++++
>  board/freescale/titanium/imximage.cfg | 181 +++++++++++++++++
>  board/freescale/titanium/titanium.c   | 372 ++++++++++++++++++++++++++++++++++
>  boards.cfg                            |   1 +
>  include/configs/titanium.h            | 274 +++++++++++++++++++++++++
>  6 files changed, 866 insertions(+)
>  create mode 100644 board/freescale/titanium/Makefile
>  create mode 100644 board/freescale/titanium/imximage.cfg
>  create mode 100644 board/freescale/titanium/titanium.c
>  create mode 100644 include/configs/titanium.h

[...]
> diff --git a/board/freescale/titanium/imximage.cfg b/board/freescale/titanium/imximage.cfg
> new file mode 100644
> index 0000000..9172d0e
> --- /dev/null
> +++ b/board/freescale/titanium/imximage.cfg
> @@ -0,0 +1,181 @@
> +/*
> + * Projectiondesign AS
> + * Derived from ./board/freescale/mx6qsabrelite/imximage.cfg
> + *
> + * Copyright (C) 2011 Freescale Semiconductor, Inc.
> + * Jason Liu <r64343 at freescale.com>
> + *
> + * 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.
> + *
> + * Refer docs/README.imxmage for more details about how-to configure
> + * and create imximage boot image
> + *
> + * The syntax is taken as close as possible with the kwbimage
> + */
> +
> +/* image version */
> +
> +IMAGE_VERSION 2
> +
> +/*
> + * Boot Device : one of
> + * spi, sd (the board has no nand neither onenand)
> + */
> +BOOT_FROM      nand

just Nitpicking: Comment says one of spi, sd you
select nand ... and comment says the board has no nand ... ;-)

[...]
> +/*
> + * Siste adresse i RAM. Starter på 0x10000000 og med 512MB blir dette
> + * siste 0x30000000 som er 768MB - sabrelite: 0x00000027
> + */

Again Nitpick... comments in english please ...

[...]
> diff --git a/board/freescale/titanium/titanium.c b/board/freescale/titanium/titanium.c
> new file mode 100644
> index 0000000..3cf68cf
> --- /dev/null
> +++ b/board/freescale/titanium/titanium.c
> @@ -0,0 +1,372 @@
[...]
> +static void setup_gpmi_nand(void)
> +{
> +	struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
> +	unsigned int reg;
> +
> +	/* config gpmi nand iomux */
> +	imx_iomux_v3_setup_multiple_pads(nfc_pads,
> +					 ARRAY_SIZE(nfc_pads));
> +
> +	/* config gpmi and bch clock to 11Mhz*/
> +	reg = readl(&mxc_ccm->cs2cdr);
> +	reg &= 0xF800FFFF;
> +	reg |= 0x01E40000;

Hmm.. could you use some defines for this magic values?

> +	writel(reg, &mxc_ccm->cs2cdr);
> +
> +	/* enable gpmi and bch clock gating */
> +	reg = readl(&mxc_ccm->CCGR4);
> +	reg |= 0xFF003000;

and here ...

> +	writel(reg, &mxc_ccm->CCGR4);
> +
> +	/* enable apbh clock gating */
> +	reg = readl(&mxc_ccm->CCGR0);
> +	reg |= 0x0030;

and here ... Thanks!

> +	writel(reg, &mxc_ccm->CCGR0);
> +}
> +

[...]

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list