From: Masahiro Yamada Date: Thu, 20 Aug 2015 01:20:55 +0000 (+0900) Subject: ARM: davinci: remove support for cam_enc_4xx X-Git-Tag: v2015.10-rc3~106 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8d77576371381ade83de475bb639949b44941e8c;p=u-boot ARM: davinci: remove support for cam_enc_4xx This has not been converted to Generic Board, so should be removed. (See doc/README.generic-board for details.) Signed-off-by: Masahiro Yamada Acked-by: Heiko Schocher Acked-by: Marek Vasut --- diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig index e6cb390d17..681270ddd2 100644 --- a/arch/arm/mach-davinci/Kconfig +++ b/arch/arm/mach-davinci/Kconfig @@ -18,10 +18,6 @@ config TARGET_DA850EVM bool "DA850 EVM board" select SUPPORT_SPL -config TARGET_CAM_ENC_4XX - bool "CAM ENC 4xx board" - select SUPPORT_SPL - config TARGET_OMAPL138_LCDK bool "OMAPL138 LCDK" select SUPPORT_SPL @@ -62,7 +58,6 @@ config SYS_SOC default "davinci" source "board/enbw/enbw_cmc/Kconfig" -source "board/ait/cam_enc_4xx/Kconfig" source "board/Barix/ipam390/Kconfig" source "board/davinci/da8xxevm/Kconfig" source "board/davinci/dm355evm/Kconfig" diff --git a/board/ait/cam_enc_4xx/Kconfig b/board/ait/cam_enc_4xx/Kconfig deleted file mode 100644 index 64e18f4e23..0000000000 --- a/board/ait/cam_enc_4xx/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -if TARGET_CAM_ENC_4XX - -config SYS_BOARD - default "cam_enc_4xx" - -config SYS_VENDOR - default "ait" - -config SYS_CONFIG_NAME - default "cam_enc_4xx" - -endif diff --git a/board/ait/cam_enc_4xx/MAINTAINERS b/board/ait/cam_enc_4xx/MAINTAINERS deleted file mode 100644 index d6477c69d2..0000000000 --- a/board/ait/cam_enc_4xx/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -CAM_ENC_4XX BOARD -M: Heiko Schocher -S: Maintained -F: board/ait/cam_enc_4xx/ -F: include/configs/cam_enc_4xx.h -F: configs/cam_enc_4xx_defconfig diff --git a/board/ait/cam_enc_4xx/Makefile b/board/ait/cam_enc_4xx/Makefile deleted file mode 100644 index 0d03ce003e..0000000000 --- a/board/ait/cam_enc_4xx/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# -# (C) Copyright 2000, 2001, 2002 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# Copyright (C) 2007 Sergey Kubushyn -# -# SPDX-License-Identifier: GPL-2.0+ -# - -obj-y := cam_enc_4xx.o diff --git a/board/ait/cam_enc_4xx/cam_enc_4xx.c b/board/ait/cam_enc_4xx/cam_enc_4xx.c deleted file mode 100644 index c5687bab7d..0000000000 --- a/board/ait/cam_enc_4xx/cam_enc_4xx.c +++ /dev/null @@ -1,1106 +0,0 @@ -/* - * Copyright (C) 2009 Texas Instruments Incorporated - * - * Copyright (C) 2011 - * Heiko Schocher, DENX Software Engineering, hs@denx.de. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef CONFIG_DAVINCI_MMC -#include -#include -#endif - -DECLARE_GLOBAL_DATA_PTR; - -#ifndef CONFIG_SPL_BUILD -static struct davinci_timer *timer = - (struct davinci_timer *)DAVINCI_TIMER3_BASE; - -static unsigned long get_timer_val(void) -{ - unsigned long now = readl(&timer->tim34); - - return now; -} - -static int timer_running(void) -{ - return readl(&timer->tcr) & - (DV_TIMER_TCR_ENAMODE_MASK << DV_TIMER_TCR_ENAMODE34_SHIFT); -} - -static void stop_timer(void) -{ - writel(0x0, &timer->tcr); - return; -} - -int checkboard(void) -{ - printf("Board: AIT CAM ENC 4XX\n"); - return 0; -} - -int board_init(void) -{ - gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100; - - return 0; -} - -#ifdef CONFIG_DRIVER_TI_EMAC -static int cam_enc_4xx_check_network(void) -{ - char *s; - - s = getenv("ethaddr"); - if (!s) - return -EINVAL; - - if (!is_valid_ethaddr((const u8 *)s)) - return -EINVAL; - - s = getenv("ipaddr"); - if (!s) - return -EINVAL; - - s = getenv("netmask"); - if (!s) - return -EINVAL; - - s = getenv("serverip"); - if (!s) - return -EINVAL; - - s = getenv("gatewayip"); - if (!s) - return -EINVAL; - - return 0; -} -int board_eth_init(bd_t *bis) -{ - int ret; - - ret = cam_enc_4xx_check_network(); - if (ret) - return ret; - - davinci_emac_initialize(); - - return 0; -} -#endif - -#ifdef CONFIG_NAND_DAVINCI -static int -davinci_std_read_page_syndrome(struct mtd_info *mtd, struct nand_chip *chip, - uint8_t *buf, int oob_required, int page) -{ - struct nand_chip *this = mtd->priv; - int i, eccsize = chip->ecc.size; - int eccbytes = chip->ecc.bytes; - int eccsteps = chip->ecc.steps; - uint8_t *p = buf; - uint8_t *oob = chip->oob_poi; - - chip->cmdfunc(mtd, NAND_CMD_READOOB, 0x0, page & this->pagemask); - - chip->read_buf(mtd, oob, mtd->oobsize); - - chip->cmdfunc(mtd, NAND_CMD_READ0, 0x0, page & this->pagemask); - - - for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { - int stat; - - chip->ecc.hwctl(mtd, NAND_ECC_READ); - chip->read_buf(mtd, p, eccsize); - chip->ecc.hwctl(mtd, NAND_ECC_READSYN); - - if (chip->ecc.prepad) - oob += chip->ecc.prepad; - - stat = chip->ecc.correct(mtd, p, oob, NULL); - - if (stat == -1) - mtd->ecc_stats.failed++; - else - mtd->ecc_stats.corrected += stat; - - oob += eccbytes; - - if (chip->ecc.postpad) - oob += chip->ecc.postpad; - } - - /* Calculate remaining oob bytes */ - i = mtd->oobsize - (oob - chip->oob_poi); - if (i) - chip->read_buf(mtd, oob, i); - - return 0; -} - -static int davinci_std_write_page_syndrome(struct mtd_info *mtd, - struct nand_chip *chip, const uint8_t *buf, - int oob_required) -{ - unsigned char davinci_ecc_buf[NAND_MAX_OOBSIZE]; - struct nand_chip *this = mtd->priv; - int i, eccsize = chip->ecc.size; - int eccbytes = chip->ecc.bytes; - int eccsteps = chip->ecc.steps; - int chunk = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad; - int offset = 0; - const uint8_t *p = buf; - uint8_t *oob = chip->oob_poi; - - for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { - chip->ecc.hwctl(mtd, NAND_ECC_WRITE); - chip->write_buf(mtd, p, eccsize); - - /* Calculate ECC without prepad */ - chip->ecc.calculate(mtd, p, oob + chip->ecc.prepad); - - if (chip->ecc.prepad) { - offset = (chip->ecc.steps - eccsteps) * chunk; - memcpy(&davinci_ecc_buf[offset], oob, chip->ecc.prepad); - oob += chip->ecc.prepad; - } - - offset = ((chip->ecc.steps - eccsteps) * chunk) + - chip->ecc.prepad; - memcpy(&davinci_ecc_buf[offset], oob, eccbytes); - oob += eccbytes; - - if (chip->ecc.postpad) { - offset = ((chip->ecc.steps - eccsteps) * chunk) + - chip->ecc.prepad + eccbytes; - memcpy(&davinci_ecc_buf[offset], oob, - chip->ecc.postpad); - oob += chip->ecc.postpad; - } - } - - /* - * Write the sparebytes into the page once - * all eccsteps have been covered - */ - for (i = 0; i < mtd->oobsize; i++) - writeb(davinci_ecc_buf[i], this->IO_ADDR_W); - - /* Calculate remaining oob bytes */ - i = mtd->oobsize - (oob - chip->oob_poi); - if (i) - chip->write_buf(mtd, oob, i); - return 0; -} - -static int davinci_std_write_oob_syndrome(struct mtd_info *mtd, - struct nand_chip *chip, int page) -{ - int pos, status = 0; - const uint8_t *bufpoi = chip->oob_poi; - - pos = mtd->writesize; - - chip->cmdfunc(mtd, NAND_CMD_SEQIN, pos, page); - - chip->write_buf(mtd, bufpoi, mtd->oobsize); - - chip->cmdfunc(mtd, NAND_CMD_PAGEPROG, -1, -1); - status = chip->waitfunc(mtd, chip); - - return status & NAND_STATUS_FAIL ? -1 : 0; -} - -static int davinci_std_read_oob_syndrome(struct mtd_info *mtd, - struct nand_chip *chip, int page) -{ - struct nand_chip *this = mtd->priv; - uint8_t *buf = chip->oob_poi; - uint8_t *bufpoi = buf; - - chip->cmdfunc(mtd, NAND_CMD_READOOB, 0x0, page & this->pagemask); - - chip->read_buf(mtd, bufpoi, mtd->oobsize); - - return 0; -} - -static void nand_dm365evm_select_chip(struct mtd_info *mtd, int chip) -{ - struct nand_chip *this = mtd->priv; - unsigned long wbase = (unsigned long) this->IO_ADDR_W; - unsigned long rbase = (unsigned long) this->IO_ADDR_R; - - if (chip == 1) { - __set_bit(14, &wbase); - __set_bit(14, &rbase); - } else { - __clear_bit(14, &wbase); - __clear_bit(14, &rbase); - } - this->IO_ADDR_W = (void *)wbase; - this->IO_ADDR_R = (void *)rbase; -} - -int board_nand_init(struct nand_chip *nand) -{ - davinci_nand_init(nand); - nand->select_chip = nand_dm365evm_select_chip; - - return 0; -} - -struct nand_ecc_ctrl org_ecc; -static int notsaved = 1; - -static int nand_switch_hw_func(int mode) -{ - struct nand_chip *nand; - struct mtd_info *mtd; - - if (nand_curr_device < 0 || - nand_curr_device >= CONFIG_SYS_MAX_NAND_DEVICE || - !nand_info[nand_curr_device].name) { - printf("Error: Can't switch hw functions," \ - " no devices available\n"); - return -1; - } - - mtd = &nand_info[nand_curr_device]; - nand = mtd->priv; - - if (mode == 0) { - if (notsaved == 0) { - printf("switching to uboot hw functions.\n"); - memcpy(&nand->ecc, &org_ecc, - sizeof(struct nand_ecc_ctrl)); - } - } else { - /* RBL */ - printf("switching to RBL hw functions.\n"); - if (notsaved == 1) { - memcpy(&org_ecc, &nand->ecc, - sizeof(struct nand_ecc_ctrl)); - notsaved = 0; - } - nand->ecc.mode = NAND_ECC_HW_SYNDROME; - nand->ecc.prepad = 6; - nand->ecc.read_page = davinci_std_read_page_syndrome; - nand->ecc.write_page = davinci_std_write_page_syndrome; - nand->ecc.read_oob = davinci_std_read_oob_syndrome; - nand->ecc.write_oob = davinci_std_write_oob_syndrome; - } - return mode; -} - -static int hwmode; - -static int do_switch_ecc(cmd_tbl_t *cmdtp, int flag, int argc, - char *const argv[]) -{ - if (argc != 2) - goto usage; - if (strncmp(argv[1], "rbl", 2) == 0) - hwmode = nand_switch_hw_func(1); - else if (strncmp(argv[1], "uboot", 2) == 0) - hwmode = nand_switch_hw_func(0); - else - goto usage; - - return 0; - -usage: - printf("Usage: nandrbl %s\n", cmdtp->usage); - return 1; -} - -U_BOOT_CMD( - nandrbl, 2, 1, do_switch_ecc, - "switch between rbl/uboot NAND ECC calculation algorithm", - "[rbl/uboot] - Switch between rbl/uboot NAND ECC algorithm" -); - - -#endif /* #ifdef CONFIG_NAND_DAVINCI */ - -#ifdef CONFIG_DAVINCI_MMC -static struct davinci_mmc mmc_sd0 = { - .reg_base = (struct davinci_mmc_regs *)DAVINCI_MMC_SD0_BASE, - .input_clk = 121500000, - .host_caps = MMC_MODE_4BIT, - .voltages = MMC_VDD_32_33 | MMC_VDD_33_34, - .version = MMC_CTLR_VERSION_2, -}; - -int board_mmc_init(bd_t *bis) -{ - int err; - - /* Add slot-0 to mmc subsystem */ - err = davinci_mmc_init(bis, &mmc_sd0); - - return err; -} -#endif - -int board_late_init(void) -{ - struct davinci_gpio *gpio = davinci_gpio_bank45; - - /* 24MHz InputClock / 15 prediv -> 1.6 MHz timer running */ - while ((get_timer_val() < CONFIG_AIT_TIMER_TIMEOUT) && - timer_running()) - ; - - /* 1 sec reached -> stop timer, clear all LED */ - stop_timer(); - clrbits_le32(&gpio->out_data, CONFIG_CAM_ENC_LED_MASK); - return 0; -} - -void reset_phy(void) -{ - char *name = "GENERIC @ 0x00"; - - /* reset the phy */ - miiphy_reset(name, 0x0); -} - -#else /* #ifndef CONFIG_SPL_BUILD */ -static void cam_enc_4xx_set_all_led(void) -{ - struct davinci_gpio *gpio = davinci_gpio_bank45; - - setbits_le32(&gpio->out_data, CONFIG_CAM_ENC_LED_MASK); -} - -/* - * TIMER 0 is used for tick - */ -static struct davinci_timer *timer = - (struct davinci_timer *)DAVINCI_TIMER3_BASE; - -#define TIMER_LOAD_VAL 0xffffffff -#define TIM_CLK_DIV 16 - -static int cam_enc_4xx_timer_init(void) -{ - /* We are using timer34 in unchained 32-bit mode, full speed */ - writel(0x0, &timer->tcr); - writel(0x0, &timer->tgcr); - writel(0x06 | ((TIM_CLK_DIV - 1) << 8), &timer->tgcr); - writel(0x0, &timer->tim34); - writel(TIMER_LOAD_VAL, &timer->prd34); - writel(2 << 22, &timer->tcr); - return 0; -} - -void board_gpio_init(void) -{ - struct davinci_gpio *gpio; - - cam_enc_4xx_set_all_led(); - cam_enc_4xx_timer_init(); - gpio = davinci_gpio_bank01; - clrbits_le32(&gpio->dir, ~0xfdfffffe); - /* clear LED D14 = GPIO25 */ - clrbits_le32(&gpio->out_data, 0x02000000); - gpio = davinci_gpio_bank23; - clrbits_le32(&gpio->dir, ~0x5ff0afef); - /* set GPIO61 to 1 -> intern UART0 as Console */ - setbits_le32(&gpio->out_data, 0x20000000); - /* - * PHY out of reset GIO 50 = 1 - * NAND WP off GIO 51 = 1 - */ - setbits_le32(&gpio->out_data, 0x000c0004); - gpio = davinci_gpio_bank45; - clrbits_le32(&gpio->dir, ~(0xdb2fffff) | CONFIG_CAM_ENC_LED_MASK); - /* - * clear LED: - * D17 = GPIO86 - * D11 = GPIO87 - * GPIO88 - * GPIO89 - * D13 = GPIO90 - * GPIO91 - */ - clrbits_le32(&gpio->out_data, CONFIG_CAM_ENC_LED_MASK); - gpio = davinci_gpio_bank67; - clrbits_le32(&gpio->dir, ~0x000007ff); -} - -/* - * functions for the post memory test. - */ -int arch_memory_test_prepare(u32 *vstart, u32 *size, phys_addr_t *phys_offset) -{ - *vstart = CONFIG_SYS_SDRAM_BASE; - *size = PHYS_SDRAM_1_SIZE; - *phys_offset = 0; - return 0; -} - -void arch_memory_failure_handle(void) -{ - cam_enc_4xx_set_all_led(); - puts("mem failure\n"); - while (1) - ; -} -#endif -#if defined(CONFIG_MENU) -#include "menu.h" - -#define MENU_EXIT -1 -#define MENU_EXIT_BOOTCMD -2 -#define MENU_STAY 0 -#define MENU_MAIN 1 -#define MENU_UPDATE 2 -#define MENU_NETWORK 3 -#define MENU_LOAD 4 - -static int menu_start; - -#define FIT_SUBTYPE_UNKNOWN 0 -#define FIT_SUBTYPE_UBL_HEADER 1 -#define FIT_SUBTYPE_SPL_IMAGE 2 -#define FIT_SUBTYPE_UBOOT_IMAGE 3 -#define FIT_SUBTYPE_DF_ENV_IMAGE 4 -#define FIT_SUBTYPE_RAMDISK_IMAGE 5 - -struct fit_images_info { - u_int8_t type; - int subtype; - char desc[200]; - const void *data; - size_t size; -}; - -static struct fit_images_info imgs[10]; - -struct menu_display { - char title[50]; - int timeout; /* in sec */ - int id; /* MENU_* */ - char **menulist; - int (*menu_evaluate)(char *choice); -}; - -char *menu_main[] = { - "(1) Boot", - "(2) Update Software", - "(3) Reset to default setting and boot", - "(4) Enter U-Boot console", - NULL -}; - -char *menu_update[] = { - "(1) Network settings", - "(2) load image", - "(3) back to main", - NULL -}; - -char *menu_load[] = { - "(1) install image", - "(2) cancel", - NULL -}; - -char *menu_network[] = { - "(1) ipaddr ", - "(2) netmask ", - "(3) serverip ", - "(4) gatewayip", - "(5) tftp image name", - "(6) back to update software", - NULL -}; - -static void ait_menu_print(void *data) -{ - printf("%s\n", (char *)data); - return; -} - -static char *menu_handle(struct menu_display *display) -{ - struct menu *m; - int i; - void *choice = NULL; - char key[2]; - int ret; - char *s; - char temp[6][200]; - - m = menu_create(display->title, display->timeout, 1, ait_menu_print, - NULL, NULL); - - for (i = 0; display->menulist[i]; i++) { - sprintf(key, "%d", i + 1); - if (display->id == MENU_NETWORK) { - switch (i) { - case 0: - s = getenv("ipaddr"); - break; - case 1: - s = getenv("netmask"); - break; - case 2: - s = getenv("serverip"); - break; - case 3: - s = getenv("gatewayip"); - break; - case 4: - s = getenv("img_file"); - break; - default: - s = NULL; - break; - } - if (s) { - sprintf(temp[i], "%s: %s", - display->menulist[i], s); - ret = menu_item_add(m, key, temp[i]); - } else { - ret = menu_item_add(m, key, - display->menulist[i]); - } - } else { - ret = menu_item_add(m, key, display->menulist[i]); - } - - if (ret != 1) { - printf("failed to add item!"); - menu_destroy(m); - return NULL; - } - } - sprintf(key, "%d", 1); - menu_default_set(m, key); - - if (menu_get_choice(m, &choice) != 1) - debug("Problem picking a choice!\n"); - - menu_destroy(m); - - return choice; -} - -static int ait_menu_show(struct menu_display *display, int bootdelay) -{ - int end = MENU_STAY; - char *choice; - - if ((menu_start == 0) && (display->id == MENU_MAIN)) - display->timeout = bootdelay; - else - display->timeout = 0; - - while (end == MENU_STAY) { - choice = menu_handle(display); - if (choice) - end = display->menu_evaluate(choice); - - if (end == display->id) - end = MENU_STAY; - if (display->id == MENU_MAIN) { - if (menu_start == 0) - end = MENU_EXIT_BOOTCMD; - else - display->timeout = 0; - } - } - return end; -} - -static int ait_writeublheader(void) -{ - char s[20]; - unsigned long i; - int ret; - - for (i = CONFIG_SYS_NAND_BLOCK_SIZE; - i < CONFIG_SYS_NAND_U_BOOT_OFFS; - i += CONFIG_SYS_NAND_BLOCK_SIZE) { - sprintf(s, "%lx", i); - ret = setenv("header_addr", s); - if (ret == 0) - ret = run_command("run img_writeheader", 0); - if (ret != 0) - break; - } - return ret; -} - -static int ait_menu_install_images(void) -{ - int ret = 0; - int count = 0; - char s[100]; - char *t; - - /* - * possible image types: - * FIT_SUBTYPE_UNKNOWN - * FIT_SUBTYPE_UBL_HEADER - * FIT_SUBTYPE_SPL_IMAGE - * FIT_SUBTYPE_UBOOT_IMAGE - * FIT_SUBTYPE_DF_ENV_IMAGE - * FIT_SUBTYPE_RAMDISK_IMAGE - * - * use Envvariables: - * img_addr_r: image start addr - * header_addr: addr where to write to UBL header - * img_writeheader: write ubl header to nand - * img_writespl: write spl to nand - * img_writeuboot: write uboot to nand - * img_writedfenv: write default environment to ubi volume - * img_volume: which ubi volume should be updated with img_writeramdisk - * filesize: size of data for updating ubi volume - * img_writeramdisk: write ramdisk to ubi volume - */ - - while (imgs[count].type != IH_TYPE_INVALID) { - printf("Installing %s\n", - genimg_get_type_name(imgs[count].type)); - sprintf(s, "%p", imgs[count].data); - setenv("img_addr_r", s); - sprintf(s, "%lx", (unsigned long)imgs[count].size); - setenv("filesize", s); - switch (imgs[count].subtype) { - case FIT_SUBTYPE_DF_ENV_IMAGE: - ret = run_command("run img_writedfenv", 0); - break; - case FIT_SUBTYPE_RAMDISK_IMAGE: - t = getenv("img_volume"); - if (!t) { - ret = setenv("img_volume", "rootfs1"); - } else { - /* switch to other volume */ - if (strncmp(t, "rootfs1", 7) == 0) - ret = setenv("img_volume", "rootfs2"); - else - ret = setenv("img_volume", "rootfs1"); - } - if (ret != 0) - break; - - ret = run_command("run img_writeramdisk", 0); - break; - case FIT_SUBTYPE_SPL_IMAGE: - ret = run_command("run img_writespl", 0); - break; - case FIT_SUBTYPE_UBL_HEADER: - ret = ait_writeublheader(); - break; - case FIT_SUBTYPE_UBOOT_IMAGE: - ret = run_command("run img_writeuboot", 0); - break; - default: - /* not supported type */ - break; - } - count++; - } - /* now save dvn_* and img_volume env vars to new values */ - if (ret == 0) { - t = getenv("x_dvn_boot_vers"); - if (t) - setenv("dvn_boot_vers", t); - - t = getenv("x_dvn_app_vers"); - if (t) - setenv("dvn_boot_vers", t); - - setenv("x_dvn_boot_vers", NULL); - setenv("x_dvn_app_vers", NULL); - ret = run_command("run savenewvers", 0); - } - - return ret; -} - -static int ait_menu_evaluate_load(char *choice) -{ - if (!choice) - return -1; - - switch (choice[1]) { - case '1': - /* install image */ - ait_menu_install_images(); - break; - case '2': - /* cancel, back to main */ - setenv("x_dvn_boot_vers", NULL); - setenv("x_dvn_app_vers", NULL); - break; - } - - return MENU_MAIN; -} - -struct menu_display ait_load = { - .title = "AIT load image", - .timeout = 0, - .id = MENU_LOAD, - .menulist = menu_load, - .menu_evaluate = ait_menu_evaluate_load, -}; - -static void ait_menu_read_env(char *name) -{ - char output[CONFIG_SYS_CBSIZE]; - char cbuf[CONFIG_SYS_CBSIZE]; - int readret; - int ret; - - sprintf(output, "%s old: %s value: ", name, getenv(name)); - memset(cbuf, 0, CONFIG_SYS_CBSIZE); - readret = cli_readline_into_buffer(output, cbuf, 0); - - if (readret >= 0) { - ret = setenv(name, cbuf); - if (ret) { - printf("Error setting %s\n", name); - return; - } - } - return; -} - -static int ait_menu_evaluate_network(char *choice) -{ - if (!choice) - return MENU_MAIN; - - switch (choice[1]) { - case '1': - ait_menu_read_env("ipaddr"); - break; - case '2': - ait_menu_read_env("netmask"); - break; - case '3': - ait_menu_read_env("serverip"); - break; - case '4': - ait_menu_read_env("gatewayip"); - break; - case '5': - ait_menu_read_env("img_file"); - break; - case '6': - return MENU_UPDATE; - break; - } - - return MENU_STAY; -} - -struct menu_display ait_network = { - .title = "AIT network settings", - .timeout = 0, - .id = MENU_NETWORK, - .menulist = menu_network, - .menu_evaluate = ait_menu_evaluate_network, -}; - -static int fit_get_subtype(const void *fit, int noffset, char **subtype) -{ - int len; - - *subtype = (char *)fdt_getprop(fit, noffset, "subtype", &len); - if (*subtype == NULL) - return -1; - - return 0; -} - -static int ait_subtype_nr(char *subtype) -{ - int ret = FIT_SUBTYPE_UNKNOWN; - - if (!strncmp("ublheader", subtype, strlen("ublheader"))) - return FIT_SUBTYPE_UBL_HEADER; - if (!strncmp("splimage", subtype, strlen("splimage"))) - return FIT_SUBTYPE_SPL_IMAGE; - if (!strncmp("ubootimage", subtype, strlen("ubootimage"))) - return FIT_SUBTYPE_UBOOT_IMAGE; - if (!strncmp("dfenvimage", subtype, strlen("dfenvimage"))) - return FIT_SUBTYPE_DF_ENV_IMAGE; - - return ret; -} - -static int ait_menu_check_image(void) -{ - char *s; - unsigned long fit_addr; - void *addr; - int format; - char *desc; - char *subtype; - int images_noffset; - int noffset; - int ndepth; - int count = 0; - int ret; - int i; - int found_uboot = -1; - int found_ramdisk = -1; - - memset(imgs, 0, sizeof(imgs)); - s = getenv("fit_addr_r"); - fit_addr = s ? (unsigned long)simple_strtol(s, NULL, 16) : \ - CONFIG_BOARD_IMG_ADDR_R; - - addr = (void *)fit_addr; - /* check if it is a FIT image */ - format = genimg_get_format(addr); - if (format != IMAGE_FORMAT_FIT) - return -EINVAL; - - if (!fit_check_format(addr)) - return -EINVAL; - - /* print the FIT description */ - ret = fit_get_desc(addr, 0, &desc); - printf("FIT description: "); - if (ret) - printf("unavailable\n"); - else - printf("%s\n", desc); - - /* find images */ - images_noffset = fdt_path_offset(addr, FIT_IMAGES_PATH); - if (images_noffset < 0) { - printf("Can't find images parent node '%s' (%s)\n", - FIT_IMAGES_PATH, fdt_strerror(images_noffset)); - return -EINVAL; - } - - /* Process its subnodes, print out component images details */ - for (ndepth = 0, count = 0, - noffset = fdt_next_node(addr, images_noffset, &ndepth); - (noffset >= 0) && (ndepth > 0); - noffset = fdt_next_node(addr, noffset, &ndepth)) { - if (ndepth == 1) { - /* - * Direct child node of the images parent node, - * i.e. component image node. - */ - printf("Image %u (%s)\n", count, - fit_get_name(addr, noffset, NULL)); - - fit_image_print(addr, noffset, ""); - - fit_image_get_type(addr, noffset, - &imgs[count].type); - /* Mandatory properties */ - ret = fit_get_desc(addr, noffset, &desc); - printf("Description: "); - if (ret) - printf("unavailable\n"); - else - printf("%s\n", desc); - - ret = fit_get_subtype(addr, noffset, &subtype); - printf("Subtype: "); - if (ret) { - printf("unavailable\n"); - } else { - imgs[count].subtype = ait_subtype_nr(subtype); - printf("%s %d\n", subtype, - imgs[count].subtype); - } - - sprintf(imgs[count].desc, "%s", desc); - - ret = fit_image_get_data(addr, noffset, - &imgs[count].data, - &imgs[count].size); - - printf("Data Size: "); - if (ret) - printf("unavailable\n"); - else - genimg_print_size(imgs[count].size); - printf("Data @ %p\n", imgs[count].data); - count++; - } - } - - for (i = 0; i < count; i++) { - if (imgs[i].subtype == FIT_SUBTYPE_UBOOT_IMAGE) - found_uboot = i; - if (imgs[i].type == IH_TYPE_RAMDISK) { - found_ramdisk = i; - imgs[i].subtype = FIT_SUBTYPE_RAMDISK_IMAGE; - } - } - - /* dvn_* env var update, if the FIT descriptors are different */ - if (found_uboot >= 0) { - s = getenv("dvn_boot_vers"); - if (s) { - ret = strcmp(s, imgs[found_uboot].desc); - if (ret != 0) { - setenv("x_dvn_boot_vers", - imgs[found_uboot].desc); - } else { - found_uboot = -1; - printf("no new uboot version\n"); - } - } else { - setenv("dvn_boot_vers", imgs[found_uboot].desc); - } - } - if (found_ramdisk >= 0) { - s = getenv("dvn_app_vers"); - if (s) { - ret = strcmp(s, imgs[found_ramdisk].desc); - if (ret != 0) { - setenv("x_dvn_app_vers", - imgs[found_ramdisk].desc); - } else { - found_ramdisk = -1; - printf("no new ramdisk version\n"); - } - } else { - setenv("dvn_app_vers", imgs[found_ramdisk].desc); - } - } - if ((found_uboot == -1) && (found_ramdisk == -1)) - return -EINVAL; - - return 0; -} - -static int ait_menu_evaluate_update(char *choice) -{ - int ret; - - if (!choice) - return MENU_MAIN; - - switch (choice[1]) { - case '1': - return ait_menu_show(&ait_network, 0); - break; - case '2': - /* load image */ - ret = run_command("run load_img", 0); - printf("ret: %d\n", ret); - if (ret) - return MENU_UPDATE; - - ret = ait_menu_check_image(); - if (ret) - return MENU_UPDATE; - - return ait_menu_show(&ait_load, 0); - break; - case '3': - return MENU_MAIN; - break; - - } - - return MENU_MAIN; -} - -struct menu_display ait_update = { - .title = "AIT Update Software", - .timeout = 0, - .id = MENU_UPDATE, - .menulist = menu_update, - .menu_evaluate = ait_menu_evaluate_update, -}; - -static int ait_menu_evaluate_main(char *choice) -{ - if (!choice) - return MENU_STAY; - - menu_start = 1; - switch (choice[1]) { - case '1': - /* run bootcmd */ - return MENU_EXIT_BOOTCMD; - break; - case '2': - return ait_menu_show(&ait_update, 0); - break; - case '3': - /* reset to default settings */ - setenv("app_reset", "yes"); - return MENU_EXIT_BOOTCMD; - break; - case '4': - /* u-boot shell */ - return MENU_EXIT; - break; - } - - return MENU_EXIT; -} - -struct menu_display ait_main = { - .title = "AIT Main", - .timeout = CONFIG_BOOTDELAY, - .id = MENU_MAIN, - .menulist = menu_main, - .menu_evaluate = ait_menu_evaluate_main, -}; - -int menu_show(int bootdelay) -{ - int ret; - - run_command("run saveparms", 0); - ret = ait_menu_show(&ait_main, bootdelay); - run_command("run restoreparms", 0); - - if (ret == MENU_EXIT_BOOTCMD) - return 0; - - return MENU_EXIT; -} - -void menu_display_statusline(struct menu *m) -{ - char *s1, *s2; - - s1 = getenv("x_dvn_boot_vers"); - if (!s1) - s1 = getenv("dvn_boot_vers"); - - s2 = getenv("x_dvn_app_vers"); - if (!s2) - s2 = getenv("dvn_app_vers"); - - printf("State: dvn_boot_vers: %s dvn_app_vers: %s\n", s1, s2); - return; -} -#endif diff --git a/board/ait/cam_enc_4xx/config.mk b/board/ait/cam_enc_4xx/config.mk deleted file mode 100644 index 2022151309..0000000000 --- a/board/ait/cam_enc_4xx/config.mk +++ /dev/null @@ -1,20 +0,0 @@ -# -# AIT cam_enc_4xx board -# cam_enc_4xx board has 1 bank of 256 MB DDR RAM -# Physical Address: 8000'0000 to 9000'0000 -# -# Linux Kernel is expected to be at 8000'8000, entry 8000'8000 -# (mem base + reserved) -# - -UBL_CONFIG = $(srctree)/board/$(BOARDDIR)/ublimage.cfg -ifndef CONFIG_SPL_BUILD -ALL-y += u-boot.ubl -else -# as SPL_TEXT_BASE is not page-aligned, we need for some -# linkers the -n flag (Do not page align data), to prevent -# the following error message: -# arm-linux-ld: u-boot-spl: Not enough room for program headers, try linking -# with -N -LDFLAGS_u-boot-spl += -n -endif diff --git a/board/ait/cam_enc_4xx/u-boot-spl.lds b/board/ait/cam_enc_4xx/u-boot-spl.lds deleted file mode 100644 index f5c19df0d3..0000000000 --- a/board/ait/cam_enc_4xx/u-boot-spl.lds +++ /dev/null @@ -1,57 +0,0 @@ -/* - * (C) Copyright 2002 - * Gary Jennejohn, DENX Software Engineering, - * - * (C) Copyright 2008 - * Guennadi Liakhovetki, DENX Software Engineering, - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\ - LENGTH = CONFIG_SPL_MAX_FOOTPRINT } - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) -SECTIONS -{ - . = CONFIG_SPL_TEXT_BASE; - - . = ALIGN(4); - .text : - { - __start = .; - *(.vectors) - arch/arm/cpu/arm926ejs/start.o (.text*) - *(.text*) - } >.sram - - . = ALIGN(4); - .rodata : { *(SORT_BY_ALIGNMENT(.rodata*)) } >.sram - - . = ALIGN(4); - .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram - . = ALIGN(4); - .rel.dyn : { - __rel_dyn_start = .; - *(.rel*) - __rel_dyn_end = .; - } >.sram - - .bss : - { - . = ALIGN(4); - __bss_start = .; - *(.bss*) - . = ALIGN(4); - __bss_end = .; - } >.sram - - __image_copy_end = .; - - .end : - { - *(.__end) - } -} diff --git a/board/ait/cam_enc_4xx/ublimage.cfg b/board/ait/cam_enc_4xx/ublimage.cfg deleted file mode 100644 index d4fe705bf6..0000000000 --- a/board/ait/cam_enc_4xx/ublimage.cfg +++ /dev/null @@ -1,31 +0,0 @@ -# -# (C Copyright 2011 -# Heiko Schocher DENX Software Engineering hs@denx.de. -# -# SPDX-License-Identifier: GPL-2.0+ -# -# Refer doc/README.ublimage for more details about how-to configure -# and create ublimage boot image -# -# The syntax is taken as close as possible with the kwbimage - -# UBL special mode : one of -# safe (the board has no nand neither onenand) -MODE safe - -# Entry point address for the user bootloader (absolute address) -# nand spl TEXT_BASE = 0x20 !! -ENTRY 0x00000020 - -# Number of pages (size of user bootloader in number of pages) -# @ nand spl 6 pages -PAGES 6 - -# Block number where user bootloader is present -START_BLOCK 0 - -# Page number where user bootloader is present -# Page 0 is always UBL header -START_PAGE 0 - -LD_ADDR 0x20 diff --git a/configs/cam_enc_4xx_defconfig b/configs/cam_enc_4xx_defconfig deleted file mode 100644 index a67bf0ed9c..0000000000 --- a/configs/cam_enc_4xx_defconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIG_ARM=y -CONFIG_ARCH_DAVINCI=y -CONFIG_TARGET_CAM_ENC_4XX=y -CONFIG_SPL=y -# CONFIG_CMD_IMLS is not set -# CONFIG_CMD_FLASH is not set -# CONFIG_CMD_FPGA is not set -# CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y -CONFIG_SYS_PROMPT="cam_enc_4xx> " diff --git a/doc/README.scrapyard b/doc/README.scrapyard index f029a0f757..fb1ed42320 100644 --- a/doc/README.scrapyard +++ b/doc/README.scrapyard @@ -12,6 +12,7 @@ The list should be sorted in reverse chronological order. Board Arch CPU Commit Removed Last known maintainer/contact ================================================================================================= +cam_enc_4xx arm arm926ejs - - Heiko Schocher atstk1003 avr32 - e5354b8a 2015-06-10 Haavard Skinnemoen atstk1004 avr32 - e5354b8a 2015-06-10 Haavard Skinnemoen atstk1006 avr32 - e5354b8a 2015-06-10 Haavard Skinnemoen diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h deleted file mode 100644 index 578c4ab856..0000000000 --- a/include/configs/cam_enc_4xx.h +++ /dev/null @@ -1,504 +0,0 @@ -/* - * Copyright (C) 2009 Texas Instruments Incorporated - * - * Copyright (C) 2011 - * Heiko Schocher, DENX Software Engineering, hs@denx.de. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __CONFIG_H -#define __CONFIG_H - -#define CONFIG_SYS_NO_FLASH /* that is, no *NOR* flash */ -#define CONFIG_SYS_CONSOLE_INFO_QUIET - -/* SoC Configuration */ -#define CONFIG_SYS_TIMERBASE 0x01c21400 /* use timer 0 */ -#define CONFIG_SYS_HZ_CLOCK 24000000 /* timer0 freq */ -#define CONFIG_SOC_DM365 - -#define CONFIG_MACH_TYPE MACH_TYPE_DAVINCI_DM365_EVM - -#define CONFIG_HOSTNAME cam_enc_4xx - -#define CONFIG_BOARD_LATE_INIT -#define CONFIG_CAM_ENC_LED_MASK 0x0fc00000 - -/* Memory Info */ -#define CONFIG_NR_DRAM_BANKS 1 -#define PHYS_SDRAM_1 0x80000000 -#define PHYS_SDRAM_1_SIZE (256 << 20) /* 256 MiB */ -#define DDR_4BANKS /* 4-bank DDR2 (256MB) */ -#define CONFIG_MAX_RAM_BANK_SIZE (256 << 20) /* 256 MB */ -#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 - -/* Serial Driver info: UART0 for console */ -#define CONFIG_SYS_NS16550 -#define CONFIG_SYS_NS16550_SERIAL -#define CONFIG_SYS_NS16550_REG_SIZE -4 -#define CONFIG_SYS_NS16550_COM1 0x01c20000 -#define CONFIG_SYS_NS16550_CLK CONFIG_SYS_HZ_CLOCK -#define CONFIG_CONS_INDEX 1 -#define CONFIG_BAUDRATE 115200 - -/* Network Configuration */ -#define CONFIG_DRIVER_TI_EMAC -#define CONFIG_EMAC_MDIO_PHY_NUM 0 -#define CONFIG_SYS_EMAC_TI_CLKDIV 0xa9 /* 1MHz */ -#define CONFIG_MII -#define CONFIG_BOOTP_DNS -#define CONFIG_BOOTP_DNS2 -#define CONFIG_BOOTP_SEND_HOSTNAME -#define CONFIG_NET_RETRY_COUNT 10 -#define CONFIG_CMD_MII -#define CONFIG_SYS_DCACHE_OFF -#define CONFIG_RESET_PHY_R - -/* I2C */ -#define CONFIG_SYS_I2C -#define CONFIG_SYS_I2C_DAVINCI -#define CONFIG_SYS_DAVINCI_I2C_SPEED 400000 -#define CONFIG_SYS_DAVINCI_I2C_SLAVE 0x10 /* SMBus host address */ - -/* NAND: socketed, two chipselects, normally 2 GBytes */ -#define CONFIG_NAND_DAVINCI -#define CONFIG_SYS_NAND_CS 2 -#define CONFIG_SYS_NAND_USE_FLASH_BBT -#define CONFIG_SYS_NAND_4BIT_HW_ECC_OOBFIRST -#define CONFIG_SYS_NAND_PAGE_2K - -#define CONFIG_SYS_NAND_LARGEPAGE -#define CONFIG_SYS_NAND_BASE_LIST { 0x02000000, } -/* socket has two chipselects, nCE0 gated by address BIT(14) */ -#define CONFIG_SYS_MAX_NAND_DEVICE 1 - -/* SPI support */ -#define CONFIG_SPI -#define CONFIG_SPI_FLASH_STMICRO -#define CONFIG_DAVINCI_SPI -#define CONFIG_SYS_SPI_BASE DAVINCI_SPI1_BASE -#define CONFIG_SYS_SPI_CLK davinci_clk_get(SPI_PLLDIV) -#define CONFIG_SF_DEFAULT_SPEED 3000000 -#define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED -#define CONFIG_CMD_SF - -/* SD/MMC */ -#define CONFIG_MMC -#define CONFIG_GENERIC_MMC -#define CONFIG_DAVINCI_MMC -#define CONFIG_MMC_MBLOCK - -/* U-Boot command configuration */ -#define CONFIG_CMD_ASKENV -#define CONFIG_CMD_CACHE -#define CONFIG_CMD_DHCP -#define CONFIG_CMD_I2C -#define CONFIG_CMD_PING -#define CONFIG_CMD_SAVES - -#ifdef CONFIG_CMD_BDI -#define CONFIG_CLOCKS -#endif - -#ifdef CONFIG_MMC -#define CONFIG_DOS_PARTITION -#define CONFIG_CMD_EXT2 -#define CONFIG_CMD_FAT -#define CONFIG_CMD_MMC -#endif - -#ifdef CONFIG_NAND_DAVINCI -#define CONFIG_CMD_MTDPARTS -#define CONFIG_MTD_PARTITIONS -#define CONFIG_MTD_DEVICE -#define CONFIG_CMD_NAND -#define CONFIG_CMD_UBI -#define CONFIG_CMD_UBIFS -#define CONFIG_RBTREE -#define CONFIG_LZO -#endif - -#define CONFIG_CRC32_VERIFY -#define CONFIG_MX_CYCLIC - -/* U-Boot general configuration */ -#define CONFIG_BOOTFILE "uImage" /* Boot file name */ -#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ -#define CONFIG_SYS_PBSIZE /* Print buffer size */ \ - (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) -#define CONFIG_SYS_MAXARGS 16 /* max number of command args */ -#define CONFIG_SYS_HUSH_PARSER -#define CONFIG_SYS_LONGHELP - -#define CONFIG_MENU -#define CONFIG_MENU_SHOW -#define CONFIG_FIT -#define CONFIG_BOARD_IMG_ADDR_R 0x80000000 - -#ifdef CONFIG_NAND_DAVINCI -#define CONFIG_ENV_SIZE (16 << 10) -#define CONFIG_ENV_IS_IN_NAND -#define CONFIG_ENV_OFFSET 0x180000 -#define CONFIG_ENV_RANGE 0x040000 -#define CONFIG_ENV_OFFSET_REDUND 0x1c0000 -#undef CONFIG_ENV_IS_IN_FLASH -#endif - -#if defined(CONFIG_MMC) && !defined(CONFIG_ENV_IS_IN_NAND) -#define CONFIG_CMD_ENV -#define CONFIG_SYS_MMC_ENV_DEV 0 -#define CONFIG_ENV_SIZE (16 << 10) /* 16 KiB */ -#define CONFIG_ENV_OFFSET (51 << 9) /* Sector 51 */ -#define CONFIG_ENV_IS_IN_MMC -#undef CONFIG_ENV_IS_IN_FLASH -#endif - -#define CONFIG_BOOTDELAY 3 -/* - * 24MHz InputClock / 15 prediv -> 1.6 MHz timer running - * Timeout 1 second. - */ -#define CONFIG_AIT_TIMER_TIMEOUT 0x186a00 - -#define CONFIG_CMDLINE_EDITING -#define CONFIG_VERSION_VARIABLE -#define CONFIG_TIMESTAMP - -/* U-Boot memory configuration */ -#define CONFIG_SYS_MALLOC_LEN (1 << 20) /* 1 MiB */ -#define CONFIG_SYS_MEMTEST_START 0x80000000 /* physical address */ -#define CONFIG_SYS_MEMTEST_END 0x81000000 /* test 16MB RAM */ - -/* Linux interfacing */ -#define CONFIG_CMDLINE_TAG -#define CONFIG_SETUP_MEMORY_TAGS -#define CONFIG_SYS_BARGSIZE 1024 /* bootarg Size */ -#define CONFIG_SYS_LOAD_ADDR 0x80700000 /* kernel address */ - -#define MTDIDS_DEFAULT "nand0=davinci_nand.0" -#define MTDPARTS_DEFAULT \ - "mtdparts=" \ - "davinci_nand.0:" \ - "128k(spl)," \ - "384k(UBLheader)," \ - "1m(u-boot)," \ - "512k(env)," \ - "-(ubi)" - -#define CONFIG_SYS_NAND_PAGE_SIZE 0x800 -#define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000 - -/* Defines for SPL */ -#define CONFIG_SPL_FRAMEWORK -#define CONFIG_SPL_BOARD_INIT -#define CONFIG_SPL_LIBGENERIC_SUPPORT -#define CONFIG_SPL_NAND_SUPPORT -#define CONFIG_SPL_NAND_BASE -#define CONFIG_SPL_NAND_DRIVERS -#define CONFIG_SPL_NAND_ECC -#define CONFIG_SPL_NAND_SIMPLE -#define CONFIG_SYS_NAND_HW_ECC_OOBFIRST -#define CONFIG_SPL_SERIAL_SUPPORT -#define CONFIG_SPL_POST_MEM_SUPPORT -#define CONFIG_SPL_LDSCRIPT "$(BOARDDIR)/u-boot-spl.lds" -#define CONFIG_SPL_STACK (0x00010000 + 0x7f00) - -#define CONFIG_SPL_TEXT_BASE 0x00000020 /*CONFIG_SYS_SRAM_START*/ -/* Provide at least 16MB spacing between us and the Linux Kernel image */ -#define CONFIG_SPL_PAD_TO 12320 -#define CONFIG_SPL_MAX_FOOTPRINT 12288 - -#ifndef CONFIG_SPL_BUILD -#define CONFIG_SYS_TEXT_BASE 0x81080000 -#endif - -#define CONFIG_SYS_NAND_BASE 0x02000000 -#define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \ - CONFIG_SYS_NAND_PAGE_SIZE) - -#define CONFIG_SYS_NAND_ECCPOS { \ - 24, 25, 26, 27, 28, \ - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, \ - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, \ - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, \ - 59, 60, 61, 62, 63 } -#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0 -#define CONFIG_SYS_NAND_ECCSIZE 0x200 -#define CONFIG_SYS_NAND_ECCBYTES 10 -#define CONFIG_SYS_NAND_MAX_OOBFREE 2 -#define CONFIG_SYS_NAND_MAX_ECCPOS 56 -#define CONFIG_SYS_NAND_OOBSIZE 64 -#define CONFIG_SYS_NAND_5_ADDR_CYCLE - -/* - * RBL searches from Block n (n = 1..24) - * so we can define, how many UBL Headers - * we can write before the real spl code - */ -#define CONFIG_SYS_NROF_PAGES_NAND_SPL 6 - -#define CONFIG_SYS_NAND_U_BOOT_DST 0x81080000 /* u-boot TEXT_BASE */ -#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_NAND_U_BOOT_DST - -/* - * Post tests for memory testing - */ -#define CONFIG_POST CONFIG_SYS_POST_MEMORY -#define _POST_WORD_ADDR 0x0 - -#define CONFIG_DISPLAY_BOARDINFO - -#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SPL_STACK - -#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 -#define CONFIG_SYS_NAND_U_BOOT_SIZE 0xa0000 -#define CONFIG_SYS_NAND_U_BOOT_ERA_SIZE 0x100000 - -/* for UBL header */ -#define CONFIG_SYS_UBL_BLOCK (CONFIG_SYS_NAND_PAGE_SIZE) - -#define CONFIG_SYS_DM36x_PLL1_PLLM 0x55 -#define CONFIG_SYS_DM36x_PLL1_PREDIV 0x8005 -#define CONFIG_SYS_DM36x_PLL2_PLLM 0x09 -#define CONFIG_SYS_DM36x_PLL2_PREDIV 0x8000 -#define CONFIG_SYS_DM36x_PERI_CLK_CTRL 0x243F04FC -#define CONFIG_SYS_DM36x_PLL1_PLLDIV1 0x801b -#define CONFIG_SYS_DM36x_PLL1_PLLDIV2 0x8001 -/* POST DIV 680/2 = 340Mhz -> MJCP and HDVICP bus interface clock */ -#define CONFIG_SYS_DM36x_PLL1_PLLDIV3 0x8001 -/* - * POST DIV 680/4 = 170Mhz -> EDMA/Peripheral CFG0(1/2 MJCP/HDVICP bus - * interface clk) - */ -#define CONFIG_SYS_DM36x_PLL1_PLLDIV4 0x8003 -/* POST DIV 680/2 = 340Mhz -> VPSS */ -#define CONFIG_SYS_DM36x_PLL1_PLLDIV5 0x8001 -/* POST DIV 680/9 = 75.6 Mhz -> VENC */ -#define CONFIG_SYS_DM36x_PLL1_PLLDIV6 0x8008 -/* - * POST DIV 680/1 = 680Mhz -> DDRx2(with internal divider of 2, clock boils - * down to 340 Mhz) - */ -#define CONFIG_SYS_DM36x_PLL1_PLLDIV7 0x8000 -/* POST DIV 680/7= 97Mhz-> MMC0/SD0 */ -#define CONFIG_SYS_DM36x_PLL1_PLLDIV8 0x8006 -/* POST DIV 680/28 = 24.3Mhz-> CLKOUT */ -#define CONFIG_SYS_DM36x_PLL1_PLLDIV9 0x801b - -#define CONFIG_SYS_DM36x_PLL2_PLLDIV1 0x8011 -/* POST DIV 432/1=432 Mhz -> ARM926/(HDVICP block) clk */ -#define CONFIG_SYS_DM36x_PLL2_PLLDIV2 0x8000 -#define CONFIG_SYS_DM36x_PLL2_PLLDIV3 0x8001 -/* POST DIV 432/21= 20.5714 Mhz->VOICE Codec clk */ -#define CONFIG_SYS_DM36x_PLL2_PLLDIV4 0x8014 -/* POST DIV 432/16=27 Mhz -> VENC(For SD modes, requires) */ -#define CONFIG_SYS_DM36x_PLL2_PLLDIV5 0x800f - -/* - * READ LATENCY 7 (CL + 2) - * CONFIG_PWRDNEN = 1 - * CONFIG_EXT_STRBEN = 1 - */ -#define CONFIG_SYS_DM36x_DDR2_DDRPHYCR (0 \ - | DV_DDR_PHY_EXT_STRBEN \ - | DV_DDR_PHY_PWRDNEN \ - | (7 << DV_DDR_PHY_RD_LATENCY_SHIFT)) - -/* - * T_RFC = (trfc/DDR_CLK) - 1 = (195 / 2.941) - 1 - * T_RP = (trp/DDR_CLK) - 1 = (12.5 / 2.941) - 1 - * T_RCD = (trcd/DDR_CLK) - 1 = (12.5 / 2.941) - 1 - * T_WR = (twr/DDR_CLK) - 1 = (15 / 2.941) - 1 - * T_RAS = (tras/DDR_CLK) - 1 = (45 / 2.941) - 1 - * T_RC = (trc/DDR_CLK) - 1 = (57.5 / 2.941) - 1 - * T_RRD = (trrd/DDR_CLK) - 1 = (7.5 / 2.941) - 1 - * T_WTR = (twtr/DDR_CLK) - 1 = (7.5 / 2.941) - 1 - */ -#define CONFIG_SYS_DM36x_DDR2_SDTIMR (0 \ - | (66 << DV_DDR_SDTMR1_RFC_SHIFT) \ - | (4 << DV_DDR_SDTMR1_RP_SHIFT) \ - | (4 << DV_DDR_SDTMR1_RCD_SHIFT) \ - | (5 << DV_DDR_SDTMR1_WR_SHIFT) \ - | (14 << DV_DDR_SDTMR1_RAS_SHIFT) \ - | (19 << DV_DDR_SDTMR1_RC_SHIFT) \ - | (2 << DV_DDR_SDTMR1_RRD_SHIFT) \ - | (2 << DV_DDR_SDTMR1_WTR_SHIFT)) - -/* - * T_RASMAX = (trasmax/refresh_rate) - 1 = (70K / 7812.6) - 1 - * T_XP = tCKE - 1 = 3 - 2 - * T_XSNR= ((trfc + 10)/DDR_CLK) - 1 = (205 / 2.941) - 1 - * T_XSRD = txsrd - 1 = 200 - 1 - * T_RTP = (trtp/DDR_CLK) - 1 = (7.5 / 2.941) - 1 - * T_CKE = tcke - 1 = 3 - 1 - */ -#define CONFIG_SYS_DM36x_DDR2_SDTIMR2 (0 \ - | (8 << DV_DDR_SDTMR2_RASMAX_SHIFT) \ - | (2 << DV_DDR_SDTMR2_XP_SHIFT) \ - | (69 << DV_DDR_SDTMR2_XSNR_SHIFT) \ - | (199 << DV_DDR_SDTMR2_XSRD_SHIFT) \ - | (2 << DV_DDR_SDTMR2_RTP_SHIFT) \ - | (2 << DV_DDR_SDTMR2_CKE_SHIFT)) - -/* PR_OLD_COUNT = 0xfe */ -#define CONFIG_SYS_DM36x_DDR2_PBBPR 0x000000FE -/* refresh rate = 0x768 */ -#define CONFIG_SYS_DM36x_DDR2_SDRCR 0x00000768 - -#define CONFIG_SYS_DM36x_DDR2_SDBCR (0 \ - | (2 << DV_DDR_SDCR_PAGESIZE_SHIFT) \ - | (3 << DV_DDR_SDCR_IBANK_SHIFT) \ - | (5 << DV_DDR_SDCR_CL_SHIFT) \ - | (1 << DV_DDR_SDCR_BUS_WIDTH_SHIFT) \ - | (1 << DV_DDR_SDCR_TIMUNLOCK_SHIFT) \ - | (1 << DV_DDR_SDCR_DDREN_SHIFT) \ - | (0 << DV_DDR_SDCR_DDRDRIVE0_SHIFT) \ - | (1 << DV_DDR_SDCR_DDR2EN_SHIFT) \ - | (1 << DV_DDR_SDCR_DDR_DDQS_SHIFT) \ - | (1 << DV_DDR_SDCR_BOOTUNLOCK_SHIFT)) - -#define CONFIG_SYS_DM36x_AWCCR 0xff -#define CONFIG_SYS_DM36x_AB1CR 0x40400204 -#define CONFIG_SYS_DM36x_AB2CR 0x04ca2650 - -/* All Video Inputs */ -#define CONFIG_SYS_DM36x_PINMUX0 0x00000000 -/* - * All Video Outputs, - * GPIO 86, 87 + 90 0x0000f030 - */ -#define CONFIG_SYS_DM36x_PINMUX1 0x00530002 -#define CONFIG_SYS_DM36x_PINMUX2 0x00001815 -/* - * SPI1, UART1, I2C, SD0, SD1, McBSP0, CLKOUTs - * GPIO 25 0x60000000 - */ -#define CONFIG_SYS_DM36x_PINMUX3 0x9b5affff -/* - * MMC/SD0 instead of MS, SPI0 - * GPIO 34 0x0000c000 - */ -#define CONFIG_SYS_DM36x_PINMUX4 0x00002655 - -/* - * Default environment settings - */ - -#define DVN4XX_UBOOT_ADDR_R_RAM 0x80000000 -/* (DVN4XX_UBOOT_ADDR_R_RAM + CONFIG_SYS_NAND_PAGE_SIZE) */ -#define DVN4XX_UBOOT_ADDR_R_NAND_SPL 0x80000800 -/* - * (DVN4XX_UBOOT_ADDR_R_NAND_SPL + (CONFIG_SYS_NROF_PAGES_NAND_SPL * \ - * CONFIG_SYS_NAND_PAGE_SIZE)) - */ -#define DVN4XX_UBOOT_ADDR_R_UBOOT 0x80003800 - -#define CONFIG_EXTRA_ENV_SETTINGS \ - "u_boot_addr_r=" __stringify(DVN4XX_UBOOT_ADDR_R_RAM) "\0" \ - "u-boot=" __stringify(CONFIG_HOSTNAME) "/u-boot.ubl\0" \ - "load=tftp ${u_boot_addr_r} ${u-boot}\0" \ - "pagesz=" __stringify(CONFIG_SYS_NAND_PAGE_SIZE) "\0" \ - "writeheader=nandrbl rbl;nand erase 20000 ${pagesz};" \ - "nand write ${u_boot_addr_r} 20000 ${pagesz};" \ - "nandrbl uboot\0" \ - "writenand_spl=nandrbl rbl;nand erase 0 3000;" \ - "nand write " __stringify(DVN4XX_UBOOT_ADDR_R_NAND_SPL) \ - " 0 3000;nandrbl uboot\0" \ - "writeuboot=nandrbl uboot;" \ - "nand erase " __stringify(CONFIG_SYS_NAND_U_BOOT_OFFS) " "\ - __stringify(CONFIG_SYS_NAND_U_BOOT_ERA_SIZE) \ - ";nand write " __stringify(DVN4XX_UBOOT_ADDR_R_UBOOT) \ - " " __stringify(CONFIG_SYS_NAND_U_BOOT_OFFS) " " \ - __stringify(CONFIG_SYS_NAND_U_BOOT_SIZE) "\0" \ - "update=run load writenand_spl writeuboot\0" \ - "bootcmd=run net_nfs\0" \ - "rootpath=/opt/eldk-arm/arm\0" \ - "mtdids=" MTDIDS_DEFAULT "\0" \ - "mtdparts=" MTDPARTS_DEFAULT "\0" \ - "netdev=eth0\0" \ - "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \ - "addmisc=setenv bootargs ${bootargs} app_reset=${app_reset}\0" \ - "addcon=setenv bootargs ${bootargs} console=ttyS0," \ - "${baudrate}n8\0" \ - "addip=setenv bootargs ${bootargs} " \ - "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ - ":${hostname}:${netdev}:off eth=${ethaddr} panic=1\0" \ - "rootpath=/opt/eldk-arm/arm\0" \ - "nfsargs=setenv bootargs root=/dev/nfs rw " \ - "nfsroot=${serverip}:${rootpath}\0" \ - "bootfile=" __stringify(CONFIG_HOSTNAME) "/uImage \0" \ - "kernel_addr_r=80600000\0" \ - "load_kernel=tftp ${kernel_addr_r} ${bootfile}\0" \ - "ubi_load_kernel=ubi part ubi 2048;ubifsmount ubi:${img_volume};" \ - "ubifsload ${kernel_addr_r} boot/uImage\0" \ - "fit_addr_r=" __stringify(CONFIG_BOARD_IMG_ADDR_R) "\0" \ - "img_addr_r=" __stringify(CONFIG_BOARD_IMG_ADDR_R) "\0" \ - "img_file=" __stringify(CONFIG_HOSTNAME) "/ait.itb\0" \ - "header_addr=20000\0" \ - "img_writeheader=nandrbl rbl;" \ - "nand erase ${header_addr} ${pagesz};" \ - "nand write ${img_addr_r} ${header_addr} ${pagesz};" \ - "nandrbl uboot\0" \ - "img_writespl=nandrbl rbl;nand erase 0 3000;" \ - "nand write ${img_addr_r} 0 3000;nandrbl uboot\0" \ - "img_writeuboot=nandrbl uboot;" \ - "nand erase " __stringify(CONFIG_SYS_NAND_U_BOOT_OFFS) " "\ - __stringify(CONFIG_SYS_NAND_U_BOOT_ERA_SIZE) \ - ";nand write ${img_addr_r} " \ - __stringify(CONFIG_SYS_NAND_U_BOOT_OFFS) " " \ - __stringify(CONFIG_SYS_NAND_U_BOOT_SIZE) "\0" \ - "img_writedfenv=ubi part ubi 2048;" \ - "ubi write ${img_addr_r} default ${filesize}\0" \ - "img_volume=rootfs1\0" \ - "img_writeramdisk=ubi part ubi 2048;" \ - "ubi write ${img_addr_r} ${img_volume} ${filesize}\0" \ - "load_img=tftp ${fit_addr_r} ${img_file}\0" \ - "net_nfs=run load_kernel; " \ - "run nfsargs addip addcon addmtd addmisc;" \ - "bootm ${kernel_addr_r}\0" \ - "ubi_ubi=run ubi_load_kernel; " \ - "run ubiargs addip addcon addmtd addmisc;" \ - "bootm ${kernel_addr_r}\0" \ - "ubiargs=setenv bootargs ubi.mtd=4,2048" \ - " root=ubi0:${img_volume} rw rootfstype=ubifs\0" \ - "app_reset=no\0" \ - "dvn_app_vers=void\0" \ - "dvn_boot_vers=void\0" \ - "savenewvers=run savetmpparms restoreparms; saveenv;" \ - "run restoretmpparms\0" \ - "savetmpparms=setenv y_ipaddr ${ipaddr};" \ - "setenv y_netmask ${netmask};" \ - "setenv y_serverip ${serverip};" \ - "setenv y_gatewayip ${gatewayip}\0" \ - "saveparms=setenv x_ipaddr ${ipaddr};" \ - "setenv x_netmask ${netmask};" \ - "setenv x_serverip ${serverip};" \ - "setenv x_gatewayip ${gatewayip}\0" \ - "restoreparms=setenv ipaddr ${x_ipaddr};" \ - "setenv netmask ${x_netmask};" \ - "setenv serverip ${x_serverip};" \ - "setenv gatewayip ${x_gatewayip}\0" \ - "restoretmpparms=setenv ipaddr ${y_ipaddr};" \ - "setenv netmask ${y_netmask};" \ - "setenv serverip ${y_serverip};" \ - "setenv gatewayip ${y_gatewayip}\0" \ - "\0" - -/* USB Configuration */ -#define CONFIG_USB_DAVINCI -#define CONFIG_USB_MUSB_HCD -#define CONFIG_DV_USBPHY_CTL (USBPHY_SESNDEN | USBPHY_VBDTCTEN | \ - USBPHY_PHY24MHZ) - -#define CONFIG_CMD_USB /* include support for usb cmd */ -#define CONFIG_USB_STORAGE /* MSC class support */ -#define CONFIG_CMD_STORAGE /* inclue support for usb-storage cmd */ -#define CONFIG_CMD_FAT /* inclue support for FAT/storage */ -#define CONFIG_DOS_PARTITION /* inclue support for FAT/storage */ - -#undef DAVINCI_DM365EVM -#define PINMUX4_USBDRVBUS_BITCLEAR 0x3000 -#define PINMUX4_USBDRVBUS_BITSET 0x2000 - -#endif /* __CONFIG_H */