diff options
author | 2017-04-25 03:31:15 -0700 | |
---|---|---|
committer | 2017-05-22 06:48:08 +0000 | |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/u-boot/board/samsung/common | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/u-boot/board/samsung/common')
-rw-r--r-- | qemu/roms/u-boot/board/samsung/common/Makefile | 15 | ||||
-rw-r--r-- | qemu/roms/u-boot/board/samsung/common/board.c | 324 | ||||
-rw-r--r-- | qemu/roms/u-boot/board/samsung/common/dfu_sample_env.txt | 9 | ||||
-rw-r--r-- | qemu/roms/u-boot/board/samsung/common/exynos-uboot-spl.lds | 59 | ||||
-rw-r--r-- | qemu/roms/u-boot/board/samsung/common/misc.c | 411 | ||||
-rw-r--r-- | qemu/roms/u-boot/board/samsung/common/multi_i2c.c | 59 | ||||
-rw-r--r-- | qemu/roms/u-boot/board/samsung/common/thor.c | 21 | ||||
-rw-r--r-- | qemu/roms/u-boot/board/samsung/common/ums.c | 74 |
8 files changed, 0 insertions, 972 deletions
diff --git a/qemu/roms/u-boot/board/samsung/common/Makefile b/qemu/roms/u-boot/board/samsung/common/Makefile deleted file mode 100644 index 7d2bb8c4a..000000000 --- a/qemu/roms/u-boot/board/samsung/common/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Copyright (C) 2012 Samsung Electronics -# Lukasz Majewski <l.majewski@samsung.com> -# -# SPDX-License-Identifier: GPL-2.0+ -# - -obj-$(CONFIG_SOFT_I2C_MULTI_BUS) += multi_i2c.o -obj-$(CONFIG_THOR_FUNCTION) += thor.o -obj-$(CONFIG_CMD_USB_MASS_STORAGE) += ums.o -obj-$(CONFIG_MISC_COMMON) += misc.o - -ifndef CONFIG_SPL_BUILD -obj-$(CONFIG_BOARD_COMMON) += board.o -endif diff --git a/qemu/roms/u-boot/board/samsung/common/board.c b/qemu/roms/u-boot/board/samsung/common/board.c deleted file mode 100644 index de154e0f6..000000000 --- a/qemu/roms/u-boot/board/samsung/common/board.c +++ /dev/null @@ -1,324 +0,0 @@ -/* - * (C) Copyright 2013 SAMSUNG Electronics - * Rajeshwari Shinde <rajeshwari.s@samsung.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <cros_ec.h> -#include <errno.h> -#include <fdtdec.h> -#include <spi.h> -#include <tmu.h> -#include <netdev.h> -#include <asm/io.h> -#include <asm/arch/board.h> -#include <asm/arch/cpu.h> -#include <asm/arch/dwmmc.h> -#include <asm/arch/gpio.h> -#include <asm/arch/mmc.h> -#include <asm/arch/pinmux.h> -#include <asm/arch/power.h> -#include <power/pmic.h> -#include <asm/arch/sromc.h> -#include <lcd.h> -#include <samsung/misc.h> - -DECLARE_GLOBAL_DATA_PTR; - -int __exynos_early_init_f(void) -{ - return 0; -} -int exynos_early_init_f(void) - __attribute__((weak, alias("__exynos_early_init_f"))); - -int __exynos_power_init(void) -{ - return 0; -} -int exynos_power_init(void) - __attribute__((weak, alias("__exynos_power_init"))); - -#if defined CONFIG_EXYNOS_TMU -/* Boot Time Thermal Analysis for SoC temperature threshold breach */ -static void boot_temp_check(void) -{ - int temp; - - switch (tmu_monitor(&temp)) { - case TMU_STATUS_NORMAL: - break; - case TMU_STATUS_TRIPPED: - /* - * Status TRIPPED ans WARNING means corresponding threshold - * breach - */ - puts("EXYNOS_TMU: TRIPPING! Device power going down ...\n"); - set_ps_hold_ctrl(); - hang(); - break; - case TMU_STATUS_WARNING: - puts("EXYNOS_TMU: WARNING! Temperature very high\n"); - break; - case TMU_STATUS_INIT: - /* - * TMU_STATUS_INIT means something is wrong with temperature - * sensing and TMU status was changed back from NORMAL to INIT. - */ - puts("EXYNOS_TMU: WARNING! Temperature sensing not done\n"); - break; - default: - debug("EXYNOS_TMU: Unknown TMU state\n"); - } -} -#endif - -int board_init(void) -{ - gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL); -#if defined CONFIG_EXYNOS_TMU - if (tmu_init(gd->fdt_blob) != TMU_STATUS_NORMAL) { - debug("%s: Failed to init TMU\n", __func__); - return -1; - } - boot_temp_check(); -#endif - -#ifdef CONFIG_EXYNOS_SPI - spi_init(); -#endif - return exynos_init(); -} - -int dram_init(void) -{ - int i; - u32 addr; - - for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { - addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE); - gd->ram_size += get_ram_size((long *)addr, SDRAM_BANK_SIZE); - } - return 0; -} - -void dram_init_banksize(void) -{ - int i; - u32 addr, size; - - for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { - addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE); - size = get_ram_size((long *)addr, SDRAM_BANK_SIZE); - - gd->bd->bi_dram[i].start = addr; - gd->bd->bi_dram[i].size = size; - } -} - -static int board_uart_init(void) -{ - int err, uart_id, ret = 0; - - for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) { - err = exynos_pinmux_config(uart_id, PINMUX_FLAG_NONE); - if (err) { - debug("UART%d not configured\n", - (uart_id - PERIPH_ID_UART0)); - ret |= err; - } - } - return ret; -} - -#ifdef CONFIG_BOARD_EARLY_INIT_F -int board_early_init_f(void) -{ - int err; - - err = board_uart_init(); - if (err) { - debug("UART init failed\n"); - return err; - } - -#ifdef CONFIG_SYS_I2C_INIT_BOARD - board_i2c_init(gd->fdt_blob); -#endif - - return exynos_early_init_f(); -} -#endif - -#if defined(CONFIG_POWER) -int power_init_board(void) -{ - set_ps_hold_ctrl(); - - return exynos_power_init(); -} -#endif - -#ifdef CONFIG_OF_CONTROL -#ifdef CONFIG_SMC911X -static int decode_sromc(const void *blob, struct fdt_sromc *config) -{ - int err; - int node; - - node = fdtdec_next_compatible(blob, 0, COMPAT_SAMSUNG_EXYNOS5_SROMC); - if (node < 0) { - debug("Could not find SROMC node\n"); - return node; - } - - config->bank = fdtdec_get_int(blob, node, "bank", 0); - config->width = fdtdec_get_int(blob, node, "width", 2); - - err = fdtdec_get_int_array(blob, node, "srom-timing", config->timing, - FDT_SROM_TIMING_COUNT); - if (err < 0) { - debug("Could not decode SROMC configuration Error: %s\n", - fdt_strerror(err)); - return -FDT_ERR_NOTFOUND; - } - return 0; -} -#endif - -int board_eth_init(bd_t *bis) -{ -#ifdef CONFIG_SMC911X - u32 smc_bw_conf, smc_bc_conf; - struct fdt_sromc config; - fdt_addr_t base_addr; - int node; - - node = decode_sromc(gd->fdt_blob, &config); - if (node < 0) { - debug("%s: Could not find sromc configuration\n", __func__); - return 0; - } - node = fdtdec_next_compatible(gd->fdt_blob, node, COMPAT_SMSC_LAN9215); - if (node < 0) { - debug("%s: Could not find lan9215 configuration\n", __func__); - return 0; - } - - /* We now have a node, so any problems from now on are errors */ - base_addr = fdtdec_get_addr(gd->fdt_blob, node, "reg"); - if (base_addr == FDT_ADDR_T_NONE) { - debug("%s: Could not find lan9215 address\n", __func__); - return -1; - } - - /* Ethernet needs data bus width of 16 bits */ - if (config.width != 2) { - debug("%s: Unsupported bus width %d\n", __func__, - config.width); - return -1; - } - smc_bw_conf = SROMC_DATA16_WIDTH(config.bank) - | SROMC_BYTE_ENABLE(config.bank); - - smc_bc_conf = SROMC_BC_TACS(config.timing[FDT_SROM_TACS]) | - SROMC_BC_TCOS(config.timing[FDT_SROM_TCOS]) | - SROMC_BC_TACC(config.timing[FDT_SROM_TACC]) | - SROMC_BC_TCOH(config.timing[FDT_SROM_TCOH]) | - SROMC_BC_TAH(config.timing[FDT_SROM_TAH]) | - SROMC_BC_TACP(config.timing[FDT_SROM_TACP]) | - SROMC_BC_PMC(config.timing[FDT_SROM_PMC]); - - /* Select and configure the SROMC bank */ - exynos_pinmux_config(PERIPH_ID_SROMC, config.bank); - s5p_config_sromc(config.bank, smc_bw_conf, smc_bc_conf); - return smc911x_initialize(0, base_addr); -#endif - return 0; -} - -#ifdef CONFIG_GENERIC_MMC -int board_mmc_init(bd_t *bis) -{ - int ret; - -#ifdef CONFIG_SDHCI - /* mmc initializattion for available channels */ - ret = exynos_mmc_init(gd->fdt_blob); - if (ret) - debug("mmc init failed\n"); -#endif -#ifdef CONFIG_DWMMC - /* dwmmc initializattion for available channels */ - ret = exynos_dwmmc_init(gd->fdt_blob); - if (ret) - debug("dwmmc init failed\n"); -#endif - - return ret; -} -#endif - -#ifdef CONFIG_DISPLAY_BOARDINFO -int checkboard(void) -{ - const char *board_name; - - board_name = fdt_getprop(gd->fdt_blob, 0, "model", NULL); - printf("Board: %s\n", board_name ? board_name : "unknown"); - - return 0; -} -#endif -#endif /* CONFIG_OF_CONTROL */ - -#ifdef CONFIG_BOARD_LATE_INIT -int board_late_init(void) -{ - stdio_print_current_devices(); - - if (cros_ec_get_error()) { - /* Force console on */ - gd->flags &= ~GD_FLG_SILENT; - - printf("cros-ec communications failure %d\n", - cros_ec_get_error()); - puts("\nPlease reset with Power+Refresh\n\n"); - panic("Cannot init cros-ec device"); - return -1; - } - return 0; -} -#endif - -int arch_early_init_r(void) -{ -#ifdef CONFIG_CROS_EC - if (cros_ec_board_init()) { - printf("%s: Failed to init EC\n", __func__); - return 0; - } -#endif - - return 0; -} - -#ifdef CONFIG_MISC_INIT_R -int misc_init_r(void) -{ -#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG - set_board_info(); -#endif -#ifdef CONFIG_LCD_MENU - keys_init(); - check_boot_mode(); -#endif -#ifdef CONFIG_CMD_BMP - if (panel_info.logo_on) - draw_logo(); -#endif - return 0; -} -#endif diff --git a/qemu/roms/u-boot/board/samsung/common/dfu_sample_env.txt b/qemu/roms/u-boot/board/samsung/common/dfu_sample_env.txt deleted file mode 100644 index d6ee8a228..000000000 --- a/qemu/roms/u-boot/board/samsung/common/dfu_sample_env.txt +++ /dev/null @@ -1,9 +0,0 @@ -mmcboot=setenv bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart} ${rootfstype} rootwait ${console}; run loaduimage; bootm 0x40007FC0 -rootfstype=ext4 -loaduimage=ext4load mmc ${mmcdev}:${mmcbootpart} 0x40007FC0 uImage -mmcdev=0 -mmcbootpart=2 -mmcrootpart=5 -console=console=ttySAC2,115200n8 -bootcmd=run mmcboot -dfu_alt_info=u-boot mmc 80 800;params.bin mmc 0x38 0x8;uImage ext4 0 2 diff --git a/qemu/roms/u-boot/board/samsung/common/exynos-uboot-spl.lds b/qemu/roms/u-boot/board/samsung/common/exynos-uboot-spl.lds deleted file mode 100644 index b22f9e07b..000000000 --- a/qemu/roms/u-boot/board/samsung/common/exynos-uboot-spl.lds +++ /dev/null @@ -1,59 +0,0 @@ -/* - * (C) Copyright 2002 - * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> - * - * Copyright (C) 2012 Samsung Electronics - * - * Based on arch/arm/cpu/armv7/omap-common/u-boot-spl.lds - * - * 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 -{ - .text : - { - __start = .; - arch/arm/cpu/armv7/start.o (.text*) - *(.text*) - } >.sram - . = ALIGN(4); - - .rodata : { *(SORT_BY_ALIGNMENT(.rodata*)) } >.sram - . = ALIGN(4); - - .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram - . = ALIGN(4); - - .u_boot_list : { - KEEP(*(SORT(.u_boot_list*))); - } >.sram - . = ALIGN(4); - - /* Align .machine_param on 256 byte boundary for easier searching */ - .machine_param ALIGN(0x100) : { *(.machine_param) } >.sram - . = ALIGN(4); - - __image_copy_end = .; - - .end : - { - *(.__end) - } >.sram - - .bss : - { - . = ALIGN(4); - __bss_start = .; - *(.bss*) - . = ALIGN(4); - __bss_end = .; - } >.sram -} diff --git a/qemu/roms/u-boot/board/samsung/common/misc.c b/qemu/roms/u-boot/board/samsung/common/misc.c deleted file mode 100644 index 3ff428978..000000000 --- a/qemu/roms/u-boot/board/samsung/common/misc.c +++ /dev/null @@ -1,411 +0,0 @@ -/* - * Copyright (C) 2013 Samsung Electronics - * Przemyslaw Marczak <p.marczak@samsung.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <lcd.h> -#include <libtizen.h> -#include <samsung/misc.h> -#include <errno.h> -#include <version.h> -#include <linux/sizes.h> -#include <asm/arch/cpu.h> -#include <asm/arch/gpio.h> -#include <asm/gpio.h> -#include <linux/input.h> -#include <power/pmic.h> -#include <mmc.h> - -DECLARE_GLOBAL_DATA_PTR; - -#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG -void set_board_info(void) -{ - char info[64]; - - snprintf(info, ARRAY_SIZE(info), "%d.%d", s5p_cpu_rev & 0x0f, - (s5p_cpu_rev & 0xf0) >> 0x04); - setenv("soc_rev", info); - - snprintf(info, ARRAY_SIZE(info), "%x", s5p_cpu_id); - setenv("soc_id", info); - -#ifdef CONFIG_REVISION_TAG - snprintf(info, ARRAY_SIZE(info), "%x", get_board_rev()); - setenv("board_rev", info); -#endif -#ifdef CONFIG_OF_LIBFDT - snprintf(info, ARRAY_SIZE(info), "%s%x-%s.dtb", - CONFIG_SYS_SOC, s5p_cpu_id, CONFIG_SYS_BOARD); - setenv("fdtfile", info); -#endif -} -#endif /* CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG */ - -#ifdef CONFIG_LCD_MENU -static int power_key_pressed(u32 reg) -{ - struct pmic *pmic; - u32 status; - u32 mask; - - pmic = pmic_get(KEY_PWR_PMIC_NAME); - if (!pmic) { - printf("%s: Not found\n", KEY_PWR_PMIC_NAME); - return 0; - } - - if (pmic_probe(pmic)) - return 0; - - if (reg == KEY_PWR_STATUS_REG) - mask = KEY_PWR_STATUS_MASK; - else - mask = KEY_PWR_INTERRUPT_MASK; - - if (pmic_reg_read(pmic, reg, &status)) - return 0; - - return !!(status & mask); -} - -static int key_pressed(int key) -{ - int value; - - switch (key) { - case KEY_POWER: - value = power_key_pressed(KEY_PWR_INTERRUPT_REG); - break; - case KEY_VOLUMEUP: - value = !gpio_get_value(KEY_VOL_UP_GPIO); - break; - case KEY_VOLUMEDOWN: - value = !gpio_get_value(KEY_VOL_DOWN_GPIO); - break; - default: - value = 0; - break; - } - - return value; -} - -static int check_keys(void) -{ - int keys = 0; - - if (key_pressed(KEY_POWER)) - keys += KEY_POWER; - if (key_pressed(KEY_VOLUMEUP)) - keys += KEY_VOLUMEUP; - if (key_pressed(KEY_VOLUMEDOWN)) - keys += KEY_VOLUMEDOWN; - - return keys; -} - -/* - * 0 BOOT_MODE_INFO - * 1 BOOT_MODE_THOR - * 2 BOOT_MODE_UMS - * 3 BOOT_MODE_DFU - * 4 BOOT_MODE_EXIT - */ -static char * -mode_name[BOOT_MODE_EXIT + 1] = { - "DEVICE", - "THOR", - "UMS", - "DFU", - "EXIT" -}; - -static char * -mode_info[BOOT_MODE_EXIT + 1] = { - "info", - "downloader", - "mass storage", - "firmware update", - "and run normal boot" -}; - -#define MODE_CMD_ARGC 4 - -static char * -mode_cmd[BOOT_MODE_EXIT + 1][MODE_CMD_ARGC] = { - {"", "", "", ""}, - {"thor", "0", "mmc", "0"}, - {"ums", "0", "mmc", "0"}, - {"dfu", "0", "mmc", "0"}, - {"", "", "", ""}, -}; - -static void display_board_info(void) -{ -#ifdef CONFIG_GENERIC_MMC - struct mmc *mmc = find_mmc_device(0); -#endif - vidinfo_t *vid = &panel_info; - - lcd_position_cursor(4, 4); - - lcd_printf("%s\n\t", U_BOOT_VERSION); - lcd_puts("\n\t\tBoard Info:\n"); -#ifdef CONFIG_SYS_BOARD - lcd_printf("\tBoard name: %s\n", CONFIG_SYS_BOARD); -#endif -#ifdef CONFIG_REVISION_TAG - lcd_printf("\tBoard rev: %u\n", get_board_rev()); -#endif - lcd_printf("\tDRAM banks: %u\n", CONFIG_NR_DRAM_BANKS); - lcd_printf("\tDRAM size: %u MB\n", gd->ram_size / SZ_1M); - -#ifdef CONFIG_GENERIC_MMC - if (mmc) { - if (!mmc->capacity) - mmc_init(mmc); - - lcd_printf("\teMMC size: %llu MB\n", mmc->capacity / SZ_1M); - } -#endif - if (vid) - lcd_printf("\tDisplay resolution: %u x % u\n", - vid->vl_col, vid->vl_row); - - lcd_printf("\tDisplay BPP: %u\n", 1 << vid->vl_bpix); -} - -static int mode_leave_menu(int mode) -{ - char *exit_option; - char *exit_boot = "boot"; - char *exit_back = "back"; - cmd_tbl_t *cmd; - int cmd_result; - int cmd_repeatable; - int leave; - - lcd_clear(); - - switch (mode) { - case BOOT_MODE_EXIT: - return 1; - case BOOT_MODE_INFO: - display_board_info(); - exit_option = exit_back; - leave = 0; - break; - default: - cmd = find_cmd(mode_cmd[mode][0]); - if (cmd) { - printf("Enter: %s %s\n", mode_name[mode], - mode_info[mode]); - lcd_printf("\n\n\t%s %s\n", mode_name[mode], - mode_info[mode]); - lcd_puts("\n\tDo not turn off device before finish!\n"); - - cmd_result = cmd_process(0, MODE_CMD_ARGC, - *(mode_cmd + mode), - &cmd_repeatable, NULL); - - if (cmd_result == CMD_RET_SUCCESS) { - printf("Command finished\n"); - lcd_clear(); - lcd_printf("\n\n\t%s finished\n", - mode_name[mode]); - - exit_option = exit_boot; - leave = 1; - } else { - printf("Command error\n"); - lcd_clear(); - lcd_printf("\n\n\t%s command error\n", - mode_name[mode]); - - exit_option = exit_back; - leave = 0; - } - } else { - lcd_puts("\n\n\tThis mode is not supported.\n"); - exit_option = exit_back; - leave = 0; - } - } - - lcd_printf("\n\n\tPress POWER KEY to %s\n", exit_option); - - /* Clear PWR button Rising edge interrupt status flag */ - power_key_pressed(KEY_PWR_INTERRUPT_REG); - - /* Wait for PWR key */ - while (!key_pressed(KEY_POWER)) - mdelay(1); - - lcd_clear(); - return leave; -} - -static void display_download_menu(int mode) -{ - char *selection[BOOT_MODE_EXIT + 1]; - int i; - - for (i = 0; i <= BOOT_MODE_EXIT; i++) - selection[i] = "[ ]"; - - selection[mode] = "[=>]"; - - lcd_clear(); - lcd_printf("\n\t\tDownload Mode Menu\n"); - - for (i = 0; i <= BOOT_MODE_EXIT; i++) - lcd_printf("\t%s %s - %s\n\n", selection[i], - mode_name[i], - mode_info[i]); -} - -static void download_menu(void) -{ - int mode = 0; - int last_mode = 0; - int run; - int key; - - display_download_menu(mode); - - while (1) { - run = 0; - - if (mode != last_mode) - display_download_menu(mode); - - last_mode = mode; - mdelay(100); - - key = check_keys(); - switch (key) { - case KEY_POWER: - run = 1; - break; - case KEY_VOLUMEUP: - if (mode > 0) - mode--; - break; - case KEY_VOLUMEDOWN: - if (mode < BOOT_MODE_EXIT) - mode++; - break; - default: - break; - } - - if (run) { - if (mode_leave_menu(mode)) - break; - - display_download_menu(mode); - } - } - - lcd_clear(); -} - -static void display_mode_info(void) -{ - lcd_position_cursor(4, 4); - lcd_printf("%s\n", U_BOOT_VERSION); - lcd_puts("\nDownload Mode Menu\n"); -#ifdef CONFIG_SYS_BOARD - lcd_printf("Board name: %s\n", CONFIG_SYS_BOARD); -#endif - lcd_printf("Press POWER KEY to display MENU options."); -} - -static int boot_menu(void) -{ - int key = 0; - int timeout = 10; - - display_mode_info(); - - while (timeout--) { - lcd_printf("\rNormal boot will start in: %d seconds.", timeout); - mdelay(1000); - - key = key_pressed(KEY_POWER); - if (key) - break; - } - - lcd_clear(); - - /* If PWR pressed - show download menu */ - if (key) { - printf("Power pressed - go to download menu\n"); - download_menu(); - printf("Download mode exit.\n"); - } - - return 0; -} - -void check_boot_mode(void) -{ - int pwr_key; - - pwr_key = power_key_pressed(KEY_PWR_STATUS_REG); - if (!pwr_key) - return; - - /* Clear PWR button Rising edge interrupt status flag */ - power_key_pressed(KEY_PWR_INTERRUPT_REG); - - if (key_pressed(KEY_VOLUMEUP)) - boot_menu(); - else if (key_pressed(KEY_VOLUMEDOWN)) - mode_leave_menu(BOOT_MODE_THOR); -} - -void keys_init(void) -{ - /* Set direction to input */ - gpio_direction_input(KEY_VOL_UP_GPIO); - gpio_direction_input(KEY_VOL_DOWN_GPIO); -} -#endif /* CONFIG_LCD_MENU */ - -#ifdef CONFIG_CMD_BMP -void draw_logo(void) -{ - int x, y; - ulong addr; - - addr = panel_info.logo_addr; - if (!addr) { - error("There is no logo data."); - return; - } - - if (panel_info.vl_width >= panel_info.logo_width) { - x = ((panel_info.vl_width - panel_info.logo_width) >> 1); - x += panel_info.logo_x_offset; /* For X center align */ - } else { - x = 0; - printf("Warning: image width is bigger than display width\n"); - } - - if (panel_info.vl_height >= panel_info.logo_height) { - y = ((panel_info.vl_height - panel_info.logo_height) >> 1); - y += panel_info.logo_y_offset; /* For Y center align */ - } else { - y = 0; - printf("Warning: image height is bigger than display height\n"); - } - - bmp_display(addr, x, y); -} -#endif /* CONFIG_CMD_BMP */ diff --git a/qemu/roms/u-boot/board/samsung/common/multi_i2c.c b/qemu/roms/u-boot/board/samsung/common/multi_i2c.c deleted file mode 100644 index 71c32c0b6..000000000 --- a/qemu/roms/u-boot/board/samsung/common/multi_i2c.c +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2012 Samsung Electronics - * Lukasz Majewski <l.majewski@samsung.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <i2c.h> - -#ifndef CONFIG_SOFT_I2C_I2C10_SCL -#define CONFIG_SOFT_I2C_I2C10_SCL 0 -#endif - -#ifndef CONFIG_SOFT_I2C_I2C10_SDA -#define CONFIG_SOFT_I2C_I2C10_SDA 0 -#endif - -/* Handle multiple I2C buses instances */ -int get_multi_scl_pin(void) -{ - unsigned int bus = i2c_get_bus_num(); - - switch (bus) { - case I2C_0: - return CONFIG_SOFT_I2C_I2C5_SCL; - case I2C_1: - return CONFIG_SOFT_I2C_I2C9_SCL; - case I2C_2: - return CONFIG_SOFT_I2C_I2C10_SCL; - default: - printf("I2C_%d not supported!\n", bus); - }; - - return 0; -} - -int get_multi_sda_pin(void) -{ - unsigned int bus = i2c_get_bus_num(); - - switch (bus) { - case I2C_0: - return CONFIG_SOFT_I2C_I2C5_SDA; - case I2C_1: - return CONFIG_SOFT_I2C_I2C9_SDA; - case I2C_2: - return CONFIG_SOFT_I2C_I2C10_SDA; - default: - printf("I2C_%d not supported!\n", bus); - }; - - return 0; -} - -int multi_i2c_init(void) -{ - return 0; -} diff --git a/qemu/roms/u-boot/board/samsung/common/thor.c b/qemu/roms/u-boot/board/samsung/common/thor.c deleted file mode 100644 index 1c7630df0..000000000 --- a/qemu/roms/u-boot/board/samsung/common/thor.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2013 Samsung Electronics - * Lukasz Majewski <l.majewski@samsung.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <linux/usb/ch9.h> - -int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) -{ - if (!strcmp(name, "usb_dnl_thor")) { - put_unaligned(CONFIG_G_DNL_THOR_VENDOR_NUM, &dev->idVendor); - put_unaligned(CONFIG_G_DNL_THOR_PRODUCT_NUM, &dev->idProduct); - } else { - put_unaligned(CONFIG_G_DNL_VENDOR_NUM, &dev->idVendor); - put_unaligned(CONFIG_G_DNL_PRODUCT_NUM, &dev->idProduct); - } - return 0; -} diff --git a/qemu/roms/u-boot/board/samsung/common/ums.c b/qemu/roms/u-boot/board/samsung/common/ums.c deleted file mode 100644 index cebabe920..000000000 --- a/qemu/roms/u-boot/board/samsung/common/ums.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2013 Samsung Electronics - * Lukasz Majewski <l.majewski@samsung.com> - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <usb_mass_storage.h> -#include <part.h> - -static int ums_read_sector(struct ums *ums_dev, - ulong start, lbaint_t blkcnt, void *buf) -{ - block_dev_desc_t *block_dev = &ums_dev->mmc->block_dev; - lbaint_t blkstart = start + ums_dev->start_sector; - int dev_num = block_dev->dev; - - return block_dev->block_read(dev_num, blkstart, blkcnt, buf); -} - -static int ums_write_sector(struct ums *ums_dev, - ulong start, lbaint_t blkcnt, const void *buf) -{ - block_dev_desc_t *block_dev = &ums_dev->mmc->block_dev; - lbaint_t blkstart = start + ums_dev->start_sector; - int dev_num = block_dev->dev; - - return block_dev->block_write(dev_num, blkstart, blkcnt, buf); -} - -static struct ums ums_dev = { - .read_sector = ums_read_sector, - .write_sector = ums_write_sector, - .name = "UMS disk", -}; - -static struct ums *ums_disk_init(struct mmc *mmc) -{ - uint64_t mmc_end_sector = mmc->capacity / SECTOR_SIZE; - uint64_t ums_end_sector = UMS_NUM_SECTORS + UMS_START_SECTOR; - - if (!mmc_end_sector) { - error("MMC capacity is not valid"); - return NULL; - } - - ums_dev.mmc = mmc; - - if (ums_end_sector <= mmc_end_sector) { - ums_dev.start_sector = UMS_START_SECTOR; - if (UMS_NUM_SECTORS) - ums_dev.num_sectors = UMS_NUM_SECTORS; - else - ums_dev.num_sectors = mmc_end_sector - UMS_START_SECTOR; - } else { - ums_dev.num_sectors = mmc_end_sector; - puts("UMS: defined bad disk parameters. Using default.\n"); - } - - printf("UMS: disk start sector: %#x, count: %#x\n", - ums_dev.start_sector, ums_dev.num_sectors); - - return &ums_dev; -} - -struct ums *ums_init(unsigned int dev_num) -{ - struct mmc *mmc = find_mmc_device(dev_num); - - if (!mmc || mmc_init(mmc)) - return NULL; - return ums_disk_init(mmc); -} |