[U-Boot] [PATCH] Add initial support for mx6slevk board
Dirk Behme
dirk.behme at gmail.com
Sun Mar 31 08:39:20 CEST 2013
Hi Fabio,
Am 30.03.2013 22:08, schrieb Fabio Estevam:
> From: Fabio Estevam <fabio.estevam at freescale.com>
>
> 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 <fabio.estevam at freescale.com>
> ---
> 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 <asm/arch/imx-regs.h>
> +#include <asm/sizes.h>
> +
> +#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 <config_cmd_default.h>
> +
> +#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
More information about the U-Boot
mailing list