- Apr 07, 2017
-
-
Maxime Ripard authored
The default U-Boot offset for the Allwinner SoCs was set to 32kB. This was probably to try to maintain some compatibility with the current image that we build for the MMC where the U-Boot binary is also located at a 32kB offset. However, this causes a number of issues. The first one is that it prevents us from using a backup SPL entirely, which is troublesome in case where the first would be corrupt (especially on MLC which have a higher number of bitflips). We also cannot use the original MMC image on the NAND, because we need to prepare the SPL image to include the ECCs and randomizer settings, which reduces the interest of setting it at that particular offset. It also prevents us from upgrading and flashing the U-Boot and SPLs independantly, since it's very likely that it will fall in the same erase block. Since that default wasn't used by any board, change it for 8MB, which will be in an erase block of its own, all the erase blocks being multiple of two. The highest erase block size we encountered is 4MB, which means that in this particular setup, the first and second erase blocks will be for the SPL and its backup, and the third for U-Boot. Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
Maxime Ripard authored
We'll need that symbol so that the default offset are defined Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
Boris Brezillon authored
Sometime we need to enable advanced suboptions of the nand command set. Expose these suboptions in Kconfig. Signed-off-by:
Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
Boris Brezillon authored
Create a new Kconfig entry to allow CMD_UBIFS selection from Kconfig and add an hidden LZO option that can be selected by CMD_UBIFS. Signed-off-by:
Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by:
Jagan Teki <jagan@openedev.com>
-
Boris Brezillon authored
Expose the RBTREE feature through Kconfig and select this option from the MTD_UBI option. Signed-off-by:
Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by:
Jagan Teki <jagan@openedev.com> [Rebased on master] Signed-off-by:
Jagan Teki <jagan@openedev.com>
-
Maxime Ripard authored
CMD_MTDPARTS is something the user might or might not want to select, and might depends on (or be selected by) other options too. This is even truer for the MTDIDS_DEFAULT and MTDPARTS_DEFAULT options that might change from one board to another, or from one user to the other, depending on what it expects and what storage devices are available. In order to ease that configuration, add those options to Kconfig. Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
Maxime Ripard authored
The environment location is something that might change per board (depending on what storage options are availaible there) or depending on the user choice (when we have several options). Instead of hardcoding it in our configuration header, create a Kconfig choice with the options we use for now, and the symbols that depend on it. Once done, also remove the irrelevant sunxi defines. Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
Maxime Ripard authored
This program generates raw SPL images that can be flashed on the NAND with the ECC and randomizer properly set up. This has been copied (and tweaked to find the right headers) from the sunxi-tools (https://github.com/linux-sunxi/sunxi-tools ) upstream repository, commit 1c3a6ca5. Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by:
Boris Brezillon <boris.brezillon@free-electrons.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
Maxime Ripard authored
We will need the bch functions in the tool to generate the SPL images for the Allwinner SoCs. Do the needed adjustments so that we can use it on the host. Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
Maxime Ripard authored
When trying to autodetect the ECC and randomization configurations, the driver starts with a randomization disabled and no seeds. In this case, the number of seeds is obviously 0, and the randomize boolean is set to false. However, the logic that retrieves the seed for a given page offset will blindly use the number of seeds, without testing if the randomization is enabled, basically doing a modulo by 0. As it turns out, the libgcc in the common toolchain returns 0 here, which was our expected value in such a case, and why we would not detect it. However, U-Boot's libgcc will for some reason return from the function instead, resulting in an error to load the U-Boot binary in the SPL. Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by:
Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by:
Scott Wood <oss@buserror.net> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
Jelle van der Waa authored
Add support for the NanoPi NEO Air H3 board from friendlyarm.com . This board contains WiFi, Bluetooth, 8GB eMMC storage and 512 MB DDR3 ram. Signed-off-by:
Jelle van der Waa <jelle@vdwaa.nl> Acked-by:
Maxime Ripard <maxime.ripard@free-electrons.com> [Rebase on master] Signed-off-by:
Jagan Teki <jagan@openedev.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
Philipp Tomsich authored
This ports the support for configuring a GPIO for resetting the Ethernet PHY (incl. such details as the reset polarity and pulse-length) from the Designware driver. X-AffectedPlatforms: A64-uQ7 Signed-off-by:
Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
git://git.denx.de/u-boot-sunxiTom Rini authored
trini: Disable CONFIG_SPL_USE_ARCH_MEMSET on orangepi_2 Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Apr 05, 2017
-
-
Simon Glass authored
Add separate enable/disable controls for driver-model serial. While this is generally enabled in SPL it may not be in TPL, since serial output can be obtained with the debug UART with minimal code size. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Since TPL often needs to be very very small it may not make sense to enable driver model. Add an option for this. This changes brings the 'rock' board under the TPL limit with gcc 4.9. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present we have SPL_ which can be used in Makefiles to select between normal and SPL CONFIGs like this: obj-$(CONFIG_$(SPL_)DM) += core/ When TPL is being built, SPL_ has the value 'SPL' which is generally a good idea since they tend to follow each other. But in extreme situations we may want to distinugish between SPL and TPL. For example we may not want to enable CONFIG_DM with TPL. Add a new SPL_TPL_ variable which is set to either empty (for U-Boot proper), 'SPL' or 'TPL'. This may prove useful with TPL-specific options. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These includes don't seem to be needed now. Drop them. Reserve the mp.h header for PowerPC for now. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de> Reviewed-by:
York Sun <york.sun@nxp.com>
-
Simon Glass authored
This header file is used by three archs. It could be used by all of them since relocation is a common function. Move it into a generic file. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This header file is used by two archs. It could be used by all of them since it allows the cache to be on during relocation. Move it into a generic file. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
We don't need this PPC-specific function in generic code. Move it to the powerpc directory. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Simon Glass authored
This is to keep the header file order consistent. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
York Sun <york.sun@nxp.com>
-
Simon Glass authored
Drop headers which are not used or needed in this file. The compiler.h header is included by common.h. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
York Sun <york.sun@nxp.com>
-
Simon Glass authored
This is an weak function present on all archs so we should have it in the common header file. Remove it from arch-specific headers and add a function comment. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
By making dram_init_banksize() return an error code we can drop the wrapper. Adjust this and clean up all implementations. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Simon Glass authored
This is never defined when building this file, so drop it. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
York Sun <york.sun@nxp.com>
-
Simon Glass authored
Move the ugly #ifdefs inside the reserve_video() function so we can collect all this init into one place. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
The arch-specific details of the cache being off are best handled inside the reserve_mmu(). This cleans up the init sequence a little. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
York Sun <york.sun@nxp.com>
-
Simon Glass authored
CONFIG_ALT_LB_ADDR is really a detail of how this logbuffer is allocated rather than whether to do it at all. So move the #ifdef into the function. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
All archs put U-Boot at the bottom of the relocated region. Xtensa does not, but perhaps not for any good reason. Adjust it to see if things still work OK. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present we cannot use this function as an init sequence call without a wrapper, since it returns the RAM size. Adjust it to set the RAM size in global_data instead, and return 0 on success. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Simon Glass authored
It looks like only cm5200 and tqm8xx use this feature, so we don't really need it in generic code. Drop it and have the users access gd->board_type directly. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Simon Glass authored
This is not used by any board. Drop it. Signed-off-by:
Simon Glass <sjg@chromium.org> Clean up board_f sequence a little This series tries to remove #ifdefs from the board_f init sequence. It gets as far as I2C and then we need to discuss whether we can start to remove the old I2C framework. I think that ideally each entry in the init sequence should be enabled by at most one CONFIG, which is in Kconfig and is not arch-specific. END Acked-by:
Lukasz Majewski <lukma@denx.de> Acked-by:
Jaehoon Chung <jh80.chung@samsung.com>
-
Simon Glass authored
These are not used in U-Boot. Manual relocation fixup is used by blackfin but that is being removed. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present we misuse print_cpuinfo() do so CPU init on x86. This is done because it is the next available call after the console is enabled. But several arches use checkcpu() instead. Despite the horrible name (which we can fix), it seems a better choice. Adjust the various x86 CPU implementations to move their init code into checkcpu() and use print_cpuinfo() only for printing CPU info. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Simon Glass authored
Move these two function calls into checkcpu(), which is called on this arch immediately after these two. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Simon Glass authored
We don't need a special hook for sandbox as one of the later ones will do just as well. We can print error messages about bad options after we print the banner. In fact, it seems better. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Simon Glass authored
This function is called just before checkcpu() on MPX83xx. Move it to the code for that arch. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Combine the conditions so this appears in the init list only once. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
York Sun <york.sun@nxp.com> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Simon Glass authored
More than half of the architectures use this function so let's make them all use it. For those which don't actually define it, we can rely on the weak function in lib/time.c Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
York Sun <york.sun@nxp.com> Reviewed-by:
Stefan Roese <sr@denx.de>
-
Simon Glass authored
There is no good reason to use a different name on PowerPC. Change it to timer_init() like the others. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
York Sun <york.sun@nxp.com> Reviewed-by:
Stefan Roese <sr@denx.de>
-