platform/kernel/u-boot.git
7 years agoMerge git://git.denx.de/u-boot-uniphier
Tom Rini [Fri, 1 Sep 2017 14:32:35 +0000 (10:32 -0400)]
Merge git://git.denx.de/u-boot-uniphier

- add {ofnode,dev}_read_resource_byname
- provide DT probe hook to Denali NAND driver
- update clk/reset driver
- update DT
- misc cleanups

7 years agoMerge branch 'master' of git://git.denx.de/u-boot-sunxi
Tom Rini [Fri, 1 Sep 2017 14:31:07 +0000 (10:31 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi

7 years agommc: sunxi: Only update timing mode bit when enabling new timing mode
Chen-Yu Tsai [Thu, 31 Aug 2017 13:57:48 +0000 (21:57 +0800)]
mmc: sunxi: Only update timing mode bit when enabling new timing mode

When enabling the new mmc timing mode, we inadvertently clear all the
remaining bits in the new timing mode register. The bits cleared
include a default phase delay on the output clock. The BSP kernel
states that the default values are supposed to be used. Clearing them
results in decreased performance or transfer errors on some boards.

Fixes: de9b1771c3b6 ("mmc: sunxi: Support new mode")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
7 years agoARM: uniphier: enable Denali NAND driver for 64bit SoCs
Masahiro Yamada [Tue, 29 Aug 2017 15:51:30 +0000 (00:51 +0900)]
ARM: uniphier: enable Denali NAND driver for 64bit SoCs

Now the entry to the NAND driver init can be is controlled by DT;
it should not hurt to compile the driver all the time.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: set system bus pinmux for PXs3
Masahiro Yamada [Tue, 29 Aug 2017 06:42:20 +0000 (15:42 +0900)]
ARM: uniphier: set system bus pinmux for PXs3

The system bus is not enabled by default for NAND, eMMC boot
etc. of PXs3.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: move CONFIG_NAND to defconfig
Masahiro Yamada [Tue, 29 Aug 2017 06:41:32 +0000 (15:41 +0900)]
ARM: uniphier: move CONFIG_NAND to defconfig

This imply was added when the option was moved by the moveconfig tool,
but the intention is not clear.  Move it to defconfig.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: dts: uniphier: update PXs3 SoC/board DT
Masahiro Yamada [Tue, 29 Aug 2017 03:20:53 +0000 (12:20 +0900)]
ARM: dts: uniphier: update PXs3 SoC/board DT

Support PXs3 SoC and its reference development board.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: dts: uniphier: sync with Linux
Masahiro Yamada [Tue, 29 Aug 2017 03:20:52 +0000 (12:20 +0900)]
ARM: dts: uniphier: sync with Linux

Import updates queued up for Linux 4.14-rc1.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoreset: uniphier: add PXs3 support
Masahiro Yamada [Tue, 29 Aug 2017 03:20:51 +0000 (12:20 +0900)]
reset: uniphier: add PXs3 support

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoreset: uniphier: fix compatible for SD reset node for LD11/LD20
Masahiro Yamada [Tue, 29 Aug 2017 03:20:50 +0000 (12:20 +0900)]
reset: uniphier: fix compatible for SD reset node for LD11/LD20

LD20 has SD ctrl instead of MIO ctrl.  LD11 has both of them.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoclk: uniphier: add System clock support
Masahiro Yamada [Mon, 28 Aug 2017 16:06:15 +0000 (01:06 +0900)]
clk: uniphier: add System clock support

Support system clocks for LD4, Pro4, sLD8, Pro5, PXs2/LD6b, LD11, LD20.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: fix DSPLL init code for LD20 SoC
Dai Okamura [Mon, 28 Aug 2017 12:57:15 +0000 (21:57 +0900)]
ARM: uniphier: fix DSPLL init code for LD20 SoC

Signed-off-by: Dai Okamura <okamura.dai@socionext.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: remove ad-hoc pin settings for NAND
Masahiro Yamada [Sat, 26 Aug 2017 08:58:03 +0000 (17:58 +0900)]
ARM: uniphier: remove ad-hoc pin settings for NAND

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>
7 years agoARM: uniphier: enable CONFIG_NAND_DENALI_DT
Masahiro Yamada [Sat, 26 Aug 2017 08:58:02 +0000 (17:58 +0900)]
ARM: uniphier: enable CONFIG_NAND_DENALI_DT

Migrate to the DT-based NAND init entry.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: remove unneeded NAND config options
Masahiro Yamada [Sat, 26 Aug 2017 08:58:01 +0000 (17:58 +0900)]
ARM: uniphier: remove unneeded NAND config options

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>
7 years agoARM: uniphier: add PLL settings for PXs3
Masahiro Yamada [Sat, 26 Aug 2017 08:58:00 +0000 (17:58 +0900)]
ARM: uniphier: add PLL settings for PXs3

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: move PLLCTRL register macros to each SoC .c file
Masahiro Yamada [Sat, 26 Aug 2017 08:57:59 +0000 (17:57 +0900)]
ARM: uniphier: move PLLCTRL register macros to each SoC .c file

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>
7 years agoARM: uniphier: replace <common.h> with <linux/delay.h> in pll settings
Masahiro Yamada [Sat, 26 Aug 2017 08:57:58 +0000 (17:57 +0900)]
ARM: uniphier: replace <common.h> with <linux/delay.h> in pll settings

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>
7 years agomtd: nand: denali_dt: add a DT driver
Masahiro Yamada [Fri, 25 Aug 2017 16:12:31 +0000 (01:12 +0900)]
mtd: nand: denali_dt: add a DT driver

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>
7 years agoofnode: add {ofnode, dev}_read_resource_byname()
Masahiro Yamada [Fri, 25 Aug 2017 16:12:30 +0000 (01:12 +0900)]
ofnode: add {ofnode, dev}_read_resource_byname()

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>
7 years agoPrepare v2017.09-rc3 v2017.09-rc3
Tom Rini [Tue, 29 Aug 2017 02:42:44 +0000 (22:42 -0400)]
Prepare v2017.09-rc3

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Tue, 29 Aug 2017 02:42:12 +0000 (22:42 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

7 years agousb: dwc3: fix Kconfig dependency to accept host driver in drivers/usb/dwc3
Masahiro Yamada [Thu, 24 Aug 2017 16:30:20 +0000 (01:30 +0900)]
usb: dwc3: fix Kconfig dependency to accept host driver in drivers/usb/dwc3

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>
7 years agommc: sunxi: fix legacy MMC initialisation
Maxime Ripard [Wed, 23 Aug 2017 11:41:33 +0000 (13:41 +0200)]
mmc: sunxi: fix legacy MMC initialisation

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>
7 years agosunxi: bpi-m3: Enable eMMC
Jagan Teki [Mon, 28 Aug 2017 09:00:31 +0000 (14:30 +0530)]
sunxi: bpi-m3: Enable eMMC

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>
7 years agosunxi: Enable MMC new mode for A83T
Maxime Ripard [Wed, 23 Aug 2017 10:03:42 +0000 (12:03 +0200)]
sunxi: Enable MMC new mode for A83T

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>
7 years agommc: sunxi: Support new mode
Maxime Ripard [Wed, 23 Aug 2017 10:03:41 +0000 (12:03 +0200)]
mmc: sunxi: Support new mode

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>
7 years agobootvx_fdt: fix missing 'fdt_fixup_ethernet(...)' on vxWorks boot
Hannes Schmelzer [Fri, 25 Aug 2017 12:27:37 +0000 (14:27 +0200)]
bootvx_fdt: fix missing 'fdt_fixup_ethernet(...)' on vxWorks boot

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>
7 years agocommon: console: Fix duplicated CONFIG in silent env callback
Wilson Lee [Fri, 25 Aug 2017 07:06:29 +0000 (00:06 -0700)]
common: console: Fix duplicated CONFIG in silent env callback

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>
7 years agosandbox: Enable NVMe driver for build testing
Bin Meng [Tue, 22 Aug 2017 15:15:19 +0000 (08:15 -0700)]
sandbox: Enable NVMe driver for build testing

This enables NVMe driver on sandbox for build testing.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agosandbox: Add a dummy invalidate_dcache_range() function
Bin Meng [Tue, 22 Aug 2017 15:15:18 +0000 (08:15 -0700)]
sandbox: Add a dummy invalidate_dcache_range() function

This adds invalidate_dcache_range() so that some drivers can build
without error on sandbox.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agonvme: Adjust the 'nvme' command to use blk_common_cmd()
Bin Meng [Tue, 22 Aug 2017 15:15:17 +0000 (08:15 -0700)]
nvme: Adjust the 'nvme' command to use blk_common_cmd()

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>
7 years agonvme: Get rid of the global variable nvme_info
Bin Meng [Tue, 22 Aug 2017 15:15:16 +0000 (08:15 -0700)]
nvme: Get rid of the global variable nvme_info

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>
7 years agonvme: Use blk_create_devicef() API
Bin Meng [Tue, 22 Aug 2017 15:15:15 +0000 (08:15 -0700)]
nvme: Use blk_create_devicef() API

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>
7 years agonvme: Apply cache operations on the DMA buffers
Bin Meng [Tue, 22 Aug 2017 15:15:14 +0000 (08:15 -0700)]
nvme: Apply cache operations on the DMA buffers

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>
7 years agonvme: Consolidate block read and write routines
Bin Meng [Tue, 22 Aug 2017 15:15:13 +0000 (08:15 -0700)]
nvme: Consolidate block read and write routines

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>
7 years agonvme: Use macros to access NVMe queues
Bin Meng [Tue, 22 Aug 2017 15:15:12 +0000 (08:15 -0700)]
nvme: Use macros to access NVMe queues

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>
7 years agonvme: Respect timeout when en/disabling the controller
Bin Meng [Tue, 22 Aug 2017 15:15:11 +0000 (08:15 -0700)]
nvme: Respect timeout when en/disabling the controller

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>
7 years agonvme: Cache controller's capabilities
Bin Meng [Tue, 22 Aug 2017 15:15:10 +0000 (08:15 -0700)]
nvme: Cache controller's capabilities

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>
7 years agonvme: Fix endianness assignment to prp2 in nvme_identify()
Bin Meng [Tue, 22 Aug 2017 15:15:09 +0000 (08:15 -0700)]
nvme: Fix endianness assignment to prp2 in nvme_identify()

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>
7 years agonvme: Fix ndev->queues allocation
Bin Meng [Tue, 22 Aug 2017 15:15:08 +0000 (08:15 -0700)]
nvme: Fix ndev->queues allocation

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>
7 years agonvme: Fix getting PCI vendor id of the NVMe block device
Bin Meng [Tue, 22 Aug 2017 15:15:07 +0000 (08:15 -0700)]
nvme: Fix getting PCI vendor id of the NVMe block device

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>
7 years agonvme: Remove useless defines
Bin Meng [Tue, 22 Aug 2017 15:15:06 +0000 (08:15 -0700)]
nvme: Remove useless defines

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>
7 years agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 28 Aug 2017 11:16:32 +0000 (07:16 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agosh: Fix linking of ms7722se
Tom Rini [Sun, 27 Aug 2017 15:50:16 +0000 (11:50 -0400)]
sh: Fix linking of ms7722se

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>
7 years agocmd/spl.c: Include <libfdt.h> for fdt_totalsize
Tom Rini [Sun, 27 Aug 2017 01:17:05 +0000 (21:17 -0400)]
cmd/spl.c: Include <libfdt.h> for fdt_totalsize

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>
7 years agomtdparts: Fix uninitialized scalar usage
Tom Rini [Sat, 26 Aug 2017 20:59:24 +0000 (16:59 -0400)]
mtdparts: Fix uninitialized scalar usage

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>
7 years agoMerge git://git.denx.de/u-boot-sh
Tom Rini [Sat, 26 Aug 2017 19:10:49 +0000 (15:10 -0400)]
Merge git://git.denx.de/u-boot-sh

7 years agoMerge branch 'rmobile' of git://git.denx.de/u-boot-sh
Tom Rini [Sat, 26 Aug 2017 19:10:46 +0000 (15:10 -0400)]
Merge branch 'rmobile' of git://git.denx.de/u-boot-sh

7 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Sat, 26 Aug 2017 19:10:40 +0000 (15:10 -0400)]
Merge git://git.denx.de/u-boot-x86

7 years agoMerge git://git.denx.de/u-boot-i2c
Tom Rini [Sat, 26 Aug 2017 19:10:38 +0000 (15:10 -0400)]
Merge git://git.denx.de/u-boot-i2c

7 years agoMerge git://www.denx.de/git/u-boot-cfi-flash
Tom Rini [Sat, 26 Aug 2017 19:10:35 +0000 (15:10 -0400)]
Merge git://www.denx.de/git/u-boot-cfi-flash

7 years agodisk: part: align buffer so it can be used with DMA enabled drivers
Stefan Agner [Wed, 23 Aug 2017 16:46:17 +0000 (09:46 -0700)]
disk: part: align buffer so it can be used with DMA enabled drivers

When using ISO partitions with a DMA enabled block device driver
reading the ISO partition leads to unaligned DMA operations:
  CACHE: Misaligned operation at range [bffb7da8bffb85a8]

Align the buffer to make sure we pass a buffer which works for
DMA operations.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoscripts: objdiff: Ignore debug info when comparing
Stephen Boyd [Wed, 23 Aug 2017 01:59:31 +0000 (10:59 +0900)]
scripts: objdiff: Ignore debug info when comparing

If the kernel is configured to be built with debug symbols, or
has bug tables, comparing files may not work if line numbers
change. This makes comparing object files with these options
harder to do. Let's strip out the debug info and drop the
__bug_table here so that we don't see false positives. There may
be other things to drop later, and it may be architecture
specific, but this works for me with my ARM64 build.

[ Import Linux commit: 65ba6fa439e7c3cbf97de9dce9e7a3390ae2638c ]

Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
Reviewed-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agodoc: verified-boot: fix typos
Masahiro Yamada [Tue, 22 Aug 2017 06:19:20 +0000 (15:19 +0900)]
doc: verified-boot: fix typos

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agofs: ext4: Fix journal overrun issue reported by Coverity
Tom Rini [Mon, 21 Aug 2017 02:30:15 +0000 (22:30 -0400)]
fs: ext4: Fix journal overrun issue reported by Coverity

While &p_jdb[fs->blksz] is a valid expression (it points *one* char
sized element past the end of the array, e.g. &p_jdb[fs->blksz + 1] is
invalid (according to the C standard (C99/C11)).

Changing this to tag = (struct ext3_journal_block_tag *)(p_jdb + ofs);

Cc: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Suggested-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reported-by: Coverity (CID: 165117, 165110)
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
7 years agomtdparts: Fix final outstanding issue reported by Coverity
Tom Rini [Mon, 21 Aug 2017 00:05:40 +0000 (20:05 -0400)]
mtdparts: Fix final outstanding issue reported by Coverity

As part of fixing the previously reported issues, it was missed that in
the case of mtdparts_init() we need to make sure that tmp_ep is long
enough to contain PARTITION_MAXLEN and a NULL termination.  Then, to be
sure the buffer is NULL terminated, zero the entire buffer rather than
just ensuring the first character is NULL.

Cc: Lothar Waßmann <LW@KARO-electronics.de>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Reported-by: Coverity (CID: 166329)
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agospl: stm32: make falcon mode activation configurable
Vikas Manocha [Sun, 20 Aug 2017 18:05:37 +0000 (11:05 -0700)]
spl: stm32: make falcon mode activation configurable

With this change, it will be possible to de-select falcon mode & spl
will only boot U-Boot.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Suggested-by: Bo Shen <voice.shen@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agocmd: spl: provide address and size of prepared FDT in environment
Anatolij Gustschin [Thu, 17 Aug 2017 19:01:48 +0000 (21:01 +0200)]
cmd: spl: provide address and size of prepared FDT in environment

Writing prepared FDT to persistent storage should be possible in
scripts. Create environment variables containing address and size
of the updated FDT. Scripts can use these variables after running
'spl export fdt ...' command to write the new blob to persistent
storage.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
7 years agoigep00x0: merge igep0020 and igep0030 defconfigs to igep00x0_defconfig
Pau Pajuelo [Thu, 17 Aug 2017 01:09:14 +0000 (03:09 +0200)]
igep00x0: merge igep0020 and igep0030 defconfigs to igep00x0_defconfig

Update igep00x0 code with the following features:
- Add board and revision detection for the boards:
  - IGEP0020-RF
  - IGEP0020-RC
  - IGEP0030-RG
  - IGEP0030-RE
- Merge IGEP0020 and IGEP0030 mux tables
- Add suport to use GPIO_126, GPIO_127 and GPIO_129
- board_name and board_rev environment variables display board and
  revision informations
- Move dtb name selection from code to boot script

Signed-off-by: Pau Pajuelo <ppajuel@gmail.com>
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Tested-by: Pau Pajuelo <ppajuel@gmail.com>
7 years agoigep00x0: move SPL routines into separate file
Ladislav Michl [Thu, 17 Aug 2017 01:06:45 +0000 (03:06 +0200)]
igep00x0: move SPL routines into separate file

Avoid cluttering board file with CONFIG_SPL_BUILD ifdefs
by moving SPL related functions into separate file.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Tested-by: Pau Pajuelo <ppajuel@gmail.com>
Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
7 years agoarm: dra7xx: Define Android boot arguments
Semen Protsenko [Wed, 16 Aug 2017 12:55:50 +0000 (15:55 +0300)]
arm: dra7xx: Define Android boot arguments

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
7 years agoarm: am57xx: Define Android boot arguments
Semen Protsenko [Wed, 16 Aug 2017 12:55:49 +0000 (15:55 +0300)]
arm: am57xx: Define Android boot arguments

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
7 years agoarm: omap: Define command for booting Android from eMMC
Semen Protsenko [Wed, 16 Aug 2017 12:55:48 +0000 (15:55 +0300)]
arm: omap: Define command for booting Android from eMMC

If SD card is present -- try to boot from it first. If no -- try to boot
Android from eMMC.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
7 years agoARMv8/sec_firmware : Update chosen/kaslr-seed with random number
Ruchika Gupta [Wed, 16 Aug 2017 10:28:10 +0000 (15:58 +0530)]
ARMv8/sec_firmware : Update chosen/kaslr-seed with random number

kASLR support in kernel requires a random number to be passed via
chosen/kaslr-seed propert. sec_firmware generates this random seed
which can then be passed in the device tree node.

sec_firmware reserves JR3 for it's own usage. Node for JR3 is
removed from device-tree.

Signed-off-by: Ruchika Gupta <ruchika.gupta@nxp.com>
7 years agoarch/arm/cpu/arm926ejs/spear/cpu.c: guard do_switch_ecc() with CONFIG_NAND_FSMC
Thomas Petazzoni [Tue, 15 Aug 2017 20:52:45 +0000 (22:52 +0200)]
arch/arm/cpu/arm926ejs/spear/cpu.c: guard do_switch_ecc() with CONFIG_NAND_FSMC

do_switch_ecc() calls fsmc_nand_switch_ecc(), which is a direct
function call into drivers/mtd/nand/fsmc_nand.c. However, this
function is not guarded by CONFIG_NAND_FSMC, which results to a build
failure if CONFIG_NAND_FSMC is disabled.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoboard/spear/common: move code to arch/arm/cpu/arm926ejs/spear/
Thomas Petazzoni [Tue, 15 Aug 2017 20:52:44 +0000 (22:52 +0200)]
board/spear/common: move code to arch/arm/cpu/arm926ejs/spear/

The code in board/spear/common/ is not board-specific but
SoC-specific. Therefore, boards from other vendors than "spear" may
want to re-use this code, which is currently difficult with the code
being placed in board/spear/common/.

Since this code really is SoC-specific, this commit moves it to
arch/arm/cpu/arm926ejs/spear/, with the rest of the SPEAr related
code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoboard: atmel: Use the new PIT timer driver
Wenyou.Yang@microchip.com [Tue, 15 Aug 2017 09:40:27 +0000 (17:40 +0800)]
board: atmel: Use the new PIT timer driver

Use the Atmel PIT timer driver which supports the driver model
and device tree.

Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com>
7 years agodriver: timer: Add the Atmel PIT timer driver
Wenyou.Yang@microchip.com [Tue, 15 Aug 2017 09:40:26 +0000 (17:40 +0800)]
driver: timer: Add the Atmel PIT timer driver

Add the new Atmel PIT timer driver, which supports the driver model
and device tree.

Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com>
7 years agopowerpc: Rework interrupt_init_cpu()
Tom Rini [Mon, 14 Aug 2017 02:44:37 +0000 (22:44 -0400)]
powerpc: Rework interrupt_init_cpu()

The function interrupt_init_cpu() is given an int return type but does
not return anything but 0.  Rework this to be a void function.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Mario Six <mario.six@gdsys.cc>
7 years agofs: fat: fix fatwrite overflow calculation
Reno Farnesi [Sun, 13 Aug 2017 19:16:17 +0000 (15:16 -0400)]
fs: fat: fix fatwrite overflow calculation

The overflow calculation was incorrect. Adding the start block of the
partition is not needed because the sectors are already relative to the
beginning of the partition. If you attempted to write a file smaller
than cur_part_info.start blocks on a full partition the old calculation
fails to catch the overflow. This would cause an infinite loop in the
determine_fatent function.

Old, incorrect calculation:

ending sector of new file = start sector + file size (in sectors)
last sector = partition start + total sectors on the partition

Adding the partition start block number is not needed because sectors
are already relative to the start of the partition.

New calculation:

ending sector of new file = start sector + file size (in sectors)
last sector = total sectors on the partition

Signed-off-by: Reno Farnesi <nfarnesi4@gmail.com>
7 years agoarm: dts: am33xx: sync DTS with Linux 4.13-rc4
Suniel Mahesh [Sat, 12 Aug 2017 07:56:38 +0000 (13:26 +0530)]
arm: dts: am33xx: sync DTS with Linux 4.13-rc4

This re-syncs AM33xx DTS file with current file from
Linux v4.13-rc4 to ensure a consistent configuration. Upstream
Linux removed the redundant Interrupt-parent property from mmc,
mac, lcdc and tscadc sub nodes.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoram: kconfig: s/SPL/TPL/ in TPL_RAM help text
Jagan Teki [Fri, 25 Aug 2017 14:46:00 +0000 (20:16 +0530)]
ram: kconfig: s/SPL/TPL/ in TPL_RAM help text

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
7 years agorpi: Enable USB keyboard support
Simon Glass [Fri, 25 Aug 2017 01:45:31 +0000 (19:45 -0600)]
rpi: Enable USB keyboard support

This is currently disabled, so USB keyboards are not detected in U-Boot.
Enable this option to fix that.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Jonathan Gray <jsg@jsg.id.au>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Paul Barker <pbarker@toganlabs.com>
7 years agoarch/sh: don't bring common/env_embedded.o into the link
Thomas Petazzoni [Fri, 28 Jul 2017 21:46:36 +0000 (23:46 +0200)]
arch/sh: don't bring common/env_embedded.o into the link

The linker script for SuperH brings the .ppcenv and .ppcenvr section
of common/env_embedded.o into the .text section. However, the .ppcenv
section is only ever filled in by env_embedded.o when
CONFIG_SYS_USE_PPCENV is defined, but no platforms in mainline U-Boot
use this.

In addition, common/env_embedded.o is not always built (when you use
CONFIG_ENV_IS_NOWHERE for example), which causes the following build
failure:

Fixes:

  LD      u-boot
/home/thomas/sh4aeb-linux-musl/bin/sh4aeb-linux-ld.bfd: cannot find common/env_embedded.o

We fix this by no longer adding the .ppcenv and .ppcenvr sections from
common/env_embedded.o into the .text section.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoarch/sh: allow building in big-endian mode
Thomas Petazzoni [Fri, 28 Jul 2017 21:14:28 +0000 (23:14 +0200)]
arch/sh: allow building in big-endian mode

The SuperH architecture allows to be run in either little or big
endian mode. Some SuperH SoCs get the little vs. big endian decision
through mode pins sampled at reset, so if big endian has been choosen
by HW designers, it cannot be easily changed.

Therefore, it makes sense to allow building U-Boot for SuperH in big
endian mode. To allow this, the only change needed is to adjust the
OUTPUT_FORMAT() in the linker script.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoARM: rmobile: Enable MMC and USB DM on ULCB
Marek Vasut [Sun, 20 Aug 2017 15:13:50 +0000 (17:13 +0200)]
ARM: rmobile: Enable MMC and USB DM on ULCB

Enable the MMC and USB DM on the board since it's the modern method
and now supported by the drivers.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Enable MMC and USB DM on Salvator-X
Marek Vasut [Sun, 20 Aug 2017 15:13:49 +0000 (17:13 +0200)]
ARM: rmobile: Enable MMC and USB DM on Salvator-X

Enable the MMC and USB DM on the board since it's the modern method
and now supported by the drivers.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Remove SH SDHI probing from ULCB board
Marek Vasut [Sun, 20 Aug 2017 15:13:48 +0000 (17:13 +0200)]
ARM: rmobile: Remove SH SDHI probing from ULCB board

Drop the SH SDHI bit from the board since SD now probes from DT instead.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Remove SH SDHI probing from Salvator-X board
Marek Vasut [Sun, 20 Aug 2017 15:13:47 +0000 (17:13 +0200)]
ARM: rmobile: Remove SH SDHI probing from Salvator-X board

Drop the SH SDHI bit from the board since SD now probes from DT instead.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Remove Serial SH probing from ULCB board
Marek Vasut [Sun, 20 Aug 2017 15:13:46 +0000 (17:13 +0200)]
ARM: rmobile: Remove Serial SH probing from ULCB board

Drop the Serial SH bit from the board since UART now probes from DT instead.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Remove Serial SH probing from Salvator-X board
Marek Vasut [Sun, 20 Aug 2017 15:13:45 +0000 (17:13 +0200)]
ARM: rmobile: Remove Serial SH probing from Salvator-X board

Drop the Serial SH bit from the board since UART now probes from DT instead.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Remove RAVB probing from ULCB board
Marek Vasut [Sun, 20 Aug 2017 15:13:44 +0000 (17:13 +0200)]
ARM: rmobile: Remove RAVB probing from ULCB board

Drop the RAVB bit from the board since RAVB now probes from DT instead.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Remove RAVB probing from Salvator-X board
Marek Vasut [Sun, 20 Aug 2017 15:13:43 +0000 (17:13 +0200)]
ARM: rmobile: Remove RAVB probing from Salvator-X board

Drop the RAVB bit from the board since RAVB now probes from DT instead.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Enable HUSH parser
Marek Vasut [Sun, 20 Aug 2017 15:13:42 +0000 (17:13 +0200)]
ARM: rmobile: Enable HUSH parser

The HUSH parser was disabled somewhere along the way, reenable it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Alexandru Gagniuc <alex.g@adaptrum.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Enable KSZ90X1 PHY on Salvator-X
Marek Vasut [Sun, 20 Aug 2017 15:13:41 +0000 (17:13 +0200)]
ARM: rmobile: Enable KSZ90X1 PHY on Salvator-X

Commit da3b9e7fd6a1 (Move PHY_MICREL and PHY_MICREL_KSZ90X1 to Kconfig)
broke ethernet support on R8A779x Salvator-X boards by disabling the
KSZ90x1 PHY in Kconfig. Reenable it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Alexandru Gagniuc <alex.g@adaptrum.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoARM: rmobile: Add u-boot, dm-pre-reloc to clock nodes on Gen3
Marek Vasut [Sun, 20 Aug 2017 15:13:40 +0000 (17:13 +0200)]
ARM: rmobile: Add u-boot, dm-pre-reloc to clock nodes on Gen3

We need the clock available very early, add the u-boot,dm-pre-reloc
DT property on those nodes, so they come up very in the process.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agoclk: rmobile: Split R8A7795 and R8A7796 core clock tables
Marek Vasut [Sun, 20 Aug 2017 15:13:39 +0000 (17:13 +0200)]
clk: rmobile: Split R8A7795 and R8A7796 core clock tables

The R8A7795 and R8A7796 tables use different constants to identify
clock in DT, so split the tables and use the correct constants on
R8A7795. This fixes UART clock misconfiguration on R8A7795.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7 years agox86: tangier: kconfig: Guard tangier-specific options
Bin Meng [Sun, 20 Aug 2017 11:33:46 +0000 (04:33 -0700)]
x86: tangier: kconfig: Guard tangier-specific options

These options should not be exposed to other platforms.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
7 years agox86: bayleybay: Adjust VGA rom address
Bin Meng [Sun, 20 Aug 2017 11:32:51 +0000 (04:32 -0700)]
x86: bayleybay: Adjust VGA rom address

Adjust VGA rom address to 0xfffb0000 so that u-boot.rom image can be
built again.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agox86: baytrail: Fix turbo enable
Bin Meng [Thu, 17 Aug 2017 08:10:43 +0000 (01:10 -0700)]
x86: baytrail: Fix turbo enable

CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED must be turned on for Baytrail.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agox86: Convert CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED to Kconfig
Bin Meng [Thu, 17 Aug 2017 08:10:42 +0000 (01:10 -0700)]
x86: Convert CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED to Kconfig

This converts CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED to a Kconfig option.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agox86: dfi-bt700: Select SERIAL_RX_BUFFER via Kconfig
Stefan Roese [Wed, 16 Aug 2017 15:37:18 +0000 (17:37 +0200)]
x86: dfi-bt700: Select SERIAL_RX_BUFFER via Kconfig

To support more input characters (longer stings pasted into the U-Boot
prompt) without dropping, lets selects the recently added UART RX
buffer for these boards.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agox86: conga-qeval20-qa3-e3845: Select SERIAL_RX_BUFFER via Kconfig
Stefan Roese [Wed, 16 Aug 2017 15:37:17 +0000 (17:37 +0200)]
x86: conga-qeval20-qa3-e3845: Select SERIAL_RX_BUFFER via Kconfig

To support more input characters (longer stings pasted into the U-Boot
prompt) without dropping, lets selects the recently added UART RX
buffer for these boards.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoserial: serial-uclass: Add generic serial RX buffer support
Stefan Roese [Wed, 16 Aug 2017 15:37:16 +0000 (17:37 +0200)]
serial: serial-uclass: Add generic serial RX buffer support

Pasting longer lines into the U-Boot console prompt sometimes leads to
characters missing. One problem here is the small 16-byte FIFO of the
legacy NS16550 UART, e.g. on x86 platforms.

This patch now introduces a Kconfig option to enable RX buffer support
for all DM based serial drivers. With this option enabled, I was
able paste really long lines into the U-Boot console, without any
characters missing.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoRevert "serial: ns16550: Add RX interrupt buffer support"
Stefan Roese [Wed, 16 Aug 2017 15:37:15 +0000 (17:37 +0200)]
Revert "serial: ns16550: Add RX interrupt buffer support"

This reverts commit 6822cf3ec7c8768b8727573b8f4b2cb3d870b881.

As Bin Meng has tested and pointed out, we don't need the RX interrupt
for the RX buffer support at all. Just reading all available characters
into a buffer is sufficient to solve the problem with the dropped
characters upon long lines pasted into the U-Boot prompt. Since this
RX buffer support can be implemented in a generic way, without any
device specifica (e.g. for the ns16550), I'll post a new patch with
a new serial RX buffer support for DM, which all DM based serial
drivers can use.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agovbe: Drop vbe_get_video_info()
Bin Meng [Wed, 16 Aug 2017 14:35:36 +0000 (07:35 -0700)]
vbe: Drop vbe_get_video_info()

With DM video, this is not used any more. Drop it.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
7 years agox86: kconfig: Imply CMD_PCI
Bin Meng [Wed, 16 Aug 2017 12:46:49 +0000 (05:46 -0700)]
x86: kconfig: Imply CMD_PCI

Let's imply the 'pci' command to access the de facto interconnect
bus in an x86 system.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
7 years agox86: fsp: Configure SPI opcode registers before SPI is locked down
Bin Meng [Wed, 16 Aug 2017 05:38:31 +0000 (22:38 -0700)]
x86: fsp: Configure SPI opcode registers before SPI is locked down

Some Intel FSP (like Braswell) does SPI lock-down during the call
to fsp_notify(INIT_PHASE_BOOT). But before SPI lock-down is done,
it's bootloader's responsibility to configure the SPI controller's
opcode registers properly otherwise SPI controller driver doesn't
know how to communicate with the SPI flash device.

This introduces a Kconfig option CONFIG_FSP_LOCKDOWN_SPI for such
FSPs. When it is on, U-Boot will configure the SPI opcode registers
before the lock-down.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
7 years agox86: ich-spi: Move opcode registers configuration to another routine
Bin Meng [Wed, 16 Aug 2017 05:38:30 +0000 (22:38 -0700)]
x86: ich-spi: Move opcode registers configuration to another routine

At present the ICH SPI opcode registers configuration is done in the
ich_spi_remove() routine, a little bit weird but that's how current.
Linux MTD driver works. This changes to move the opcode registers
configuration to a separate routine ich_spi_config_opcode() which
might be called by U-Boot itself as well.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>