summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-04imx: mx7: add system suspend/resume supportAnson Huang
This patch adds system suspend/resume support, when linux kernel enters deep sleep mode, SoC will go into below mode: - CA7 platform goes into STOP mode; - SoC goes into DSM mode; - DDR goes into self-refresh mode; - CPU0/SCU will be powered down. When wake up event arrives: - SoC DSM mdoe exits; - CA7 platform exit STOP mode, SCU/CPU0 power up; - Invalidate L1 cache; - DDR exit self-refresh mode; - Do secure monitor mode related initialization; - Jump to linux kernel resume entry. Belwo is the log of 1 iteration of system suspend/resume: [ 338.824862] PM: suspend entry (deep) [ 338.828853] PM: Syncing filesystems ... done. [ 338.834433] Freezing user space processes ... (elapsed 0.001 seconds) done. [ 338.842939] OOM killer disabled. [ 338.846182] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. [ 338.869717] PM: suspend devices took 0.010 seconds [ 338.877846] Disabling non-boot CPUs ... [ 338.960301] Retrying again to check for CPU kill [ 338.964953] CPU1 killed. [ 338.968104] Enabling non-boot CPUs ... [ 338.973598] CPU1 is up [ 339.267155] mmc1: queuing unknown CIS tuple 0x80 (2 bytes) [ 339.275833] mmc1: queuing unknown CIS tuple 0x80 (7 bytes) [ 339.284158] mmc1: queuing unknown CIS tuple 0x80 (6 bytes) [ 339.385065] PM: resume devices took 0.400 seconds [ 339.389836] OOM killer enabled. [ 339.392986] Restarting tasks ... done. [ 339.398990] PM: suspend exit The resume entry function has to initialize stack pointer before calling C code, otherwise there will be an external abort occur, in additional, invalidate L1 cache must be done in secure section as well, so this patch also adds assembly code back and keep it as simple as possible. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Acked-by: Stefan Agner <stefan@agner.ch> Tested-by: Stefan Agner <stefan@agner.ch>
2018-09-04imx: mx7: add gpc initialization for low power modeAnson Huang
Add i.MX7D GPC initialization for low power mode support like system suspend/resume from linux kernel: - Pending IOMUXC IRQ to workaround GPC state machine issue; - Mask all GPC interrupts for M4/C0/C1; - Configure SCU timing; - Configure time slot ack; - Configure C0/C1 power up/down timing; - Configure wakeup source mechanism; - Disable DSM/RBC related settings. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
2018-09-04imx: mx7: psci: improve cpu hotplug flowAnson Huang
This patch improves cpu hotplug, previous cpu_off implementation is NOT safe, a CPU can NOT power down itself in runtime, it will cause system bus hang due to pending transaction. So need to use other online CPU to kill it when it is ready for killed. Here use SRC parameter register and a magic number of ~0 as handshake for killing a offline CPU, when the online CPU checks the psci_affinity_info, it will help kill the offline CPU according to the magic number stored in SRC parameter register. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
2018-09-04Cleanup CONFIG_BOOTDELAY on cl-som-imx7Alex Kiernan
CONFIG_BOOTDELAY has been migrated to Kconfig, but cl-som-imx7 was missed. We can just delete the assignments as the config already has the correct value. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2018-09-04watchdog: mx25: use the imx_watchdog driver for mx25Martin Kaiser
The existing imx_watchdog driver is compatible with mx25 chipsets. Add a WDOG1_BASE_ADDR define for the base address and enable the driver in watchdog's Makefile. To use the driver, a board must define CONFIG_IMX_WATCHDOG and CONFIG_HW_WATCHDOG. This fixes an issue when booting an mx25 chip via usb/serial. In this case, the boot rom will always enable the watchdog. If u-boot is running in interactive mode and the watchdog is not serviced, the system is rebooted when the watchdog expires. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-09-04imx: imx6ul_evk: Enable DM driver for iMX6UL EVK u-bootYe Li
Convert the codes and configurations to enable DM drivers in u-boot for modules: i2c, PMIC, regulator, USB, Ethernet, SD/MMC, GPIO and QSPI This patch does not change SPL, so it still uses non-DM driver for UART, GPIO and SD/MMC. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-09-04dts: imx6ul_evk: Add DTS files for 14x14 EVK and 9x9 EVK boardsYe Li
Add the board DTS files for 14x14 EVK and 9x9 EVK. They are necessary for converting to use u-boot DM driver. Two -u-boot.dtsi are added to modify compatible string of SPI flash device to "spi-flash". Signed-off-by: Ye Li <ye.li@nxp.com>
2018-09-04dts: imx6ul: Update alias to support DMYe Li
Add spi0 alias for qspi for enabling DM SPI. Change usb alias for usbotg1 and usbotg2 for enabling DM USB Signed-off-by: Ye Li <ye.li@nxp.com>
2018-09-04imx: imx7d-sdb: Add DM QSPI supportYe Li
On iMX7D SabreSD board, the QSPI has pins conflict with EPDC (default). To use QSPI, users have to rework the board (de-populate R388-R391, R396-R399 populate R392-R395, R299, R300). So we add new DTS file and new defconfig dedicated for QSPI. Other changes to support the DM QSPI: - Add QSPI node and alias spi0. - Modify spi4 (spi-gpio) node and add alias spi5 for it to avoid req conflict - Add EPDC node in imx7d.dtsi and disable it in imx7d-sdb-qspi.dts to align with kernel and also present the conflict. - Add -u-boot.dtsi to modify compatible string of mx25l51245g@0 to "spi-flash" - Remove iomux settings of qspi in board codes which is not needed for DM driver. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-09-04imx: imx6sx-sabreauto: convert to use DM QSPI driverYe Li
To support DM QSPI driver: - Add -u-boot.dtsi to modify n25q256a@0 and n25q256a@1 compatible string to "spi-flash" and add "num-cs" property. - Enable DM SPI and DM SPI FLASH configurations - Remove iomux settings of qspi1 in board codes which is not needed for DM driver. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-09-04imx: imx6sx-sdb: Enable DM QSPI driverYe Li
To support DM QSPI driver - Add spi0 and spi1 alias for qspi1 and qspi2. - Add -u-boot.dtsi to modify n25q256a@0 and n25q256a@1 compatible string to "spi-flash" and add "num-cs" property. - Enable DM SPI/QSPI relavent configurations - Remove iomux settings of qspi2 in board codes which is not needed for DM driver. - Add sf default settings. So running "sf probe" can detect the flash Signed-off-by: Ye Li <ye.li@nxp.com>
2018-09-03Prepare v2018.09-rc3Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2018-09-03configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2018-08-31spl: Kconfig: Fix typo in 'Upgrade'Fabio Estevam
Correct the spelling of 'Upgrade'. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-08-31Make kmalloc'ed memory really DMA-safeMasahiro Yamada
In Linux, the memory returned by kmalloc() is DMA-capable. However, it is not true in U-Boot. At a glance, kmalloc() in U-Boot returns address aligned with ARCH_DMA_MINALIGN. However, it never pads the allocated memory. This half-way house is completely useless because calling kmalloc() and malloc() in this order causes a cache sharing problem. Change the implementation to call malloc_cache_aligned(), which allocates really DMA-capable memory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-08-31test: fix typo in cmd_ut_category() descriptionHeinrich Schuchardt
argc = 1: all tests are run argc > 1: only argv[1] is run So we need argc >= 1. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-08-31hisilicon: hikey: Update instructions based on latest sourceManivannan Sadhasivam
Update the HiKey board instructions based on the latest source available. These instructions are derived from the ATF platform doc. While updating the instructions, some comments on ATF issue has been removed since it is fixed in latest ATF source. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2018-08-30Merge branch 'master' of git://git.denx.de/u-boot-shTom Rini
2018-08-30Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini
2018-08-30Merge branch 'master' of git://git.denx.de/u-boot-rockchipTom Rini
2018-08-30Merge git://git.denx.de/u-boot-x86Tom Rini
2018-08-30mmc: renesas-sdhi: Use priv directlyMarek Vasut
The dev_get_priv(dev) is used twice in the probe function. Replace the second invocation with priv variable. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2018-08-30x86: zimage: Remove acpi_rsdp_addr propagation to kernel boot parametersBin Meng
As of today, the proposal of adding "acpi_rsdp_addr" to the kernel boot protocol does not make its way to the kernel mainline. This creates some confusion if we leave it in the U-Boot code base. Remove it for now until we have a clear picture with kernel upstream. Note this eventually does a partial revert to commit 3469bf427454 ("x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters") Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-08-30x86: efi: payload: Turn on acpi in the kernel command lineBin Meng
Now that we have full Linux kernel boot support on EFI payload, avoid pass "acpi=off" to the kernel command line. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-08-30x86: zimage: Support booting Linux kernel from an EFI payloadBin Meng
At present Linux kernel loaded from U-Boot as an EFI payload does not boot. This fills in kernel's boot params structure with the required critical EFI information like system table address and memory map stuff so that kernel can obtain essential data like runtime services and ACPI table to boot. With this patch, now U-Boot as an EFI payload becomes much more practical: it is another option of kernel bootloader, ie, can be a replacement for grub. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-08-30efi: stub: Pass EFI system table address to U-Boot payloadBin Meng
This updates the EFI stub codes to pass UEFI BIOS's system table address to U-Boot payload so that U-Boot can utilize it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-08-30x86: efi: payload: Install E820 map from EFI memory mapBin Meng
This implements payload-specific install_e820_map() to get E820 map from the EFI memory map descriptors. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-08-29rockchip: dts: fix unnecessary '-cells' warningKever Yang
Fix warning below: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-08-29usb: dwc2: Add reset ctrl to driverLey Foon Tan
Add code to reset all reset signals as in usb DT node. A reset property is an optional feature, so only print out a warning and do not fail if a reset property is not present. If a reset property is discovered, then use it to deassert, thus bringing the IP out of reset. Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
2018-08-28pci: rmobile: Filter out device 1 and 2Marek Vasut
Only PCI device 1 and 2 is populated on the R-Car Gen2 internal PCIe controller. Ignore all other devices. This fix prevents a duplication of OHCI controller response on slot 0 and 1. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
2018-08-28usb: ehci: Add PHY support to ehci-pciMarek Vasut
Add support for operating a PHY attached to ehci-pci. There are systems where the EHCI controller is internally wired to a PCI bus and has a PHY connected to it as well, ie. the R-Car Gen2. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
2018-08-28usb: ehci: Make the PHY handling genericMarek Vasut
Pull out the EHCI PHY functions into the ehci-hcd.c to let other EHCI drivers use them. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
2018-08-28phy: Fix warning due to missing definition of structureMarek Vasut
Fix this sort of warning if generic-phy.h is included: include/generic-phy.h:52:42: warning: ‘struct ofnode_phandle_args’ declared inside parameter list will not be visible outside of this definition or declaration int (*of_xlate)(struct phy *phy, struct ofnode_phandle_args *args); Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
2018-08-26configs: am57xx: change default board name to beagle_x15Praneeth Bajjuri
beagleboard x15 is the first supported platform variant of am57xx in AOSP (android open source project) now. changing board name to stay in consistent with aosp target name. Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2018-08-26cmd: ubi: change 'default y' for SUNXI to 'imply' in KconfigMasahiro Yamada
It is not preferred to put SUNXI-specific code in the common place. Change it to 'imply' property of ARCH_SUNXI. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-08-24Merge branch 'master' of git://git.denx.de/u-boot-socfpgaTom Rini
2018-08-24Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini
2018-08-24Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini
2018-08-24ARM: dts: am33xx: fix SLEWCTRL_FAST pinctrl bindingChristian Amann
Copy missing Kernel patch to make SLEWCTRL_SLOW available in device tree and to correct the value of SLEWCTRL_FAST. After this patch, the Kernel and U-boot device tree settings for SLEWCTRL have the same effect. Original Kernel patch message: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=424e0f039bfa8a51fb5c5178b6ece8baa4996469 " According to AM335x TRM, Document spruh73l, Revised February 2015, Section 9.2.2 Pad Control Registers, setting bit 6 of the pad control registers actually sets the SLEWCTRL value to slow rather than fast as the current macro indicates. Introduce a new macro, SLEWCTRL_SLOW, that sets the bit, and modify SLEWCTRL_FAST to 0 but keep it for completeness. Current users of the macro (i2c and mdio) are left unmodified as SLEWCTRL_FAST was the macro used and actual desired state. Tested on am335x-gp-evm with no difference in software performance seen. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> " Signed-off-by: Christian Amann <Christian.Amann@de.bosch.com>
2018-08-24env: ubi: Add missing ENV_NAMEMarek Vasut
Add missing environment name for UBI, to prevent this NULL in output: Loading Environment from <NULL>... and rather have a valid UBI there: Loading Environment from UBI... Signed-off-by: Marek Vasut <marex@denx.de>
2018-08-24u-boot: align cache flushes in load_elf_image_shdr to line boundariesNeil Stainton
Prevent cache warning messages when using the 'bootelf' command on an Arm target. Round down each section start address and round up the respective section end to the nearest cache line. Currently when using bootelf to load an image on Arm, several warnings such as the following appear in the console: CACHE: Misaligned operation at range [87800000, 8783c5e0] CACHE: Misaligned operation at range [8783c5e0, 8784b3e0] Signed-off-by: Neil Stainton <nstainton@asl-control.co.uk> [trini: Reword commit message to include the info after the --- which included the Signed-off-by line, and change ' at ' to '@'] Signed-off-by: Tom Rini <trini@konsulko.com>
2018-08-24ARM: display5: Remove "factory procedure" from display5 board configLukasz Majewski
This code now is regarded as dead one and hence shall be removed. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-08-24dm: test: Fix typo in test-main commentMichal Simek
Trivial fix. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-08-24malloc_simple: calloc: don't call memset if malloc failedSimon Goldschmidt
malloc_simple() can return 0 if out of memory. Don't call memset from calloc() in this case but rely on the caller checking the return value. Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Reviewed-by: Marek Vasut <marex@denx.de>
2018-08-24board: arm: bcmstb: Declare get_ticks in timer.hThomas Fitzsimmons
In an earlier proposed patch, bcmstb.c implemented timer_read_counter, but it was updated to implement get_ticks instead. This patch updates the declaration in timer.h accordingly. Signed-off-by: Thomas Fitzsimmons <fitzsim@fitzsim.org>
2018-08-24boards: amlogic: remove ethernet gpio reset code from boardsBeniamino Galvani
The reset is already handled by the designware driver using information from device tree. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Acked-by: Neil Armstrong <narmstrong@baylibre.com>
2018-08-24common: avb_verify: Fix division by zero in mmc_byte_io()Eugeniu Rosca
Compiling U-Boot with ubsan/asan libraries and running it in sandbox may lead to below backtrace: => avb init 0 => avb verify ## Android Verified Boot 2.0 version 1.1.0 read_is_device_unlocked not supported yet common/avb_verify.c:407:31: runtime error: division by zero AddressSanitizer:DEADLYSIGNAL Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org> ================================================================= ==9388==ERROR: AddressSanitizer: FPE on unknown address 0x0000004b467f \ (pc 0x0000004b467f bp 0x000000000000 sp 0x7ffd899fe150 T0) #0 0x4b467e in mmc_byte_io common/avb_verify.c:407 #1 0x4b4c47 in mmc_byte_io common/avb_verify.c:532 #2 0x4b4c47 in read_from_partition common/avb_verify.c:533 #3 0x69dc0d in load_and_verify_vbmeta lib/libavb/avb_slot_verify.c:560 #4 0x6a1ee6 in avb_slot_verify lib/libavb/avb_slot_verify.c:1139 #5 0x45dabd in do_avb_verify_part cmd/avb.c:245 #6 0x4af77c in cmd_call common/command.c:499 #7 0x4af77c in cmd_process common/command.c:538 #8 0x46bafc in run_pipe_real common/cli_hush.c:1677 #9 0x46bafc in run_list_real common/cli_hush.c:1875 #10 0x46c780 in run_list common/cli_hush.c:2024 #11 0x46c780 in parse_stream_outer common/cli_hush.c:3216 #12 0x46d34b in parse_file_outer common/cli_hush.c:3299 #13 0x4ad609 in cli_loop common/cli.c:217 #14 0x4625ae in main_loop common/main.c:65 #15 0x46f2d1 in run_main_loop common/board_r.c:648 #16 0x640253 in initcall_run_list lib/initcall.c:30 #17 0x46f9d0 in board_init_r common/board_r.c:879 #18 0x40539b in main arch/sandbox/cpu/start.c:321 #19 0x7fa94925f82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f) #20 0x408908 in _start (/srv/R/u-boot-master/u-boot+0x408908) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: FPE common/avb_verify.c:407 in mmc_byte_io ==9388==ABORTING Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
2018-08-24common: avb_verify: Fix never-occurring avb_free(ops_data)Eugeniu Rosca
Cppcheck (v1.85) reports w/o this patch: [common/avb_verify.c:738] -> [common/avb_verify.c:741]: (warning) \ Either the condition 'ops' is redundant or there is possible null \ pointer dereference: ops. Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com> Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org>
2018-08-24common: avb_verify: Fix memory leaksEugeniu Rosca
Cppcheck (v1.85) reports w/o this patch: [common/avb_verify.c:351]: (error) Memory leak: part [common/avb_verify.c:356]: (error) Memory leak: part [common/avb_verify.c:361]: (error) Memory leak: part [common/avb_verify.c:366]: (error) Memory leak: part Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com> Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org>
2018-08-24common: avb_verify: Make local data staticEugeniu Rosca
Fix sparse complaint: common/avb_verify.c:14:21: warning: \ symbol 'avb_root_pub' was not declared. Should it be static? Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com> Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org>