summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-09-15armv8: K3: j7200: Add custom MMU supportSuman Anna1-1/+58
The A72 U-Boot code can load and boot a number of the available R5FSS Cores on the J7200 SoC. Change the memory attributes for the DDR regions used by the remote processors so that the cores can see and execute the proper code. The J7200 SoC has less number of remote processors compared to J721E, so use less memory for the remote processors. So, a separate table based on the current J721E table is added for J7200 SoCs, and selected using the appropriate Kconfig CONFIG_TARGET_J7200_A72_EVM symbol. Signed-off-by: Suman Anna <s-anna@ti.com>
2020-09-15remoteproc: k3-r5: Add support for J7200 R5FsSuman Anna1-10/+89
The K3 J7200 SoC family has a revised R5F sub-system and contains a subset of the R5F clusters present on J721E SoCs. The integration of these clusters is very much similar to J721E SoCs otherwise. The revised IP has the following two new features: 1. TCMs are auto-initialized during module power-up, and the behavior is programmable through a MMR bit controlled by System Firmware. 2. The LockStep-mode allows the Core1 TCMs to be combined with the Core0 TCMs effectively doubling the amount of TCMs available. The LockStep-mode on previous SoCs could only use the Core0 TCMs. This combined TCMs appear contiguous at the respective Core0 TCM addresses. Add the support to these clusters in the K3 R5F remoteproc driver using J7200 specific compatibles and revised logic accounting for the above IP features/differences. Signed-off-by: Suman Anna <s-anna@ti.com>
2020-09-15dt-bindings: remoteproc: k3-r5f: Update bindings for J7200 SoCsSuman Anna1-1/+4
The K3 J7200 SoCs have two dual-core Arm R5F clusters/subsystems, with 2 R5F cores each, one in each of the MCU and MAIN voltage domains. These clusters are a revised version compared to those present on J721E SoCs. Update the K3 R5F remoteproc bindings with the compatible info relevant to these R5F clusters/subsystems on K3 J7200 SoCs. Signed-off-by: Suman Anna <s-anna@ti.com>
2020-09-15env: ti: j721e-evm: Limit scope of rproc env variables used by R5 SPLSuman Anna1-4/+11
The commit 316c927135d6 ("include: configs: j721e_evm: Add env variables for mcu_r5fss0_core0 & main_r5fss0_core0") added four different new env variables 'addr_mainr5f0_0load', 'name_mainr5f0_0fw', 'addr_mcur5f0_0load' and 'name_mcur5f0_0fw' to the generic environment, but these are only needed and used in R5 SPL for early-booting the MCU R5FSS0 and Main R5FSS0 Core0 on J721E SoCs. These are not really needed for A72 U-Boot, so limit the scope of these variables only to R5 SPL. While at this, also fix the loadaddr variable values to include the hex prefix like with other such env variables. Cc: Keerthy <j-keerthy@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com>
2020-09-15configs: j721e_evm: Add Main R5FSS1 Core1 to default rproc boot listSuman Anna1-0/+1
The default rproc list currently used by A72 U-Boot to boot various remote processors include the Main R5FSS0 (Split-mode) Core1, Main R5FSS1 (LockStep mode) Core0 and the three DSPs. The Main R5FSS1 cluster is configured for Split mode by default in the dts now, so add the Main R5FSS1 Core1 (rproc #5) to the default rproc boot list. This core is now booted after the Main R5FSS1 Core0 and before the DSPs. The order of the rprocs to boot can always be changed at runtime if desired by overwriting the 'rproc_fw_binaries' environment variable at U-boot prompt. Note that the R5FSS Core1 cannot be booted before its associated Core0. Signed-off-by: Suman Anna <s-anna@ti.com>
2020-09-15arm: dts: k3-j721e-main: Configure MAIN R5FSS1 for Split-modeSuman Anna1-1/+1
Switch the MAIN R5FSS1 cluster to be configured for Split-mode as the default so that two different applications can be run on each of the R5F cores in performance mode. LockStep-mode would be available only on SoCs efused with the appropriate bit, and Split-mode is the mode that is available on all J721E SoCs. Signed-off-by: Suman Anna <s-anna@ti.com>
2020-09-15configs: j721e_evm.h: Add U-Boot image address for HyperFlash bootVignesh Raghavendra1-0/+2
Add memory mapped address location of U-Boot images in HyperFlash boot mode. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2020-09-15configs: j7200_evm_*_defconfig: Enable HyperFlash boot related configsVignesh Raghavendra2-0/+16
Enable configs required to support HyperFlash boot and detection of onboard mux switch for HyperFlash selection Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2020-09-15ARM: dts: k3-j7200-r5-common-proc-board: Enable HyperFlashVignesh Raghavendra2-0/+68
Enable HyperBus and HyperFlash to support HyperFlash boot. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2020-09-15board: ti: j721e: Add support for HyperFlash detectionVignesh Raghavendra1-0/+7
On J7200 SoC OSPI and HypeFlash are muxed at HW level and only one of them can be used at any time. J7200 EVM has both HyperFlash and OSPI flash on board. There is a user switch (SW3.1) that can be toggled to select OSPI flash vs HyperFlash. Read the state of this switch via wkup_gpio0_6 line and fixup the DT nodes to select OSPI vs HyperFlash Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2020-09-15arm: mach-k3: Add HyperFlash boot mode supportVignesh Raghavendra1-0/+1
HBMC controller on TI K3 SoC provides MMIO access to HyperFlash similar to legacy Parallel CFI NOR flashes. Therefore alias HyperFlash bootmode to NOR boot to enable SPL to load next stage using NOR boot flow. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2020-09-15Merge tag 'mmc-2020-9-15' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmcTom Rini2-14/+8
- Use mmc_of_parse for msm_sdhci - Add missing common host caps for xenon_sdhci.
2020-09-15Azure/GitLab/Travis: Add SH4 r2dplus machine with various PCI ethernet optionsMarek Vasut3-0/+68
Add SH4 R2Dplus machine configured to test various U-Boot PCI ethernet options -- RTL8139, EEPRO100, AMD PCnet, DEC Tulip. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-09-15mmc: xenon_sdhci: Add missing common host capabilitiesAndre Heider1-14/+4
Use mmc_of_parse() to set the common host properties. That includes "bus-width", so parsing it can be removed from the driver. But more importantly, "non-removable" is now respected, which fixes the usage of eMMC. Signed-off-by: Andre Heider <a.heider@gmail.com> Reviewed-by: Konstantin Porotchkin <kostap@marvell.com> Tested-by: Marek Behún <marek.behun@nic.cz>
2020-09-15mmc: msm_sdhci: Use mmc_of_parse for setting host_capsManivannan Sadhasivam1-0/+4
Since the introduction of 'get_cd' callback in sdhci core, dragonboard410c's MMC interface is broken. It turns out that 'get_cd' callback checks for the host_caps for validating the chip select. And since the msm_sdhci driver is not parsing the host_caps from DT, not all of the cababilities are parsed properly. This results in the MMC interfaces to be broken. Hence, fix this by adding a call to 'mmc_of_parse' during driver probe. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Tested-by: Aníbal Limón <anibal.limon@linaro.org> Reviewed-By: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2020-09-15efi_selftest: restore gd before do_reset()Heinrich Schuchardt1-2/+4
Before calling do_reset() in the EFI selftest we must restore the global data pointer. Fixes: fa63753f86cc ("efi_selftest: substitute ResetSystem() by do_reset()") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-15efi_loader: save global data pointer on RISC-VHeinrich Schuchardt1-9/+9
On RISC-V the global data pointer is stored in register gp. When a UEFI binary calls the EFI API we have to restore it. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-15riscv: define function set_gd()Heinrich Schuchardt1-0/+9
Function set_gd() is needed in the UEFI sub-system if the global data pointer is stored in a register. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-15efi_loader: efi_var_mem_notify_exit_boot_servicesHeinrich Schuchardt1-1/+1
efi_var_mem_notify_exit_boot_services() is invoked when ExitBootServices() is called by the UEFI payload. efi_var_mem_notify_exit_boot_services() should not be defined as __efi_runtime as it is invoking EFI_ENTRY() and EFI_EXIT() which themselves are not __efi_runtime. Fixes: f1f990a8c958 ("efi_loader: memory buffer for variables") Fixes: e01aed47d6a0 ("efi_loader: Enable run-time variable support for tee based variables") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2020-09-15rsa: crash in br_i32_decode() called from rsa_gen_key_prop()Robert Reither1-3/+3
Fixes problem for unaligned 32bit big-endian access in lib/rsa/rsa-keyprop.c. Exchanges br_i32_decode() with get_unaligned_be32(). This will keep the unaligned access for architectures capable and will do some byte-shift magic for the not so capable ones. Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-by: Robert Reither <robert.reither@external.thalesgroup.com> Remove unused include. Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-14Merge branch '2020-09-12-assorted-bugfixes'Tom Rini12-19/+187
- A large assortment of minor fixes - Documentation improvements
2020-09-12test: do no assume hush parser in validate_empty()Heinrich Schuchardt1-1/+1
The environment variable test uses function validate_empty() to check that a variable is not defined. If the hush parser is not enabled, we cannot refer to a variable by $var_name but only by ${var_name}. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Stephen Warren <swarren@nvidia.com>
2020-09-12Makefile: mrproper shall delete doc/output/Heinrich Schuchardt1-1/+1
HTML documentation is generated in doc/output/. This directory shall be deleted by 'make mrproper' Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-09-12doc: describe building with GCCHeinrich Schuchardt2-0/+120
Provide a description of the U-Boot build process with GCC in the HTML documentation. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-12doc: describe source repositoryHeinrich Schuchardt2-0/+31
Add a chapter to the HTML documentation describing how to retrieve the U-Boot sources. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-12ARM: MediaTek: amend IC description for MediaTek MT8512Mingming Lee1-3/+3
The description for MT8512 has some mistake, so correct it. Signed-off-by: Mingming Lee <Mingming.Lee@mediatek.com>
2020-09-12Fix data abort caused by mis-aligning FIT dataReuben Dowle1-2/+5
Attempting to place device tree immediately after an image in memory can lead to mis-aligned data accesses if that image size is not divisible by the alignment requirements of the architecture. Data aborts caused by this were observed on a custom Marvel A388 based system, where the image was a uboot FIT file. The total size varies depending on the uboot device tree size, which does not always lead to correct alignment. The minimum alignment specified for ARM [1] and ARM64 [2] linux booting has been used [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst#n126 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst#n45 Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2020-09-12mtd: nand: Fix nand write error with bad block addresses above 32-bitT Karthik Reddy1-3/+3
Nand writes should skip the bad blocks with "nand write" command. In case of bad blocks with above 32-bit address, nand_block_isbad() returns false due to truncated bad block address. In below code segment, if (nand_block_isbad(mtd, offset & ~(mtd->erasesize - 1))) offset is 64-bit and mtd->erasesize is 32-bit, hence the truncation is happening. Cast 'mtd->erasesize' with loff_t to fix this issue. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-09-12env: Crash in 'env import' when using checksum and a specific sizePedro Aguilar1-0/+5
This patch adds a sanity check that avoids 'size' to overflow and crash when importing an environment that contains a checksum. Example with the wrong size that causes the crash: => env import -c 0x4100000 3 v1 This assumes that v1 has already been successfully exported with 'env export -c -s 0x100 0x4100000 v1' Signed-off-by: Pedro Aguilar <pedro.aguilar@vimar.com>
2020-09-12bootm: update image OS image size when decompressingHeinrich Schuchardt1-0/+2
In bootm_load_os() the OS image is decompressed. In later stages of the boot process we need the decompressed size of the image. Update images->os.image_len after decompression. Passing the correct size is necessary if we want to check loaded EFI binararies for file truncation by comparing the loaded size to the header field SizeOfImage. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-09-12common: Kconfig: Add dependency for default variables stringsMichal Simek1-3/+3
Kconfig provides several config options for setting up default variables but these are unused when variables are passed to U-Boot via file. That's why cover this dependency in Kconfig. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-09-10PCI: mediatek: Release the resource when PCIe enable port failChuanjia Liu1-6/+13
On the mt7623 platform, if one port enable fail and other port enable succeed. It will hang on when using pci enum because the resource was not released correctly. Signed-off-by: Chuanjia Liu <Chuanjia.Liu@mediatek.com> Tested-by: Frank Wunderlich <frank-w@public-files.de>
2020-09-10Merge branch '2020-09-09-assorted-soc-updates' into nextTom Rini17-70/+428
- Assorted improvements for MediaTek, Broadcom NS3 and ASPEED SoCs.
2020-09-10arm: dts: fix ast2500-evb inclusion for the correct soc familyThirupathaiah Annapureddy1-1/+1
Include ast2500-evb.dtb for CONFIG_ASPEED_AST2500 instead of for all aspeed targets. ast2400 is based on ARM926EJ-S processor (ARMv5-architecture). ast2500 is based on ARM1176JZS processor (ARMv6-architecture). ast2600 is based on Cortex A7 processor (ARMv7-A architecture). Each of the above SOC is using a different ARM CPU(s) with different ARM architecture revision. It is not possible to support all 3 of these families in a single binary. So there is no need to build ast2500-evb.dtb for other SOC families. Signed-off-by: Thirupathaiah Annapureddy <thiruan@linux.microsoft.com>
2020-09-10PCI: mediatek: Release the resource when PCIe enable port failChuanjia Liu1-6/+13
On the mt7623 platform, if one port enable fail and other port enable succeed. It will hang on when using pci enum because the resource was not released correctly. Signed-off-by: Chuanjia Liu <Chuanjia.Liu@mediatek.com> Tested-by: Frank Wunderlich <frank-w@public-files.de>
2020-09-10Merge tag 'u-boot-amlogic-20200910' of ↵Tom Rini2-0/+13
https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic - enables HDMI output & USB keyboard for Odroid-N2 - setups HDMI output background & enables USB keyboard
2020-09-10configs: odroid-c4: update for HDMI output background & USB keyboardAnand Moon1-0/+4
Enable options SYS_WHITE_ON_BLACK to permit HDMI background screen from white to back, also enable USB_KEYBOARD. Signed-off-by: Anand Moon <linux.amoon@gmail.com> Acked-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2020-09-10configs: odroid-n2: update for HDMI output & USB keyboardAnand Moon1-0/+9
Enable options to permit HDMI output on Odroid-N2 G12B boards. Enable VPU Power Domain. Enable USB_KEYBOARD. Signed-off-by: Anand Moon <linux.amoon@gmail.com> Acked-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2020-09-09dt-bindings: clock: import Qualcomm IPQ4019 bindingsRobert Marko2-0/+97
Import Qualcomm IPQ4019 GCC bindings from Linux. This will enable using bindings instead of raw clock numbers both in the driver and DTS like Linux does. Signed-off-by: Robert Marko <robert.marko@sartura.hr> Cc: Luka Perkov <luka.perkov@sartura.hr>
2020-09-09cosmetic: aspeed: Modify for SPDX-LicenseRyan Chen2-1/+2
Modify SPDX-License for furture patch warning Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com> Reviewed-by: Chia-Wei, Wang <chiawei_wang@aspeedtech.com>
2020-09-09clock:aspeed: Sync with Linux kernel clock header defineRyan Chen3-58/+68
v2: modify title description aspeed:clock -> clock:aspeed Use kernel include/dt-bindings/clock/aspeed-clock.h define for clock driver. Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com> Reviewed-by: Chia-Wei, Wang <chiawei_wang@aspeedtech.com>
2020-09-09cosmetic: aspeed: ast2500: Rename clock headerRyan Chen4-3/+3
Rename the ast2500-scu.h to aspeed-clock.h. Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com> Reviewed-by: Chia-Wei, Wang <chiawei_wang@aspeedtech.com> Reviewed-by: Cédric Le Goater <clg@kaod.org>
2020-09-09board: ns3: check bnxt chimp handshake statusRayagonda Kokatanur1-0/+17
Chimp is a core in Broadcom netxtream controller (bnxt). Add support to check bnxt's chimp component status. Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-09-09MAINTAINERS: update maintainers file for new filesRayagonda Kokatanur1-0/+4
Update MAINTAINERS file for new files. Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-09-09board: ns3: kconfig: extend board kconfig with specific commandsVladimir Olovyannikov2-0/+9
Extend Kconfig for the board with board-specific commands selection. Signed-off-by: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com> Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-09-09cmd: broadcom: add command for chimp handshakeBharat Kumar Reddy Gooty3-0/+40
Add command for chimp handshake. Handshake is used to know chimp is loaded and booted successfully. Signed-off-by: Bharat Kumar Reddy Gooty <bharat.gooty@broadcom.com> Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-09-09cmd: broadcom: add cmd to update bnxt image env variablesVikas Gupta2-0/+126
Add command to update the environmental variables which are used to read the data from QSPI offsets and load the binaries to bnxt. Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com> Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-09-09cmd: broadcom: add bnxt boot commandTrac Hoang3-0/+47
Chimp is a core in Broadcom netxtream controller (bnxt). Add command to load binary to chimp and boot bnxt. Signed-off-by: Trac Hoang <trac.hoang@broadcom.com> Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-09-09Merge tag 'u-boot-stm32-20200909' of ↵Tom Rini3-4/+6
https://gitlab.denx.de/u-boot/custodians/u-boot-stm - fixes on AV96 board: pull up on UART4 RX and adjust PLL4
2020-09-09ARM: dts: stm32: Adjust PLL4 settings on AV96 againMarek Vasut1-2/+2
PLL4Q is supplying both FDCAN and LTDC. In case HDMI is in use, the 50 MHz generated from PLL4Q cannot be divided well enough to produce accurate clock for HDMI pixel clock. Adjust it to generate 74.25 MHz instead. The PLL4P/PLL4R are generating 99 MHz instead of 100 MHz, which is in tolerance for the SDMMC. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Gerald Baeza <gerald.baeza@st.com> Cc: Patrick Delaunay <patrick.delaunay@st.com> Cc: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>