]> git.sur5r.net Git - u-boot/commitdiff
Merge git://git.denx.de/u-boot-mpc85xx
authorTom Rini <trini@konsulko.com>
Sat, 15 Oct 2016 17:03:19 +0000 (13:03 -0400)
committerTom Rini <trini@konsulko.com>
Sat, 15 Oct 2016 17:03:19 +0000 (13:03 -0400)
148 files changed:
arch/arm/cpu/u-boot.lds
arch/arm/mach-tegra/xusb-padctl-common.c
arch/arm/mach-uniphier/board_late_init.c
arch/x86/cpu/irq.c
board/compulab/cm_fx6/cm_fx6.c
cmd/fdt.c
common/fdt_support.c
common/image-fdt.c
common/image-fit.c
common/image-sig.c
common/image.c
common/spl/Kconfig
configs/BSC9131RDB_NAND_SYSCLK100_defconfig
configs/BSC9131RDB_NAND_defconfig
configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
configs/BSC9131RDB_SPIFLASH_defconfig
configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
configs/BSC9132QDS_NAND_DDRCLK100_defconfig
configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
configs/BSC9132QDS_NAND_DDRCLK133_defconfig
configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
configs/BSC9132QDS_NOR_DDRCLK100_defconfig
configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
configs/BSC9132QDS_NOR_DDRCLK133_defconfig
configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
configs/a3m071_defconfig
configs/a4m2k_defconfig
configs/am335x_boneblack_defconfig
configs/am335x_boneblack_vboot_defconfig
configs/am335x_evm_defconfig
configs/am335x_evm_nor_defconfig
configs/am335x_evm_usbspl_defconfig
configs/am335x_shc_defconfig
configs/am335x_shc_ict_defconfig
configs/am335x_shc_netboot_defconfig
configs/am335x_shc_prompt_defconfig
configs/am335x_shc_sdboot_defconfig
configs/am335x_shc_sdboot_prompt_defconfig
configs/am335x_sl50_defconfig
configs/am43xx_evm_defconfig
configs/am43xx_evm_ethboot_defconfig
configs/am43xx_evm_usbhost_boot_defconfig
configs/am57xx_evm_defconfig
configs/am57xx_evm_nodt_defconfig
configs/birdland_bav335a_defconfig
configs/birdland_bav335b_defconfig
configs/cairo_defconfig
configs/cm_fx6_defconfig
configs/devkit8000_defconfig
configs/dra7xx_evm_defconfig
configs/gwventana_defconfig
configs/igep0020_defconfig
configs/igep0030_defconfig
configs/igep0030_nand_defconfig
configs/igep0032_defconfig
configs/ipam390_defconfig
configs/microblaze-generic_defconfig
configs/omap3_beagle_defconfig
configs/omap3_logic_defconfig
configs/omap3_overo_defconfig
configs/omap4_panda_defconfig
configs/omap4_sdp4430_defconfig
configs/omap5_uevm_defconfig
configs/pcm051_rev1_defconfig
configs/pcm051_rev3_defconfig
configs/pdm360ng_defconfig
configs/pengwyn_defconfig
configs/twister_defconfig
configs/xilinx_zynqmp_ep_defconfig
configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig
configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig
configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig
configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig
configs/xilinx_zynqmp_zcu102_defconfig
configs/xilinx_zynqmp_zcu102_revB_defconfig
configs/zynq_microzed_defconfig
configs/zynq_picozed_defconfig
configs/zynq_zc702_defconfig
configs/zynq_zc706_defconfig
configs/zynq_zc770_xm010_defconfig
configs/zynq_zc770_xm011_defconfig
configs/zynq_zc770_xm012_defconfig
configs/zynq_zc770_xm013_defconfig
configs/zynq_zed_defconfig
configs/zynq_zybo_defconfig
drivers/clk/clk-uclass.c
drivers/core/device.c
drivers/gpio/dwapb_gpio.c
drivers/i2c/mxc_i2c.c
drivers/mailbox/mailbox-uclass.c
drivers/net/cpsw.c
drivers/net/keystone_net.c
drivers/net/mvpp2.c
drivers/net/sun8i_emac.c
drivers/pci/pci_tegra.c
drivers/phy/marvell/comphy_core.c
drivers/pinctrl/exynos/pinctrl-exynos.c
drivers/pinctrl/meson/pinctrl-meson.c
drivers/pinctrl/pinctrl-generic.c
drivers/pinctrl/pinctrl-uclass.c
drivers/power/pmic/palmas.c
drivers/reset/reset-uclass.c
drivers/spi/fsl_qspi.c
drivers/video/sunxi_display.c
include/configs/BSC9131RDB.h
include/configs/BSC9132QDS.h
include/configs/a3m071.h
include/configs/am335x_evm.h
include/configs/am335x_igep0033.h
include/configs/baltos.h
include/configs/bav335x.h
include/configs/brppt1.h
include/configs/cm_fx6.h
include/configs/cm_t335.h
include/configs/cm_t43.h
include/configs/cm_t54.h
include/configs/duovero.h
include/configs/gw_ventana.h
include/configs/ipam390.h
include/configs/microblaze-generic.h
include/configs/omap3_zoom1.h
include/configs/pdm360ng.h
include/configs/pepper.h
include/configs/smartweb.h
include/configs/taurus.h
include/configs/ti_armv7_common.h
include/configs/ti_armv7_keystone2.h
include/configs/twister.h
include/configs/xilinx_zynqmp.h
include/configs/zynq-common.h
include/fdt_support.h
include/libfdt.h
lib/Kconfig
lib/fdtdec.c
lib/libfdt/fdt.c
lib/libfdt/fdt_overlay.c
lib/libfdt/fdt_ro.c
lib/libfdt/fdt_rw.c
lib/libfdt/fdt_wip.c
test/overlay/cmd_ut_overlay.c
test/py/tests/test_sleep.py

index 0a5fae6efccfbe46d3477cfbff15fd72c97782d7..37d4c605aca3256032974302c2f6b916fb3731d0 100644 (file)
@@ -74,6 +74,7 @@ SECTIONS
                *(._secure.data)
        }
 
+#ifdef CONFIG_ARMV7_PSCI
        .secure_stack ALIGN(ADDR(.secure_data) + SIZEOF(.secure_data),
                            CONSTANT(COMMONPAGESIZE)) (NOLOAD) :
 #ifdef __ARMV7_PSCI_STACK_IN_RAM
@@ -83,10 +84,10 @@ SECTIONS
 #endif
        {
                KEEP(*(.__secure_stack_start))
-#ifdef CONFIG_ARMV7_PSCI
+
                /* Skip addreses for stack */
                . = . + CONFIG_ARMV7_PSCI_NR_CPUS * ARM_PSCI_STACK_SIZE;
-#endif
+
                /* Align end of stack section to page boundary */
                . = ALIGN(CONSTANT(COMMONPAGESIZE));
 
@@ -107,6 +108,8 @@ SECTIONS
 #ifndef __ARMV7_PSCI_STACK_IN_RAM
        /* Reset VMA but don't allocate space if we have secure SRAM */
        . = LOADADDR(.secure_stack);
+#endif
+
 #endif
 
        .__secure_end : AT(ADDR(.__secure_end)) {
index 18ad7bfbdc0f7fa862bb735c4fb29827b3c9b83f..dfbc8ef1fe000ce572e560aa58be4cfcb7a78984 100644 (file)
@@ -78,11 +78,11 @@ tegra_xusb_padctl_group_parse_dt(struct tegra_xusb_padctl *padctl,
                                 const void *fdt, int node)
 {
        unsigned int i;
-       int len, err;
+       int len;
 
        group->name = fdt_get_name(fdt, node, &len);
 
-       len = fdt_count_strings(fdt, node, "nvidia,lanes");
+       len =  fdt_stringlist_count(fdt, node, "nvidia,lanes");
        if (len < 0) {
                error("failed to parse \"nvidia,lanes\" property");
                return -EINVAL;
@@ -91,9 +91,9 @@ tegra_xusb_padctl_group_parse_dt(struct tegra_xusb_padctl *padctl,
        group->num_pins = len;
 
        for (i = 0; i < group->num_pins; i++) {
-               err = fdt_get_string_index(fdt, node, "nvidia,lanes", i,
-                                          &group->pins[i]);
-               if (err < 0) {
+               group->pins[i] = fdt_stringlist_get(fdt, node, "nvidia,lanes",
+                                                   i, NULL);
+               if (!group->pins[i]) {
                        error("failed to read string from \"nvidia,lanes\" property");
                        return -EINVAL;
                }
@@ -101,8 +101,8 @@ tegra_xusb_padctl_group_parse_dt(struct tegra_xusb_padctl *padctl,
 
        group->num_pins = len;
 
-       err = fdt_get_string(fdt, node, "nvidia,function", &group->func);
-       if (err < 0) {
+       group->func = fdt_stringlist_get(fdt, node, "nvidia,function", 0, NULL);
+       if (!group->func) {
                error("failed to parse \"nvidia,func\" property");
                return -EINVAL;
        }
@@ -223,7 +223,7 @@ tegra_xusb_padctl_config_parse_dt(struct tegra_xusb_padctl *padctl,
 
        config->name = fdt_get_name(fdt, node, NULL);
 
-       fdt_for_each_subnode(fdt, subnode, node) {
+       fdt_for_each_subnode(subnode, fdt, node) {
                struct tegra_xusb_padctl_group *group;
                int err;
 
@@ -253,7 +253,7 @@ static int tegra_xusb_padctl_parse_dt(struct tegra_xusb_padctl *padctl,
                return err;
        }
 
-       fdt_for_each_subnode(fdt, subnode, node) {
+       fdt_for_each_subnode(subnode, fdt, node) {
                struct tegra_xusb_padctl_config *config = &padctl->config;
 
                err = tegra_xusb_padctl_config_parse_dt(padctl, config, fdt,
index a45412677a0ffcfad93ca01f7a6ee222471f90ce..f23295fbd2128016318a72368d62facba60e6e2a 100644 (file)
@@ -37,13 +37,12 @@ static int uniphier_set_fdt_file(void)
        const char *compat;
        char dtb_name[256];
        int buf_len = 256;
-       int ret;
 
        if (getenv("fdt_file"))
                return 0;       /* do nothing if it is already set */
 
-       ret = fdt_get_string(gd->fdt_blob, 0, "compatible", &compat);
-       if (ret)
+       compat = fdt_stringlist_get(gd->fdt_blob, 0, "compatible", 0, NULL);
+       if (!compat)
                return -EINVAL;
 
        if (strncmp(compat, VENDOR_PREFIX, strlen(VENDOR_PREFIX)))
index df3cd0abc7771bef450f70c458ad13613d2162e4..9364410a0f83728854df8b01c40e2d369334bf4b 100644 (file)
@@ -103,11 +103,12 @@ static int create_pirq_routing_table(struct udevice *dev)
        /* extract the bdf from fdt_pci_addr */
        priv->bdf = dm_pci_get_bdf(dev->parent);
 
-       ret = fdt_find_string(blob, node, "intel,pirq-config", "pci");
+       ret = fdt_stringlist_search(blob, node, "intel,pirq-config", "pci");
        if (!ret) {
                priv->config = PIRQ_VIA_PCI;
        } else {
-               ret = fdt_find_string(blob, node, "intel,pirq-config", "ibase");
+               ret = fdt_stringlist_search(blob, node, "intel,pirq-config",
+                                           "ibase");
                if (!ret)
                        priv->config = PIRQ_VIA_IBASE;
                else
index 28e9a8f41ff3cf05e4b7a02b604b44efb1efdf74..5b88bcce598284dcc7aff3e7a878aed5b84dfb55 100644 (file)
@@ -602,7 +602,7 @@ int ft_board_setup(void *blob, bd_t *bd)
        char baseboard_name[16];
        int err;
 
-       fdt_shrink_to_minimum(blob); /* Make room for new properties */
+       fdt_shrink_to_minimum(blob, 0); /* Make room for new properties */
 
        /* MAC addr */
        if (eth_getenv_enetaddr("ethaddr", enetaddr)) {
index 58af7727ba088b34fc62a1bb0ec33dd4946d27ab..b503357dc3a8cf26ca80dd3edfbde628c8cb86b7 100644 (file)
--- a/cmd/fdt.c
+++ b/cmd/fdt.c
@@ -662,7 +662,12 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 #endif
        /* resize the fdt */
        else if (strncmp(argv[1], "re", 2) == 0) {
-               fdt_shrink_to_minimum(working_fdt);
+               uint extrasize;
+               if (argc > 2)
+                       extrasize = simple_strtoul(argv[2], NULL, 16);
+               else
+                       extrasize = 0;
+               fdt_shrink_to_minimum(working_fdt, extrasize);
        }
        else {
                /* Unrecognized command */
@@ -1056,7 +1061,7 @@ static char fdt_help_text[] =
        "fdt systemsetup                     - Do system-specific set up\n"
 #endif
        "fdt move   <fdt> <newaddr> <length> - Copy the fdt to <addr> and make it active\n"
-       "fdt resize                          - Resize fdt to size + padding to 4k addr\n"
+       "fdt resize [<extrasize>]            - Resize fdt to size + padding to 4k addr + some optional <extrasize> if needed\n"
        "fdt print  <path> [<prop>]          - Recursive print starting at <path>\n"
        "fdt list   <path> [<prop>]          - Print one level starting at <path>\n"
        "fdt get value <var> <path> <prop>   - Get <property> and store in <var>\n"
index 202058621ae2016f4457160ef6079b6c539b6608..0609470dfb8bbaddcd4d8a2fab178d1b2fb481c6 100644 (file)
@@ -523,7 +523,7 @@ void fdt_fixup_ethernet(void *fdt)
 }
 
 /* Resize the fdt to its actual size + a bit of padding */
-int fdt_shrink_to_minimum(void *blob)
+int fdt_shrink_to_minimum(void *blob, uint extrasize)
 {
        int i;
        uint64_t addr, size;
@@ -551,6 +551,7 @@ int fdt_shrink_to_minimum(void *blob)
        actualsize = fdt_off_dt_strings(blob) +
                fdt_size_dt_strings(blob) + 5 * sizeof(struct fdt_reserve_entry);
 
+       actualsize += extrasize;
        /* Make it so the fdt ends on a page boundary */
        actualsize = ALIGN(actualsize + ((uintptr_t)blob & 0xfff), 0x1000);
        actualsize = actualsize - ((uintptr_t)blob & 0xfff);
index 3d23608c043ba0095f2b6a773dfb8864971cdd72..5454227fc9963213b18fe799e337333e95fee228 100644 (file)
@@ -503,7 +503,7 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
                lmb_free(lmb, (phys_addr_t)(u32)(uintptr_t)blob,
                         (phys_size_t)fdt_totalsize(blob));
 
-       ret = fdt_shrink_to_minimum(blob);
+       ret = fdt_shrink_to_minimum(blob, 0);
        if (ret < 0)
                goto err;
        of_size = ret;
index 1b0234a90cb1eefcc7533f630491e8a68098292a..77dc011dc3bfc25f5e9d084f54bb25192dda9367 100644 (file)
@@ -1026,7 +1026,7 @@ int fit_image_verify(const void *fit, int image_noffset)
        }
 
        /* Process all hash subnodes of the component image node */
-       fdt_for_each_subnode(fit, noffset, image_noffset) {
+       fdt_for_each_subnode(noffset, fit, image_noffset) {
                const char *name = fit_get_name(fit, noffset, NULL);
 
                /*
@@ -1457,7 +1457,7 @@ int fit_conf_get_prop_node(const void *fit, int noffset,
 void fit_conf_print(const void *fit, int noffset, const char *p)
 {
        char *desc;
-       char *uname;
+       const char *uname;
        int ret;
        int loadables_index;
 
@@ -1469,7 +1469,7 @@ void fit_conf_print(const void *fit, int noffset, const char *p)
        else
                printf("%s\n", desc);
 
-       uname = (char *)fdt_getprop(fit, noffset, FIT_KERNEL_PROP, NULL);
+       uname = fdt_getprop(fit, noffset, FIT_KERNEL_PROP, NULL);
        printf("%s  Kernel:       ", p);
        if (uname == NULL)
                printf("unavailable\n");
@@ -1477,26 +1477,23 @@ void fit_conf_print(const void *fit, int noffset, const char *p)
                printf("%s\n", uname);
 
        /* Optional properties */
-       uname = (char *)fdt_getprop(fit, noffset, FIT_RAMDISK_PROP, NULL);
+       uname = fdt_getprop(fit, noffset, FIT_RAMDISK_PROP, NULL);
        if (uname)
                printf("%s  Init Ramdisk: %s\n", p, uname);
 
-       uname = (char *)fdt_getprop(fit, noffset, FIT_FDT_PROP, NULL);
+       uname = fdt_getprop(fit, noffset, FIT_FDT_PROP, NULL);
        if (uname)
                printf("%s  FDT:          %s\n", p, uname);
 
-       uname = (char *)fdt_getprop(fit, noffset, FIT_FPGA_PROP, NULL);
+       uname = fdt_getprop(fit, noffset, FIT_FPGA_PROP, NULL);
        if (uname)
                printf("%s  FPGA:         %s\n", p, uname);
 
        /* Print out all of the specified loadables */
        for (loadables_index = 0;
-            fdt_get_string_index(fit, noffset,
-                       FIT_LOADABLE_PROP,
-                       loadables_index,
-                       (const char **)&uname) == 0;
-            loadables_index++)
-       {
+            uname = fdt_stringlist_get(fit, noffset, FIT_LOADABLE_PROP,
+                                       loadables_index, NULL), uname;
+            loadables_index++) {
                if (loadables_index == 0) {
                        printf("%s  Loadables:    ", p);
                } else {
index eda5e1353ab0add00db84fd00a53590ac28238cc..28f7a20cadfb249ec9ac565e9a03f2eae5b76780 100644 (file)
@@ -212,7 +212,7 @@ static int fit_image_verify_sig(const void *fit, int image_noffset,
        int ret;
 
        /* Process all hash subnodes of the component image node */
-       fdt_for_each_subnode(fit, noffset, image_noffset) {
+       fdt_for_each_subnode(noffset, fit, image_noffset) {
                const char *name = fit_get_name(fit, noffset, NULL);
 
                if (!strncmp(name, FIT_SIG_NODENAME,
@@ -260,7 +260,7 @@ int fit_image_verify_required_sigs(const void *fit, int image_noffset,
                return 0;
        }
 
-       fdt_for_each_subnode(sig_blob, noffset, sig_node) {
+       fdt_for_each_subnode(noffset, sig_blob, sig_node) {
                const char *required;
                int ret;
 
@@ -393,7 +393,7 @@ static int fit_config_verify_sig(const void *fit, int conf_noffset,
        int ret;
 
        /* Process all hash subnodes of the component conf node */
-       fdt_for_each_subnode(fit, noffset, conf_noffset) {
+       fdt_for_each_subnode(noffset, fit, conf_noffset) {
                const char *name = fit_get_name(fit, noffset, NULL);
 
                if (!strncmp(name, FIT_SIG_NODENAME,
@@ -438,7 +438,7 @@ int fit_config_verify_required_sigs(const void *fit, int conf_noffset,
                return 0;
        }
 
-       fdt_for_each_subnode(sig_blob, noffset, sig_node) {
+       fdt_for_each_subnode(noffset, sig_blob, sig_node) {
                const char *required;
                int ret;
 
index c0ad36a60f8a90c6ef31d65816dae30441b3de8d..0e86c13a88aa827415d98740894abe12440ed91f 100644 (file)
@@ -1305,7 +1305,7 @@ int boot_get_fpga(int argc, char * const argv[], bootm_headers_t *images,
        void *buf;
        int conf_noffset;
        int fit_img_result;
-       char *uname, *name;
+       const char *uname, *name;
        int err;
        int devnum = 0; /* TODO support multi fpga platforms */
        const fpga_desc * const desc = fpga_get_desc(devnum);
@@ -1332,9 +1332,9 @@ int boot_get_fpga(int argc, char * const argv[], bootm_headers_t *images,
        case IMAGE_FORMAT_FIT:
                conf_noffset = fit_conf_get_node(buf, images->fit_uname_cfg);
 
-               err = fdt_get_string_index(buf, conf_noffset, FIT_FPGA_PROP, 0,
-                                          (const char **)&uname);
-               if (err < 0) {
+               uname = fdt_stringlist_get(buf, conf_noffset, FIT_FPGA_PROP, 0,
+                                          NULL);
+               if (!uname) {
                        debug("## FPGA image is not specified\n");
                        return 0;
                }
@@ -1404,7 +1404,7 @@ int boot_get_loadable(int argc, char * const argv[], bootm_headers_t *images,
        int loadables_index;
        int conf_noffset;
        int fit_img_result;
-       char *uname;
+       const char *uname;
 
        /* Check to see if the images struct has a FIT configuration */
        if (!genimg_has_config(images)) {
@@ -1428,15 +1428,14 @@ int boot_get_loadable(int argc, char * const argv[], bootm_headers_t *images,
                conf_noffset = fit_conf_get_node(buf, images->fit_uname_cfg);
 
                for (loadables_index = 0;
-                    fdt_get_string_index(buf, conf_noffset,
-                               FIT_LOADABLE_PROP,
-                               loadables_index,
-                               (const char **)&uname) == 0;
+                    uname = fdt_stringlist_get(buf, conf_noffset,
+                                       FIT_LOADABLE_PROP, loadables_index,
+                                       NULL), uname;
                     loadables_index++)
                {
                        fit_img_result = fit_image_load(images,
                                tmp_img_addr,
-                               (const char **)&uname,
+                               &uname,
                                &(images->fit_uname_cfg), arch,
                                IH_TYPE_LOADABLE,
                                BOOTSTAGE_ID_FIT_LOADABLE_START,
index 72aacab52cbe6a8dcf34552cb2491fb0d632c8a2..bb99f1fcff4b4ba3ae909be3d3134323741f6c84 100644 (file)
@@ -381,6 +381,24 @@ config SPL_ONENAND_SUPPORT
          load U-Boot from supported devices. This enables the drivers in
          drivers/mtd/onenand as part of an SPL build.
 
+config SPL_OS_BOOT
+       bool "Activate Falcon Mode"
+       depends on SPL && !TI_SECURE_DEVICE
+       default n
+       help
+         Enable booting directly to an OS from SPL.
+         for more info read doc/README.falcon
+
+if SPL_OS_BOOT
+config SYS_OS_BASE
+       hex "addr, where OS is found"
+       depends on SPL && SPL_NOR_SUPPORT
+       help
+         Specify the address, where the OS image is found, which
+         gets booted.
+
+endif # SPL_OS_BOOT
+
 config SPL_POST_MEM_SUPPORT
        bool "Support POST drivers"
        depends on SPL
index babcdd593e7f8dfbe1afc352e0f0ff7ca35bc589..9a697855c09ae9c5155a0daf01412979ef12937a 100644 (file)
@@ -28,3 +28,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index ad0062284b443bee16fb4db855cd0b8cd763f1ed..46b5b8e64e6405c07534f58537a0ffb911b052df 100644 (file)
@@ -28,3 +28,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 904556718ffe2f1329014931c9df4277249d189a..9a50d0c307c62343d2a82539f204c6347ea2c153 100644 (file)
@@ -25,3 +25,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 178618c209a94452d55d7295357be90283ffba48..ebb41d21f5dcfcd64fd6df23bfe252f472ececb8 100644 (file)
@@ -25,3 +25,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index e678144f20f928b5c819c840346915643d730310..5bed9aabe145cb936904b8ce25e51b9031edad37 100644 (file)
@@ -30,3 +30,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index e6fde47b8d1ebe1f7649e825ea98e7ae918af6fc..defeee14f3bdddfe1a42c5a8f0719844634cd64e 100644 (file)
@@ -29,3 +29,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 1d9b54174d51c1e67108c6ee82f4cc3264daae65..3a695fc868f2bb8d39a19a7fdbb3614685b7e492 100644 (file)
@@ -30,3 +30,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 235f304c1a9e58b4f2fd37bdda4c37597c1eb595..6600d1e543186b63d01f40aa17aa38d02d98208e 100644 (file)
@@ -29,3 +29,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index f193c4b51c2aa8e4558a14e6a6382bad455cbff4..8d26cc53ca348a3e5a44a183df5121dccfe9406b 100644 (file)
@@ -30,3 +30,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 4c9c955b9f7cc811d88b7d523fc2c9f199acc789..eb1c1de37b3577a79492198e0176c3d36ce0625b 100644 (file)
@@ -26,3 +26,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 74c3385c31cd86ce76aef13f1d996bd7716b6734..5359109617ff9b22aea420f6430baffc7603cb81 100644 (file)
@@ -30,3 +30,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 4bc83ef967f9876239438c1dba2600b1d937e968..83a9840372490b307092d25a3edf525a8741c864 100644 (file)
@@ -26,3 +26,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 0bea345f38b92fcb46060142c5172959f3f9a88b..f50c833e260bc9c4f91f7b2d4530399a11b76740 100644 (file)
@@ -30,3 +30,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index f16b1b117775ae8e1e279e31eb1635a887e02301..2f28087d1b4f0ad58cfbf19f6cd12207433fc729 100644 (file)
@@ -26,3 +26,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index d24f21626e2e67e8e6aa3434f30170f6f7f4996c..596ebad45c8e84131f3a56c29b9accbb791f9cb8 100644 (file)
@@ -30,3 +30,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index a9555db150c3b78886c3183847f37764995c039c..cc12251280adccec601615a415c089959bdcd6ed 100644 (file)
@@ -26,3 +26,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 06a1770c1cc87b0534110b1fcd498d81eb205844..c56f9d204e63a3ee6ed3172a5ab45be68a83c14e 100644 (file)
@@ -30,3 +30,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index c86ce6f5351b71021c1c50926d71a2116949ade8..86f5b87a64be4a9e8be3a2325c21375e7d550077 100644 (file)
@@ -26,3 +26,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 6f6f2dc787e254f10a1449f8688161c46010a1a3..f9f671e99019fe49c72a0770fa48439a5fd704e0 100644 (file)
@@ -30,3 +30,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index da71c54663c3ab1968c8422d234c67b45bf881f2..8594ff32cf75a343c4066ed254601d88dd5b27c5 100644 (file)
@@ -26,3 +26,4 @@ CONFIG_FSL_ESPI=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 9e573a7b38c5e35826ddbfb3f5087e295a8e22d9..ae696b5bdb6c6d63435f84db79d6197b53a3246c 100644 (file)
@@ -10,6 +10,8 @@ CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_NOR_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
+CONFIG_SYS_OS_BASE=0xfc200000
 CONFIG_HUSH_PARSER=y
 CONFIG_LOOPW=y
 # CONFIG_CMD_SETEXPR is not set
index aa09bf5e6475dbaa1eca7e72b877c2bd5f07c2ee..144291e15e8635ddce55172d28811ec17583d4b9 100644 (file)
@@ -11,6 +11,8 @@ CONFIG_SYS_EXTRA_OPTIONS="A4M2K"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_NOR_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
+CONFIG_SYS_OS_BASE=0xfc200000
 CONFIG_HUSH_PARSER=y
 CONFIG_LOOPW=y
 # CONFIG_CMD_SETEXPR is not set
index 1049a6de732e1efec2fbac7876e84aab8e2ecdab..12b38554243672983e39dc78689dd3d77c3413bf 100644 (file)
@@ -1,7 +1,7 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_AM335X_EVM=y
 # CONFIG_SPL_NAND_SUPPORT is not set
+CONFIG_TARGET_AM335X_EVM=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT"
@@ -9,6 +9,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_MUSB_NEW_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
index c6ef65072a693e9dae34edaffa543d1ff257f6b3..60d28510cff11bcef56460d905c34e48f1b042cc 100644 (file)
@@ -1,7 +1,7 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_AM335X_EVM=y
 # CONFIG_SPL_NAND_SUPPORT is not set
+CONFIG_TARGET_AM335X_EVM=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_DEFAULT_DEVICE_TREE="am335x-boneblack"
 CONFIG_FIT=y
@@ -12,6 +12,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_MUSB_NEW_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
index 3136957aec04dec6a55f5c5bd65a3b43674340a3..00bf4a438a7b91881cf6506d9a0599b112b18d84 100644 (file)
@@ -11,6 +11,7 @@ CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_MUSB_NEW_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 1f12facc398c318e55e3ca4d9a2423682530e55a..1046463cd6e6c98823ade1d249a943ead7f3bd6c 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_MUSB_NEW_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 1c3e04d7331e95c1b01ef5f7287c1ab895c71f44..b5d442407242fedcc17574a98a8e9506b243e011 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_SPL_STACK_R=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_MUSB_NEW_SUPPORT=y
 CONFIG_SPL_NET_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_SPL_USBETH_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
index 5eabd99e16d2b6939c343a421f6e74610283f649..cbafdb1a990c6e90721ffebd3943f0c11293489c 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -11,6 +10,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SERIES=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
@@ -19,6 +19,7 @@ CONFIG_FIT=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
index 93bbf313ab053cd4587973eb4723f54f9f80f28f..203376625b5d1b71ed3ddcd2dab459df17a6da71 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -11,6 +10,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SHC_ICT=y
 CONFIG_SERIES=y
@@ -20,6 +20,7 @@ CONFIG_FIT=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
index 6e8a9bf29d8feb2d9cd2d49c64d3406f8fa81e28..c6a6a1d9a567f2462cb0ff4b5c4ed72c8f424c31 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -12,6 +11,7 @@ CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SHC_NETBOOT=y
 CONFIG_SERIES=y
@@ -21,6 +21,7 @@ CONFIG_FIT=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
index 1ce8700d37b23e116a735051a5c3a9eda28b3cf7..374e5a648598e8676d8b305178720b81bfc5992b 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -11,6 +10,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SERIES=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
@@ -19,6 +19,7 @@ CONFIG_FIT=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
 CONFIG_AUTOBOOT_DELAY_STR="shc"
index ee8ed06b2068b6a23698670df684bd02745ddf4b..356046e79bab73bbb07fa936397c725f23c31a26 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -11,6 +10,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SHC_SDBOOT=y
 CONFIG_SERIES=y
@@ -20,6 +20,7 @@ CONFIG_FIT=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
index ee8ed06b2068b6a23698670df684bd02745ddf4b..356046e79bab73bbb07fa936397c725f23c31a26 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -11,6 +10,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_TARGET_AM335X_SHC=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SHC_SDBOOT=y
 CONFIG_SERIES=y
@@ -20,6 +20,7 @@ CONFIG_FIT=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
index 9dba3f01f8bc7fc3737cf7f8215de49773cf1e20..89c45da345f21783e51e04d1c37be88eb001be06 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_AM335X_SL50=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -12,6 +11,7 @@ CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_TARGET_AM335X_SL50=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL_YMODEM_SUPPORT=y
@@ -20,6 +20,7 @@ CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
index 304743d0e952e416a38ed942a47735fc6b5ec5a7..e63ee77cc735e154cf6c6f58992b55dc5c9bd1ee 100644 (file)
@@ -11,6 +11,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_MTD_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 4ed2ac39aca0d1c859a19c473b322a2385e60fdd..99d0990e5b20bc87cdad3c4e785e40d1b592bfe2 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_SPL_ETH_SUPPORT=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_NET_VCI_STRING="AM43xx U-Boot SPL"
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index f3853717a37c6aa6bc208cdc92e07cb75f4719da..00874dd1524fbbc5d432a4c7a8194d97f9346062 100644 (file)
@@ -12,6 +12,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_MTD_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_SPL_USB_HOST_SUPPORT=y
 CONFIG_SPL_USB_SUPPORT=y
 CONFIG_HUSH_PARSER=y
index af54ebefec07e4158405fb9c0ac2e075cfeb95df..5acd4e711c4c80b4cf94597ee7710f40f1dfb8bc 100644 (file)
@@ -14,6 +14,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_DMA_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 608cc10d3b469d64e9c36b247dc7ec3003ede816..9588a55f44830f9279eb59ad6872a30583dff5ef 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_DMA_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index d87c34297905a8f66201f40d0b511ce522ee92f8..5a773ca7779e69b56098cfe65c362e8fd64c46d6 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_BAV335X=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -11,6 +10,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_TARGET_BAV335X=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SPL_YMODEM_SUPPORT=y
 CONFIG_BAV_VERSION=1
@@ -19,6 +19,7 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MUSB_NEW_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index f4bc68706bd50a0a60150ca4a8f54d74c686e25c..f2d943955312f71597b20cae660f191295150b81 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_BAV335X=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -11,6 +10,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_TARGET_BAV335X=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SPL_YMODEM_SUPPORT=y
 CONFIG_BAV_VERSION=2
@@ -19,6 +19,7 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MUSB_NEW_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index e6c0b80144e50da75d1d559749fcf701843744f1..ba13212186ac9f6080d2726098749da007fbe4f1 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_BOOTDELAY=-2
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MTD_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Cairo # "
 CONFIG_CMD_BOOTZ=y
index 998bc0542b6051e58cf57fc30b0b59f4101dd337..7c413d5efdfd7a246626611e1a1a51f529c53cd1 100644 (file)
@@ -53,3 +53,4 @@ CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
 CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index e836e5e6a759ddbdd95d4660b8bc740925ece212..39a35e9649a750da2106a907a0aeec11e544ae39 100644 (file)
@@ -3,6 +3,7 @@ CONFIG_OMAP34XX=y
 CONFIG_TARGET_DEVKIT8000=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMI is not set
 # CONFIG_CMD_IMLS is not set
index c883380d4f7dd1c42113e638cd3a90e443fc99d9..e84a8a1274b200bd391552070350c21d433520d7 100644 (file)
@@ -14,6 +14,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_DMA_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_FASTBOOT=y
 CONFIG_USB_FUNCTION_FASTBOOT=y
index acf9b8494c275650c5d1c7559fbdda0326f0532a..c0904b194dbe6f79b63dc6bd270dabb7d4e42b31 100644 (file)
@@ -20,6 +20,7 @@ CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_DMA_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Ventana > "
 CONFIG_CMD_BOOTZ=y
@@ -54,3 +55,4 @@ CONFIG_G_DNL_MANUFACTURER="Gateworks"
 CONFIG_G_DNL_VENDOR_NUM=0x0525
 CONFIG_G_DNL_PRODUCT_NUM=0xa4a5
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index 0ec4ebc04fe8fa48074dcd357ca9c841a8af8162..8c1174e3a071a7d253874bc487ca31b97587fa44 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_ONENAND_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index bc0ec6ab70f9c420fa4aec9ec3dc766857142c3d..4bc0def728339cefc67115c03d75b1e9cfc4a120 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_ONENAND_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 075088149b96f65412678d93db7dcb3c765812a2..e053e4d4593ba2e208cf1fbd33cbf1243351658b 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_ONENAND_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 280afbde1b4e944d2414289057fd729d9c4535b6..b2c5c71aa75b5ab3b0bfbc3cac0f9314006d996d 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_ONENAND_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 603b41bbc173ab4fd0dee1cae62ce852838093f2..f80b0598a0beab7925f255ed361451268b2ac4eb 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_VERSION_VARIABLE=y
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_IMLS is not set
index cf6c4b1f849a5f599baf50576a5872d0f43c098a..3dbf48a4029229b4eeb42fa31b4d1da443c56e59 100644 (file)
@@ -15,6 +15,8 @@ CONFIG_BOOTDELAY=-1
 CONFIG_SPL=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_NOR_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
+CONFIG_SYS_OS_BASE=0x2c060000
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot-mONStR> "
 CONFIG_CMD_ASKENV=y
index ece9638e49c89668dd8c27321b5797c70f25e1b1..a76a5a35a53eee854a5fa56475549dd7a8af8729 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MTD_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 26146d211b100454ea1677bf2e60024bd270f10c..30f06bdf8ce5faec61530f6d4052e009713b4f71 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MTD_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="OMAP Logic # "
 CONFIG_CMD_BOOTZ=y
index a4160723116c0fe2645270b22d6200dab3436b92..5a7c6566e9f3ffed7bc123bfabbbe5bfc5b24430 100644 (file)
@@ -4,6 +4,7 @@ CONFIG_TARGET_OMAP3_OVERO=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
 CONFIG_SPL_MTD_SUPPORT=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Overo # "
 CONFIG_CMD_BOOTZ=y
index e496afe9f879f8df9a4d090f29c28b94bfdd2563..fc6dda01608fdb9a562f214bb33df7c1dd8119e6 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_OMAP44XX=y
 CONFIG_TARGET_OMAP4_PANDA=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index ea62104fc1f7800dc7c118fc04c8fd155d83365a..64c291b4a3bb46c5f08bd9d59448f8f7e45a3678 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_OMAP44XX=y
 CONFIG_TARGET_OMAP4_SDP4430=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 63ff1bcc8e0943813c047553024c3d02b2f0b450..50dda81483b84f7fb039b504f31cacd9745d6292 100644 (file)
@@ -4,6 +4,7 @@ CONFIG_OMAP54XX=y
 CONFIG_TARGET_OMAP5_UEVM=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index dfe9da3a4cc31e3efd642cb1ce81e92ad61385a7..1c11fde5b39b69d5a45e8136c1ace9c200ccf61d 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_PCM051=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -12,6 +11,7 @@ CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_TARGET_PCM051=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SPL_YMODEM_SUPPORT=y
 CONFIG_SYS_EXTRA_OPTIONS="REV1"
@@ -20,6 +20,7 @@ CONFIG_SPL=y
 CONFIG_SPL_ETH_SUPPORT=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_NET_VCI_STRING="pcm051 U-Boot SPL"
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index 61102e02df11f23a1dec1c75d75cfc43f3d087e1..b14754f3166ca77c7bcd88c8c2732e91454762bc 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_PCM051=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -12,6 +11,7 @@ CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_TARGET_PCM051=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SPL_YMODEM_SUPPORT=y
 CONFIG_SYS_EXTRA_OPTIONS="REV3"
@@ -20,6 +20,7 @@ CONFIG_SPL=y
 CONFIG_SPL_ETH_SUPPORT=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_NET_VCI_STRING="pcm051 U-Boot SPL"
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index f3de685392c8ecbf0aed7fdc052f3d7af52ff46d..9b8aa2f03ab972c63cb913070fcb7850761a33b1 100644 (file)
@@ -13,3 +13,4 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
index feec566c3ed2491f508064dff939c10fd1df4ae1..5aa9f4bd5dc0f0ef3c8f3358302979902537e6eb 100644 (file)
@@ -1,6 +1,5 @@
 CONFIG_ARM=y
 CONFIG_AM33XX=y
-CONFIG_TARGET_PENGWYN=y
 CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
@@ -13,6 +12,7 @@ CONFIG_SPL_NAND_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_TARGET_PENGWYN=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SPL_YMODEM_SUPPORT=y
 CONFIG_VERSION_VARIABLE=y
@@ -21,6 +21,7 @@ CONFIG_SPL_ETH_SUPPORT=y
 CONFIG_SPL_MTD_SUPPORT=y
 CONFIG_SPL_NET_SUPPORT=y
 CONFIG_SPL_NET_VCI_STRING="AM335x U-Boot SPL"
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
index f41914094833f3a140f18200cbcb53780d66c425..c92bfc892383437aa54ebbcc3fd29970aa9cddfe 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_TARGET_TWISTER=y
 CONFIG_FIT=y
 CONFIG_BOOTDELAY=10
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="twister => "
 # CONFIG_CMD_IMLS is not set
index af0dd1bd881404f1b21a4eb7e3887ca0ec8c725c..74739e5acf7c31a31d446eb9e7cea3faf777e596 100644 (file)
@@ -13,6 +13,7 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_SPL=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_CONSOLE is not set
index 490c3b2e555320c64c3bb0cf38e7b840c2dea3c1..a2938a0a9ff5872e93ab79c477c9dbe9cb55bf16 100644 (file)
@@ -13,6 +13,7 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_SPL=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
index 30f408196c76bb19fe52a48220f6df945edcf945..6c9ee65ec982e1062227e15d9d8efddb97e4824d 100644 (file)
@@ -16,6 +16,7 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_SPL=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
index ec55a6d81fe3a3d99524a8ed487e560e280ae0e0..2feee77118a4cbc03c537b1921264f4d4b4e420a 100644 (file)
@@ -11,6 +11,7 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_SPL=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
index f9754b608b0d7382318563e6af400edc9ac63d55..7df0c77d48e4b4798a9c90093c458df0defc4eaf 100644 (file)
@@ -12,6 +12,7 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_SPL=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
index 71345085c1994bc8e27b6c24328bc619cd129689..2dcc60eb497ddb652f41eaf4ec77ea2a81042be1 100644 (file)
@@ -14,6 +14,7 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_SPL=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
index 76655436cbeeade05396d8ceffd96e5e722bee90..494bdc6000d64aac8855da8af6f5483018bbf7d7 100644 (file)
@@ -14,6 +14,7 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_SPL=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
index faaf48278f49f92e5305629dd882d646ee221650..16d26c0e10ba9dad418764abb410010a4267efb2 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SYS_NO_FLASH=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 # CONFIG_CMD_IMLS is not set
index ef379141c7a1c0c790fb0b2e788ad79975e70f12..3ba6b6686682294c91546d4e325af8aa3ec8a097 100644 (file)
@@ -4,6 +4,7 @@ CONFIG_DEFAULT_DEVICE_TREE="zynq-picozed"
 CONFIG_SYS_NO_FLASH=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 # CONFIG_CMD_IMLS is not set
index acbc5a2f45e72407c801eeb5a951b3a689e062f1..117bfda68d7465cdd749c889ae64cf44fc04c1c4 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SYS_NO_FLASH=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 # CONFIG_CMD_IMLS is not set
index 64d95d96971f6ec704d5e410fbb557261cc1d278..ef73849ea1d2ae2f8478e06b295a8165e1310f4f 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SYS_NO_FLASH=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 # CONFIG_CMD_IMLS is not set
index bec60cc6a3a6f4335f60e1eb0efe4d86de58a36f..1419efa2b8c7cd5d9acd482aed55b6f93eb0d0cd 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM010"
 CONFIG_SYS_NO_FLASH=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 # CONFIG_CMD_IMLS is not set
index 489becb6ca3cf83b81c0ba1b26aec380acf0cc1b..56c285115453a1b3cc668026dca9d74fcbe5fb33 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM011"
 CONFIG_SYS_NO_FLASH=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 # CONFIG_CMD_IMLS is not set
index 55a7336127e64ee8b5737683086ba47b3acbbd4c..d3116e171a4667ea02cd59cea535bdf2f41d56af 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM012"
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 CONFIG_CMD_GPIO=y
index 265e6412dfcd3ddbfc2724a2716f627fea4d2204..add038ce7f71f788818fc5bca8f44302af256275 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM013"
 CONFIG_SYS_NO_FLASH=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 # CONFIG_CMD_IMLS is not set
index 93e9f17ef4aff9795c803418c4a0bec7c7581eb0..96f00e41380c6b7f0fd61f7232f90e8890675aeb 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SYS_NO_FLASH=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 # CONFIG_CMD_IMLS is not set
index 8a81ef57a84a5a343f3321ce912029c8d9d47111..dfac76458fb789e70a598754c90a3b60c598b6e3 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_FIT_SIGNATURE=y
 CONFIG_SYS_NO_FLASH=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL=y
+CONFIG_SPL_OS_BOOT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Zynq> "
 # CONFIG_CMD_IMLS is not set
index 4d78e3fcac43d586ea5f2dc02cd5bb7fb48ab51c..c42fff6ec2908ba801d8420011b7e55f4346da9a 100644 (file)
@@ -101,10 +101,10 @@ int clk_get_by_name(struct udevice *dev, const char *name, struct clk *clk)
 
        debug("%s(dev=%p, name=%s, clk=%p)\n", __func__, dev, name, clk);
 
-       index = fdt_find_string(gd->fdt_blob, dev->of_offset, "clock-names",
-                               name);
+       index = fdt_stringlist_search(gd->fdt_blob, dev->of_offset,
+                                     "clock-names", name);
        if (index < 0) {
-               debug("fdt_find_string() failed: %d\n", index);
+               debug("fdt_stringlist_search() failed: %d\n", index);
                return index;
        }
 
index b737f1c78907ada6e7538ed9262f2a49d9246386..1935b8d46f1eefe20f6a4cb009f2b2a56f122da1 100644 (file)
@@ -698,7 +698,7 @@ fdt_addr_t dev_get_addr_name(struct udevice *dev, const char *name)
 #if CONFIG_IS_ENABLED(OF_CONTROL)
        int index;
 
-       index = fdt_find_string(gd->fdt_blob, dev->of_offset, "reg-names",
+       index = fdt_stringlist_search(gd->fdt_blob, dev->of_offset, "reg-names",
                                name);
        if (index < 0)
                return index;
index 72cec488009597900d287ea3ed5eaf9e38565e2d..471e18aeaa0b3c54091a100214dab6ab735ff69c 100644 (file)
@@ -132,7 +132,8 @@ static int gpio_dwapb_bind(struct udevice *dev)
                plat->base = base;
                plat->bank = bank;
                plat->pins = fdtdec_get_int(blob, node, "snps,nr-gpios", 0);
-               ret = fdt_get_string(blob, node, "bank-name", &plat->name);
+               plat->name = fdt_stringlist_get(blob, node, "bank-name", 0,
+                                               NULL);
                if (ret)
                        goto err;
 
index a26f44e1e60edb8f4dceb701f14f335fea75406c..6247d334a0b21b8dd6a9402365c5551e9319b4b6 100644 (file)
@@ -773,7 +773,7 @@ static int mxc_i2c_probe(struct udevice *bus)
         * See Documentation/devicetree/bindings/i2c/i2c-imx.txt
         * Use gpio to force bus idle when necessary.
         */
-       ret = fdt_find_string(fdt, node, "pinctrl-names", "gpio");
+       ret = fdt_stringlist_search(fdt, node, "pinctrl-names", "gpio");
        if (ret < 0) {
                dev_info(dev, "i2c bus %d at %lu, no gpio pinctrl state.\n", bus->seq, i2c_bus->base);
        } else {
index 40f851d915490e793326588b2831c66523802c7b..a7fcde51d593a105a3f49db713993958b533bea8 100644 (file)
@@ -85,10 +85,10 @@ int mbox_get_by_name(struct udevice *dev, const char *name,
 
        debug("%s(dev=%p, name=%s, chan=%p)\n", __func__, dev, name, chan);
 
-       index = fdt_find_string(gd->fdt_blob, dev->of_offset, "mbox-names",
-                               name);
+       index = fdt_stringlist_search(gd->fdt_blob, dev->of_offset,
+                                     "mbox-names", name);
        if (index < 0) {
-               debug("fdt_find_string() failed: %d\n", index);
+               debug("fdt_stringlist_search() failed: %d\n", index);
                return index;
        }
 
index d1f024e0eb3a8da51febb966511a348761d1e6c8..cbce683eea9ab13369a0a0d8c944daeb7aca92d2 100644 (file)
@@ -1348,7 +1348,7 @@ static int cpsw_eth_ofdata_to_platdata(struct udevice *dev)
        active_slave = fdtdec_get_int(fdt, node, "active_slave", 0);
        priv->data.active_slave = active_slave;
 
-       fdt_for_each_subnode(fdt, subnode, node) {
+       fdt_for_each_subnode(subnode, fdt, node) {
                int len;
                const char *name;
 
index e41b7d1365d106f6b93c554b8a5a10824c376413..f88d83e727339e928d66f8964cbc6de1573e34f6 100644 (file)
@@ -990,7 +990,7 @@ static int ks2_eth_bind_slaves(struct udevice *dev, int gbe, int *gbe_0)
        char *slave_name;
 
        interfaces = fdt_subnode_offset(fdt, gbe, "interfaces");
-       fdt_for_each_subnode(fdt, slave, interfaces) {
+       fdt_for_each_subnode(slave, fdt, interfaces) {
                int slave_no;
 
                slave_no = fdtdec_get_int(fdt, slave, "slave-port", -ENOENT);
@@ -1015,7 +1015,7 @@ static int ks2_eth_bind_slaves(struct udevice *dev, int gbe, int *gbe_0)
        }
 
        sec_slave = fdt_subnode_offset(fdt, gbe, "secondary-slave-ports");
-       fdt_for_each_subnode(fdt, slave, sec_slave) {
+       fdt_for_each_subnode(slave, fdt, sec_slave) {
                int slave_no;
 
                slave_no = fdtdec_get_int(fdt, slave, "slave-port", -ENOENT);
index 340b85a71015fb62722e4016fee5d24ecab43f53..405776af95db191fa00c76451b25b766fcfa7943 100644 (file)
@@ -4153,7 +4153,7 @@ static int mvpp2_base_bind(struct udevice *parent)
                return -ENOENT;
        }
 
-       fdt_for_each_subnode(blob, subnode, node) {
+       fdt_for_each_subnode(subnode, blob, node) {
                /* Skip disabled ports */
                if (!fdtdec_get_is_enabled(blob, subnode))
                        continue;
index 4c149e1bdf2c1aa78e8680c0a8b119bd4b72a4b2..91570a29106f6d5ccd8ba80be7c976d097c8e8d9 100644 (file)
@@ -456,8 +456,9 @@ static int parse_phy_pins(struct udevice *dev)
        for (i = 0; ; i++) {
                int pin;
 
-               if (fdt_get_string_index(gd->fdt_blob, offset,
-                                        "allwinner,pins", i, &pin_name))
+               pin_name = fdt_stringlist_get(gd->fdt_blob, offset,
+                                        "allwinner,pins", i, NULL);
+               if (!pin_name)
                        break;
                if (pin_name[0] != 'P')
                        continue;
index ea8adb98db33c5c1ec73a3b674377dbcb91339f3..430270ec2923597412f039d41f76117562f4d9f8 100644 (file)
@@ -531,7 +531,7 @@ static int tegra_pcie_parse_dt(const void *fdt, int node, enum tegra_pci_id id,
        }
 #endif
 
-       fdt_for_each_subnode(fdt, subnode, node) {
+       fdt_for_each_subnode(subnode, fdt, node) {
                unsigned int index = 0, num_lanes = 0;
                struct tegra_pcie_port *port;
 
index 344df3bed1d414d4c47444a718c693bb5ac7b533..651397d8161d0ea4fc5f40db9702c0e057779678 100644 (file)
@@ -152,7 +152,7 @@ static int comphy_probe(struct udevice *dev)
        }
 
        lane = 0;
-       fdt_for_each_subnode(blob, subnode, node) {
+       fdt_for_each_subnode(subnode, blob, node) {
                /* Skip disabled ports */
                if (!fdtdec_get_is_enabled(blob, subnode))
                        continue;
index a28405fc155fbbdeecc612ff8d7a5a06c499c7de..c9c13e68028f6272b8ceb27516ece0b369447901 100644 (file)
@@ -71,7 +71,7 @@ int exynos_pinctrl_set_state(struct udevice *dev, struct udevice *config)
 {
        const void *fdt = gd->fdt_blob;
        int node = config->of_offset;
-       unsigned int count, idx, pin_num, ret;
+       unsigned int count, idx, pin_num;
        unsigned int pinfunc, pinpud, pindrv;
        unsigned long reg, value;
        const char *name;
@@ -80,7 +80,7 @@ int exynos_pinctrl_set_state(struct udevice *dev, struct udevice *config)
         * refer to the following document for the pinctrl bindings
         * linux/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
         */
-       count = fdt_count_strings(fdt, node, "samsung,pins");
+       count =  fdt_stringlist_count(fdt, node, "samsung,pins");
        if (count <= 0)
                return -EINVAL;
 
@@ -89,9 +89,8 @@ int exynos_pinctrl_set_state(struct udevice *dev, struct udevice *config)
        pindrv = fdtdec_get_int(fdt, node, "samsung,pin-drv", -1);
 
        for (idx = 0; idx < count; idx++) {
-               ret = fdt_get_string_index(fdt, node, "samsung,pins",
-                                               idx, &name);
-               if (ret < 0)
+               name = fdt_stringlist_get(fdt, node, "samsung,pins", idx, NULL);
+               if (!name)
                        continue;
                reg = pin_to_bank_base(dev, name, &pin_num);
 
index d21a3dd75522cb012ea98f2c9ceccfb1b5b04446..30f7cfc8200acdb68fd46b10fd5ecec0f6b9bfd5 100644 (file)
@@ -122,7 +122,7 @@ static fdt_addr_t parse_address(int offset, const char *name, int na, int ns)
        int index, len = 0;
        const fdt32_t *reg;
 
-       index = fdt_find_string(gd->fdt_blob, offset, "reg-names", name);
+       index = fdt_stringlist_search(gd->fdt_blob, offset, "reg-names", name);
        if (index < 0)
                return FDT_ADDR_T_NONE;
 
@@ -154,7 +154,7 @@ int meson_pinctrl_probe(struct udevice *dev)
                return -EINVAL;
        }
 
-       fdt_for_each_subnode(gd->fdt_blob, node, dev->of_offset) {
+       fdt_for_each_subnode(node, gd->fdt_blob, dev->of_offset) {
                if (fdt_getprop(gd->fdt_blob, node, "gpio-controller", &len)) {
                        gpio = node;
                        break;
index baff40f1f0d4141c6af80718009e22453855d733..482db295fee1c8eaf995d4c869f4d0a026e858bc 100644 (file)
@@ -306,11 +306,11 @@ static int pinctrl_generic_set_state_subnode(struct udevice *dev,
        const char *name;
        int strings_count, selector, i, ret;
 
-       strings_count = fdt_count_strings(fdt, node, subnode_target_type);
+       strings_count =  fdt_stringlist_count(fdt, node, subnode_target_type);
        if (strings_count < 0) {
                subnode_target_type = "groups";
                is_group = true;
-               strings_count = fdt_count_strings(fdt, node,
+               strings_count =  fdt_stringlist_count(fdt, node,
                                                  subnode_target_type);
                if (strings_count < 0) {
                        /* skip this node; may contain config child nodes */
@@ -319,9 +319,9 @@ static int pinctrl_generic_set_state_subnode(struct udevice *dev,
        }
 
        for (i = 0; i < strings_count; i++) {
-               ret = fdt_get_string_index(fdt, node, subnode_target_type,
-                                          i, &name);
-               if (ret < 0)
+               name = fdt_stringlist_get(fdt, node, subnode_target_type, i,
+                                         NULL);
+               if (!name)
                        return -EINVAL;
 
                if (is_group)
index 7397de28c0142fb63f03403f63b0786703dbbc65..02ab9b4afde6499ad9deee4b68fcd6b4b7947cd7 100644 (file)
@@ -72,7 +72,7 @@ static int pinctrl_select_state_full(struct udevice *dev, const char *statename)
        struct udevice *config;
        int state, size, i, ret;
 
-       state = fdt_find_string(fdt, node, "pinctrl-names", statename);
+       state = fdt_stringlist_search(fdt, node, "pinctrl-names", statename);
        if (state < 0) {
                char *end;
                /*
index 6c79a93d1b746d644db336fd0e3bd46d42ddc107..0ab425e5dc70770549019816226f7886e45e56ec 100644 (file)
@@ -52,7 +52,7 @@ static int palmas_bind(struct udevice *dev)
        int node = dev->of_offset;
        int subnode, len;
 
-       fdt_for_each_subnode(blob, subnode, node) {
+       fdt_for_each_subnode(subnode, blob, node) {
                const char *name;
                char *temp;
 
index edaecfbc99b1ee9ca2bad669101038d811b0020a..d3744ef703cbb1f7976f3ca6a778a6f094ff62b7 100644 (file)
@@ -88,10 +88,10 @@ int reset_get_by_name(struct udevice *dev, const char *name,
        debug("%s(dev=%p, name=%s, reset_ctl=%p)\n", __func__, dev, name,
              reset_ctl);
 
-       index = fdt_find_string(gd->fdt_blob, dev->of_offset, "reset-names",
-                               name);
+       index = fdt_stringlist_search(gd->fdt_blob, dev->of_offset,
+                                     "reset-names", name);
        if (index < 0) {
-               debug("fdt_find_string() failed: %d\n", index);
+               debug("fdt_stringlist_search() failed: %d\n", index);
                return index;
        }
 
index 729ded9a0505ae98282bd75d691e7c695d3c19c7..4d378c227d5bc7e47e1211ed27a7e3cb91716b92 100644 (file)
@@ -1098,7 +1098,7 @@ static int fsl_qspi_ofdata_to_platdata(struct udevice *bus)
        }
 
        /* Count flash numbers */
-       fdt_for_each_subnode(blob, subnode, node)
+       fdt_for_each_subnode(subnode, blob, node)
                ++flash_num;
 
        if (flash_num == 0) {
index 50b16a9129f8e10aa19bc9507ce2ed33d2e41444..6cba1b95a110528dbda9d29d9370a7613f60d6d6 100644 (file)
@@ -1562,7 +1562,7 @@ int sunxi_simplefb_setup(void *blob)
        offset = fdt_node_offset_by_compatible(blob, -1,
                                               "allwinner,simple-framebuffer");
        while (offset >= 0) {
-               ret = fdt_find_string(blob, offset, "allwinner,pipeline",
+               ret = fdt_stringlist_search(blob, offset, "allwinner,pipeline",
                                      pipeline);
                if (ret == 0)
                        break;
index 81021ba5a33e552668e54d5ba0937b90d9150ea7..057a3cfc933ec80c6c7be50fc8dc87f16340fb8f 100644 (file)
@@ -367,13 +367,6 @@ extern unsigned long get_sdram_size(void);
 #define MTDIDS_DEFAULT "nand0=ff800000.flash,"
 #define MTDPARTS_DEFAULT "mtdparts=ff800000.flash:1m(uboot)," \
                        "8m(kernel),512k(dtb),-(fs)"
-/*
- * Override partitions in device tree using info
- * in "mtdparts" environment variable
- */
-#ifdef CONFIG_CMD_MTDPARTS
-#define CONFIG_FDT_FIXUP_PARTITIONS
-#endif
 
 /*
  * Environment Configuration
index 6c5c172144892239d1c8a607c3bbf4ff72c1ddcc..1c8a77baba9554375c3cef5544a3cbc83ddbb3de 100644 (file)
@@ -604,14 +604,6 @@ combinations. this should be removed later
                        "55m(fs),1m(uboot);ff800000.flash:1m(uboot)," \
                        "8m(kernel),512k(dtb),-(fs)"
 #endif
-/*
- * Override partitions in device tree using info
- * in "mtdparts" environment variable
- */
-#ifdef CONFIG_CMD_MTDPARTS
-#define CONFIG_FDT_FIXUP_PARTITIONS
-#endif
-
 /*
  * Environment Configuration
  */
index 1919475d19830c4a4a155386824044bf6d210460..ee75785781d8903d0955fe37c944b5e080c18adb 100644 (file)
 
 #undef CONFIG_BOOTARGS
 
-#define CONFIG_SYS_OS_BASE     0xfc200000
 #define CONFIG_SYS_FDT_BASE    0xfc1e0000
 #define CONFIG_SYS_FDT_SIZE    (16<<10)
 
 #define CONFIG_SPL_BSS_START_ADDR      ((128 - 1) << 20)
 #define CONFIG_SPL_BSS_MAX_SIZE                (64 << 10)
 
-#define CONFIG_SPL_OS_BOOT
 /* Place patched DT blob (fdt) at this address */
 #define CONFIG_SYS_SPL_ARGS_ADDR       0x01800000
 
index daa7dd8b9f23047f50d4ac42f806d983f694abe7..ec70b72970e39fffcda863e6d7e83e56e3540fb1 100644 (file)
  */
 #if defined(CONFIG_SPI_BOOT)
 /* SPL related */
-#undef CONFIG_SPL_OS_BOOT              /* Not supported by existing map */
 #define CONFIG_SPL_SPI_LOAD
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x20000
 
index 18db58ad8afc385e3e70032fdaaa5219916b1c1d..32aa392e8b4d10801ee9378c35c9666eec24c222 100644 (file)
 #undef CONFIG_USE_IRQ
 
 /* SPL */
-#undef CONFIG_SPL_OS_BOOT      /* Not supported by existing map */
 #define CONFIG_SPL_LDSCRIPT            "$(CPUDIR)/am33xx/u-boot-spl.lds"
 
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
index 58df571323e98f440c837392501d1a7c8a7fbffe..e69c1b63c1442710cd990bfb2928c1bdc9ef15ce 100644 (file)
@@ -54,7 +54,6 @@
 #undef CONFIG_SYS_OMAP24_I2C_SPEED
 #define CONFIG_SYS_OMAP24_I2C_SPEED 1000
 
-#undef CONFIG_SPL_OS_BOOT
 #ifdef CONFIG_NAND
 #define CONFIG_SYS_NAND_U_BOOT_OFFS    0x00080000
 #ifdef CONFIG_SPL_OS_BOOT
index f1ae1a6c19d198f9303faa4b0ab487763a3759b5..ac47decb6387814020b02b7c1d1d683d3f6b6b27 100644 (file)
@@ -513,7 +513,6 @@ DEFAULT_LINUX_BOOT_ENV \
  */
 #if defined(CONFIG_SPI_BOOT)
 /* SPL related */
-#undef CONFIG_SPL_OS_BOOT              /* Not supported by existing map */
 #define CONFIG_SPL_SPI_LOAD
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x20000
 
index e01d53565cb382c6f82e3765c047966b3e0a3cfe..ccc5bb4b37b40628e8d6d368899358a305b29921 100644 (file)
@@ -68,7 +68,6 @@
 #define CONFIG_CMD_MTDPARTS
 #endif /* CONFIG_SPI_BOOT, ... */
 
-#undef CONFIG_SPL_OS_BOOT
 #ifdef CONFIG_SPL_OS_BOOT
 #define CONFIG_SYS_SPL_ARGS_ADDR               0x80F80000
 
index 46584fdf746ab5b4489ebe423f18c35d39a6bed8..b0d8c5f3ab4751a2502011678e0ecf646a8c0200 100644 (file)
@@ -56,7 +56,6 @@
 
 /* MTD support */
 #ifndef CONFIG_SPL_BUILD
-#define CONFIG_FDT_FIXUP_PARTITIONS
 #define CONFIG_MTD_DEVICE
 #define CONFIG_MTD_PARTITIONS
 #define CONFIG_SPI_FLASH_MTD
index 6dbc9e980c9b1e2152561f57581acddc33559ec8..7eed776f62faebf1b975f3698bfd4b0dfdc19c4c 100644 (file)
@@ -19,7 +19,6 @@
 #undef CONFIG_BOARD_LATE_INIT
 #undef CONFIG_SPI
 #undef CONFIG_OMAP3_SPI
-#undef CONFIG_SPL_OS_BOOT
 #undef CONFIG_BOOTCOUNT_LIMIT
 #undef CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
 
index 92ff25131023fc5698dc4e0bb7af9ebe6d07d9d8..3a605f7504b89c3bd464b883a350c63b9284f277 100644 (file)
@@ -90,7 +90,6 @@
 #define CONFIG_HSMMC2_8BIT
 
 #include <configs/ti_armv7_omap.h>
-#undef CONFIG_SPL_OS_BOOT
 #undef CONFIG_SYS_MONITOR_LEN
 #undef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
 
index ddb1e97b6c85f7207426b44cf8b1f06dc427db0a..a3b1e5fe8b83d5a14ea5eaec78b43a7322a8797d 100644 (file)
@@ -16,8 +16,6 @@
 
 #include <configs/ti_omap5_common.h>
 
-#undef CONFIG_SPL_OS_BOOT
-
 /* EEPROM related defines */
 #define CONFIG_SYS_I2C_OMAP34XX
 #define CONFIG_SYS_I2C_EEPROM_ADDR     0x50
index 868158b2e012f8c078070e1f99eeb607dff57171..b5bd3ba651fde4e242afaff64eba9dfc46ea535d 100644 (file)
@@ -21,7 +21,6 @@
 
 #include <configs/ti_omap4_common.h>
 
-#undef CONFIG_SPL_OS_BOOT
 #undef CONFIG_EFI_PARTITION
 
 #undef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
index 6caa3b101468afbf8f21c5d752677b739ac760e2..0b0587662409dde8171820e846cfcfe756a41ed8 100644 (file)
@@ -14,7 +14,6 @@
 
 /* Falcon Mode */
 #define CONFIG_CMD_SPL
-#define CONFIG_SPL_OS_BOOT
 #define CONFIG_SYS_SPL_ARGS_ADDR       0x18000000
 #define CONFIG_CMD_SPL_WRITE_SIZE      (128 * SZ_1K)
 
                "if run ${btype}_boot; then; fi; " \
        "done"
 
-/* Device Tree Support */
-#define CONFIG_FDT_FIXUP_PARTITIONS
-
 #endif                        /* __CONFIG_H */
index 5f07629a597769ff7ec4c920d8653adc14424d7c..381fe04aeaff66aa4254d7fb94ff85db6b6f4c56 100644 (file)
 
 /* add FALCON boot mode */
 #define CONFIG_CMD_SPL
-#define CONFIG_SPL_OS_BOOT
 #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS        0x00200000
 #define CONFIG_SYS_SPL_ARGS_ADDR       LINUX_BOOT_PARAM_ADDR
 #define CONFIG_CMD_SPL_NAND_OFS                0x00180000
index a07bcc632ca9bfd78f61680a0f517fe06ced8d84..2a7006f3282bfcd901647b139e5875b78b6bd84a 100644 (file)
 #endif
 
 /* for booting directly linux */
-#define CONFIG_SPL_OS_BOOT
 
-#define CONFIG_SYS_OS_BASE             (CONFIG_SYS_FLASH_BASE + \
-                                        0x60000)
 #define CONFIG_SYS_FDT_BASE            (CONFIG_SYS_FLASH_BASE + \
                                         0x40000)
 #define CONFIG_SYS_FDT_SIZE            (16<<10)
index 4dcd5de2bc9d570fbe7583aa7f2c210c3e2c3cdd..0f28278fc2223a71cb36bb3d7e52f57b46d9a914 100644 (file)
@@ -26,7 +26,6 @@
 
 /* Remove SPL boot option - we do not support that on LDP yet */
 #undef CONFIG_SPL_FRAMEWORK
-#undef CONFIG_SPL_OS_BOOT
 
 /* Generic NAND definition conflicts with debug_base */
 #undef CONFIG_SYS_NAND_BASE
index 3c86b25267acc9201541b21b8f2c26baa25bd1a3..2e72889b477263dcae16b74cff5cbcd3327eff4f 100644 (file)
                                        "f8000000.flash:-(unused);"     \
                                        "MPC5121 NAND:1024m(extended-userfs)"
 
-/*
- * Override partitions in device tree using info
- * in "mtdparts" environment variable
- */
-#ifdef CONFIG_CMD_MTDPARTS
-#define CONFIG_FDT_FIXUP_PARTITIONS
-#endif
-
 #define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_TEXT_BASE    /* Start of monitor */
 #define CONFIG_SYS_MONITOR_LEN         (512 * 1024)    /* 512 kB for monitor */
 #ifdef CONFIG_FSL_DIU_FB
index 921d33124db066b2e05ccfd34191f7fcdf352aeb..e99188fc43e3f36130de1cfbeb8d7523bba17c50 100644 (file)
@@ -11,7 +11,6 @@
 #include <configs/ti_am335x_common.h>
 
 #undef CONFIG_BOARD_LATE_INIT
-#undef CONFIG_SPL_OS_BOOT
 
 /* Clock defines */
 #define V_OSCK                         24000000  /* Clock output from T2 */
index 0302740cea3f4abab1732f7a829fcbf224b631af..df5fe2163f05285ac41a0c3db2ec9d82045816e4 100644 (file)
 #define CONFIG_SYS_THUMB_BUILD
 #define CONFIG_SYS_ICACHE_OFF
 #define CONFIG_SYS_DCACHE_OFF
-#undef CONFIG_SPL_OS_BOOT              /* Not supported by existing map */
 #endif
 #endif /* __CONFIG_H */
index 3a762e363fd8de1b62040d519d8b6be56b90f5d3..ab457da2a0064a92bb4b23008b43863be2ec963f 100644 (file)
 
 #if defined(CONFIG_SPL_BUILD)
 /* SPL related */
-#undef CONFIG_SPL_OS_BOOT              /* Not supported by existing map */
 #define CONFIG_SPL_SPI_LOAD
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x20000
 
index f5602b8c3ee448de9723667f25689af4a6e3b61a..f31d5d368705814a82ce342096d32fa71f95f694 100644 (file)
  * We also support Falcon Mode so that the Linux kernel can be booted
  * directly from SPL. This is not currently available on HS devices.
  */
-#if !defined(CONFIG_TI_SECURE_DEVICE)
-#define CONFIG_SPL_OS_BOOT
-#endif
 
 /*
  * Place the image at the start of the ROM defined image space (per
index 66d85be7223be65e56a79f47983a43d22cec31bb..7e365aa6c60aa9df20012cfe9b6175bb3909f1b5 100644 (file)
 #include <configs/ti_armv7_common.h>
 
 /* We wont be loading up OS from SPL for now.. */
-#undef CONFIG_SPL_OS_BOOT
 
 /* We do not have MMC support.. yet.. */
 #undef CONFIG_MMC
index 66f4680b7e129740c3946d1e147ac4d5ddeba3ad..fd117b8260c10cc967c809aeaded19e6090d0d88 100644 (file)
@@ -42,7 +42,6 @@
 #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS        0x00200000
 #define CONFIG_CMD_SPL_NAND_OFS        (CONFIG_SYS_NAND_SPL_KERNEL_OFFS+\
                                                0x600000)
-#define CONFIG_SPL_OS_BOOT
 
 #define CONFIG_SYS_SPL_ARGS_ADDR       (PHYS_SDRAM_1 + 0x100)
 #define CONFIG_SPL_BOARD_INIT
index adc42cff125bcb8a5f2dfee3cb13cb8b42b3b55a..cbdef6eafd0c6d993220f51bd21c67e0bbad5a88 100644 (file)
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_RAM_DEVICE
 
-#define CONFIG_SPL_OS_BOOT
 /* u-boot is like dtb */
 #define CONFIG_SPL_FS_LOAD_ARGS_NAME   "u-boot.bin"
 #define CONFIG_SYS_SPL_ARGS_ADDR       0x8000000
index 0118fd246243addcef2d25fb8698f0f4c4b3fb6d..4f0253cd7d4c2576385f763c4ee4830241745568 100644 (file)
 #endif
 
 /* for booting directly linux */
-#define CONFIG_SPL_OS_BOOT
 
 /* SP location before relocation, must use scratch RAM */
 #define CONFIG_SPL_TEXT_BASE   0x0
index 8f402310f6ba8321de518607eb737bc9d950f8fd..506bc5a9f690b0bb6c8ad108feb3e87056bbda04 100644 (file)
@@ -167,7 +167,15 @@ void ft_pci_setup(void *blob, bd_t *bd);
 int ft_system_setup(void *blob, bd_t *bd);
 
 void set_working_fdt_addr(ulong addr);
-int fdt_shrink_to_minimum(void *blob);
+
+/**
+ * shrink down the given blob to minimum size + some extrasize if required
+ *
+ * @param blob         FDT blob to update
+ * @param extrasize    additional bytes needed
+ * @return 0 if ok, or -FDT_ERR_... on error
+ */
+int fdt_shrink_to_minimum(void *blob, uint extrasize);
 int fdt_increase_size(void *fdt, int add_len);
 
 int fdt_fixup_nor_flash_size(void *blob);
index b6a400a7a823ea2bd6a04e6fe3bbe7807a2252bb..8746790a25352fe297bb1b60f1bc3cd6e8485f06 100644 (file)
@@ -61,7 +61,7 @@
 #define FDT_ERR_NOTFOUND       1
        /* FDT_ERR_NOTFOUND: The requested node or property does not exist */
 #define FDT_ERR_EXISTS         2
-       /* FDT_ERR_EXISTS: Attemped to create a node or property which
+       /* FDT_ERR_EXISTS: Attempted to create a node or property which
         * already exists */
 #define FDT_ERR_NOSPACE                3
        /* FDT_ERR_NOSPACE: Operation needed to expand the device
        /* FDT_ERR_BADNCELLS: Device tree has a #address-cells, #size-cells
         * or similar property with a bad format or value */
 
-#define FDT_ERR_TOODEEP                15
+#define FDT_ERR_BADVALUE       15
+       /* FDT_ERR_BADVALUE: Device tree has a property with an unexpected
+        * value. For example: a property expected to contain a string list
+        * is not NUL-terminated within the length of its value. */
+
+#define FDT_ERR_TOODEEP                16
        /* FDT_ERR_TOODEEP: The depth of a node has exceeded the internal
         * libfdt limit. This can happen if you have more than
         * FDT_MAX_DEPTH nested nodes. */
 
-#define FDT_ERR_MAX            15
+#define FDT_ERR_MAX            16
 
 /**********************************************************************/
 /* Low-level functions (you probably don't need these)                */
@@ -171,24 +176,27 @@ int fdt_next_subnode(const void *fdt, int offset);
 /**
  * fdt_for_each_subnode - iterate over all subnodes of a parent
  *
+ * @node:      child node (int, lvalue)
+ * @fdt:       FDT blob (const void *)
+ * @parent:    parent node (int)
+ *
  * This is actually a wrapper around a for loop and would be used like so:
  *
- *     fdt_for_each_subnode(fdt, node, parent) {
- *             ...
- *             use node
+ *     fdt_for_each_subnode(node, fdt, parent) {
+ *             Use node
  *             ...
  *     }
  *
- * Note that this is implemented as a macro and node is used as iterator in
- * the loop. It should therefore be a locally allocated variable. The parent
- * variable on the other hand is never modified, so it can be constant or
- * even a literal.
+ *     if ((node < 0) && (node != -FDT_ERR_NOT_FOUND)) {
+ *             Error handling
+ *     }
+ *
+ * Note that this is implemented as a macro and @node is used as
+ * iterator in the loop. The parent variable be constant or even a
+ * literal.
  *
- * @fdt:       FDT blob (const void *)
- * @node:      child node (int)
- * @parent:    parent node (int)
  */
-#define fdt_for_each_subnode(fdt, node, parent)                \
+#define fdt_for_each_subnode(node, fdt, parent)                \
        for (node = fdt_first_subnode(fdt, parent);     \
             node >= 0;                                 \
             node = fdt_next_subnode(fdt, node))
@@ -213,7 +221,7 @@ int fdt_next_subnode(const void *fdt, int offset);
 #define __fdt_set_hdr(name) \
        static inline void fdt_set_##name(void *fdt, uint32_t val) \
        { \
-               struct fdt_header *fdth = (struct fdt_header*)fdt; \
+               struct fdt_header *fdth = (struct fdt_header *)fdt; \
                fdth->name = cpu_to_fdt32(val); \
        }
 __fdt_set_hdr(magic);
@@ -288,11 +296,13 @@ const char *fdt_string(const void *fdt, int stroffset);
  * @fdt: pointer to the device tree blob
  *
  * fdt_get_max_phandle retrieves the highest phandle in the given
- * device tree
+ * device tree. This will ignore badly formatted phandles, or phandles
+ * with a value of 0 or -1.
  *
  * returns:
  *      the highest phandle on success
- *      0, if an error occurred
+ *      0, if no phandle was found in the device tree
+ *      -1, if an error occurred
  */
 uint32_t fdt_get_max_phandle(const void *fdt);
 
@@ -356,8 +366,9 @@ int fdt_subnode_offset_namelen(const void *fdt, int parentoffset,
  * returns:
  *     structure block offset of the requested subnode (>=0), on success
  *     -FDT_ERR_NOTFOUND, if the requested subnode does not exist
- *     -FDT_ERR_BADOFFSET, if parentoffset did not point to an FDT_BEGIN_NODE tag
- *      -FDT_ERR_BADMAGIC,
+ *     -FDT_ERR_BADOFFSET, if parentoffset did not point to an FDT_BEGIN_NODE
+ *             tag
+ *     -FDT_ERR_BADMAGIC,
  *     -FDT_ERR_BADVERSION,
  *     -FDT_ERR_BADSTATE,
  *     -FDT_ERR_BADSTRUCTURE,
@@ -366,13 +377,13 @@ int fdt_subnode_offset_namelen(const void *fdt, int parentoffset,
 int fdt_subnode_offset(const void *fdt, int parentoffset, const char *name);
 
 /**
- * fdt_path_offset_namelen - find a tree node based on substring
+ * fdt_path_offset_namelen - find a tree node by its full path
  * @fdt: pointer to the device tree blob
  * @path: full path of the node to locate
- * @namelen: number of characters of name to consider
+ * @namelen: number of characters of path to consider
  *
- * Identical to fdt_path_offset(), but only examine the first
- * namelen characters of path for matching the node path.
+ * Identical to fdt_path_offset(), but only consider the first namelen
+ * characters of path as the path name.
  */
 int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen);
 
@@ -389,7 +400,8 @@ int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen);
  * address).
  *
  * returns:
- *     structure block offset of the node with the requested path (>=0), on success
+ *     structure block offset of the node with the requested path (>=0), on
+ *             success
  *     -FDT_ERR_BADPATH, given path does not begin with '/' or is invalid
  *     -FDT_ERR_NOTFOUND, if the requested node does not exist
  *      -FDT_ERR_BADMAGIC,
@@ -398,10 +410,7 @@ int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen);
  *     -FDT_ERR_BADSTRUCTURE,
  *     -FDT_ERR_TRUNCATED, standard meanings.
  */
-static inline int fdt_path_offset(const void *fdt, const char *path)
-{
-       return fdt_path_offset_namelen(fdt, path, strlen(path));
-}
+int fdt_path_offset(const void *fdt, const char *path);
 
 /**
  * fdt_get_name - retrieve the name of a given node
@@ -416,10 +425,12 @@ static inline int fdt_path_offset(const void *fdt, const char *path)
  *
  * returns:
  *     pointer to the node's name, on success
- *             If lenp is non-NULL, *lenp contains the length of that name (>=0)
+ *             If lenp is non-NULL, *lenp contains the length of that name
+ *                     (>=0)
  *     NULL, on error
  *             if lenp is non-NULL *lenp contains an error code (<0):
- *             -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag
+ *             -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE
+ *                     tag
  *             -FDT_ERR_BADMAGIC,
  *             -FDT_ERR_BADVERSION,
  *             -FDT_ERR_BADSTATE, standard meanings
@@ -468,23 +479,26 @@ int fdt_first_property_offset(const void *fdt, int nodeoffset);
 int fdt_next_property_offset(const void *fdt, int offset);
 
 /**
- * fdt_for_each_property - iterate over all properties of a node
- * @property_offset:   property offset (int)
+ * fdt_for_each_property_offset - iterate over all properties of a node
+ *
+ * @property_offset:   property offset (int, lvalue)
  * @fdt:               FDT blob (const void *)
  * @node:              node offset (int)
  *
  * This is actually a wrapper around a for loop and would be used like so:
  *
- *     fdt_for_each_property(fdt, node, property) {
- *             ...
- *             use property
+ *     fdt_for_each_property_offset(property, fdt, node) {
+ *             Use property
  *             ...
  *     }
  *
+ *     if ((property < 0) && (property != -FDT_ERR_NOT_FOUND)) {
+ *             Error handling
+ *     }
+ *
  * Note that this is implemented as a macro and property is used as
- * iterator in the loop. It should therefore be a locally allocated
- * variable. The node variable on the other hand is never modified, so
- * it can be constant or even a literal.
+ * iterator in the loop. The node variable can be constant or even a
+ * literal.
  */
 #define fdt_for_each_property_offset(property, fdt, node)      \
        for (property = fdt_first_property_offset(fdt, node);   \
@@ -527,8 +541,8 @@ const struct fdt_property *fdt_get_property_by_offset(const void *fdt,
  * @namelen: number of characters of name to consider
  * @lenp: pointer to an integer variable (will be overwritten) or NULL
  *
- * Identical to fdt_get_property_namelen(), but only examine the first
- * namelen characters of name for matching the property name.
+ * Identical to fdt_get_property(), but only examine the first namelen
+ * characters of name for matching the property name.
  */
 const struct fdt_property *fdt_get_property_namelen(const void *fdt,
                                                    int nodeoffset,
@@ -555,7 +569,8 @@ const struct fdt_property *fdt_get_property_namelen(const void *fdt,
  *     NULL, on error
  *             if lenp is non-NULL, *lenp contains an error code (<0):
  *             -FDT_ERR_NOTFOUND, node does not have named property
- *             -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag
+ *             -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE
+ *                     tag
  *             -FDT_ERR_BADMAGIC,
  *             -FDT_ERR_BADVERSION,
  *             -FDT_ERR_BADSTATE,
@@ -647,7 +662,8 @@ static inline void *fdt_getprop_namelen_w(void *fdt, int nodeoffset,
  *     NULL, on error
  *             if lenp is non-NULL, *lenp contains an error code (<0):
  *             -FDT_ERR_NOTFOUND, node does not have named property
- *             -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag
+ *             -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE
+ *                     tag
  *             -FDT_ERR_BADMAGIC,
  *             -FDT_ERR_BADVERSION,
  *             -FDT_ERR_BADSTATE,
@@ -689,7 +705,7 @@ const char *fdt_get_alias_namelen(const void *fdt,
                                  const char *name, int namelen);
 
 /**
- * fdt_get_alias - retreive the path referenced by a given alias
+ * fdt_get_alias - retrieve the path referenced by a given alias
  * @fdt: pointer to the device tree blob
  * @name: name of the alias th look up
  *
@@ -749,11 +765,11 @@ int fdt_get_path(const void *fdt, int nodeoffset, char *buf, int buflen);
  * structure from the start to nodeoffset.
  *
  * returns:
-
  *     structure block offset of the node at node offset's ancestor
  *             of depth supernodedepth (>=0), on success
  *     -FDT_ERR_BADOFFSET, nodeoffset does not refer to a BEGIN_NODE tag
-*      -FDT_ERR_NOTFOUND, supernodedepth was greater than the depth of nodeoffset
+ *     -FDT_ERR_NOTFOUND, supernodedepth was greater than the depth of
+ *             nodeoffset
  *     -FDT_ERR_BADMAGIC,
  *     -FDT_ERR_BADVERSION,
  *     -FDT_ERR_BADSTATE,
@@ -946,51 +962,66 @@ int fdt_node_offset_by_compatible(const void *fdt, int startoffset,
 int fdt_stringlist_contains(const char *strlist, int listlen, const char *str);
 
 /**
- * fdt_count_strings - count the number of strings in a string list
+ * fdt_stringlist_count - count the number of strings in a string list
  * @fdt: pointer to the device tree blob
- * @node: offset of the node
+ * @nodeoffset: offset of a tree node
  * @property: name of the property containing the string list
- * @return: the number of strings in the given property
+ * @return:
+ *   the number of strings in the given property
+ *   -FDT_ERR_BADVALUE if the property value is not NUL-terminated
+ *   -FDT_ERR_NOTFOUND if the property does not exist
  */
-int fdt_count_strings(const void *fdt, int node, const char *property);
+int fdt_stringlist_count(const void *fdt, int nodeoffset, const char *property);
 
 /**
- * fdt_find_string - find a string in a string list and return its index
+ * fdt_stringlist_search - find a string in a string list and return its index
  * @fdt: pointer to the device tree blob
- * @node: offset of the node
+ * @nodeoffset: offset of a tree node
  * @property: name of the property containing the string list
  * @string: string to look up in the string list
- * @return: the index of the string or negative on error
+ *
+ * Note that it is possible for this function to succeed on property values
+ * that are not NUL-terminated. That's because the function will stop after
+ * finding the first occurrence of @string. This can for example happen with
+ * small-valued cell properties, such as #address-cells, when searching for
+ * the empty string.
+ *
+ * @return:
+ *   the index of the string in the list of strings
+ *   -FDT_ERR_BADVALUE if the property value is not NUL-terminated
+ *   -FDT_ERR_NOTFOUND if the property does not exist or does not contain
+ *                     the given string
  */
-int fdt_find_string(const void *fdt, int node, const char *property,
-                   const char *string);
+int fdt_stringlist_search(const void *fdt, int nodeoffset, const char *property,
+                         const char *string);
 
 /**
- * fdt_get_string_index() - obtain the string at a given index in a string list
+ * fdt_stringlist_get() - obtain the string at a given index in a string list
  * @fdt: pointer to the device tree blob
- * @node: offset of the node
+ * @nodeoffset: offset of a tree node
  * @property: name of the property containing the string list
  * @index: index of the string to return
- * @output: return location for the string
- * @return: 0 if the string was found or a negative error code otherwise
- */
-int fdt_get_string_index(const void *fdt, int node, const char *property,
-                        int index, const char **output);
-
-/**
- * fdt_get_string() - obtain the first string in a string list
- * @fdt: pointer to the device tree blob
- * @node: offset of the node
- * @property: name of the property containing the string list
- * @output: return location for the string
- * @return: 0 if the string was found or a negative error code otherwise
+ * @lenp: return location for the string length or an error code on failure
+ *
+ * Note that this will successfully extract strings from properties with
+ * non-NUL-terminated values. For example on small-valued cell properties
+ * this function will return the empty string.
  *
- * This is a shortcut for:
+ * If non-NULL, the length of the string (on success) or a negative error-code
+ * (on failure) will be stored in the integer pointer to by lenp.
  *
- *     fdt_get_string_index(fdt, node, property, 0, output).
+ * @return:
+ *   A pointer to the string at the given index in the string list or NULL on
+ *   failure. On success the length of the string will be stored in the memory
+ *   location pointed to by the lenp parameter, if non-NULL. On failure one of
+ *   the following negative error codes will be returned in the lenp parameter
+ *   (if non-NULL):
+ *     -FDT_ERR_BADVALUE if the property value is not NUL-terminated
+ *     -FDT_ERR_NOTFOUND if the property does not exist
  */
-int fdt_get_string(const void *fdt, int node, const char *property,
-                  const char **output);
+const char *fdt_stringlist_get(const void *fdt, int nodeoffset,
+                              const char *property, int index,
+                              int *lenp);
 
 /**********************************************************************/
 /* Read-only functions (addressing related)                           */
@@ -1060,7 +1091,7 @@ int fdt_size_cells(const void *fdt, int nodeoffset);
  * @nodeoffset: offset of the node whose property to change
  * @name: name of the property to change
  * @namelen: number of characters of name to consider
- * @index: index of the property to change in the array
+ * @idx: index of the property to change in the array
  * @val: pointer to data to replace the property value with
  * @len: length of the property value
  *
@@ -1071,7 +1102,7 @@ int fdt_size_cells(const void *fdt, int nodeoffset);
  */
 int fdt_setprop_inplace_namelen_partial(void *fdt, int nodeoffset,
                                        const char *name, int namelen,
-                                       uint32_t index, const void *val,
+                                       uint32_t idx, const void *val,
                                        int len);
 
 /**
@@ -1700,9 +1731,11 @@ int fdt_add_subnode_namelen(void *fdt, int parentoffset,
  * change the offsets of some existing nodes.
 
  * returns:
- *     structure block offset of the created nodeequested subnode (>=0), on success
+ *     structure block offset of the created nodeequested subnode (>=0), on
+ *             success
  *     -FDT_ERR_NOTFOUND, if the requested subnode does not exist
- *     -FDT_ERR_BADOFFSET, if parentoffset did not point to an FDT_BEGIN_NODE tag
+ *     -FDT_ERR_BADOFFSET, if parentoffset did not point to an FDT_BEGIN_NODE
+ *             tag
  *     -FDT_ERR_EXISTS, if the node at parentoffset already has a subnode of
  *             the given name
  *     -FDT_ERR_NOSPACE, if there is insufficient free space in the
index 16ff01a2cd37490e131924bf6c0d04b5f88823d0..0e0d8efd33f045719ccde573ec30928f0ee66a56 100644 (file)
@@ -154,6 +154,15 @@ config SPL_OF_LIBFDT
          particular compatible nodes. The library operates on a flattened
          version of the device tree.
 
+config FDT_FIXUP_PARTITIONS
+       bool "overwrite MTD partitions in DTS through defined in 'mtdparts'"
+       depends on OF_LIBFDT
+       default n
+       help
+         Allow overwriting defined partitions in the device tree blob
+         using partition info defined in the 'mtdparts' environment
+         variable.
+
 source lib/efi/Kconfig
 source lib/efi_loader/Kconfig
 
index 4defb902b87297d03f891ea18b26647bd19fccc9..4e619c49a2ffb2332a06c62906753b3b2eba3262 100644 (file)
@@ -836,7 +836,7 @@ int fdtdec_get_child_count(const void *blob, int node)
        int subnode;
        int num = 0;
 
-       fdt_for_each_subnode(blob, subnode, node)
+       fdt_for_each_subnode(subnode, blob, node)
                num++;
 
        return num;
@@ -1014,7 +1014,7 @@ int fdt_get_named_resource(const void *fdt, int node, const char *property,
 {
        int index;
 
-       index = fdt_find_string(fdt, node, prop_names, name);
+       index = fdt_stringlist_search(fdt, node, prop_names, name);
        if (index < 0)
                return index;
 
index 96017a15a27aed38697c0d0d23b642082dd6d8b1..2055734012a1009438adf10b2d2e232f5b647c3d 100644 (file)
@@ -35,18 +35,19 @@ int fdt_check_header(const void *fdt)
 
 const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int len)
 {
-       const char *p;
+       unsigned absoffset = offset + fdt_off_dt_struct(fdt);
+
+       if ((absoffset < offset)
+           || ((absoffset + len) < absoffset)
+           || (absoffset + len) > fdt_totalsize(fdt))
+               return NULL;
 
        if (fdt_version(fdt) >= 0x11)
                if (((offset + len) < offset)
                    || ((offset + len) > fdt_size_dt_struct(fdt)))
                        return NULL;
 
-       p = _fdt_offset_ptr(fdt, offset);
-
-       if (p + len < p)
-               return NULL;
-       return p;
+       return _fdt_offset_ptr(fdt, offset);
 }
 
 uint32_t fdt_next_tag(const void *fdt, int startoffset, int *nextoffset)
index 40b6d274558a1ae5edc0f18fc4eb8e1421ba06d4..d35ceacbf0017328fae569276f9571f71d636ad3 100644 (file)
@@ -146,7 +146,7 @@ static int overlay_adjust_node_phandles(void *fdto, int node,
        if (!found && !ret)
                return ret;
 
-       fdt_for_each_subnode(fdto, child, node)
+       fdt_for_each_subnode(child, fdto, node)
                overlay_adjust_node_phandles(fdto, child, delta);
 
        return 0;
@@ -248,7 +248,7 @@ static int overlay_update_local_node_references(void *fdto,
                }
        }
 
-       fdt_for_each_subnode(fdto, fixup_child, fixup_node) {
+       fdt_for_each_subnode(fixup_child, fdto, fixup_node) {
                const char *fixup_child_name = fdt_get_name(fdto, fixup_child,
                                                            NULL);
                int tree_child;
@@ -511,7 +511,7 @@ static int overlay_apply_node(void *fdt, int target,
                        return ret;
        }
 
-       fdt_for_each_subnode(fdto, node, fragment) {
+       fdt_for_each_subnode(node, fdto, fragment) {
                const char *name = fdt_get_name(fdto, node, NULL);
                int nnode;
                int ret;
@@ -550,7 +550,7 @@ static int overlay_merge(void *dt, void *dto)
 {
        int fragment;
 
-       fdt_for_each_subnode(dto, fragment, 0) {
+       fdt_for_each_subnode(fragment, dto, 0) {
                int overlay;
                int target;
                int ret;
index 9cc98db6e2bf8942b4b15a8599d14c02c19b51f4..7e894b742b456a9fef7f22227c2781ce76ebe24b 100644 (file)
@@ -60,11 +60,11 @@ uint32_t fdt_get_max_phandle(const void *fdt)
                        return max_phandle;
 
                if (offset < 0)
-                       return 0;
+                       return (uint32_t)-1;
 
                phandle = fdt_get_phandle(fdt, offset);
                if (phandle == (uint32_t)-1)
-                       return 0;
+                       continue;
 
                if (phandle > max_phandle)
                        max_phandle = phandle;
@@ -204,6 +204,11 @@ int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen)
        return offset;
 }
 
+int fdt_path_offset(const void *fdt, const char *path)
+{
+       return fdt_path_offset_namelen(fdt, path, strlen(path));
+}
+
 const char *fdt_get_name(const void *fdt, int nodeoffset, int *len)
 {
        const struct fdt_node_header *nh = _fdt_offset_ptr(fdt, nodeoffset);
@@ -538,80 +543,104 @@ int fdt_stringlist_contains(const char *strlist, int listlen, const char *str)
        return 0;
 }
 
-int fdt_count_strings(const void *fdt, int node, const char *property)
+int fdt_stringlist_count(const void *fdt, int nodeoffset, const char *property)
 {
-       int length, i, count = 0;
-       const char *list;
+       const char *list, *end;
+       int length, count = 0;
 
-       list = fdt_getprop(fdt, node, property, &length);
+       list = fdt_getprop(fdt, nodeoffset, property, &length);
        if (!list)
-               return length;
+               return -length;
+
+       end = list + length;
+
+       while (list < end) {
+               length = strnlen(list, end - list) + 1;
 
-       for (i = 0; i < length; i++) {
-               int len = strlen(list);
+               /* Abort if the last string isn't properly NUL-terminated. */
+               if (list + length > end)
+                       return -FDT_ERR_BADVALUE;
 
-               list += len + 1;
-               i += len;
+               list += length;
                count++;
        }
 
        return count;
 }
 
-int fdt_find_string(const void *fdt, int node, const char *property,
-                   const char *string)
+int fdt_stringlist_search(const void *fdt, int nodeoffset, const char *property,
+                         const char *string)
 {
+       int length, len, idx = 0;
        const char *list, *end;
-       int len, index = 0;
 
-       list = fdt_getprop(fdt, node, property, &len);
+       list = fdt_getprop(fdt, nodeoffset, property, &length);
        if (!list)
-               return len;
+               return -length;
 
-       end = list + len;
-       len = strlen(string);
+       len = strlen(string) + 1;
+       end = list + length;
 
        while (list < end) {
-               int l = strlen(list);
+               length = strnlen(list, end - list) + 1;
 
-               if (l == len && memcmp(list, string, len) == 0)
-                       return index;
+               /* Abort if the last string isn't properly NUL-terminated. */
+               if (list + length > end)
+                       return -FDT_ERR_BADVALUE;
 
-               list += l + 1;
-               index++;
+               if (length == len && memcmp(list, string, length) == 0)
+                       return idx;
+
+               list += length;
+               idx++;
        }
 
        return -FDT_ERR_NOTFOUND;
 }
 
-int fdt_get_string_index(const void *fdt, int node, const char *property,
-                        int index, const char **output)
+const char *fdt_stringlist_get(const void *fdt, int nodeoffset,
+                              const char *property, int idx,
+                              int *lenp)
 {
-       const char *list;
-       int length, i;
+       const char *list, *end;
+       int length;
 
-       list = fdt_getprop(fdt, node, property, &length);
+       list = fdt_getprop(fdt, nodeoffset, property, &length);
+       if (!list) {
+               if (lenp)
+                       *lenp = length;
 
-       for (i = 0; i < length; i++) {
-               int len = strlen(list);
+               return NULL;
+       }
 
-               if (index == 0) {
-                       *output = list;
-                       return 0;
+       end = list + length;
+
+       while (list < end) {
+               length = strnlen(list, end - list) + 1;
+
+               /* Abort if the last string isn't properly NUL-terminated. */
+               if (list + length > end) {
+                       if (lenp)
+                               *lenp = -FDT_ERR_BADVALUE;
+
+                       return NULL;
                }
 
-               list += len + 1;
-               i += len;
-               index--;
+               if (idx == 0) {
+                       if (lenp)
+                               *lenp = length - 1;
+
+                       return list;
+               }
+
+               list += length;
+               idx--;
        }
 
-       return -FDT_ERR_NOTFOUND;
-}
+       if (lenp)
+               *lenp = -FDT_ERR_NOTFOUND;
 
-int fdt_get_string(const void *fdt, int node, const char *property,
-                  const char **output)
-{
-       return fdt_get_string_index(fdt, node, property, 0, output);
+       return NULL;
 }
 
 int fdt_node_check_compatible(const void *fdt, int nodeoffset,
@@ -623,10 +652,8 @@ int fdt_node_check_compatible(const void *fdt, int nodeoffset,
        prop = fdt_getprop(fdt, nodeoffset, "compatible", &len);
        if (!prop)
                return len;
-       if (fdt_stringlist_contains(prop, len, compatible))
-               return 0;
-       else
-               return 1;
+
+       return !fdt_stringlist_contains(prop, len, compatible);
 }
 
 int fdt_node_offset_by_compatible(const void *fdt, int startoffset,
index 47447b2bce876c966b40a64b788abe9ec784d432..87d4030fb14d252498f4d2741aeeb1627baaa80b 100644 (file)
@@ -60,6 +60,8 @@ static int _fdt_splice(void *fdt, void *splicepoint, int oldlen, int newlen)
 
        if (((p + oldlen) < p) || ((p + oldlen) > end))
                return -FDT_ERR_BADOFFSET;
+       if ((p < (char *)fdt) || ((end - oldlen + newlen) < (char *)fdt))
+               return -FDT_ERR_BADOFFSET;
        if ((end - oldlen + newlen) > ((char *)fdt + fdt_totalsize(fdt)))
                return -FDT_ERR_NOSPACE;
        memmove(p + newlen, p + oldlen, end - p - oldlen);
@@ -164,7 +166,7 @@ static int _fdt_resize_property(void *fdt, int nodeoffset, const char *name,
        int err;
 
        *prop = fdt_get_property_w(fdt, nodeoffset, name, &oldlen);
-       if (!(*prop))
+       if (!*prop)
                return oldlen;
 
        if ((err = _fdt_splice_struct(fdt, (*prop)->data, FDT_TAGALIGN(oldlen),
index 216c51287d09e8a48c8d92e056263636f448200e..45fb9641206f4f74948c639004e7c8b92958a54e 100644 (file)
@@ -16,7 +16,7 @@
 
 int fdt_setprop_inplace_namelen_partial(void *fdt, int nodeoffset,
                                        const char *name, int namelen,
-                                       uint32_t index, const void *val,
+                                       uint32_t idx, const void *val,
                                        int len)
 {
        void *propval;
@@ -27,10 +27,10 @@ int fdt_setprop_inplace_namelen_partial(void *fdt, int nodeoffset,
        if (!propval)
                return proplen;
 
-       if (proplen < (len + index))
+       if (proplen < (len + idx))
                return -FDT_ERR_NOSPACE;
 
-       memcpy(propval + index, val, len);
+       memcpy((char *)propval + idx, val, len);
        return 0;
 }
 
index 87dc9328c674bda7f13773e3183b7b2ba9983208..cbef720b4c091fd0b8075e0c60ca852b582032ff 100644 (file)
@@ -52,12 +52,15 @@ static int fdt_getprop_str(void *fdt, const char *path, const char *name,
                           const char **out)
 {
        int node_off;
+       int len;
 
        node_off = fdt_path_offset(fdt, path);
        if (node_off < 0)
                return node_off;
 
-       return fdt_get_string(fdt, node_off, name, out);
+       *out = fdt_stringlist_get(fdt, node_off, name, 0, &len);
+
+       return len < 0 ? len : 0;
 }
 
 static int fdt_overlay_change_int_property(struct unit_test_state *uts)
index 5c1a2623fefa77c68f2aa6758001718aae64768f..b59a4cfc0fc295cae3cf28e81bfb3f54825aa701 100644 (file)
@@ -9,6 +9,8 @@ def test_sleep(u_boot_console):
     """Test the sleep command, and validate that it sleeps for approximately
     the correct amount of time."""
 
+    if u_boot_console.config.buildconfig.get('config_cmd_misc', 'n') != 'y':
+        pytest.skip('sleep command not supported')
     # 3s isn't too long, but is enough to cross a few second boundaries.
     sleep_time = 3
     tstart = time.time()