summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-30ARM: dts: uniphier: update PXs3 SoC/board DTMasahiro Yamada
Support PXs3 SoC and its reference development board. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30ARM: dts: uniphier: sync with LinuxMasahiro Yamada
Import updates queued up for Linux 4.14-rc1. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30reset: uniphier: add PXs3 supportMasahiro Yamada
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30reset: uniphier: fix compatible for SD reset node for LD11/LD20Masahiro Yamada
LD20 has SD ctrl instead of MIO ctrl. LD11 has both of them. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30clk: uniphier: add System clock supportMasahiro Yamada
Support system clocks for LD4, Pro4, sLD8, Pro5, PXs2/LD6b, LD11, LD20. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30ARM: uniphier: fix DSPLL init code for LD20 SoCDai Okamura
Signed-off-by: Dai Okamura <okamura.dai@socionext.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30ARM: uniphier: remove ad-hoc pin settings for NANDMasahiro Yamada
This is now set up by the pinctrl driver when the NAND driver is probed. Remove the legacy code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30ARM: uniphier: enable CONFIG_NAND_DENALI_DTMasahiro Yamada
Migrate to the DT-based NAND init entry. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30ARM: uniphier: remove unneeded NAND config optionsMasahiro Yamada
CONFIG_NAND_DENALI select's CONFIG_SYS_NAND_SELF_INIT, so the NAND initialization process is driven by the driver itself. CONFIG_SYS_NAND_MAX_CHIPS and CONFIG_SYS_NAND_BASE are unused. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30ARM: uniphier: add PLL settings for PXs3Masahiro Yamada
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30ARM: uniphier: move PLLCTRL register macros to each SoC .c fileMasahiro Yamada
The new SoC PXs3 changed the address of PLL, but still uses the same PLL name. We can not define SC_*PLLCTRL in the common header. Move them to per-SoC .c file. Also, fix some PLL comments. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30ARM: uniphier: replace <common.h> with <linux/delay.h> in pll settingsMasahiro Yamada
The #include <common.h> was added for mdelay(). Later, the declaration of mdelay was moved to <linux/delay.h> by commit 5bc516ed661a ("delay: collect {m, n, u}delay declarations to include/linux/delay.h"). There is no need to include <common.h> now. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-30mtd: nand: denali_dt: add a DT driverMasahiro Yamada
A patch for NAND uclass support was proposed about half a year ago: https://patchwork.ozlabs.org/patch/722282/ It was not merged and I do not see on-going work for this. Without DM-based probing, we need to set up pinctrl etc. in an ad-hoc way and give lots of crappy CONFIG options for base addresses and properties, which are supposed to be specified by DT. This is painful. This commit just provides a probe hook to retrieve "reg" from DT and allocate private data in a DM manner. This DT driver is not essentially a NAND driver, in fact it is (ab)using UCLASS_MISC. Once UCLASS_NAND is supported, it would be possible to migrate to it. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-29ofnode: add {ofnode, dev}_read_resource_byname()Masahiro Yamada
Linux supports platform_get_resource_byname() to look up a resource by name. We want a similar helper. It is useful when a device node has named register regions. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-29video: ipuv3_fb: skip IPU shutdown if IPU was not enabled beforeAnatolij Gustschin
Boards can skip display interface init using board_video_skip(). If display interface was not initialized (e.g. no ipuv3 framebuffer registered or IPU clock disabled), booting Linux stops due to the crash in IPU shutdown function, when accessing IPU registers. Check IPU clock and skip shutdown if clock is not enabled. Signed-off-by: Anatolij Gustschin <agust@denx.de>
2017-08-29icorem6: Fix to find MMC devicesJagan Teki
U-Boot proper is using DM_MMC so, enable CONFIG_BLK otherwise find_mmc_device failed to detect MMC device. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Stefano Babic <sbabic@denx.de>
2017-08-29imx6: don't include unneeded boot_mode array in SPLAnatolij Gustschin
The soc_boot_modes array is only used by bmode command and not needed in SPL. Don't include it into SPL. Signed-off-by: Anatolij Gustschin <agust@denx.de> Reviewed-by: Stefano Babic <sbabic@denx.de>
2017-08-29spl: do not repeat timer init on i.MX6Anatolij Gustschin
The GPT timer was already initialised in board_init_f() as it is needed in dram init. Do not repeat timer init in board_init_r(). Signed-off-by: Anatolij Gustschin <agust@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
2017-08-29imx: timer: don't clear the GPT control register multiple timesAnatolij Gustschin
There is no need to clear the control register 100 times in a loop, a single zero write clears the register. I didn't find any justification why clearing this register in a loop is needed (no info in i.MX6 errata or GPT timer linux driver, linux driver uses single write to clear this control register). Signed-off-by: Anatolij Gustschin <agust@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
2017-08-29pfla02: Fix RAM detection and support 1 bank SOMStefano Babic
In case of 2 banks, the address space of the first CS must be defined and not let to the higher value. Add support for SOM with a single bank of RAM. It was tested with i.MX6Q modules in the following configurations: - 2 Banks, 4 GB - 2 Banks, 1 GB - 1 Bank, 1 GB Signed-off-by: Stefano Babic <sbabic@denx.de>
2017-08-28Prepare v2017.09-rc3Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-28Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini
2017-08-29splash_source: Verify FIT magicNiko Mauno
Before reading entire FIT image, add sanity check by testing image header against FDT_MAGIC. This should help avoid problems in situations where FIT is not yet available from storage device, for example when performing initial programming of device. Cc: Anatolij Gustschin <agust@denx.de> Acked-by: Tomas Melin <tomas.melin@vaisala.com>
2017-08-28usb: dwc3: fix Kconfig dependency to accept host driver in drivers/usb/dwc3Masahiro Yamada
We see the choice of USB_DWC3_HOST / _GADGET in drivers/usb/dwc3/Kconfig, but we can not choose USB_DWC3_HOST unless USB_GADGET is defined. This is strange. Loosen the "depends on" and also move "select USB_GADGET_DUALSPEED" to the correct place. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-28mmc: sunxi: fix legacy MMC initialisationMaxime Ripard
The driver-model rework changed, among other things, the way the private data were moved around. It now uses the private field in the struct mmc. However, the mmc_create argument was changed in the process to always pass the array we used to have to store our private structures. The basically means that all the MMC driver instances will now have the private data of the first instance, which obviously doesn't work very well. Pass the proper pointer to mmc_create. Fixes: 034e226bc77e ("dm: mmc: sunxi: Pass private data around explicitly") Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Tested-by: Chen-Yu Tsai <wens@csie.org> Tested-by: Jagan Teki <jagan@openedev.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
2017-08-28sunxi: bpi-m3: Enable eMMCJagan Teki
Add CONFIG_MMC_SUNXI_SLOT_EXTRA=2 to use eMMC on BPI_M3 board. Cc: Chen-Yu Tsai <wens@csie.org> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Tested-by: Jagan Teki <jagan@amarulasolutions.com>
2017-08-28sunxi: Enable MMC new mode for A83TMaxime Ripard
The eMMC controller for the A83T uses the new operating mode. Enable it. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
2017-08-28mmc: sunxi: Support new modeMaxime Ripard
Almost all of the newer Allwinner SoCs have a new operating mode for the eMMC clocks that needs to be enabled in both the clock and the MMC controller. Details about that mode are sparse, and the name itself (new mode vs old mode) doesn't give much details, but it seems that the it changes the sampling of the MMC clock. One side effect is also that it divides the parent clock rate by 2. Add support for it through a Kconfig option. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
2017-08-28bootvx_fdt: fix missing 'fdt_fixup_ethernet(...)' on vxWorks bootHannes Schmelzer
Before commit 26d6119 (fdt: Move fdt_fixup_ethernet to a common place) the fdt_fixup_ethernet(...) was called during do_bootvx_fdt(...). Afterwards the only (common) place for this fixup is during image_setup_libfdt(...) and this is only called, at least on ARM platform, from image_setup_linux(...). All this ends up in the fact, that the fdt_fixup_ethernet(...) is only called on booting a linux image and not on booting a vxWorks image. We fix this with adding the fdt_fixup_ethernet(...) call again to do_bootvx_fdt(...) Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28common: console: Fix duplicated CONFIG in silent env callbackWilson Lee
The silent environment callback function does not update the silent flag during silent env set or unset. That is because of duplicated CONFIG keyword at preprocessor condition in silent environment callback function and cause silent env callback unable to work. This patch is to remove the duplicated CONFIG keywork in silent environment callback function. Signed-off-by: Wilson Lee <wilson.lee@ni.com> Cc: Keng Soon Cheah <keng.soon.cheah@ni.com> Cc: Chen Yee Chew <chen.yee.chew@ni.com> Cc: Joe Hershberger <joe.hershberger@ni.com>
2017-08-28sandbox: Enable NVMe driver for build testingBin Meng
This enables NVMe driver on sandbox for build testing. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28sandbox: Add a dummy invalidate_dcache_range() functionBin Meng
This adds invalidate_dcache_range() so that some drivers can build without error on sandbox. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Adjust the 'nvme' command to use blk_common_cmd()Bin Meng
Instead of having separate code in the 'nvme' command, adjust it to use the common function. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Get rid of the global variable nvme_infoBin Meng
At present the NVMe uclass driver uses a global variable nvme_info to store global information like namespace id, and NVMe controller driver's priv struct has a blk_dev_start that is used to calculate the namespace id based on the global information from nvme_info. This is not a good design in the DM world and can be replaced with the following changes: - Encode the namespace id in the NVMe block device name during the NVMe uclass post probe - Extract the namespace id from the device name during the NVMe block device probe - Let BLK uclass calculate the devnum for us by passing -1 to blk_create_devicef() as the devnum Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Use blk_create_devicef() APIBin Meng
The codes in nvme_uclass_post_probe() can be replaced to call the blk_create_devicef() API directly. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Apply cache operations on the DMA buffersBin Meng
So far cache operations are only applied on the submission queue and completion queue, but they are missing in other places like identify and block read/write routines. In order to correctly operate on the caches, the DMA buffer passed to identify routine must be allocated properly on the stack with the existing macro ALLOC_CACHE_ALIGN_BUFFER(). Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Consolidate block read and write routinesBin Meng
The NVMe block read and write routines are almost the same except the command opcode. Let's consolidate them to avoid duplication. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Use macros to access NVMe queuesBin Meng
NVMe driver only uses two queues. The first one is allocated to do admin stuff, while the second one is for IO stuff. So far the driver uses magic number (0/1) to access them. Change to use macros. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Respect timeout when en/disabling the controllerBin Meng
So far the driver unconditionally delays 10ms when en/disabling the controller and still return 0 if 10ms times out. In fact, spec defines a timeout value in the CAP register that is the worst case time that host software shall wait for the controller to become ready. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Cache controller's capabilitiesBin Meng
Capabilities register is RO and accessed at various places in the driver. Let's cache it in the controller driver's priv struct. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Fix endianness assignment to prp2 in nvme_identify()Bin Meng
So far this is not causing any issue due to NVMe and x86 are using the same endianness, but for correctness, it should be fixed. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Fix ndev->queues allocationBin Meng
ndev->queues is a pointer to pointer, but the allocation wrongly requests sizeof(struct nvme_queue). Fix it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Fix getting PCI vendor id of the NVMe block deviceBin Meng
The codes currently try to read PCI vendor id of the NVMe block device by dm_pci_read_config16() with its parameter set as its root complex controller (ndev->pdev) instead of itself. This is seriously wrong. We can read the vendor id by passing the correct udevice parameter to the dm_pci_read_config16() API, however there is a shortcut by reading the cached vendor id from the PCI device's struct pci_child_platdata. While we are here fixing this bug, apparently the quirk stuff handle codes in nvme_get_info_from_identify() never takes effect since its logic has never been true at all. Remove these codes completely. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28nvme: Remove useless definesBin Meng
These are leftover when the driver was ported from Linux and are not used by the U-Boot driver. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-28configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-28imx: imx6: Move gpr_init() function to soc.cBreno Lima
Since the gpr_init() function is common for boards using MX6S, MX6DL, MX6D, MX6Q and MX6QP processors move it to the soc.c file. Signed-off-by: Breno Lima <breno.lima@nxp.com> Acked-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2017-08-27sh: Fix linking of ms7722seTom Rini
While it is true that we no longer have 'ppcenv' and similar sections, including env/embedded.o at all results in the text/etc sections being available for the rest of the link. This in turn is required for the setup used on ms7722se. This also, likely, needs further fine-tuning. Fixes: f40ad66fa066 ("arch/sh: don't bring common/env_embedded.o into the link") Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-26cmd/spl.c: Include <libfdt.h> for fdt_totalsizeTom Rini
In order to be able to reliably use fdt_totalsize, we must have <libfdt.h> included. Fixes: 767cb74a0028 ("cmd: spl: provide address and size of prepared FDT ...") Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-26mtdparts: Fix uninitialized scalar usageTom Rini
When reworking this code to fix other issues found by Coverity, I forgot to ensure tmp_ep was always cleared before use. Reported-by: Coverity (CID: 166612) Fixes: bc028345acc4 ("mtdparts: Fix final outstanding issue reported by Coverity") Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-26Merge git://git.denx.de/u-boot-shTom Rini