[U-Boot] [PATCHv2] board: Add Toby-Churchill SL50 board support.
Sjoerd Simons
sjoerd.simons at collabora.co.uk
Mon Jun 1 10:40:23 CEST 2015
On Thu, 2015-05-28 at 14:47 +0200, Enric Balletbo i Serra wrote:
> Add support for Lightwriter SL50 series board, a small, robust and portable
> Voice Output Communication Aids (VOCA) designed to meet the particular and
> changing needs of people with speech loss resulting from a wide range of
> acquired, progressive and congenital conditions.
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>
> ---
> diff --git a/board/tcl/sl50/board.c b/board/tcl/sl50/board.c
> new file mode 100644
> index 0000000..a4feb16
> --- /dev/null
> +++ b/board/tcl/sl50/board.c
> @@ -0,0 +1,386 @@
> +/*
> + * board.c
> + *
> + * Board functions for TCL SL50 board
> + *
> + * Copyright (C) 2015 Toby Churchill Ltd - http://www.toby-churchill.com/
This seems heavily based on ti/am335x/board.c, so you should keep the TI
copyright header in addition to the TCL one. (Similar for mux.c)
> +++ b/include/configs/am335x_sl50.h
> @@ -0,0 +1,141 @@
> +/*
> + * am335x_sl50.h
> + *
> + * Copyright (C) 2015 Toby Churchill Ltd - http://www.toby-churchill.com/
> + *
> + * 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 version 2.
> + *
> + * This program is distributed "as is" WITHOUT ANY WARRANTY of any
> + * kind, whether express or implied; without even the implied warranty
> + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + */
> +
> +#ifndef __CONFIG_AM335X_EVM_H
> +#define __CONFIG_AM335X_EVM_H
> +
> +#include <configs/ti_am335x_common.h>
> +#undef CONFIG_BOOTDELAY
> +
> +#ifndef CONFIG_SPL_BUILD
> +#ifndef CONFIG_FIT
> +# define CONFIG_FIT
> +#endif
> +# define CONFIG_TIMESTAMP
> +# define CONFIG_LZO
> +#endif
> +
> +#define CONFIG_SYS_BOOTM_LEN (16 << 20)
> +
> +/*#define CONFIG_MACH_TYPE 3589 Until the next sync */
> +#define CONFIG_BOARD_LATE_INIT
> +
> +/* Clock Defines */
> +#define V_OSCK 24000000 /* Clock output from T2 */
> +#define V_SCLK (V_OSCK)
> +
> +/* Always 128 KiB env size */
> +#define CONFIG_ENV_SIZE (128 << 10)
> +
> +/* Enhance our eMMC support / experience. */
> +#define CONFIG_CMD_GPT
> +#define CONFIG_EFI_PARTITION
> +
> +#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> +
> +#ifndef CONFIG_SPL_BUILD
> +
> +#include <config_distro_defaults.h>
> +
> +#define MEM_LAYOUT_ENV_SETTINGS \
> + "scriptaddr=0x80000000\0" \
> + "pxefile_addr_r=0x80100000\0" \
> + "kernel_addr_r=0x82000000\0" \
> + "fdt_addr_r=0x88000000\0" \
> + "ramdisk_addr_r=0x88080000\0" \
> +
> +#define BOOT_TARGET_DEVICES(func) \
> + func(MMC, mmc, 0) \
> + func(MMC, mmc, 1)
It's common for the distro boot commands to start check external MMC
before internal. Assuming 0 is internal and 1 is external, it would be
good to swap those two around.
> +#include <config_distro_bootcmd.h>
> +
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> + MEM_LAYOUT_ENV_SETTINGS \
> + BOOTENV
> +
> +#endif
> +
> +/* NS16550 Configuration */
> +#define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */
> +#define CONFIG_SYS_NS16550_COM2 0x48022000 /* UART1 */
> +#define CONFIG_SYS_NS16550_COM3 0x48024000 /* UART2 */
> +#define CONFIG_SYS_NS16550_COM4 0x481a6000 /* UART3 */
> +#define CONFIG_SYS_NS16550_COM5 0x481a8000 /* UART4 */
> +#define CONFIG_SYS_NS16550_COM6 0x481aa000 /* UART5 */
> +#define CONFIG_BAUDRATE 115200
> +
> +#define CONFIG_CMD_EEPROM
> +#define CONFIG_ENV_EEPROM_IS_ON_I2C
> +#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* Main EEPROM */
> +#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
> +#define CONFIG_SYS_I2C_MULTI_EEPROMS
> +
> +/* PMIC support */
> +#define CONFIG_POWER_TPS65217
> +#define CONFIG_POWER_TPS65910
> +
> +/* SPL */
> +#define CONFIG_SPL_POWER_SUPPORT
> +#define CONFIG_SPL_YMODEM_SUPPORT
> +
> +/* Bootcount using the RTC block */
> +#define CONFIG_BOOTCOUNT_LIMIT
> +#define CONFIG_BOOTCOUNT_AM33XX
> +#define CONFIG_SYS_BOOTCOUNT_BE
> +
> +#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/am33xx/u-boot-spl.lds"
> +
> +#ifndef CONFIG_SPL_USBETH_SUPPORT
> +/* To support eMMC booting */
> +#define CONFIG_STORAGE_EMMC
> +#define CONFIG_FASTBOOT_FLASH_MMC_DEV 1
> +#endif
> +
> +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT)
> +/* Remove other SPL modes. */
> +#undef CONFIG_SPL_YMODEM_SUPPORT
> +#undef CONFIG_SPL_NAND_SUPPORT
> +#undef CONFIG_SPL_MMC_SUPPORT
> +#define CONFIG_ENV_IS_NOWHERE
> +#undef CONFIG_ENV_IS_IN_NAND
> +/* disable host part of MUSB in SPL */
> +#undef CONFIG_MUSB_HOST
> +/* disable EFI partitions and partition UUID support */
> +#undef CONFIG_PARTITION_UUIDS
> +#undef CONFIG_EFI_PARTITION
> +/* General network SPL */
> +#define CONFIG_SPL_NET_SUPPORT
> +#define CONFIG_SPL_ENV_SUPPORT
> +#define CONFIG_SPL_NET_VCI_STRING "AM335x U-Boot SPL"
> +#endif
> +
> +#if defined(CONFIG_EMMC_BOOT)
> +#undef CONFIG_ENV_IS_NOWHERE
> +#define CONFIG_ENV_IS_IN_MMC
> +#define CONFIG_SPL_ENV_SUPPORT
> +#define CONFIG_SYS_MMC_ENV_DEV 1
> +#define CONFIG_SYS_MMC_ENV_PART 2
> +#define CONFIG_ENV_OFFSET 0x0
> +#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
> +#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
> +#endif
> +
> +/* Network. */
> +#define CONFIG_PHY_GIGE
> +#define CONFIG_PHYLIB
> +#define CONFIG_PHY_SMSC
> +
> +#endif /* ! __CONFIG_AM335X_SL50_H */
More information about the U-Boot
mailing list