[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