- Jul 18, 2020
-
-
This patch adds very basic minimal support for the Marvell Octeon 3 CN73xx based EBB7304 EVK. Please note that the basic Octeon port does not support DDR3/4 initialization yet. To still use U-Boot on with this port, the L2 cache (4MiB) is used as RAM. This way, U-Boot can boot to the prompt on this board. Supported devices: - UART - reset - CFI parallel NOR flash Signed-off-by:
Stefan Roese <sr@denx.de>
-
This patch adds the code to copy itself from bootrom location to a different location (TEXT_BASE) to the Octeon platform. Its used in this case to copy the complete U-Boot image into L2 cache, which greatly improves the bootup time - especially in regard to the very long and complex DDR4 init code. The Kconfig symbol CONFIG_MIPS_MACH_EARLY_INIT is enabled with this patch for Octeon. Signed-off-by:
Stefan Roese <sr@denx.de>
-
This patch adds the base dtsi file for the Octeon 3 cn73xx SoC. Signed-off-by:
Stefan Roese <sr@denx.de>
-
This patch adds very basic support for the Octeon III SoCs. Only CFI parallel NOR flash and UART is supported for now. Please note that the basic Octeon port does not include the DDR3/4 initialization yet. This will be added in some follow-up patches later. To still use U-Boot on with this port, the L2 cache (4MiB on Octeon III CN73xx) is used as RAM. This way, U-Boot can boot to the prompt on such boards. Signed-off-by:
Aaron Williams <awilliams@marvell.com> Signed-off-by:
Stefan Roese <sr@denx.de>
-
This patch adds a UCLASS_SYSRESET sysreset driver for the Octeon SoC family. Signed-off-by:
Stefan Roese <sr@denx.de> Reviewed-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-
This patch adds the optional call to mips_mach_early_init() to start.S at a very early stage. Its disabled per default. It can be used for very early machine / platform specific init code. Its called very early and at this stage the PC is allowed to differ from the linking address (CONFIG_TEXT_BASE) as no absolute jump has been performed until this call. It will be used by thje Octeon platform. Signed-off-by:
Stefan Roese <sr@denx.de> Reviewed-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-
Daniel Schwierzeck authored
Sync asm/mipsregs.h with Linux 5.7. Also replace the custom symbols EBASE_CPUNUM and EBASE_WG with the according symbols from Linux. Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-by:
Stefan Roese <sr@denx.de>
-
Daniel Schwierzeck authored
Sync asm/addrspace.h with Linux 5.7 Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-by:
Stefan Roese <sr@denx.de>
-
Daniel Schwierzeck authored
Sync asm/asm.h with Linux 5.7. Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-by:
Stefan Roese <sr@denx.de>
-
Daniel Schwierzeck authored
This macro only served as a wrapper for CKSEG1ADDR() with an exception for CONFIG_TB0229. CONFIG_TB0229 doesn't exist, thus use CKSEG1ADDR() directly. This also prepares for an upcoming asm header sync with Linux. Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-by:
Stefan Roese <sr@denx.de>
-
Daniel Schwierzeck authored
Add an own Kconfig symbol for the initial disabling of caches invoked from generic start code. Also add an own Kconfig symbols for the initialization of caches invoked from generic start code. Until now both code paths could only be disabled with CONFIG_SKIP_LOWLEVEL_INIT. But this is not flexible enough for RAM boot scenarios like EJTAG or SPL payload or for machines which don't require cache initialization or which want to provide their own cache implementation. Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-by:
Stefan Roese <sr@denx.de>
-
Daniel Schwierzeck authored
Logically this code belongs to cache_init.S. If a complex SoC needs to replace the generic cache init, mips_cache_disable() can now be called from custom start.S files. Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-by:
Stefan Roese <sr@denx.de>
-
Daniel Schwierzeck authored
change_k0_cca() is called multiple times. Move the code for changing to KSEG1 to a macro to avoid code duplication. Also fix missing change to KSEG1 when changing to CONF_CM_CACHABLE_COW. Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-by:
Stefan Roese <sr@denx.de>
-
Daniel Schwierzeck authored
Since commit 703ec9dd ("MIPS: Stop building position independent code") the relocation code was completely reworked and removed from start.S. Remove some left-overs of the old code. Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by:
Stefan Roese <sr@denx.de> Tested-by:
Stefan Roese <sr@denx.de>
-
This patch adds __weak to invalidate_dcache_range() in lib/cache.c. This makes it possible to overwrite this function by a platforms specific version, which will be done for Octeon. Signed-off-by:
Stefan Roese <sr@denx.de>
-
This patch adds __weak to flush_cache() in lib/cache.c. This makes it possible to overwrite this function by a platforms specific version, like done with the Octeon base port. Signed-off-by:
Stefan Roese <sr@denx.de>
-
This patch enables the usage of CONFIG_MIPS_L2_CACHE without CONFIG_MIPS_CM, which is what is needed for the newly added Octeon platform. Signed-off-by:
Stefan Roese <sr@denx.de>
-
This patch changes the R_MIPS_NONE define from 0 to a magic value. This makes it possible to better detect any forbidden pre-relocation usage of BSS variables, as they are often zero'ed and then relocation is stopped too early. Additionally the error message is improved to also print the faulting address. This helps finding the root-cause for this breakage by comparing this address with the values in System.map. This patch helps a lot when working on pre-relocation code, like the Octeon DDR init code, where such variables have hit me multiple times now. Signed-off-by:
Stefan Roese <sr@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Aaron Williams <awilliams@marvell.com> Cc: Chandrakala Chavva <cchavva@marvell.com>
-
WG (bit 11) needs to be set on Octeon to enable writing bits 63:30 of the exception base register. Signed-off-by:
Stefan Roese <sr@denx.de>
-
This patch opts-out the compilation of get_tbclk() if CONFIG_SYS_MIPS_TIMER_FREQ is not defined. This is used on the Octeon platform, where the weak get_tbclk() function is overwritten by its platform specific one. Signed-off-by:
Stefan Roese <sr@denx.de>
-
- Jul 17, 2020
-
-
Tom Rini authored
A large number of assorted fixes, including but not limited to: - Correct fixdep and CONFIG_IS_ENABLED(...) - lz4 on big endian - Assorted LMB hardening - Remove bd_t typedef
-
Add VendorID and DeviceID for supported devices on OcteonTX/TX2 platforms. Signed-off-by:
Suneel Garapati <sgarapati@marvell.com> Reviewed-by:
Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-
When update_uboot.its is used directly there is syntax error for no reason. Error report: mkimage -f update_uboot.its boot Error: update_uboot.its:18.12-13 syntax error FATAL ERROR: Unable to parse input tree mkimage: Can't read boot.tmp: Invalid argument Fixes: 4bae9090 ("Automatic software update from TFTP server") Signed-off-by:
Michal Simek <michal.simek@xilinx.com>
-
The types of "offset" and "size" of "struct mtd_partition" are uint64_t, while mtd_parse_partitions() uses int to work with these values. When the offset reaches 2GB, it is interpreted as a negative value, which leads to error messages like mtd: partition "<partition name>" is out of reach -- disabled eg. when using the "ubi part" command. Fix this by using uint64_t for cur_off and cur_sz. Signed-off-by:
Martin Kaistra <martin.kaistra@linutronix.de> Reviewed-by:
Kurt Kanzenbach <kurt@linutronix.de> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
Signed-off-by:
Holger Brunck <holger.brunck@hitachi-powergrids.com> CC: Valentin Longchamp <valentin.longchamp@hitachi-powergrids.com>
-
Correct the description of the ESR register. Fix a typo. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
When fixdep detects CONFIG_IS_ENABLED and other similar macros, it must parse the macro parameter to determine which actual CONFIG_ option is being referenced. This involves moving a pointer forward through the entire CONFIG_ option "word". Currently, the code uses variable q to walk through the word, but doesn't actually initialize it to point at the parameter before doing so. Consequently, the walking process immediately fails since it sees the macro invocatoins's ( rather than the expected alpha-numeric characters in the macro parameter. Fix this by adding the missing initialization. Fixes: 67f2ee86 ("kbuild: fixdep: Resync this with v4.17") Fixes: 7012865e ("gpio: fix test.py for gpio label lookup") Signed-off-by:
Stephen Warren <swarren@nvidia.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Add a new error message in case the size of data written are shorter than the one expected. Currently, it will lead to the following error message: "mkimage: Write error on uImage: Success" This is not explicit when the error is because the device doesn't have enough space. Let's use a more understandable message: "mkimage: Write only 4202432/4682240 bytes, probably no space left on the device" Signed-off-by:
Mylène Josserand <mylene.josserand@collabora.com> Reviewed-by:
Walter Lozano <walter.lozano@collabora.com>
-
Since commit 4b0bcfa7 (Kconfig: Migrate CONFIG_BOOTM_* options), the config_defaults.h file has been void of any actual content - and these days, "sane defaults for everyone" is achieved by appropriate default values in Kconfig. Remove it, and thus make every translation unit process one less header file. Signed-off-by:
Rasmus Villemoes <rasmus.villemoes@prevas.dk>
-
Remove the incorrect usage of double underscores for the CONFIG_OF_LIST and CONFIG_SPL_OF_LIST symbols. Signed-off-by:
Fabio Estevam <festevam@gmail.com>
-
If a file cannot be loaded, show an error message. Set the EFI boot device only after successfully loading a file. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
All the users of bd_t were converted to struct bd_info. Remove the definitions. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Some code was not converted by coccinelle, somehow. I manually fixed up the remaining, and comments, README docs. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org> [trini: Add arch/arm/mach-davinci/include/mach/sdmmc_defs.h and include/fdt_support.h] Signed-off-by:
Tom Rini <trini@konsulko.com>
-
The Linux coding style guide (Documentation/process/coding-style.rst) clearly says: It's a **mistake** to use typedef for structures and pointers. Besides, using typedef for structures is annoying when you try to make headers self-contained. Let's say you have the following function declaration in a header: void foo(bd_t *bd); This is not self-contained since bd_t is not defined. To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h> #include <asm/u-boot.h> void foo(bd_t *bd); Then, the include direcective pulls in more bloat needlessly. If you use 'struct bd_info' instead, it is enough to put a forward declaration as follows: struct bd_info; void foo(struct bd_info *bd); Right, typedef'ing bd_t is a mistake. I used coccinelle to generate this commit. The semantic patch that makes this change is as follows: <smpl> @@ typedef bd_t; @@ -bd_t +struct bd_info </smpl> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
All configurations have been removed in 2016 by commit 7985cdf7 ("arm64: Remove non-full-va map code"). Signed-off-by:
Michal Simek <michal.simek@xilinx.com>
-
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
This fixes the CVE-2016-9840. Commit imported from [1]. inftrees.c was subtracting an offset from a pointer to an array, in order to provide a pointer that allowed indexing starting at the offset. This is not compliant with the C standard, for which the behavior of a pointer decremented before its allocated memory is undefined. Per the recommendation of a security audit of the zlib code by Trail of Bits and TrustInSoft, in support of the Mozilla Foundation, this tiny optimization was removed, in order to avoid the possibility of undefined behavior. [1]: https://github.com/madler/zlib/commit/6a043145ca6e9c55184013841a67b2fef87e44c0 Signed-off-by:
Mark Adler <madler@alumni.caltech.edu> Signed-off-by:
Chin Liang See <chin.liang.see@intel.com> Signed-off-by:
Ley Foon Tan <ley.foon.tan@intel.com>
-
This converts the following to Kconfig: CONFIG_ARMV7_PSCI_1_0 CONFIG_ARMV7_PSCI_0_2 Signed-off-by:
Patrick Delaunay <patrick.delaunay@st.com>
-
- Despite other ext4 filesystem functions, ext4fs_mount returns 0 in case of error. - This leads to u-boot crash in case that an SD card with valid partition table but without ext4 filesystem created in a partition is found on SD card. - Fix this by returning a proper error code of '-1' from spl_load_image_ext function in case of ext4fs_mount error. Signed-off-by:
Thomas Schaefer <thomas.schaefer@kontron.com> [hthiery: slightly reword the commit message] Signed-off-by:
Heiko Thiery <heiko.thiery@gmail.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Moving of the OS image may have some nasty side effects like corrupting DTB. Convert the current debug print to printf so that the relocation of the OS is always obvious to the user. Signed-off-by:
Tero Kristo <t-kristo@ti.com>
-