summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-27mips: spl: Flush cache before jumping to U-Boot properStefan Roese
This patch adds a MIPS specific jump_to_image_no_args() implementation, which flushes the U-Boot proper image loaded from the boot device in SPL before jumping to it. It has been noticed on MT76x8, that this cache flush is needed. Other MIPS platforms might need it as well. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Weijie Gao <weijie.gao@mediatek.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2020-04-27mips: add an option to enable u_boot_list section for SPL loaders in ↵Weijie Gao
u-boot-spl.lds u_boot_list is not only used by DM, but also by some SPL image load methods such as spl_nor.c. This patch adds an option CONFIG_SPL_LOADER_SUPPORT in conjunction with CONFIG_SPL_DM surrounding the u_boot_list section to make sure SPL image loaders can be correctly built into u-boot SPL without DM enabled. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: enable support for appending dtb to spl binaryWeijie Gao
If CONFIG_SPL_OF_CONTROL is enabled for SPL and CONFIG_OF_SEPARATE is also enabled, the dtb will be appended to the u-boot-spl.bin. When calling dm_init_and_scan() in SPL, fdtdec_setup() will try to locate dtb at the end of u-boot-spl.bin, by referencing to _image_binary_end. However _image_binary_end is currently missing in u-boot-spl.lds. This patch adds _image_binary_end to u-boot-spl.lds to make sure linking u-boot-spl will not fail. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: start.S: avoid overwriting outside gd when clearing global data in stackWeijie Gao
When setting up initial stack, global data will also be put in the stack, and being cleared. The assembler instructions for clearing gd is as follows: move t0, k0 1: PTR_S zero, 0(t0) blt t0, t1, 1b PTR_ADDIU t0, PTRSIZE t0 is the start address of gd, t1 is the end address of gd (t0 + GD_SIZE). [PTR_ADDIU t0, PTRSIZE] is in the delay slot of [blt t0, t1, 1b], so it will be executed before the branch operation. However the comparison for the BLT instruction is done before executing the delay slot. This means when the last word just before k1 is cleared, the loop will continue to run once. This will clear an extra word at k1, which is outside the global data. Global data is placed at the top of the stack. If the initial stack is a SRAM or locked cache, the area outside them may be inaccessible. A write operation performed in this area may cause an exception. To solve this, [PTR_ADDIU t0, PTRSIZE] should be placed before the BLT instruction. Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: mtmips: add predefined i-cache/d-cache size and linesizeWeijie Gao
Both mt7620 and mt7628 has the same cache configuration. There is no need to use CONFIG_SYS_CACHE_SIZE_AUTO to probe it at runtime. Add them into Kconfig to reduce some code size. Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27configs: enable CONFIG_RESTORE_EXCEPTION_VECTOR_BASE for all mtmips boardsWeijie Gao
This patch enables CONFIG_RESTORE_EXCEPTION_VECTOR_BASE for all mtmips boards. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: add support to restore exception vector base before booting linuxWeijie Gao
In U-Boot the exception vector base will be moved to top of memory, to be used to display register dump when exception occurs. But some old linux kernel does not honor the base set in CP0_EBASE. A modified exception vector base will cause kernel crash. This patch adds an option to enable reset exception vector base to its previous value, or a user configured value before booting linux kernel. Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27bmips: allow disabling usb supportÁlvaro Fernández Rojas
Currently, if usb is disabled the following error is produced: CC drivers/usb/host/ohci-hcd.o drivers/usb/host/ohci-hcd.c: In function ‘usb_lowlevel_init’: drivers/usb/host/ohci-hcd.c:2057:35: error: ‘CONFIG_SYS_USB_OHCI_REGS_BASE’ undeclared (first use in this function); did you mean ‘CONFIG_SYS_MONITOR_BASE’? gohci.regs = (struct ohci_regs *)CONFIG_SYS_USB_OHCI_REGS_BASE; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONFIG_SYS_MONITOR_BASE drivers/usb/host/ohci-hcd.c:2057:35: note: each undeclared identifier is reported only once for each function it appears in drivers/usb/host/ohci-hcd.c:2061:20: error: ‘CONFIG_SYS_USB_OHCI_SLOT_NAME’ undeclared (first use in this function); did you mean ‘CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS’? gohci.slot_name = CONFIG_SYS_USB_OHCI_SLOT_NAME; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-04-27nand: brcmnand: return without disabling clockÁlvaro Fernández Rojas
Linux Broadcom NAND driver only disabled clock if no childs are initialized. This section of the code seems to have been accidentally dropped when it was imported in U-Boot. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2020-04-27Merge tag 'video-for-v2020.07-rc1' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-video - simple panel 'nv140fhmn49' compatible - rockchip eDP and LVDS drivers build fix
2020-04-26video: simple_panel: add boe,nv140fhmn49 displayPeter Robinson
add "boe,nv140fhmn49" display to compatible node. Signed-off-by: Peter Robinson <pbrobinson@gmail.com> Cc: Anatolij Gustschin <agust@denx.de>
2020-04-26drivers: video: rockchip: fix building eDP and LVDS driversPeter Robinson
The rk_edp.c and rk_lvds.c files reference rk_setreg which is declared in hardware.h so include it so the drivers build. Adjust rk_lvds.c so includes are in alphabetical order while updating. Signed-off-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Tested-by: Vagrant Cascadian <vagrant@debian.org>
2020-04-25Merge branch '2020-04-25-master-imports'Tom Rini
- Assorted minor fixes - Actions S700 SoC and Cubieboard7 support
2020-04-24rtc: ds1374: typo WatchdogHeinrich Schuchardt
%s/Watchdoc/Watchdog/ Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-04-24spi: mpc8xxx_spi: fix missing dev_err definitionRasmus Villemoes
The build currently fails with drivers/spi/mpc8xxx_spi.c:64:3: warning: implicit declaration of function ‘dev_err’ [-Wimplicit-function-declaration] ... drivers/spi/built-in.o: In function `mpc8xxx_spi_set_speed': drivers/spi/mpc8xxx_spi.c:227: undefined reference to `dev_err' Fixes: 4856cc7a97 (mpc8xxx_spi: implement real ->set_speed) Fixes: 1a7b462dee (mpc8xxx_spi: put max_cs to use) Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2020-04-24spl: fit: do not check argument of free()Heinrich Schuchardt
The free() function checks if its argument is NULL. It is superfluous to do the same check on the calling side. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-04-24MAINTAINERS: add entry for cubieboard7 configAmit Singh Tomar
This commit adds entry for cubieboard7 config under Actions Semi OWL family. Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24doc: boards: add Cubieboard7 documentationAmit Singh Tomar
This adds build and flash steps for Actions S700 based Cubieboard7 board. Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24arm: add Cubieboard7 board supportAmit Singh Tomar
The Cubieboard is a single board computer containing a Actions S700 SoC(with 4 ARMv8 Cortex-A53 cores). This patch adds respective defconfig alongwith .dts(copied from Linux v5.5-rc6 with hash "b3a987b0264d"). Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24actions: Move defconfig options to KconfigAmit Singh Tomar
This patch moves some of the config options from bubblegum_96_defconfig to respective Kconfig files. Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24arm: add support Actions Semi S700Amit Singh Tomar
This patch adds basic support for Actions Semi based S700 SoC, which is driven by common owl framework. Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24arm: dts: actions: s700: add u-boot specific dtsi fileAmit Singh Tomar
Devices like uart and clk are needed to be enabled before relocation. this patch adds u-boot.dtsi file that mark these device as dm-pre-reloc. Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24arm: actions: add S700 SoC device treeAmit Singh Tomar
This patch adds .dtsi file(sync with Linux 5.5-rc6 with hash "b3a987b0264d") and required binding for S700 SoC that is a 64-bit Quad-core ARM Cortex-A53 cores. It also provisions dts file to be built based on selected platform(CONFIG_MACH_S900/S700). Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24clk: actions: Add common clock driverAmit Singh Tomar
This patch converts S900 clock driver to something common that can be used for other SoCs, for instance S700(few of clk registers are same). Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24arm: dts: actions: s900: add u-boot specific dtsi fileAmit Singh Tomar
Devices like uart and clk are needed to be enabled before relocation. This patch adds u-boot.dtsi file that mark these device as dm-pre-reloc. Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24arm: dts: sync dts for Action Semi S900Amit Singh Tomar
Synchronize device tree bindings with v5.5-rc6 tag with commit id "b3a987b0264d". Also, it removes older clock binding defined for S900 along with undocumented compatible string "actions,s900-serial" from serial driver and adapts clock driver to cater to new bindings. Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24serial: actions: add compatible stringAmit Singh Tomar
This patch adds "actions,owl-uart" string to the owl uart driver. It is also defined in Linux kernel. Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24arm: actions: rename sysmap-s900 to sysmap-owlAmit Singh Tomar
Now that memory maps(for both S700 and S900 SoCs) can be managed using a common file, rename sysmap-s900 to sysmap-owl to reflect the same. Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24arm: actions: Add common framework for Actions Owl Semi SoCsAmit Singh Tomar
This commit adds common arch support for Actions Semi Owl series SoCs and removes the Bubblegum96 board files. Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
2020-04-24coccinelle: adjust NULL check before free()Heinrich Schuchardt
The free() function checks if its argument is NULL. We should avoid checking for NULL before calling free like in     if (result->tds)         free(result->tds); The list of relevant functions differs between Linux and U-Boot, e.g. we use free(). Adjust the list of relevant functions. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-04-24coccinelle: check for casting malloc outputHeinrich Schuchardt
Casting the (void *) output of memory allocation functions before assignment like in sata->cmd_hdr_tbl_offset = (void *)malloc(length + align); is useless. Adopt the Linux kernel script scripts/coccinelle/api/alloc/alloc_cast.cocci. Now 'make coccicheck' generates warnings like: ./drivers/ata/fsl_sata.c:143:29-33: WARNING: casting value returned by memory allocation function to (void *) is useless. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-04-24kbuild: cherry-pick kbuild changes from LinuxMasahiro Yamada
b42841b7bb62 kbuild: Get rid of KBUILD_STR 2aedcd098a94 kbuild: suppress annoying "... is up to date." message 9c8fa9bc08f6 kbuild: fix if_change and friends to consider argument order ebf003f0cfb3 kbuild: Consolidate header generation from ASM offset information 2982c953570b kbuild: remove redundant $(wildcard ...) for cmd_files calculation 8a78756eb545 kbuild: create object directories simpler and faster 4d4b5c2e3b6e treewide: remove explicit rules for *offsets.s 01d509a48b46 kbuild: remove unimportant comments from ./Kbuild Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2020-04-24kbuild: add FORCE to dependency of $(obj)/dts/dt-platdata.oMasahiro Yamada
if_changed must have FORCE as a prerequisite. Add $(obj)/dts/dt-platdata.o to 'targets' so that the corresponding .cmd file is included. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2020-04-24cache: l2x0: Fix write to incorrect shared-override bitLey Foon Tan
The existing code write bit-0 for shared attribute override enable bit. It should be bit-22 based on cache controller specification [1]. [1] http://infocenter.arm.com/help/topic/com.arm.doc.ddi0246f/DDI0246F_l2c310_r3p2_trm.pdf Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
2020-04-24README: remove references on no more used config CONFIG_SYS_RCAR_I2C*Patrick Delaunay
Remove the references in README on CONFIG_SYS_RCAR_I2C_* not use in U-Boot drivers/i2c/rcar_i2c.c, since commit a4d9aafadb31 ("i2c: rcar_i2c: Remove the driver") and commit a06a0ac36d59 ("i2c: rcar_i2c: Add DM and DT capable I2C driver") Checked by the command: grep -r SYS_RCAR_I2C * And these CONFIG are only defined in arch/arm/mach-rmobile/include/mach/rcar-base.h Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-24cosmetic: README: Fix one CONFIG namePatrick Delaunay
Only replace CONFIF_ by CONFIG_ Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-24dm: mmc: Update mmc_get_mmc_dev() to use const *Simon Glass
This function does not modify the device to change it to use const *, so that callers with a const udevice * can call it without a cast. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2020-04-24pci: Add a macro to convert BDF from linux to U-BootSimon Glass
U-Boot's BDF format has its bits in the same position as the device tree PCI definition. Some x86 devices use linux format in their register format and it is useful to be able to convert to U-Boot format. Add a macro for this. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-04-24uuid: Use const char * where possibleSimon Glass
Update the arguments of these functions so they can be called from code which uses constant strings. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-04-24lib: Add a function to convert a string to upper caseSimon Glass
Add a helper function for this operation. Update the strtoul() tests to check upper case as well. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-04-24test: Add the beginnings of some string testsSimon Glass
There are quite a few string functions in U-Boot with no tests. Make a start by adding a test for strtoul(). Signed-off-by: Simon Glass <sjg@chromium.org>
2020-04-24lib: strto: Stop detection when invalid char is usedMichal Simek
This issue has been found when mtd partition are specified. Autodetection code should stop when the first invalid char is found. Here is the example of commands: setenv mtdids nand0=memory-controller@e000e000 setenv mtdparts "mtdparts=nand0:4m(boot),4m(env),64m(kernel),96m(rootfs)" mtd list Before: Zynq> mtd list List of MTD devices: * nand0 - type: NAND flash - block size: 0x20000 bytes - min I/O: 0x800 bytes - OOB size: 64 bytes - OOB available: 16 bytes - ECC strength: 1 bits - ECC step size: 2048 bytes - bitflip threshold: 1 bits - 0x000000000000-0x000010000000 : "nand0" - 0x000000000000-0x000000400000 : "boot" - 0x000000400000-0x000000800000 : "env" - 0x000000800000-0x000006c00000 : "kernel" - 0x000006c00000-0x000010000000 : "rootfs" Where it is visible that kernel partition has 100m instead of 64m After: Zynq> mtd list * nand0 - type: NAND flash - block size: 0x20000 bytes - min I/O: 0x800 bytes - OOB size: 64 bytes - OOB available: 16 bytes - ECC strength: 1 bits - ECC step size: 2048 bytes - bitflip threshold: 1 bits - 0x000000000000-0x000010000000 : "nand0" - 0x000000000000-0x000000400000 : "boot" - 0x000000400000-0x000000800000 : "env" - 0x000000800000-0x000004800000 : "kernel" - 0x000004800000-0x00000a800000 : "rootfs" Signed-off-by: Michal Simek <michal.simek@xilinx.com> Fixes: 0486497e2b5f ("lib: Improve _parse_integer_fixup_radix base 16 detection") Tested-by: Heiko Schocher <hs@denx.de> Tested-by: Pali Rohár <pali@kernel.org>
2020-04-24mtd: nand: pxa3xx: fix raw read when last_chunk_size == 0Baruch Siach
Commit 6293b0361d9 ("mtd: nand: pxa3xx: add raw read support") added the local data_len variable in handle_data_pio() to track read size, but forgot to update the condition of drain_fifo() call. That happens to work when the layout last_chunk_size != 0. But when last_chunk_size == 0, drain_fifo() is not called to read the last chunk, which leads to "Wait timeout!!!" error. Fix this. Fixes: 6293b0361d9 ("mtd: nand: pxa3xx: add raw read support") Cc: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
2020-04-24common/board_f: Make reserve_mmu genericOvidiu Panait
Introduce arch_reserve_mmu to allow for architecture-specific reserve_mmu routines. Also, define a weak nop stub for it. Signed-off-by: Ovidiu Panait <ovpanait@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-24arm: asm/cache.c: Introduce arm_reserve_mmuOvidiu Panait
As a preparation for turning reserve_mmu into an arch-specific variant, introduce arm_reserve_mmu on ARM. It implements the default routine for reserving memory for MMU TLB and needs to be weakly defined in order to allow for machines to override it. Without this decoupling, after introducing arch_reserve_mmu, there would be two weak definitions for it, one in common/board_f.c and one in arch/arm/lib/cache.c. Signed-off-by: Ovidiu Panait <ovpanait@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-24common/board_f: Move arm-specific reserve_mmu to arch/arm/lib/cache.cOvidiu Panait
Move the ARM-specific reserve_mmu definition from common/board_f.c to arch/arm/lib/cache.c. Signed-off-by: Ovidiu Panait <ovpanait@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-24Merge tag 'u-boot-stm32-20200424' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-stm - Solve stm32mp15 pinctrl dts issue (patch conflict in branches master and next) - Split device tree for DHCOR Som and AV 96 board - Update PLL4 setting in AV96 board - Enable bootd, iminfo, imxtract on DHCOM
2020-04-24Revert "sunxi: Fix PHY regression on A20-OLinuXino-Lime2 and A20-Olimex-SOM-EVB"Tom Rini
While the change is correct, generally, it was not intended to be pushed just yet. This reverts commit b897306341024695d17296efc1f9d83d06368209. Signed-off-by: Tom Rini <trini@konsulko.com>
2020-04-24Merge branch '2020-04-24-master-imports'Tom Rini
- Assorted minor bugfixes. - Resync fixdep with Linux v5.7-rc1 - Numerous changes to reduce SPL in various cases including when we have read-only env support. - Allow mkimage to align the header on FIT images to a specific size.
2020-04-24sunxi: Fix PHY regression on A20-OLinuXino-Lime2 and A20-Olimex-SOM-EVBTom Rini
When moving the PHYLIB PHY drivers around in Kconfig we did not at the same time perform a careful migration of the related drivers and sub-options. This lead to the case where previously Kconfig-enabled driver choices were now disabled on some platforms. Correct this by enabling both the PHY driver and sub-option on the above referenced platforms. Fixes: af2cbfd6b982 ("drivers: net: Provide Kconfig menu for PHYLIB") Fixes: 8728c97eff5b ("configs: Re-sync") Reported-by: Dario <dario86@tutamail.com> Signed-off-by: Tom Rini <trini@konsulko.com> --- After checking back on the original commit I can see that these are the only two platforms to have been broken in the change.