Re: [U-Boot] [PATCHv2] board: Add Toby-Churchill SL50 board support.
On Thu, May 28, 2015 at 02:47:52PM +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.balle...@collabora.com [snip] +++ b/board/tcl/sl50/mux.c [snip] +++ b/include/configs/am335x_sl50.h In addition to Sjoerd's comments, these two files don't have SPDX tags but instead the full verbage, please fix, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCHv2] board: Add Toby-Churchill SL50 board support.
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.balle...@collabora.com --- diff --git a/board/tcl/sl50/board.c b/board/tcl/sl50/board.c new file mode 100644 index 000..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 2400 /* 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=0x8000\0 \ + pxefile_addr_r=0x8010\0 \ + kernel_addr_r=0x8200\0 \ + fdt_addr_r=0x8800\0 \ + ramdisk_addr_r=0x8808\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_STRINGAM335x U-Boot SPL +#endif + +#if
[U-Boot] [PATCHv2] board: Add Toby-Churchill SL50 board support.
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.balle...@collabora.com --- arch/arm/Kconfig | 6 + board/tcl/sl50/Kconfig| 34 board/tcl/sl50/MAINTAINERS| 6 + board/tcl/sl50/Makefile | 13 ++ board/tcl/sl50/board.c| 386 ++ board/tcl/sl50/board.h| 22 +++ board/tcl/sl50/mux.c | 161 ++ configs/am335x_sl50_defconfig | 7 + include/configs/am335x_sl50.h | 141 +++ 9 files changed, 776 insertions(+) create mode 100644 board/tcl/sl50/Kconfig create mode 100644 board/tcl/sl50/MAINTAINERS create mode 100644 board/tcl/sl50/Makefile create mode 100644 board/tcl/sl50/board.c create mode 100644 board/tcl/sl50/board.h create mode 100644 board/tcl/sl50/mux.c create mode 100644 configs/am335x_sl50_defconfig create mode 100644 include/configs/am335x_sl50.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b62842f..ddee39e 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -377,6 +377,11 @@ config TARGET_AM335X_EVM select DM_SERIAL select DM_GPIO +config TARGET_AM335X_SL50 + bool Support am335x_sl50 + select CPU_V7 + select SUPPORT_SPL + config TARGET_AM43XX_EVM bool Support am43xx_evm select CPU_V7 @@ -946,6 +951,7 @@ source board/st/stv0991/Kconfig source board/sunxi/Kconfig source board/syteco/zmx25/Kconfig source board/tbs/tbs2910/Kconfig +source board/tcl/sl50/Kconfig source board/ti/am335x/Kconfig source board/ti/am43xx/Kconfig source board/birdland/bav335x/Kconfig diff --git a/board/tcl/sl50/Kconfig b/board/tcl/sl50/Kconfig new file mode 100644 index 000..2b93aa2 --- /dev/null +++ b/board/tcl/sl50/Kconfig @@ -0,0 +1,34 @@ +if TARGET_AM335X_SL50 + +config SYS_BOARD + default sl50 + +config SYS_VENDOR + default tcl + +config SYS_SOC + default am33xx + +config SYS_CONFIG_NAME + default am335x_sl50 + +config CONS_INDEX + int UART used for console + range 1 6 + default 1 + help + The AM335x SoC has a total of 6 UARTs (UART0 to UART5 as referenced + in documentation, etc) available to it. Depending on your specific + board you may want something other than UART0 as for example the IDK + uses UART3 so enter 4 here. + +config DM + default y + +config DM_GPIO + default y if DM + +config DM_SERIAL + default y if DM + +endif diff --git a/board/tcl/sl50/MAINTAINERS b/board/tcl/sl50/MAINTAINERS new file mode 100644 index 000..29f1e3d --- /dev/null +++ b/board/tcl/sl50/MAINTAINERS @@ -0,0 +1,6 @@ +SL50 BOARD +M: Enric Balletbo i Serra enric.balle...@collabora.com +S: Maintained +F: board/tcl/sl50/ +F: include/configs/am335x_sl50.h +F: configs/am335x_sl50_defconfig diff --git a/board/tcl/sl50/Makefile b/board/tcl/sl50/Makefile new file mode 100644 index 000..d4a548c --- /dev/null +++ b/board/tcl/sl50/Makefile @@ -0,0 +1,13 @@ +# +# Makefile +# +# Copyright (C) 2015 Toby Churchill Ltd - http://www.toby-churchill.com/ +# +# SPDX-License-Identifier: GPL-2.0+ +# + +ifeq ($(CONFIG_SKIP_LOWLEVEL_INIT),) +obj-y := mux.o +endif + +obj-y += board.o diff --git a/board/tcl/sl50/board.c b/board/tcl/sl50/board.c new file mode 100644 index 000..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/ + * + * SPDX-License-Identifier:GPL-2.0+ + */ + +#include common.h +#include errno.h +#include spl.h +#include asm/arch/cpu.h +#include asm/arch/hardware.h +#include asm/arch/omap.h +#include asm/arch/ddr_defs.h +#include asm/arch/clock.h +#include asm/arch/gpio.h +#include asm/arch/mmc_host_def.h +#include asm/arch/sys_proto.h +#include asm/arch/mem.h +#include asm/io.h +#include asm/emif.h +#include asm/gpio.h +#include i2c.h +#include miiphy.h +#include cpsw.h +#include power/tps65217.h +#include power/tps65910.h +#include environment.h +#include watchdog.h +#include environment.h +#include board.h + +DECLARE_GLOBAL_DATA_PTR; + +static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE; + +#ifndef CONFIG_SKIP_LOWLEVEL_INIT + +static const struct ddr_data ddr3_sl50_data = { + .datardsratio0 = MT41K256M16HA125E_RD_DQS, + .datawdsratio0 = MT41K256M16HA125E_WR_DQS, + .datafwsratio0 = MT41K256M16HA125E_PHY_FIFO_WE, + .datawrsratio0 = MT41K256M16HA125E_PHY_WR_DATA, +}; + +static const struct cmd_control ddr3_sl50_cmd_ctrl_data = { + .cmd0csratio = MT41K256M16HA125E_RATIO, + .cmd0iclkout = MT41K256M16HA125E_INVERT_CLKOUT, + +