From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dirk Behme Date: Sun, 31 Mar 2013 08:39:20 +0200 Subject: [U-Boot] [PATCH] Add initial support for mx6slevk board In-Reply-To: <1364677696-26770-1-git-send-email-festevam@gmail.com> References: <1364677696-26770-1-git-send-email-festevam@gmail.com> Message-ID: <5157DA18.8090803@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Fabio, Am 30.03.2013 22:08, schrieb Fabio Estevam: > From: Fabio Estevam > > mx6slevk board is a development board from Freescale based on the mx6 solo lite > processor. > > For details about mx6slevk, please refer to: > http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX6SLEVK&parentCode=i.MX6SL&fpsp=1 > > Signed-off-by: Fabio Estevam > --- > MAINTAINERS | 1 + > arch/arm/cpu/armv7/mx6/clock.c | 38 +- > arch/arm/include/asm/arch-mx6/crm_regs.h | 1 + > arch/arm/include/asm/arch-mx6/imx-regs.h | 63 +- > arch/arm/include/asm/arch-mx6/mx6-pins.h | 4 + > arch/arm/include/asm/arch-mx6/mx6sl_pins.h | 1374 ++++++++++++++++++++++++++++ Would it make sense to split this patch into two parts? One general "add i.MX6 SoloLite support" and then the "add mx6slevk board board support"? > board/freescale/mx6slevk/Makefile | 28 + > board/freescale/mx6slevk/imximage.cfg | 118 +++ > board/freescale/mx6slevk/mx6slevk.c | 102 +++ > boards.cfg | 1 + > include/configs/mx6slevk.h | 189 ++++ > 11 files changed, 1916 insertions(+), 3 deletions(-) > create mode 100644 arch/arm/include/asm/arch-mx6/mx6sl_pins.h > create mode 100644 board/freescale/mx6slevk/Makefile > create mode 100644 board/freescale/mx6slevk/imximage.cfg > create mode 100644 board/freescale/mx6slevk/mx6slevk.c > create mode 100644 include/configs/mx6slevk.h > ... > +######################################################################### > diff --git a/board/freescale/mx6slevk/imximage.cfg b/board/freescale/mx6slevk/imximage.cfg > new file mode 100644 > index 0000000..df39a16 > --- /dev/null > +++ b/board/freescale/mx6slevk/imximage.cfg > @@ -0,0 +1,118 @@ > +/* > + * Copyright (C) 2013 Freescale Semiconductor, Inc. > + * > + * 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. > + * > + * 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 sd > + > +/* > + * Device Configuration Data (DCD) > + * > + * Each entry must have the format: > + * Addr-type Address Value > + * > + * where: > + * Addr-type register length (1,2 or 4 bytes) > + * Address absolute address of the register > + * value value to be stored in the register > + */ > +DATA 4 0x020c4018 0x00260324 > + > +DATA 4 0x020c4068 0xffffffff > +DATA 4 0x020c406c 0xffffffff > +DATA 4 0x020c4070 0xffffffff > +DATA 4 0x020c4074 0xffffffff > +DATA 4 0x020c4078 0xffffffff > +DATA 4 0x020c407c 0xffffffff > +DATA 4 0x020c4080 0xffffffff I haven't looked into the manual, but are these the clock registers? If so, is it necessary to set them to 0xffffffff? Or are these already the default reset values? ... > diff --git a/include/configs/mx6slevk.h b/include/configs/mx6slevk.h > new file mode 100644 > index 0000000..67b63f4 > --- /dev/null > +++ b/include/configs/mx6slevk.h > @@ -0,0 +1,189 @@ > +/* > + * Copyright 2013 Freescale Semiconductor, Inc. > + * > + * Configuration settings for the Freescale i.MX6SL EVK board. > + * > + * 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. > + */ > + > +#ifndef __CONFIG_H > +#define __CONFIG_H > + > +#include > +#include > + > +#define CONFIG_MX6 > +#define CONFIG_DISPLAY_CPUINFO > +#define CONFIG_DISPLAY_BOARDINFO > + > +#define MACH_TYPE_MX6SLEVK 4307 Below, you seem to boot with device tree. Is this necessary, then? > +#define CONFIG_MACH_TYPE MACH_TYPE_MX6SLEVK > + > +#define CONFIG_CMDLINE_TAG > +#define CONFIG_SETUP_MEMORY_TAGS > +#define CONFIG_INITRD_TAG > +#define CONFIG_REVISION_TAG > + > +/* Size of malloc() pool */ > +#define CONFIG_SYS_MALLOC_LEN (3 * SZ_1M) > + > +#define CONFIG_BOARD_EARLY_INIT_F > +#define CONFIG_MXC_GPIO > + > +#define CONFIG_MXC_UART > +#define CONFIG_MXC_UART_BASE UART1_IPS_BASE_ADDR > + > +/* MMC Configs */ > +#define CONFIG_FSL_ESDHC > +#define CONFIG_FSL_USDHC > +#define CONFIG_SYS_FSL_ESDHC_ADDR 0 > + > +#define CONFIG_MMC > +#define CONFIG_CMD_MMC > +#define CONFIG_GENERIC_MMC > +#define CONFIG_CMD_FAT > +#define CONFIG_DOS_PARTITION > + > +/* allow to overwrite serial and ethaddr */ > +#define CONFIG_ENV_OVERWRITE > +#define CONFIG_CONS_INDEX 1 > +#define CONFIG_BAUDRATE 115200 > + > +/* Command definition */ > +#include > + > +#undef CONFIG_CMD_IMLS > + > +#define CONFIG_BOOTDELAY 3 > + > +#define CONFIG_LOADADDR 0x80800000 > +#define CONFIG_SYS_TEXT_BASE 0x87800000 > + > +#define CONFIG_EXTRA_ENV_SETTINGS \ > + "script=boot.scr\0" \ > + "uimage=uImage\0" \ > + "console=ttymxc0\0" \ > + "fdt_high=0xffffffff\0" \ > + "initrd_high=0xffffffff\0" \ > + "fdt_file=imx6sl-evk.dtb\0" \ Is a kernel patch for this already available anywhere? Best regards Dirk