diff options
Diffstat (limited to 'board')
78 files changed, 289 insertions, 509 deletions
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c index 437e975fdf..f7c4960da7 100644 --- a/board/Arcturus/ucp1020/spl.c +++ b/board/Arcturus/ucp1020/spl.c @@ -106,7 +106,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) env_relocate(); #endif -#ifdef CONFIG_SYS_I2C +#ifdef CONFIG_SYS_I2C_LEGACY i2c_init_all(); #else i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); diff --git a/board/Arcturus/ucp1020/ucp1020.c b/board/Arcturus/ucp1020/ucp1020.c index 24d1d57ec4..ee8a9e0a5e 100644 --- a/board/Arcturus/ucp1020/ucp1020.c +++ b/board/Arcturus/ucp1020/ucp1020.c @@ -52,7 +52,7 @@ void spi_set_speed(struct spi_slave *slave, uint hz) */ int name_to_gpio(const char *name) { - int gpio = 31 - simple_strtoul(name, NULL, 10); + int gpio = 31 - dectoul(name, NULL); if (gpio < 16) gpio = -1; diff --git a/board/BuS/eb_cpu5282/eb_cpu5282.c b/board/BuS/eb_cpu5282/eb_cpu5282.c index 144a08922b..b739bc3ca6 100644 --- a/board/BuS/eb_cpu5282/eb_cpu5282.c +++ b/board/BuS/eb_cpu5282/eb_cpu5282.c @@ -194,13 +194,13 @@ int drv_video_init(void) printf("Init Video as "); s = env_get("displaywidth"); if (s != NULL) - display_width = simple_strtoul(s, NULL, 10); + display_width = dectoul(s, NULL); else display_width = 256; s = env_get("displayheight"); if (s != NULL) - display_height = simple_strtoul(s, NULL, 10); + display_height = dectoul(s, NULL); else display_height = 256; @@ -214,7 +214,7 @@ int drv_video_init(void) #ifdef CONFIG_SPLASH_SCREEN s = env_get("splashimage"); if (s != NULL) { - splash = simple_strtoul(s, NULL, 16); + splash = hextoul(s, NULL); vcxk_acknowledge_wait(); video_display_bitmap(splash, 0, 0); } @@ -234,8 +234,8 @@ int do_brightness(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) switch (argc) { case 3: - side = simple_strtoul(argv[1], NULL, 10); - bright = simple_strtoul(argv[2], NULL, 10); + side = dectoul(argv[1], NULL); + bright = dectoul(argv[2], NULL); if ((side >= 0) && (side <= 3) && (bright >= 0) && (bright <= 1000)) { vcxk_setbrightness(side, bright); diff --git a/board/Marvell/dreamplug/dreamplug.c b/board/Marvell/dreamplug/dreamplug.c index e1c64b5224..d5b6b22ddf 100644 --- a/board/Marvell/dreamplug/dreamplug.c +++ b/board/Marvell/dreamplug/dreamplug.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* + * Copyright (C) 2021 Tony Dinh <mibodhi@gmail.com> * (C) Copyright 2011 * Jason Cooper <u-boot@lakedaemon.net> * @@ -97,42 +98,75 @@ int board_init(void) return 0; } +static int fdt_get_phy_addr(const char *path) +{ + const void *fdt = gd->fdt_blob; + const u32 *reg; + const u32 *val; + int node, phandle, addr; + + /* Find the node by its full path */ + node = fdt_path_offset(fdt, path); + if (node >= 0) { + /* Look up phy-handle */ + val = fdt_getprop(fdt, node, "phy-handle", NULL); + if (val) { + phandle = fdt32_to_cpu(*val); + if (!phandle) + return -1; + /* Follow it to its node */ + node = fdt_node_offset_by_phandle(fdt, phandle); + if (node) { + /* Look up reg */ + reg = fdt_getprop(fdt, node, "reg", NULL); + if (reg) { + addr = fdt32_to_cpu(*reg); + return addr; + } + } + } + } + return -1; +} + #ifdef CONFIG_RESET_PHY_R -void mv_phy_88e1116_init(char *name) +void mv_phy_88e1116_init(const char *name, const char *path) { u16 reg; - u16 devadr; + int phyaddr; if (miiphy_set_current_dev(name)) return; - /* command to read PHY dev address */ - if (miiphy_read(name, 0xEE, 0xEE, (u16 *) &devadr)) { - printf("Err..%s could not read PHY dev address\n", - __func__); + phyaddr = fdt_get_phy_addr(path); + if (phyaddr < 0) return; - } /* * Enable RGMII delay on Tx and Rx for CPU port * Ref: sec 4.7.2 of chip datasheet */ - miiphy_write(name, devadr, MV88E1116_PGADR_REG, 2); - miiphy_read(name, devadr, MV88E1116_MAC_CTRL2_REG, ®); + miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 2); + miiphy_read(name, phyaddr, MV88E1116_MAC_CTRL2_REG, ®); reg |= (MV88E1116_RGMII_RXTM_CTRL | MV88E1116_RGMII_TXTM_CTRL); - miiphy_write(name, devadr, MV88E1116_MAC_CTRL2_REG, reg); - miiphy_write(name, devadr, MV88E1116_PGADR_REG, 0); + miiphy_write(name, phyaddr, MV88E1116_MAC_CTRL2_REG, reg); + miiphy_write(name, phyaddr, MV88E1116_PGADR_REG, 0); /* reset the phy */ - miiphy_reset(name, devadr); + miiphy_reset(name, phyaddr); printf("88E1116 Initialized on %s\n", name); } void reset_phy(void) { + char *eth0_name = "ethernet-controller@72000"; + char *eth0_path = "/ocp@f1000000/ethernet-controller@72000/ethernet0-port@0"; + char *eth1_name = "ethernet-controller@76000"; + char *eth1_path = "/ocp@f1000000/ethernet-controller@72000/ethernet1-port@0"; + /* configure and initialize both PHY's */ - mv_phy_88e1116_init("egiga0"); - mv_phy_88e1116_init("egiga1"); + mv_phy_88e1116_init(eth0_name, eth0_path); + mv_phy_88e1116_init(eth1_name, eth1_path); } #endif /* CONFIG_RESET_PHY_R */ diff --git a/board/Marvell/octeontx2/board.c b/board/Marvell/octeontx2/board.c index 9b973a4ace..4e8cb839f5 100644 --- a/board/Marvell/octeontx2/board.c +++ b/board/Marvell/octeontx2/board.c @@ -230,7 +230,7 @@ static int do_go_uboot(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 2) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); fdt = board_fdt_blob_setup(); entry = (uboot_entry_t)addr; flush_cache((ulong)addr, 1 << 20); /* 1MiB should be enough */ diff --git a/board/amlogic/beelink-s922x/beelink-s922x.c b/board/amlogic/beelink-s922x/beelink-s922x.c index bb74426266..adae27fc7e 100644 --- a/board/amlogic/beelink-s922x/beelink-s922x.c +++ b/board/amlogic/beelink-s922x/beelink-s922x.c @@ -39,7 +39,7 @@ int misc_init_r(void) tmp[0] = efuse_mac_addr[i * 2]; tmp[1] = efuse_mac_addr[i * 2 + 1]; tmp[2] = '\0'; - mac_addr[i] = simple_strtoul(tmp, NULL, 16); + mac_addr[i] = hextoul(tmp, NULL); } if (is_valid_ethaddr(mac_addr)) diff --git a/board/amlogic/odroid-n2/odroid-n2.c b/board/amlogic/odroid-n2/odroid-n2.c index 88a60f34fe..c37ea65417 100644 --- a/board/amlogic/odroid-n2/odroid-n2.c +++ b/board/amlogic/odroid-n2/odroid-n2.c @@ -126,7 +126,7 @@ int misc_init_r(void) tmp[0] = efuse_mac_addr[i * 2]; tmp[1] = efuse_mac_addr[i * 2 + 1]; tmp[2] = '\0'; - mac_addr[i] = simple_strtoul(tmp, NULL, 16); + mac_addr[i] = hextoul(tmp, NULL); } if (is_valid_ethaddr(mac_addr)) diff --git a/board/amlogic/vim3/vim3.c b/board/amlogic/vim3/vim3.c index 6cd5f2e115..5d9ac6458d 100644 --- a/board/amlogic/vim3/vim3.c +++ b/board/amlogic/vim3/vim3.c @@ -19,9 +19,15 @@ int mmc_get_env_dev(void) { - if (meson_get_boot_device() == BOOT_DEVICE_EMMC) + switch (meson_get_boot_device()) { + case BOOT_DEVICE_EMMC: return 2; - return 1; + case BOOT_DEVICE_SD: + return 1; + default: + /* boot device is not EMMC|SD */ + return -1; + } } /* @@ -98,8 +104,8 @@ int meson_ft_board_setup(void *blob, struct bd_info *bd) } /* Update PHY names (mandatory to disable USB3.0) */ - len = strlcpy(data, "usb2-phy0", 32) + 1; - len += strlcpy(&data[len], "usb2-phy1", 32 - len) + 1; + len = strlcpy(data, "usb2-phy0", 32); + len += strlcpy(&data[len], "usb2-phy1", 32 - len); ret = fdt_setprop(blob, node, "phy-names", data, len); if (ret < 0) { printf("vim3: failed to update usb phy names property (%d)\n", ret); @@ -160,7 +166,7 @@ int misc_init_r(void) tmp[0] = efuse_mac_addr[i * 2]; tmp[1] = efuse_mac_addr[i * 2 + 1]; tmp[2] = '\0'; - mac_addr[i] = simple_strtoul(tmp, NULL, 16); + mac_addr[i] = hextoul(tmp, NULL); } if (is_valid_ethaddr(mac_addr)) diff --git a/board/atmel/common/board.c b/board/atmel/common/board.c index eee5c357bd..c93c0e52e3 100644 --- a/board/atmel/common/board.c +++ b/board/atmel/common/board.c @@ -47,7 +47,7 @@ void at91_pda_detect(void) break; } } - pda = simple_strtoul((const char *)buf, NULL, 10); + pda = dectoul((const char *)buf, NULL); switch (pda) { case 7000: diff --git a/board/bluewater/gurnard/gurnard.c b/board/bluewater/gurnard/gurnard.c index e217b95b4f..35c89850be 100644 --- a/board/bluewater/gurnard/gurnard.c +++ b/board/bluewater/gurnard/gurnard.c @@ -376,7 +376,7 @@ int board_late_init(void) /* Parse MAC address */ for (i = 0; i < 6; i++) { env_enetaddr[i] = env_str ? - simple_strtoul(env_str, &end, 16) : 0; + hextoul(env_str, &end) : 0; if (env_str) env_str = (*end) ? end+1 : end; } diff --git a/board/cavium/thunderx/atf.c b/board/cavium/thunderx/atf.c index 64aa198765..1a039c53c1 100644 --- a/board/cavium/thunderx/atf.c +++ b/board/cavium/thunderx/atf.c @@ -235,48 +235,48 @@ int do_atf(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) char str[4 * sizeof(uint64_t)]; if ((argc == 5) && !strcmp(argv[1], "readmmc")) { - buffer = (void *)simple_strtoul(argv[2], NULL, 16); - offset = simple_strtoul(argv[3], NULL, 10); - size = simple_strtoul(argv[4], NULL, 10); + buffer = (void *)hextoul(argv[2], NULL); + offset = dectoul(argv[3], NULL); + size = dectoul(argv[4], NULL); ret = atf_read_mmc(offset, buffer, size); } else if ((argc == 5) && !strcmp(argv[1], "readnor")) { - buffer = (void *)simple_strtoul(argv[2], NULL, 16); - offset = simple_strtoul(argv[3], NULL, 10); - size = simple_strtoul(argv[4], NULL, 10); + buffer = (void *)hextoul(argv[2], NULL); + offset = dectoul(argv[3], NULL); + size = dectoul(argv[4], NULL); ret = atf_read_nor(offset, buffer, size); } else if ((argc == 5) && !strcmp(argv[1], "writemmc")) { - buffer = (void *)simple_strtoul(argv[2], NULL, 16); - offset = simple_strtoul(argv[3], NULL, 10); - size = simple_strtoul(argv[4], NULL, 10); + buffer = (void *)hextoul(argv[2], NULL); + offset = dectoul(argv[3], NULL); + size = dectoul(argv[4], NULL); ret = atf_write_mmc(offset, buffer, size); } else if ((argc == 5) && !strcmp(argv[1], "writenor")) { - buffer = (void *)simple_strtoul(argv[2], NULL, 16); - offset = simple_strtoul(argv[3], NULL, 10); - size = simple_strtoul(argv[4], NULL, 10); + buffer = (void *)hextoul(argv[2], NULL); + offset = dectoul(argv[3], NULL); + size = dectoul(argv[4], NULL); ret = atf_write_nor(offset, buffer, size); } else if ((argc == 2) && !strcmp(argv[1], "part")) { atf_print_part_table(); } else if ((argc == 4) && !strcmp(argv[1], "erasenor")) { - offset = simple_strtoul(argv[2], NULL, 10); - size = simple_strtoul(argv[3], NULL, 10); + offset = dectoul(argv[2], NULL); + size = dectoul(argv[3], NULL); ret = atf_erase_nor(offset, size); } else if ((argc == 2) && !strcmp(argv[1], "envcount")) { ret = atf_env_count(); printf("Number of environment strings: %zd\n", ret); } else if ((argc == 3) && !strcmp(argv[1], "envstring")) { - index = simple_strtoul(argv[2], NULL, 10); + index = dectoul(argv[2], NULL); ret = atf_env_string(index, str); if (ret > 0) printf("Environment string %d: %s\n", index, str); else printf("Return code: %zd\n", ret); } else if ((argc == 3) && !strcmp(argv[1], "dramsize")) { - node = simple_strtoul(argv[2], NULL, 10); + node = dectoul(argv[2], NULL); ret = atf_dram_size(node); printf("DRAM size: %zd Mbytes\n", ret >> 20); } else if ((argc == 2) && !strcmp(argv[1], "nodes")) { diff --git a/board/compulab/common/Makefile b/board/compulab/common/Makefile index 7ba92f5db0..842fb3b6a6 100644 --- a/board/compulab/common/Makefile +++ b/board/compulab/common/Makefile @@ -5,6 +5,6 @@ # Author: Igor Grinberg <grinberg@compulab.co.il> obj-y += common.o -obj-$(CONFIG_SYS_I2C) += eeprom.o +obj-$(CONFIG_SYS_I2C_LEGACY) += eeprom.o obj-$(CONFIG_LCD) += omap3_display.o obj-$(CONFIG_SMC911X) += omap3_smc911x.o diff --git a/board/compulab/common/eeprom.c b/board/compulab/common/eeprom.c index 5206cf5c0a..b41c64d2a3 100644 --- a/board/compulab/common/eeprom.c +++ b/board/compulab/common/eeprom.c @@ -153,7 +153,7 @@ u32 cl_eeprom_get_board_rev(uint eeprom_bus) */ if (cl_eeprom_layout == LAYOUT_LEGACY) { sprintf(str, "%x", board_rev); - board_rev = simple_strtoul(str, NULL, 10); + board_rev = dectoul(str, NULL); } return board_rev; diff --git a/board/compulab/common/eeprom.h b/board/compulab/common/eeprom.h index a9c0203b81..51c8acf3b8 100644 --- a/board/compulab/common/eeprom.h +++ b/board/compulab/common/eeprom.h @@ -10,7 +10,7 @@ #define _EEPROM_ #include <errno.h> -#ifdef CONFIG_SYS_I2C +#ifdef CONFIG_SYS_I2C_LEGACY int cl_eeprom_read_mac_addr(uchar *buf, uint eeprom_bus); u32 cl_eeprom_get_board_rev(uint eeprom_bus); int cl_eeprom_get_product_name(uchar *buf, uint eeprom_bus); diff --git a/board/compulab/common/omap3_display.c b/board/compulab/common/omap3_display.c index cb9ebae7f9..4ed3b9c00a 100644 --- a/board/compulab/common/omap3_display.c +++ b/board/compulab/common/omap3_display.c @@ -244,7 +244,7 @@ static int parse_pixclock(char *pixclock) int divisor, pixclock_val; char *pixclk_start = pixclock; - pixclock_val = simple_strtoul(pixclock, &pixclock, 10); + pixclock_val = dectoul(pixclock, &pixclock); divisor = DIV_ROUND_UP(PIXEL_CLK_NUMERATOR, pixclock_val); /* 0 and 1 are illegal values for PCD */ if (divisor <= 1) diff --git a/board/congatec/cgtqmx8/cgtqmx8.c b/board/congatec/cgtqmx8/cgtqmx8.c index fb0cf09138..a50a052df7 100644 --- a/board/congatec/cgtqmx8/cgtqmx8.c +++ b/board/congatec/cgtqmx8/cgtqmx8.c @@ -374,7 +374,7 @@ void detail_board_ddr_info(void) /* * Board specific reset that is system reset. */ -void reset_cpu(ulong addr) +void reset_cpu(void) { /* TODO */ } diff --git a/board/davinci/da8xxevm/da850evm.c b/board/davinci/da8xxevm/da850evm.c index 383a861738..6c75231ddf 100644 --- a/board/davinci/da8xxevm/da850evm.c +++ b/board/davinci/da8xxevm/da850evm.c @@ -284,7 +284,7 @@ u32 get_board_rev(void) s = env_get("maxcpuclk"); if (s) - maxcpuclk = simple_strtoul(s, NULL, 10); + maxcpuclk = dectoul(s, NULL); if (maxcpuclk >= 456000000) rev = 3; diff --git a/board/engicam/stm32mp1/spl.c b/board/engicam/stm32mp1/spl.c index 79adb5f529..3aa738b3fa 100644 --- a/board/engicam/stm32mp1/spl.c +++ b/board/engicam/stm32mp1/spl.c @@ -13,7 +13,7 @@ static u32 opp_voltage_mv __section(".data"); void board_vddcore_init(u32 voltage_mv) { - if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER_SUPPORT)) + if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER)) opp_voltage_mv = voltage_mv; } diff --git a/board/esd/meesc/meesc.c b/board/esd/meesc/meesc.c index eaa525eb00..a3eee63e37 100644 --- a/board/esd/meesc/meesc.c +++ b/board/esd/meesc/meesc.c @@ -208,7 +208,7 @@ void get_board_serial(struct tag_serialnr *serialnr) str = strchr(serial, '_'); if (str && (strlen(str) >= 4)) { serialnr->high = (*(str + 1) << 8) | *(str + 2); - serialnr->low = simple_strtoul(str + 3, NULL, 16); + serialnr->low = hextoul(str + 3, NULL); } } else { serialnr->high = 0; diff --git a/board/freescale/common/cmd_esbc_validate.c b/board/freescale/common/cmd_esbc_validate.c index 638aa3c19a..6c096266b4 100644 --- a/board/freescale/common/cmd_esbc_validate.c +++ b/board/freescale/common/cmd_esbc_validate.c @@ -40,7 +40,7 @@ static int do_esbc_validate(struct cmd_tbl *cmdtp, int flag, int argc, hash_str = argv[2]; /* First argument - header address -32/64bit */ - haddr = (uintptr_t)simple_strtoul(argv[1], NULL, 16); + haddr = (uintptr_t)hextoul(argv[1], NULL); /* With esbc_validate command, Image address must be * part of header. So, the function is called diff --git a/board/freescale/common/fsl_validate.c b/board/freescale/common/fsl_validate.c index 564a8b3b54..066aa9a7c3 100644 --- a/board/freescale/common/fsl_validate.c +++ b/board/freescale/common/fsl_validate.c @@ -767,7 +767,7 @@ static inline int str2longbe(const char *p, ulong *num) if (!p) { return 0; } else { - tmp = simple_strtoul(p, &endptr, 16); + tmp = hextoul(p, &endptr); if (sizeof(ulong) == 4) *num = cpu_to_be32(tmp); else diff --git a/board/freescale/common/pixis.c b/board/freescale/common/pixis.c index 4127fbc139..6fdb11039e 100644 --- a/board/freescale/common/pixis.c +++ b/board/freescale/common/pixis.c @@ -403,10 +403,10 @@ static unsigned long strfractoint(char *strptr) mulconst = 1; for (i = 0; i < j; i++) mulconst *= 10; - decval = simple_strtoul(decarr, NULL, 10); + decval = dectoul(decarr, NULL); } - intval = simple_strtoul(intarr, NULL, 10); + intval = dectoul(intarr, NULL); intval = intval * mulconst; return intval + decval; @@ -489,9 +489,9 @@ static int pixis_reset_cmd(struct cmd_tbl *cmdtp, int flag, int argc, unsigned long corepll; unsigned long mpxpll; - sysclk = simple_strtoul(p_cf_sysclk, NULL, 10); + sysclk = dectoul(p_cf_sysclk, NULL); corepll = strfractoint(p_cf_corepll); - mpxpll = simple_strtoul(p_cf_mpxpll, NULL, 10); + mpxpll = dectoul(p_cf_mpxpll, NULL); if (!(set_px_sysclk(sysclk) && set_px_corepll(corepll) diff --git a/board/freescale/common/sys_eeprom.c b/board/freescale/common/sys_eeprom.c index be0fda0638..35df8ba389 100644 --- a/board/freescale/common/sys_eeprom.c +++ b/board/freescale/common/sys_eeprom.c @@ -378,7 +378,7 @@ static void set_mac_address(unsigned int index, const char *string) } for (i = 0; *p && (i < 6); i++) { - e.mac[index][i] = simple_strtoul(p, &p, 16); + e.mac[index][i] = hextoul(p, &p); if (*p == ':') p++; } @@ -452,11 +452,11 @@ int do_mac(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) set_date(argv[2]); break; case 'p': /* MAC table size */ - e.mac_count = simple_strtoul(argv[2], NULL, 16); + e.mac_count = hextoul(argv[2], NULL); update_crc(); break; case '0' ... '9': /* "mac 0" through "mac 22" */ - set_mac_address(simple_strtoul(argv[1], NULL, 10), argv[2]); + set_mac_address(dectoul(argv[1], NULL), argv[2]); break; case 'h': /* help */ default: diff --git a/board/freescale/ls1021aqds/ls1021aqds.c b/board/freescale/ls1021aqds/ls1021aqds.c index fcbde2ceb7..711d8c2906 100644 --- a/board/freescale/ls1021aqds/ls1021aqds.c +++ b/board/freescale/ls1021aqds/ls1021aqds.c @@ -213,7 +213,7 @@ void board_init_f(ulong dummy) preloader_console_init(); -#ifdef CONFIG_SPL_I2C_SUPPORT +#ifdef CONFIG_SPL_I2C i2c_init_all(); #endif diff --git a/board/freescale/lx2160a/eth_lx2160aqds.c b/board/freescale/lx2160a/eth_lx2160aqds.c index 437f0bc4cf..a2b6442b54 100644 --- a/board/freescale/lx2160a/eth_lx2160aqds.c +++ b/board/freescale/lx2160a/eth_lx2160aqds.c @@ -416,7 +416,7 @@ static inline void do_dpmac_config(int dpmac, const char *arg_dpmacid, env_dpmac, phy_num + 1, arg_dpmacid); else wriop_set_phy_address(dpmac, phy_num, - simple_strtoul(ret, NULL, 16)); + hextoul(ret, NULL)); } /*search mdio in dpmac arg*/ diff --git a/board/freescale/lx2160a/eth_lx2162aqds.c b/board/freescale/lx2160a/eth_lx2162aqds.c index b742c1ff52..3b04dea39c 100644 --- a/board/freescale/lx2160a/eth_lx2162aqds.c +++ b/board/freescale/lx2160a/eth_lx2162aqds.c @@ -437,7 +437,7 @@ static inline void do_dpmac_config(int dpmac, const char *arg_dpmacid, env_dpmac, phy_num + 1, arg_dpmacid); else wriop_set_phy_address(dpmac, phy_num, - simple_strtoul(ret, NULL, 16)); + hextoul(ret, NULL)); } /*search mdio in dpmac arg*/ diff --git a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c index 8273384f2d..cf4d9c11b8 100644 --- a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c +++ b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c @@ -281,7 +281,7 @@ int board_early_init_r(void) /* If a VSC7385 microcode image is present, then upload it. */ tmp = env_get("vscfw_addr"); if (tmp) { - vscfw_addr = simple_strtoul(tmp, NULL, 16); + vscfw_addr = hextoul(tmp, NULL); printf("uploading VSC7385 microcode from %x\n", vscfw_addr); if (vsc7385_upload_firmware((void *)vscfw_addr, CONFIG_VSC7385_IMAGE_SIZE)) diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c index 010f4639ee..90188b099a 100644 --- a/board/freescale/p1_p2_rdb_pc/spl.c +++ b/board/freescale/p1_p2_rdb_pc/spl.c @@ -99,7 +99,7 @@ void board_init_r(gd_t *gd, ulong dest_addr) env_relocate(); #endif -#ifdef CONFIG_SYS_I2C +#ifdef CONFIG_SYS_I2C_LEGACY i2c_init_all(); #else i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); diff --git a/board/freescale/p2041rdb/cpld.c b/board/freescale/p2041rdb/cpld.c index b042fe3bcb..a1908b8a57 100644 --- a/board/freescale/p2041rdb/cpld.c +++ b/board/freescale/p2041rdb/cpld.c @@ -100,8 +100,8 @@ int cpld_cmd(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) else cpld_set_defbank(); } else if (strcmp(argv[1], "lane_mux") == 0) { - u32 lane = simple_strtoul(argv[2], NULL, 16); - u8 val = (u8)simple_strtoul(argv[3], NULL, 16); + u32 lane = hextoul(argv[2], NULL); + u8 val = (u8)hextoul(argv[3], NULL); u8 reg = CPLD_READ(serdes_mux); switch (lane) { diff --git a/board/gateworks/gw_ventana/common.c b/board/gateworks/gw_ventana/common.c index c07eb627a2..4a15837473 100644 --- a/board/gateworks/gw_ventana/common.c +++ b/board/gateworks/gw_ventana/common.c @@ -1502,7 +1502,7 @@ void setup_board_gpio(int board, struct ventana_board_info *info) continue; s = hwconfig_subarg(arg, "padctrl", &len); if (s) { - ctrl = MUX_PAD_CTRL(simple_strtoul(s, NULL, 16) + ctrl = MUX_PAD_CTRL(hextoul(s, NULL) & 0x1ffff) | MUX_MODE_SION; } if (hwconfig_subarg_cmp(arg, "mode", "gpio")) { diff --git a/board/gateworks/gw_ventana/gsc.c b/board/gateworks/gw_ventana/gsc.c index ffed6b5fc8..59fd1b6939 100644 --- a/board/gateworks/gw_ventana/gsc.c +++ b/board/gateworks/gw_ventana/gsc.c @@ -277,7 +277,7 @@ static int do_gsc_sleep(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 2) return CMD_RET_USAGE; - secs = simple_strtoul(argv[1], NULL, 10); + secs = dectoul(argv[1], NULL); printf("GSC Sleeping for %ld seconds\n", secs); i2c_set_bus_num(0); @@ -322,7 +322,7 @@ static int do_gsc_wd(struct cmd_tbl *cmdtp, int flag, int argc, int timeout = 0; if (argc > 2) - timeout = simple_strtoul(argv[2], NULL, 10); + timeout = dectoul(argv[2], NULL); i2c_set_bus_num(0); if (gsc_i2c_read(GSC_SC_ADDR, GSC_SC_CTRL1, 1, ®, 1)) return CMD_RET_FAILURE; diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c index 468fb093b7..912075db88 100644 --- a/board/gateworks/gw_ventana/gw_ventana.c +++ b/board/gateworks/gw_ventana/gw_ventana.c @@ -471,7 +471,7 @@ void get_board_serial(struct tag_serialnr *serialnr) if (serial) { serialnr->high = 0; - serialnr->low = simple_strtoul(serial, NULL, 10); + serialnr->low = dectoul(serial, NULL); } else if (ventana_info.model[0]) { serialnr->high = 0; serialnr->low = ventana_info.serial; @@ -915,7 +915,7 @@ int fdt_fixup_sky2(void *blob, int np, struct pci_dev *dev) if (tmp) { for (j = 0; j < 6; j++) { mac_addr[j] = tmp ? - simple_strtoul(tmp, &end,16) : 0; + hextoul(tmp, &end) : 0; if (tmp) tmp = (*end) ? end+1 : end; } diff --git a/board/gateworks/venice/gsc.c b/board/gateworks/venice/gsc.c index c75bc6f855..271bc8c229 100644 --- a/board/gateworks/venice/gsc.c +++ b/board/gateworks/venice/gsc.c @@ -660,7 +660,7 @@ static int do_gsc(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[] if (strcasecmp(argv[1], "sleep") == 0) { if (argc < 3) return CMD_RET_USAGE; - if (!gsc_sleep(simple_strtoul(argv[2], NULL, 10))) + if (!gsc_sleep(dectoul(argv[2], NULL))) return CMD_RET_SUCCESS; } else if (strcasecmp(argv[1], "hwmon") == 0) { if (!gsc_hwmon()) diff --git a/board/gdsys/a38x/Makefile b/board/gdsys/a38x/Makefile index 32fffab467..4b13859fed 100644 --- a/board/gdsys/a38x/Makefile +++ b/board/gdsys/a38x/Makefile @@ -4,7 +4,7 @@ # Copyright (C) 2015 Reinhard Pfau <reinhard.pfau@gdsys.cc> # Copyright (C) 2016 Mario Six <mario.six@gdsys.cc> -obj-$(CONFIG_TARGET_CONTROLCENTERDC) += controlcenterdc.o hre.o spl.o keyprogram.o dt_helpers.o +obj-$(CONFIG_TARGET_CONTROLCENTERDC) += controlcenterdc.o hre.o keyprogram.o dt_helpers.o ifeq ($(CONFIG_SPL_BUILD),) obj-$(CONFIG_TARGET_CONTROLCENTERDC) += hydra.o ihs_phys.o diff --git a/board/gdsys/a38x/spl.c b/board/gdsys/a38x/spl.c deleted file mode 100644 index 84864d1974..0000000000 --- a/board/gdsys/a38x/spl.c +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2016 - * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc - */ - -#include <common.h> -#include <config.h> -#include <asm/arch/cpu.h> - -void spl_board_init(void) -{ -#if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SPI_NOR_FLASH - u32 *bootrom_save = (u32 *)CONFIG_SPL_BOOTROM_SAVE; - u32 *regs = (u32 *)(*bootrom_save); - - printf("Returning to BootROM (return address %08x)...\n", regs[13]); - return_to_bootrom(); -#endif -} diff --git a/board/gdsys/common/cmd_ioloop.c b/board/gdsys/common/cmd_ioloop.c index 658756d984..1412421a02 100644 --- a/board/gdsys/common/cmd_ioloop.c +++ b/board/gdsys/common/cmd_ioloop.c @@ -275,13 +275,13 @@ int do_ioreflect(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc < 2) return CMD_RET_USAGE; - fpga = simple_strtoul(argv[1], NULL, 10); + fpga = dectoul(argv[1], NULL); /* * If another parameter, it is the report rate in packets. */ if (argc > 2) - rate = simple_strtoul(argv[2], NULL, 10); + rate = dectoul(argv[2], NULL); /* Enable receive path */ FPGA_SET_REG(fpga, ep.rx_tx_control, CTRL_PROC_RECEIVE_ENABLE); @@ -388,18 +388,18 @@ int do_ioloop(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) /* * FPGA is specified since argc > 2 */ - fpga = simple_strtoul(argv[1], NULL, 10); + fpga = dectoul(argv[1], NULL); /* * packet size is specified since argc > 2 */ - size = simple_strtoul(argv[2], NULL, 10); + size = dectoul(argv[2], NULL); /* * If another parameter, it is the test rate in packets per second. */ if (argc > 3) - rate = simple_strtoul(argv[3], NULL, 10); + rate = dectoul(argv[3], NULL); /* enable receive path */ FPGA_SET_REG(fpga, ep.rx_tx_control, CTRL_PROC_RECEIVE_ENABLE); @@ -463,13 +463,13 @@ int do_ioloop(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) /* * packet size is specified since argc > 1 */ - size = simple_strtoul(argv[2], NULL, 10); + size = dectoul(argv[2], NULL); /* * If another parameter, it is the test rate in packets per second. */ if (argc > 2) - rate = simple_strtoul(argv[3], NULL, 10); + rate = dectoul(argv[3], NULL); /* Enable receive path */ misc_set_enabled(dev, true); @@ -514,7 +514,7 @@ int do_iodev(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return CMD_RET_FAILURE; if (argc > 1) { - int i = simple_strtoul(argv[1], NULL, 10); + int i = dectoul(argv[1], NULL); snprintf(name, sizeof(name), "ioep%d", i); diff --git a/board/gdsys/common/osd.c b/board/gdsys/common/osd.c index 679f8f3019..dc548efbc7 100644 --- a/board/gdsys/common/osd.c +++ b/board/gdsys/common/osd.c @@ -284,9 +284,9 @@ static int osd_print(struct cmd_tbl *cmdtp, int flag, int argc, if (!(osd_screen_mask & (1 << screen))) continue; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); - color = simple_strtoul(argv[3], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); + color = hextoul(argv[3], NULL); text = argv[4]; charcount = strlen(text); len = (charcount > bufsize) ? bufsize : charcount; @@ -416,13 +416,13 @@ int osd_write(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) char *rp; u16 *wp = buffer; unsigned count = (argc > 4) ? - simple_strtoul(argv[4], NULL, 16) : 1; + hextoul(argv[4], NULL) : 1; if (!(osd_screen_mask & (1 << screen))) continue; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); rp = argv[3]; @@ -431,7 +431,7 @@ int osd_write(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) memcpy(substr, rp, 4); substr[4] = 0; - *wp = simple_strtoul(substr, NULL, 16); + *wp = hextoul(substr, NULL); rp += 4; wp++; @@ -463,8 +463,8 @@ int osd_size(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 1; } - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); if (!x || (x > 64) || (x > MAX_X_CHARS) || !y || (y > 32) || (y > MAX_Y_CHARS)) { diff --git a/board/gdsys/common/osd_cmd.c b/board/gdsys/common/osd_cmd.c index fe6249794e..6a9c0b4c24 100644 --- a/board/gdsys/common/osd_cmd.c +++ b/board/gdsys/common/osd_cmd.c @@ -30,10 +30,10 @@ static int do_osd_write(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 4 || (strlen(argv[3])) % 2) return CMD_RET_USAGE; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); hexstr = argv[3]; - count = (argc > 4) ? simple_strtoul(argv[4], NULL, 16) : 1; + count = (argc > 4) ? hextoul(argv[4], NULL) : 1; buflen = strlen(hexstr) / 2; @@ -80,9 +80,9 @@ static int do_osd_print(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 5) return CMD_RET_USAGE; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); - color = simple_strtoul(argv[3], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); + color = hextoul(argv[3], NULL); text = argv[4]; for (uclass_first_device(UCLASS_VIDEO_OSD, &dev); @@ -109,8 +109,8 @@ static int do_osd_size(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); for (uclass_first_device(UCLASS_VIDEO_OSD, &dev); dev; diff --git a/board/hoperun/hihope-rzg2/hihope-rzg2.c b/board/hoperun/hihope-rzg2/hihope-rzg2.c index c1bfdcbc1d..c1db387b27 100644 --- a/board/hoperun/hihope-rzg2/hihope-rzg2.c +++ b/board/hoperun/hihope-rzg2/hihope-rzg2.c @@ -65,7 +65,7 @@ int board_init(void) return 0; } -void reset_cpu(ulong addr) +void reset_cpu(void) { unsigned long midr, cputype; diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c index 016806a2a6..ff07260194 100644 --- a/board/keymile/common/common.c +++ b/board/keymile/common/common.c @@ -278,7 +278,7 @@ static int do_checkboardidhwk(struct cmd_tbl *cmdtp, int flag, int argc, * use simple_strtoul because we need &end and * we know we got non numeric char at the end */ - bid = simple_strtoul(rest, &endp, 16); + bid = hextoul(rest, &endp); /* BoardId and HWkey are separated with a "_" */ if (*endp == '_') { rest = endp + 1; @@ -286,7 +286,7 @@ static int do_checkboardidhwk(struct cmd_tbl *cmdtp, int flag, int argc, * use simple_strtoul because we need * &end */ - hwkey = simple_strtoul(rest, &endp, 16); + hwkey = hextoul(rest, &endp); rest = endp; while (*rest && !isxdigit(*rest)) rest++; diff --git a/board/kobol/helios4/Kconfig b/board/kobol/helios4/Kconfig index cad51c1cf0..81a2199ae5 100644 --- a/board/kobol/helios4/Kconfig +++ b/board/kobol/helios4/Kconfig @@ -16,9 +16,4 @@ config ENV_SECT_SIZE # Use optimistic 64 KiB erase block, will vary between actual media default 0x10000 if MVEBU_SPL_BOOT_DEVICE_MMC || MVEBU_SPL_BOOT_DEVICE_UART -config SYS_SPI_U_BOOT_OFFS - hex "address of u-boot payload in SPI flash" - default 0x20000 - depends on MVEBU_SPL_BOOT_DEVICE_SPI - endmenu diff --git a/board/kontron/sl28/cmds.c b/board/kontron/sl28/cmds.c index 046d3b4903..08a22b5d01 100644 --- a/board/kontron/sl28/cmds.c +++ b/board/kontron/sl28/cmds.c @@ -138,7 +138,7 @@ static int do_sl28_nvm(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_FAILURE; if (argc > 1) { - nvm = simple_strtoul(argv[1], &endp, 16); + nvm = hextoul(argv[1], &endp); if (*endp != '\0') { printf("ERROR: argument is not a valid number\n"); ret = -EINVAL; diff --git a/board/menlo/m53menlo/m53menlo.c b/board/menlo/m53menlo/m53menlo.c index c34baca602..2b331b32df 100644 --- a/board/menlo/m53menlo/m53menlo.c +++ b/board/menlo/m53menlo/m53menlo.c @@ -347,7 +347,7 @@ int board_late_init(void) if (!s) return 0; - addr = simple_strtoul(s, NULL, 16); + addr = hextoul(s, NULL); dst = malloc(CONFIG_SYS_VIDEO_LOGO_MAX_SIZE); if (!dst) return -ENOMEM; diff --git a/board/phytec/phycore_rk3288/phycore-rk3288.c b/board/phytec/phycore_rk3288/phycore-rk3288.c index f588fc3b0c..17b987f67e 100644 --- a/board/phytec/phycore_rk3288/phycore-rk3288.c +++ b/board/phytec/phycore_rk3288/phycore-rk3288.c @@ -89,7 +89,7 @@ static int phycore_init(void) if (ret) return ret; -#if defined(CONFIG_SPL_POWER_SUPPORT) +#if defined(CONFIG_SPL_POWER) /* Increase USB input current to 2A */ ret = rk818_spl_configure_usb_input_current(pmic, 2000); if (ret) diff --git a/board/renesas/draak/draak.c b/board/renesas/draak/draak.c index 1d76f95aed..0aaae815c0 100644 --- a/board/renesas/draak/draak.c +++ b/board/renesas/draak/draak.c @@ -38,7 +38,7 @@ DECLARE_GLOBAL_DATA_PTR; int board_early_init_f(void) { -#if defined(CONFIG_SYS_I2C) && defined(CONFIG_SYS_I2C_SH) +#if defined(CONFIG_SYS_I2C_LEGACY) && defined(CONFIG_SYS_I2C_SH) /* DVFS for reset */ mstp_clrbits_le32(SMSTPCR9, SMSTPCR9, DVFS_MSTP926); #endif diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c index 071076a336..1802547bbf 100644 --- a/board/renesas/salvator-x/salvator-x.c +++ b/board/renesas/salvator-x/salvator-x.c @@ -37,7 +37,7 @@ DECLARE_GLOBAL_DATA_PTR; int board_early_init_f(void) { -#if defined(CONFIG_SYS_I2C) && defined(CONFIG_SYS_I2C_SH) +#if defined(CONFIG_SYS_I2C_LEGACY) && defined(CONFIG_SYS_I2C_SH) /* DVFS for reset */ mstp_clrbits_le32(SMSTPCR9, SMSTPCR9, DVFS_MSTP926); #endif @@ -78,7 +78,7 @@ int board_init(void) void reset_cpu(void) { -#if defined(CONFIG_SYS_I2C) && defined(CONFIG_SYS_I2C_SH) +#if defined(CONFIG_SYS_I2C_LEGACY) && defined(CONFIG_SYS_I2C_SH) i2c_reg_write(CONFIG_SYS_I2C_POWERIC_ADDR, 0x20, 0x80); #else /* only CA57 ? */ diff --git a/board/renesas/stout/cpld.c b/board/renesas/stout/cpld.c index ac8048c81c..b7c75f5aa6 100644 --- a/board/renesas/stout/cpld.c +++ b/board/renesas/stout/cpld.c @@ -133,7 +133,7 @@ static int do_cpld(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); if (!(addr == CPLD_ADDR_VERSION || addr == CPLD_ADDR_MODE || addr == CPLD_ADDR_MUX || addr == CPLD_ADDR_HDMI || addr == CPLD_ADDR_DIPSW || addr == CPLD_ADDR_RESET)) { @@ -144,7 +144,7 @@ static int do_cpld(struct cmd_tbl *cmdtp, int flag, int argc, if (argc == 3 && strcmp(argv[1], "read") == 0) { printf("0x%x\n", cpld_read(addr)); } else if (argc == 4 && strcmp(argv[1], "write") == 0) { - val = simple_strtoul(argv[3], NULL, 16); + val = hextoul(argv[3], NULL); if (addr == CPLD_ADDR_MUX) { /* never mask SCIFA0 console */ val &= ~MUX_MSK_SCIFA0_USB; diff --git a/board/renesas/ulcb/cpld.c b/board/renesas/ulcb/cpld.c index ebb2d6f742..0c060a5323 100644 --- a/board/renesas/ulcb/cpld.c +++ b/board/renesas/ulcb/cpld.c @@ -111,7 +111,7 @@ static int do_cpld(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); if (!(addr == CPLD_ADDR_VERSION || addr == CPLD_ADDR_MODE || addr == CPLD_ADDR_MUX || addr == CPLD_ADDR_DIPSW6 || addr == CPLD_ADDR_RESET)) { @@ -122,7 +122,7 @@ static int do_cpld(struct cmd_tbl *cmdtp, int flag, int argc, if (argc == 3 && strcmp(argv[1], "read") == 0) { printf("0x%x\n", cpld_read(dev, addr)); } else if (argc == 4 && strcmp(argv[1], "write") == 0) { - val = simple_strtoul(argv[3], NULL, 16); + val = hextoul(argv[3], NULL); cpld_write(dev, addr, val); } diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c index 7ba1948659..ffc4eb9ff3 100644 --- a/board/renesas/ulcb/ulcb.c +++ b/board/renesas/ulcb/ulcb.c @@ -35,7 +35,7 @@ DECLARE_GLOBAL_DATA_PTR; int board_early_init_f(void) { -#if defined(CONFIG_SYS_I2C) && defined(CONFIG_SYS_I2C_SH) +#if defined(CONFIG_SYS_I2C_LEGACY) && defined(CONFIG_SYS_I2C_SH) /* DVFS for reset */ mstp_clrbits_le32(SMSTPCR9, SMSTPCR9, DVFS_MSTP926); #endif diff --git a/board/samsung/common/exynos5-dt.c b/board/samsung/common/exynos5-dt.c index 1318ea716a..0d77a57f80 100644 --- a/board/samsung/common/exynos5-dt.c +++ b/board/samsung/common/exynos5-dt.c @@ -169,7 +169,7 @@ char *get_dfu_alt_boot(char *interface, char *devstr) if (board_is_odroidxu4() || board_is_odroidhc1() || board_is_odroidhc2()) return info; - dev_num = simple_strtoul(devstr, NULL, 10); + dev_num = dectoul(devstr, NULL); mmc = find_mmc_device(dev_num); if (!mmc) diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c index 90aab62d33..35e4cee74f 100644 --- a/board/samsung/odroid/odroid.c +++ b/board/samsung/odroid/odroid.c @@ -85,7 +85,7 @@ char *get_dfu_alt_boot(char *interface, char *devstr) char *alt_boot; int dev_num; - dev_num = simple_strtoul(devstr, NULL, 10); + dev_num = dectoul(devstr, NULL); mmc = find_mmc_device(dev_num); if (!mmc) diff --git a/board/siemens/common/factoryset.c b/board/siemens/common/factoryset.c index 2e3ae1a54d..fba678b426 100644 --- a/board/siemens/common/factoryset.c +++ b/board/siemens/common/factoryset.c @@ -243,7 +243,7 @@ int factoryset_read_eeprom(int i2c_addr) buf, MAX_STRING_LENGTH); cp1 = buf; for (i = 0; i < 6; i++) { - factory_dat.mac[i] = simple_strtoul((char *)cp1, NULL, 16); + factory_dat.mac[i] = hextoul((char *)cp1, NULL); cp1 += 3; } @@ -254,8 +254,7 @@ int factoryset_read_eeprom(int i2c_addr) if (ret > 0) { cp1 = buf; for (i = 0; i < 6; i++) { - factory_dat.mac_wlan[i] = simple_strtoul((char *)cp1, - NULL, 16); + factory_dat.mac_wlan[i] = hextoul((char *)cp1, NULL); cp1 += 3; } } @@ -266,15 +265,13 @@ int factoryset_read_eeprom(int i2c_addr) if (0 <= get_factory_record_val(cp, size, (uchar *)"USBD1", (uchar *)"vid", buf, MAX_STRING_LENGTH)) { - factory_dat.usb_vendor_id = simple_strtoul((char *)buf, - NULL, 16); + factory_dat.usb_vendor_id = hextoul((char *)buf, NULL); } if (0 <= get_factory_record_val(cp, size, (uchar *)"USBD1", (uchar *)"pid", buf, MAX_STRING_LENGTH)) { - factory_dat.usb_product_id = simple_strtoul((char *)buf, - NULL, 16); + factory_dat.usb_product_id = hextoul((char *)buf, NULL); } printf("DFU USB: VID = 0x%4x, PID = 0x%4x\n", factory_dat.usb_vendor_id, factory_dat.usb_product_id); @@ -294,8 +291,7 @@ int factoryset_read_eeprom(int i2c_addr) if (0 <= get_factory_record_val(cp, size, (uchar *)"DEV", (uchar *)"ver", buf, MAX_STRING_LENGTH)) { - factory_dat.version = simple_strtoul((char *)buf, - NULL, 16); + factory_dat.version = hextoul((char *)buf, NULL); debug("version number: %d\n", factory_dat.version); } /* Get ASN from factory set if available */ diff --git a/board/siemens/draco/board.c b/board/siemens/draco/board.c index 01fdfb5cb4..af35bc188e 100644 --- a/board/siemens/draco/board.c +++ b/board/siemens/draco/board.c @@ -288,7 +288,7 @@ int board_late_init(void) #endif #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) || \ - (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD)) + (defined(CONFIG_SPL_ETH) && defined(CONFIG_SPL_BUILD)) static void cpsw_control(int enabled) { /* VTP can be added here */ diff --git a/board/siemens/pxm2/board.c b/board/siemens/pxm2/board.c index b5e9b4242c..de52838d77 100644 --- a/board/siemens/pxm2/board.c +++ b/board/siemens/pxm2/board.c @@ -171,7 +171,7 @@ int read_eeprom(void) } #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) || \ - (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD)) + (defined(CONFIG_SPL_ETH) && defined(CONFIG_SPL_BUILD)) static void cpsw_control(int enabled) { /* VTP can be added here */ @@ -220,7 +220,7 @@ int board_eth_init(struct bd_info *bis) { int n = 0; #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) || \ - (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD)) + (defined(CONFIG_SPL_ETH) && defined(CONFIG_SPL_BUILD)) struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE; #ifdef CONFIG_FACTORYSET int rv; diff --git a/board/siemens/taurus/taurus.c b/board/siemens/taurus/taurus.c index cad16f9065..dae064d465 100644 --- a/board/siemens/taurus/taurus.c +++ b/board/siemens/taurus/taurus.c @@ -394,10 +394,9 @@ static int do_upgrade_available(struct cmd_tbl *cmdtp, int flag, int argc, unsigned long boot_retry = 0; char boot_buf[10]; - upgrade_available = simple_strtoul(env_get("upgrade_available"), NULL, - 10); + upgrade_available = dectoul(env_get("upgrade_available"), NULL); if (upgrade_available) { - boot_retry = simple_strtoul(env_get("boot_retries"), NULL, 10); + boot_retry = dectoul(env_get("boot_retries"), NULL); boot_retry++; sprintf(boot_buf, "%lx", boot_retry); env_set("boot_retries", boot_buf); diff --git a/board/sifive/unmatched/hifive-platform-i2c-eeprom.c b/board/sifive/unmatched/hifive-platform-i2c-eeprom.c index ad2f3155d0..2b985b9b22 100644 --- a/board/sifive/unmatched/hifive-platform-i2c-eeprom.c +++ b/board/sifive/unmatched/hifive-platform-i2c-eeprom.c @@ -281,7 +281,7 @@ static void set_mac_address(char *string) } for (i = 0; *string && (i < MAC_ADDR_BYTES); i++) { - e.mac_addr[i] = simple_strtoul(string, &string, 16); + e.mac_addr[i] = hextoul(string, &string); if (*string == ':') string++; } @@ -324,7 +324,7 @@ static void set_pcb_revision(char *string) { unsigned long p; - p = simple_strtoul(string, &string, 10); + p = dectoul(string, &string); if (p > U8_MAX) { printf("%s must not be greater than %d\n", "PCB revision", U8_MAX); @@ -366,7 +366,7 @@ static void set_bom_variant(char *string) { unsigned long p; - p = simple_strtoul(string, &string, 10); + p = dectoul(string, &string); if (p > U8_MAX) { printf("%s must not be greater than %d\n", "BOM variant", U8_MAX); @@ -389,7 +389,7 @@ static void set_product_id(char *string) { unsigned long p; - p = simple_strtoul(string, &string, 10); + p = dectoul(string, &string); if (p > U16_MAX) { printf("%s must not be greater than %d\n", "Product ID", U16_MAX); diff --git a/board/silinux/ek874/ek874.c b/board/silinux/ek874/ek874.c index 5a219cd98d..1e948489f3 100644 --- a/board/silinux/ek874/ek874.c +++ b/board/silinux/ek874/ek874.c @@ -24,7 +24,7 @@ int board_init(void) return 0; } -void reset_cpu(ulong addr) +void reset_cpu(void) { writel(RST_CA53_CODE, RST_CA53RESCNT); } diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig index cf95258090..60d3921307 100644 --- a/board/solidrun/clearfog/Kconfig +++ b/board/solidrun/clearfog/Kconfig @@ -54,9 +54,4 @@ config ENV_SECT_SIZE # Use optimistic 64 KiB erase block, will vary between actual media default 0x10000 if MVEBU_SPL_BOOT_DEVICE_MMC || MVEBU_SPL_BOOT_DEVICE_UART -config SYS_SPI_U_BOOT_OFFS - hex "address of u-boot payload in SPI flash" - default 0x20000 - depends on MVEBU_SPL_BOOT_DEVICE_SPI - endmenu diff --git a/board/somlabs/visionsom-6ull/visionsom-6ull.c b/board/somlabs/visionsom-6ull/visionsom-6ull.c index 076c641d8a..c26e7b0555 100644 --- a/board/somlabs/visionsom-6ull/visionsom-6ull.c +++ b/board/somlabs/visionsom-6ull/visionsom-6ull.c @@ -104,7 +104,7 @@ int board_init(void) /* Address of boot parameters */ gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; -#ifdef CONFIG_SYS_I2C +#ifdef CONFIG_SYS_I2C_LEGACY setup_i2c(0, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info1); #endif diff --git a/board/st/stm32mp1/spl.c b/board/st/stm32mp1/spl.c index a6a41780c9..8e4549a1b3 100644 --- a/board/st/stm32mp1/spl.c +++ b/board/st/stm32mp1/spl.c @@ -17,13 +17,13 @@ static u32 opp_voltage_mv __section(".data"); void board_vddcore_init(u32 voltage_mv) { - if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER_SUPPORT)) + if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER)) opp_voltage_mv = voltage_mv; } int board_early_init_f(void) { - if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER_SUPPORT)) + if (IS_ENABLED(CONFIG_PMIC_STPMIC1) && CONFIG_IS_ENABLED(POWER)) stpmic1_init(opp_voltage_mv); return 0; diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c index 2faf5c81b4..59fb6e548c 100644 --- a/board/st/stm32mp1/stm32mp1.c +++ b/board/st/stm32mp1/stm32mp1.c @@ -155,6 +155,7 @@ static void board_key_check(void) &gpio, GPIOD_IS_IN)) { log_debug("could not find a /config/st,fastboot-gpios\n"); } else { + udelay(20); if (dm_gpio_get_value(&gpio)) { log_notice("Fastboot key pressed, "); boot_mode = BOOT_FASTBOOT; @@ -168,6 +169,7 @@ static void board_key_check(void) &gpio, GPIOD_IS_IN)) { log_debug("could not find a /config/st,stm32prog-gpios\n"); } else { + udelay(20); if (dm_gpio_get_value(&gpio)) { log_notice("STM32Programmer key pressed, "); boot_mode = BOOT_STM32PROG; diff --git a/board/sunxi/board.c b/board/sunxi/board.c index 67acc01d83..1a46100e40 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -636,6 +636,20 @@ int board_mmc_init(struct bd_info *bis) return 0; } + +#if CONFIG_MMC_SUNXI_SLOT_EXTRA != -1 +int mmc_get_env_dev(void) +{ + switch (sunxi_get_boot_device()) { + case BOOT_DEVICE_MMC1: + return 0; + case BOOT_DEVICE_MMC2: + return 1; + default: + return CONFIG_SYS_MMC_ENV_DEV; + } +} +#endif #endif #ifdef CONFIG_SPL_BUILD diff --git a/board/synopsys/hsdk/env-lib.c b/board/synopsys/hsdk/env-lib.c index 235f29565f..fd54ac75f2 100644 --- a/board/synopsys/hsdk/env-lib.c +++ b/board/synopsys/hsdk/env-lib.c @@ -252,9 +252,9 @@ static int arg_read_set(const struct env_map_common *map, u32 i, int argc, char *endp = argv[1]; if (map[i].type == ENV_HEX) - map[i].val->val = simple_strtoul(argv[1], &endp, 16); + map[i].val->val = hextoul(argv[1], &endp); else - map[i].val->val = simple_strtoul(argv[1], &endp, 10); + map[i].val->val = dectoul(argv[1], &endp); map[i].val->set = true; diff --git a/board/tcl/sl50/board.c b/board/tcl/sl50/board.c index 4821925c02..d213608499 100644 --- a/board/tcl/sl50/board.c +++ b/board/tcl/sl50/board.c @@ -250,7 +250,7 @@ int board_late_init(void) #endif #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) || \ - (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD)) + (defined(CONFIG_SPL_ETH) && defined(CONFIG_SPL_BUILD)) static void cpsw_control(int enabled) { /* VTP can be added here */ @@ -302,7 +302,7 @@ static struct cpsw_platform_data cpsw_data = { * Build in only these cases to avoid warnings about unused variables * when we build an SPL that has neither option but full U-Boot will. */ -#if ((defined(CONFIG_SPL_ETH_SUPPORT) || defined(CONFIG_SPL_USB_ETHER)) \ +#if ((defined(CONFIG_SPL_ETH) || defined(CONFIG_SPL_USB_ETHER)) \ && defined(CONFIG_SPL_BUILD)) || \ ((defined(CONFIG_DRIVER_TI_CPSW) || \ defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET)) && \ @@ -324,7 +324,7 @@ int board_eth_init(struct bd_info *bis) mac_addr[5] = (mac_lo & 0xFF00) >> 8; #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) || \ - (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD)) + (defined(CONFIG_SPL_ETH) && defined(CONFIG_SPL_BUILD)) if (!env_get("ethaddr")) { printf("<ethaddr> not set. Validating first E-fuse MAC\n"); diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c index 5c156a5d1d..2e4f3d102b 100644 --- a/board/ti/am335x/board.c +++ b/board/ti/am335x/board.c @@ -588,7 +588,7 @@ void sdram_init(void) #endif #if defined(CONFIG_CLOCK_SYNTHESIZER) && (!defined(CONFIG_SPL_BUILD) || \ - (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD))) + (defined(CONFIG_SPL_ETH) && defined(CONFIG_SPL_BUILD))) static void request_and_set_gpio(int gpio, char *name, int val) { int ret; @@ -724,7 +724,7 @@ int board_init(void) #endif #if defined(CONFIG_CLOCK_SYNTHESIZER) && (!defined(CONFIG_SPL_BUILD) || \ - (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD))) + (defined(CONFIG_SPL_ETH) && defined(CONFIG_SPL_BUILD))) if (board_is_icev2()) { int rv; u32 reg; @@ -954,6 +954,8 @@ int board_fit_config_name_match(const char *name) return 0; else if (board_is_icev2() && !strcmp(name, "am335x-icev2")) return 0; + else if (board_is_bben() && !strcmp(name, "am335x-sancloud-bbe")) + return 0; else return -1; } diff --git a/board/ti/am64x/evm.c b/board/ti/am64x/evm.c index cdbb9a87bc..21c58c76d6 100644 --- a/board/ti/am64x/evm.c +++ b/board/ti/am64x/evm.c @@ -120,7 +120,7 @@ static void setup_serial(void) if (env_get("serial#")) return; - board_serial = simple_strtoul(ep->serial, &endp, 16); + board_serial = hextoul(ep->serial, &endp); if (*endp != '\0') { pr_err("Error: Can't set serial# to %s\n", ep->serial); return; diff --git a/board/ti/j721e/README b/board/ti/j721e/README deleted file mode 100644 index b1c9145c92..0000000000 --- a/board/ti/j721e/README +++ /dev/null @@ -1,277 +0,0 @@ -Introduction: -------------- -The J721e family of SoCs are part of K3 Multicore SoC architecture platform -targeting automotive applications. They are designed as a low power, high -performance and highly integrated device architecture, adding significant -enhancement on processing power, graphics capability, video and imaging -processing, virtualization and coherent memory support. - -The device is partitioned into three functional domains, each containing -specific processing cores and peripherals: -1. Wake-up (WKUP) domain: - - Device Management and Security Controller (DMSC) -2. Microcontroller (MCU) domain: - - Dual Core ARM Cortex-R5F processor -3. MAIN domain: - - Dual core 64-bit ARM Cortex-A72 - - 2 x Dual cortex ARM Cortex-R5 subsystem - - 2 x C66x Digital signal processor sub system - - C71x Digital signal processor sub-system with MMA. - -More info can be found in TRM: http://www.ti.com/lit/pdf/spruil1 - -Boot Flow: ----------- -Boot flow is similar to that of AM65x SoC and extending it with remoteproc -support. Below is the pictorial representation of boot flow: - -+------------------------------------------------------------------------+-----------------------+ -| DMSC | MCU R5 | A72 | MAIN R5/C66x/C7x | -+------------------------------------------------------------------------+-----------------------+ -| +--------+ | | | | -| | Reset | | | | | -| +--------+ | | | | -| : | | | | -| +--------+ | +-----------+ | | | -| | *ROM* |----------|-->| Reset rls | | | | -| +--------+ | +-----------+ | | | -| | | | : | | | -| | ROM | | : | | | -| |services| | : | | | -| | | | +-------------+ | | | -| | | | | *R5 ROM* | | | | -| | | | +-------------+ | | | -| | |<---------|---|Load and auth| | | | -| | | | | tiboot3.bin | | | | -| | | | +-------------+ | | | -| | | | : | | | -| | | | : | | | -| | | | : | | | -| | | | +-------------+ | | | -| | | | | *R5 SPL* | | | | -| | | | +-------------+ | | | -| | | | | Load | | | | -| | | | | sysfw.itb | | | | -| | Start | | +-------------+ | | | -| | System |<---------|---| Start | | | | -| |Firmware| | | SYSFW | | | | -| +--------+ | +-------------+ | | | -| : | | | | | | -| +---------+ | | Load | | | | -| | *SYSFW* | | | system | | | | -| +---------+ | | Config data | | | | -| | |<--------|---| | | | | -| | | | +-------------+ | | | -| | | | | DDR | | | | -| | | | | config | | | | -| | | | +-------------+ | | | -| | | | | Load | | | | -| | | | | tispl.bin | | | | -| | | | +-------------+ | | | -| | | | | Load R5 | | | | -| | | | | firmware | | | | -| | | | +-------------+ | | | -| | |<--------|---| Start A72 | | | | -| | | | | and jump to | | | | -| | | | | DM fw image | | | | -| | | | +-------------+ | | | -| | | | | +-----------+ | | -| | |---------|-----------------------|---->| Reset rls | | | -| | | | | +-----------+ | | -| | TIFS | | | : | | -| |Services | | | +-----------+ | | -| | |<--------|-----------------------|---->|*ATF/OPTEE*| | | -| | | | | +-----------+ | | -| | | | | : | | -| | | | | +-----------+ | | -| | |<--------|-----------------------|---->| *A72 SPL* | | | -| | | | | +-----------+ | | -| | | | | | Load | | | -| | | | | | u-boot.img| | | -| | | | | +-----------+ | | -| | | | | : | | -| | | | | +-----------+ | | -| | |<--------|-----------------------|---->| *U-Boot* | | | -| | | | | +-----------+ | | -| | | | | | prompt | | | -| | | | | +-----------+ | | -| | | | | | Load R5 | | | -| | | | | | Firmware | | | -| | | | | +-----------+ | | -| | |<--------|-----------------------|-----| Start R5 | | +-----------+ | -| | |---------|-----------------------|-----+-----------+-----|----->| R5 starts | | -| | | | | | Load C6 | | +-----------+ | -| | | | | | Firmware | | | -| | | | | +-----------+ | | -| | |<--------|-----------------------|-----| Start C6 | | +-----------+ | -| | |---------|-----------------------|-----+-----------+-----|----->| C6 starts | | -| | | | | | Load C7 | | +-----------+ | -| | | | | | Firmware | | | -| | | | | +-----------+ | | -| | |<--------|-----------------------|-----| Start C7 | | +-----------+ | -| | |---------|-----------------------|-----+-----------+-----|----->| C7 starts | | -| +---------+ | | | +-----------+ | -| | | | | -+------------------------------------------------------------------------+-----------------------+ - -- Here DMSC acts as master and provides all the critical services. R5/A72 -requests DMSC to get these services done as shown in the above diagram. - -Sources: --------- -1. SYSFW: - Tree: git://git.ti.com/k3-image-gen/k3-image-gen.git - Branch: master - -2. ATF: - Tree: https://github.com/ARM-software/arm-trusted-firmware.git - Branch: master - -3. OPTEE: - Tree: https://github.com/OP-TEE/optee_os.git - Branch: master - -4. U-Boot: - Tree: https://source.denx.de/u-boot/u-boot - Branch: master - -Build procedure: ----------------- -1. SYSFW: -$ make CROSS_COMPILE=arm-linux-gnueabihf- - -2. ATF: -$ make CROSS_COMPILE=aarch64-linux-gnu- ARCH=aarch64 PLAT=k3 TARGET_BOARD=generic SPD=opteed - -3. OPTEE: -$ make PLATFORM=k3-j721e CFG_ARM64_core=y - -4. U-Boot: - -4.1. R5: -$ make CROSS_COMPILE=arm-linux-gnueabihf- j721e_evm_r5_defconfig O=/tmp/r5 -$ make CROSS_COMPILE=arm-linux-gnueabihf- O=/tmp/r5 - -4.2. A72: -$ make CROSS_COMPILE=aarch64-linux-gnu- j721e_evm_a72_defconfig O=/tmp/a72 -$ make CROSS_COMPILE=aarch64-linux-gnu- ATF=<path to ATF dir>/build/k3/generic/release/bl31.bin TEE=<path to OPTEE OS dir>/out/arm-plat-k3/core/tee-pager_v2.bin DM=<path to DM firmware image> O=/tmp/a72 - -Target Images --------------- -Copy the below images to an SD card and boot: -- sysfw.itb from step 1 -- tiboot3.bin from step 4.1 -- tispl.bin, u-boot.img from 4.2 - -Image formats: --------------- - -- tiboot3.bin: - +-----------------------+ - | X.509 | - | Certificate | - | +-------------------+ | - | | | | - | | R5 | | - | | u-boot-spl.bin | | - | | | | - | +-------------------+ | - | | | | - | | FIT header | | - | | +---------------+ | | - | | | | | | - | | | DTB 1...N | | | - | | +---------------+ | | - | +-------------------+ | - +-----------------------+ - -- tispl.bin - +-----------------------+ - | | - | FIT HEADER | - | +-------------------+ | - | | | | - | | A72 ATF | | - | +-------------------+ | - | | | | - | | A72 OPTEE | | - | +-------------------+ | - | | | | - | | R5 DM FW | | - | +-------------------+ | - | | | | - | | A72 SPL | | - | +-------------------+ | - | | | | - | | SPL DTB 1...N | | - | +-------------------+ | - +-----------------------+ - -- sysfw.itb - +-----------------------+ - | | - | FIT HEADER | - | +-------------------+ | - | | | | - | | sysfw.bin | | - | +-------------------+ | - | | | | - | | board config | | - | +-------------------+ | - | | | | - | | PM config | | - | +-------------------+ | - | | | | - | | RM config | | - | +-------------------+ | - | | | | - | | Secure config | | - | +-------------------+ | - +-----------------------+ - -OSPI: ------ -ROM supports booting from OSPI from offset 0x0. - -Flashing images to OSPI: - -Below commands can be used to download tiboot3.bin, tispl.bin, u-boot.img, -and sysfw.itb over tftp and then flash those to OSPI at their respective -addresses. - -=> sf probe -=> tftp ${loadaddr} tiboot3.bin -=> sf update $loadaddr 0x0 $filesize -=> tftp ${loadaddr} tispl.bin -=> sf update $loadaddr 0x80000 $filesize -=> tftp ${loadaddr} u-boot.img -=> sf update $loadaddr 0x280000 $filesize -=> tftp ${loadaddr} sysfw.itb -=> sf update $loadaddr 0x6C0000 $filesize - -Flash layout for OSPI: - - 0x0 +----------------------------+ - | ospi.tiboot3(512K) | - | | - 0x80000 +----------------------------+ - | ospi.tispl(2M) | - | | - 0x280000 +----------------------------+ - | ospi.u-boot(4M) | - | | - 0x680000 +----------------------------+ - | ospi.env(128K) | - | | - 0x6A0000 +----------------------------+ - | ospi.env.backup (128K) | - | | - 0x6C0000 +----------------------------+ - | ospi.sysfw(1M) | - | | - 0x7C0000 +----------------------------+ - | padding (256k) | - 0x800000 +----------------------------+ - | ospi.rootfs(UBIFS) | - | | - +----------------------------+ diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c index b9a9f19552..077d83420c 100644 --- a/board/ti/j721e/evm.c +++ b/board/ti/j721e/evm.c @@ -10,6 +10,7 @@ #include <common.h> #include <env.h> #include <fdt_support.h> +#include <generic-phy.h> #include <image.h> #include <init.h> #include <log.h> @@ -29,7 +30,8 @@ #define board_is_j721e_som() (board_ti_k3_is("J721EX-PM1-SOM") || \ board_ti_k3_is("J721EX-PM2-SOM")) -#define board_is_j7200_som() board_ti_k3_is("J7200X-PM1-SOM") +#define board_is_j7200_som() (board_ti_k3_is("J7200X-PM1-SOM") || \ + board_ti_k3_is("J7200X-PM2-SOM")) /* Max number of MAC addresses that are parsed/processed per daughter card */ #define DAUGHTER_CARD_NO_OF_MAC_ADDR 8 @@ -199,7 +201,7 @@ static void setup_serial(void) if (env_get("serial#")) return; - board_serial = simple_strtoul(ep->serial, &endp, 16); + board_serial = hextoul(ep->serial, &endp); if (*endp != '\0') { pr_err("Error: Can't set serial# to %s\n", ep->serial); return; @@ -384,6 +386,33 @@ static int probe_daughtercards(void) } #endif +void configure_serdes_torrent(void) +{ + struct udevice *dev; + struct phy serdes; + int ret; + + if (!IS_ENABLED(CONFIG_PHY_CADENCE_TORRENT)) + return; + + ret = uclass_get_device_by_driver(UCLASS_PHY, + DM_DRIVER_GET(torrent_phy_provider), + &dev); + if (ret) + printf("Torrent init failed:%d\n", ret); + + serdes.dev = dev; + serdes.id = 0; + + ret = generic_phy_init(&serdes); + if (ret) + printf("phy_init failed!!\n"); + + ret = generic_phy_power_on(&serdes); + if (ret) + printf("phy_power_on failed !!\n"); +} + int board_late_init(void) { if (IS_ENABLED(CONFIG_TI_I2C_BOARD_DETECT)) { @@ -394,6 +423,9 @@ int board_late_init(void) probe_daughtercards(); } + if (board_is_j7200_som()) + configure_serdes_torrent(); + return 0; } diff --git a/board/ti/ks2_evm/mux-k2g.h b/board/ti/ks2_evm/mux-k2g.h index fa6c92cbdf..f24e62850b 100644 --- a/board/ti/ks2_evm/mux-k2g.h +++ b/board/ti/ks2_evm/mux-k2g.h @@ -368,6 +368,9 @@ struct pin_cfg k2g_ice_evm_pin_cfg[] = { { 98, BUFFER_CLASS_B | PIN_PDIS | MODE(0) }, /* MDIO_DATA */ { 99, BUFFER_CLASS_B | PIN_PDIS | MODE(0) }, /* MDIO_CLK */ + /* ICSS1 Padconf Workaround */ + { 202, MODE(1) | PIN_PDIS }, /* PR1_PRU1_GPO1.PR1_PRU1_GPI1 (PR1_MII1_RXD1) */ + { MAX_PIN_N, } }; diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c index 93eb20cf63..e4f9a0db91 100644 --- a/board/toradex/common/tdx-cfg-block.c +++ b/board/toradex/common/tdx-cfg-block.c @@ -548,7 +548,7 @@ static int get_cfgblock_interactive(void) len = cli_readline(message); } - tdx_serial = simple_strtoul(console_buffer, NULL, 10); + tdx_serial = dectoul(console_buffer, NULL); return 0; } @@ -566,14 +566,14 @@ static int get_cfgblock_barcode(char *barcode, struct toradex_hw *tag, /* Get hardware information from the first 8 digits */ tag->ver_major = barcode[4] - '0'; tag->ver_minor = barcode[5] - '0'; - tag->ver_assembly = simple_strtoul(revision, NULL, 10); + tag->ver_assembly = dectoul(revision, NULL); barcode[4] = '\0'; - tag->prodid = simple_strtoul(barcode, NULL, 10); + tag->prodid = dectoul(barcode, NULL); /* Parse second part of the barcode (serial number */ barcode += 8; - *serial = simple_strtoul(barcode, NULL, 10); + *serial = dectoul(barcode, NULL); return 0; } @@ -710,7 +710,7 @@ int try_migrate_tdx_cfg_block_carrier(void) tdx_car_hw_tag.ver_assembly = pid8[7] - '0'; pid8[4] = '\0'; - tdx_car_hw_tag.prodid = simple_strtoul(pid8, NULL, 10); + tdx_car_hw_tag.prodid = dectoul(pid8, NULL); /* Valid Tag */ write_tag(config_block, &offset, TAG_VALID, NULL, 0); @@ -754,7 +754,7 @@ static int get_cfgblock_carrier_interactive(void) sprintf(message, "Choose your carrier board (provide ID): "); len = cli_readline(message); - tdx_car_hw_tag.prodid = simple_strtoul(console_buffer, NULL, 10); + tdx_car_hw_tag.prodid = dectoul(console_buffer, NULL); do { sprintf(message, "Enter carrier board version (e.g. V1.1B): V"); @@ -770,7 +770,7 @@ static int get_cfgblock_carrier_interactive(void) len = cli_readline(message); } - tdx_car_serial = simple_strtoul(console_buffer, NULL, 10); + tdx_car_serial = dectoul(console_buffer, NULL); return 0; } diff --git a/board/tqc/tqma6/tqma6.c b/board/tqc/tqma6/tqma6.c index 26d557cece..4f86a92901 100644 --- a/board/tqc/tqma6/tqma6.c +++ b/board/tqc/tqma6/tqma6.c @@ -171,7 +171,7 @@ int board_spi_cs_gpio(unsigned bus, unsigned cs) #endif #endif -#ifdef CONFIG_SYS_I2C +#ifdef CONFIG_SYS_I2C_LEGACY static struct i2c_pads_info tqma6_i2c3_pads = { /* I2C3: on board LM75, M24C64, */ .scl = { @@ -216,7 +216,7 @@ int board_init(void) #ifndef CONFIG_DM_SPI tqma6_iomuxc_spi(); #endif -#ifdef CONFIG_SYS_I2C +#ifdef CONFIG_SYS_I2C_LEGACY tqma6_setup_i2c(); #endif diff --git a/board/varisys/common/sys_eeprom.c b/board/varisys/common/sys_eeprom.c index 251d9fd73e..8f624e5e36 100644 --- a/board/varisys/common/sys_eeprom.c +++ b/board/varisys/common/sys_eeprom.c @@ -299,7 +299,7 @@ static void set_mac_address(unsigned int index, const char *string) } for (i = 0; *p && (i < 6); i++) { - e.mac[index][i] = simple_strtoul(p, &p, 16); + e.mac[index][i] = hextoul(p, &p); if (*p == ':') p++; } @@ -364,11 +364,11 @@ int do_mac(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) set_date(argv[2]); break; case 'p': /* MAC table size */ - e.mac_count = simple_strtoul(argv[2], NULL, 16); + e.mac_count = hextoul(argv[2], NULL); update_crc(); break; case '0' ... '9': /* "mac 0" through "mac 22" */ - set_mac_address(simple_strtoul(argv[1], NULL, 10), argv[2]); + set_mac_address(dectoul(argv[1], NULL), argv[2]); break; case 'h': /* help */ default: diff --git a/board/vscom/baltos/board.c b/board/vscom/baltos/board.c index 4175d41469..0007cac1aa 100644 --- a/board/vscom/baltos/board.c +++ b/board/vscom/baltos/board.c @@ -379,7 +379,7 @@ int board_late_init(void) #endif #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) || \ - (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD)) + (defined(CONFIG_SPL_ETH) && defined(CONFIG_SPL_BUILD)) static void cpsw_control(int enabled) { /* VTP can be added here */ @@ -421,7 +421,7 @@ static struct cpsw_platform_data cpsw_data = { }; #endif -#if ((defined(CONFIG_SPL_ETH_SUPPORT) || defined(CONFIG_SPL_USB_ETHER)) \ +#if ((defined(CONFIG_SPL_ETH) || defined(CONFIG_SPL_USB_ETHER)) \ && defined(CONFIG_SPL_BUILD)) || \ ((defined(CONFIG_DRIVER_TI_CPSW) || \ defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)) && \ @@ -450,7 +450,7 @@ int board_eth_init(struct bd_info *bis) mac_addr[5] = (mac_lo & 0xFF00) >> 8; #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) || \ - (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD)) + (defined(CONFIG_SPL_ETH) && defined(CONFIG_SPL_BUILD)) if (!env_get("ethaddr")) { printf("<ethaddr> not set. Validating first E-fuse MAC\n"); diff --git a/board/work-microwave/work_92105/work_92105_display.c b/board/work-microwave/work_92105/work_92105_display.c index fecbbbdb58..e8e559ce1f 100644 --- a/board/work-microwave/work_92105/work_92105_display.c +++ b/board/work-microwave/work_92105/work_92105_display.c @@ -233,8 +233,7 @@ void work_92105_display_init(void) /* set display contrast */ display_contrast_str = env_get("fwopt_dispcontrast"); if (display_contrast_str) - display_contrast = simple_strtoul(display_contrast_str, - NULL, 10); + display_contrast = dectoul(display_contrast_str, NULL); i2c_write(0x2c, 0x00, 1, &display_contrast, 1); /* request GPO_15 as an output initially set to 1 */ diff --git a/board/xilinx/common/fru.c b/board/xilinx/common/fru.c index ccf48723ff..f6ca46c3ce 100644 --- a/board/xilinx/common/fru.c +++ b/board/xilinx/common/fru.c @@ -19,7 +19,7 @@ static int do_fru_capture(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], &endp, 16); + addr = hextoul(argv[2], &endp); if (*argv[1] == 0 || *endp != 0) return -1; @@ -41,7 +41,7 @@ static int do_fru_generate(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); return fru_generate(addr, argv[3], argv[4], argv[5], argv[6], argv[7]); } diff --git a/board/xilinx/versal/cmds.c b/board/xilinx/versal/cmds.c index f5735d0c62..04d4cdb141 100644 --- a/board/xilinx/versal/cmds.c +++ b/board/xilinx/versal/cmds.c @@ -32,7 +32,7 @@ static int do_versal_load_pdi(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; } - len = simple_strtoul(argv[3], NULL, 16); + len = hextoul(argv[3], NULL); if (!len) { debug("pdi_load: zero size\n"); return CMD_RET_USAGE; diff --git a/board/xilinx/zynq/cmds.c b/board/xilinx/zynq/cmds.c index 6c697caa62..024fac65f3 100644 --- a/board/xilinx/zynq/cmds.c +++ b/board/xilinx/zynq/cmds.c @@ -422,7 +422,7 @@ static int do_zynq_rsa(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_FAILURE; - src_ptr = simple_strtoul(argv[2], &endp, 16); + src_ptr = hextoul(argv[2], &endp); if (*argv[2] == 0 || *endp != 0) return CMD_RET_USAGE; @@ -453,26 +453,26 @@ static int zynq_decrypt_image(struct cmd_tbl *cmdtp, int flag, int argc, else return CMD_RET_USAGE; - srcaddr = simple_strtoul(argv[3], &endp, 16); + srcaddr = hextoul(argv[3], &endp); if (*argv[3] == 0 || *endp != 0) return CMD_RET_USAGE; - srclen = simple_strtoul(argv[4], &endp, 16); + srclen = hextoul(argv[4], &endp); if (*argv[4] == 0 || *endp != 0) return CMD_RET_USAGE; dstaddr = 0xFFFFFFFF; dstlen = srclen; } else { - srcaddr = simple_strtoul(argv[2], &endp, 16); + srcaddr = hextoul(argv[2], &endp); if (*argv[2] == 0 || *endp != 0) return CMD_RET_USAGE; - srclen = simple_strtoul(argv[3], &endp, 16); + srclen = hextoul(argv[3], &endp); if (*argv[3] == 0 || *endp != 0) return CMD_RET_USAGE; - dstaddr = simple_strtoul(argv[4], &endp, 16); + dstaddr = hextoul(argv[4], &endp); if (*argv[4] == 0 || *endp != 0) return CMD_RET_USAGE; - dstlen = simple_strtoul(argv[5], &endp, 16); + dstlen = hextoul(argv[5], &endp); if (*argv[5] == 0 || *endp != 0) return CMD_RET_USAGE; } diff --git a/board/xilinx/zynqmp/cmds.c b/board/xilinx/zynqmp/cmds.c index cf63ad97fa..b15c0f599b 100644 --- a/board/xilinx/zynqmp/cmds.c +++ b/board/xilinx/zynqmp/cmds.c @@ -40,7 +40,7 @@ static int do_zynqmp_verify_secure(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; src_addr = simple_strtoull(argv[2], NULL, 16); - len = simple_strtoul(argv[3], NULL, 16); + len = hextoul(argv[3], NULL); if (argc == 5) key_ptr = (uint8_t *)(uintptr_t)simple_strtoull(argv[4], @@ -86,7 +86,7 @@ static int do_zynqmp_mmio_read(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); ret = zynqmp_mmio_read(addr, &read_val); if (!ret) @@ -107,9 +107,9 @@ static int do_zynqmp_mmio_write(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); - mask = simple_strtoul(argv[3], NULL, 16); - val = simple_strtoul(argv[4], NULL, 16); + addr = hextoul(argv[2], NULL); + mask = hextoul(argv[3], NULL); + val = hextoul(argv[4], NULL); ret = zynqmp_mmio_write(addr, mask, val); if (ret != 0) @@ -135,12 +135,12 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < cmdtp->maxargs - 1) return CMD_RET_USAGE; - aes->srcaddr = simple_strtoul(argv[2], NULL, 16); - aes->ivaddr = simple_strtoul(argv[3], NULL, 16); - aes->len = simple_strtoul(argv[4], NULL, 16); - aes->op = simple_strtoul(argv[5], NULL, 16); - aes->keysrc = simple_strtoul(argv[6], NULL, 16); - aes->dstaddr = simple_strtoul(argv[7], NULL, 16); + aes->srcaddr = hextoul(argv[2], NULL); + aes->ivaddr = hextoul(argv[3], NULL); + aes->len = hextoul(argv[4], NULL); + aes->op = hextoul(argv[5], NULL); + aes->keysrc = hextoul(argv[6], NULL); + aes->dstaddr = hextoul(argv[7], NULL); flush_dcache_range((ulong)aes, (ulong)(aes) + roundup(sizeof(struct aes), ARCH_DMA_MINALIGN)); @@ -161,7 +161,7 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < cmdtp->maxargs) return CMD_RET_USAGE; - aes->keyaddr = simple_strtoul(argv[8], NULL, 16); + aes->keyaddr = hextoul(argv[8], NULL); if (aes->keyaddr) flush_dcache_range(aes->keyaddr, (aes->keyaddr + @@ -187,7 +187,7 @@ static int do_zynqmp_tcm_init(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_USAGE; - mode = simple_strtoul(argv[2], NULL, 16); + mode = hextoul(argv[2], NULL); if (mode != TCM_LOCK && mode != TCM_SPLIT) { printf("Mode should be either 0(lock)/1(split)\n"); return CMD_RET_FAILURE; @@ -209,8 +209,8 @@ static int do_zynqmp_pmufw(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); - size = simple_strtoul(argv[3], NULL, 16); + addr = hextoul(argv[2], NULL); + size = hextoul(argv[3], NULL); flush_dcache_range((ulong)addr, (ulong)(addr + size)); zynqmp_pmufw_load_config_object((const void *)(uintptr_t)addr, @@ -236,16 +236,16 @@ static int do_zynqmp_rsa(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_FAILURE; } - srcaddr = simple_strtoul(argv[2], NULL, 16); - srclen = simple_strtoul(argv[3], NULL, 16); + srcaddr = hextoul(argv[2], NULL); + srclen = hextoul(argv[3], NULL); if (srclen != RSA_KEY_SIZE) { puts("ERR: srclen should be equal to 0x200(512 bytes)\n"); return CMD_RET_USAGE; } - mod = simple_strtoul(argv[4], NULL, 16); - exp = simple_strtoul(argv[5], NULL, 16); - rsaop = simple_strtoul(argv[6], NULL, 16); + mod = hextoul(argv[4], NULL); + exp = hextoul(argv[5], NULL); + rsaop = hextoul(argv[6], NULL); if (!(rsaop == 0 || rsaop == 1)) { puts("ERR: rsaop should be either 0 or 1\n"); return CMD_RET_USAGE; @@ -299,11 +299,11 @@ static int do_zynqmp_sha3(struct cmd_tbl *cmdtp, int flag, return CMD_RET_FAILURE; } - srcaddr = simple_strtoul(argv[2], NULL, 16); - srclen = simple_strtoul(argv[3], NULL, 16); + srcaddr = hextoul(argv[2], NULL); + srclen = hextoul(argv[3], NULL); if (argc == 5) { - hashaddr = simple_strtoul(argv[4], NULL, 16); + hashaddr = hextoul(argv[4], NULL); flush_dcache_range(hashaddr, hashaddr + roundup(ZYNQMP_SHA3_SIZE, ARCH_DMA_MINALIGN)); |