platform/kernel/u-boot.git
6 years agonet: sunxi: Correct MAC address register order
Joe Hershberger [Tue, 1 May 2018 21:33:55 +0000 (16:33 -0500)]
net: sunxi: Correct MAC address register order

Put the enetaddr data in the same order as it was before the change in
commit ace1520cb5fc ("net: sunxi-emac: Write HW address via function")

Reported-by: Udo Maslo <u.maslo@web.de>
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: Express LINK_LOCAL dependency on LIB_RAND
Joe Hershberger [Mon, 30 Apr 2018 17:45:22 +0000 (12:45 -0500)]
net: Express LINK_LOCAL dependency on LIB_RAND

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agotsec: Fix reading phy registers from DT
Mario Six [Fri, 27 Apr 2018 12:52:57 +0000 (14:52 +0200)]
tsec: Fix reading phy registers from DT

Bus translations should be applied when reading the address of the sgmii
phy registers from the DT. Use ofnode_get_addr_index instead of the
plain ofnode_read_u32_default to fix this.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: Initialize as many ethernet devices as possible
Mario Six [Fri, 27 Apr 2018 12:52:56 +0000 (14:52 +0200)]
net: Initialize as many ethernet devices as possible

On devices that have their first network interface provided by a FPGA,
the initialization of further interfaces will fail if the FPGA is not
yet programmed. This leads to problems during factory setup when the
data is supposed to be loaded over secondary netowork interfaces.

To avoid this, use the uclass_{first,next}_device_check functions to
initialize as many ethernet devices as possible.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: Always align tx packets
Mario Six [Wed, 28 Mar 2018 12:38:49 +0000 (14:38 +0200)]
net: Always align tx packets

Make sure that TX packets are always cache-aligned.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Wed, 13 Jun 2018 15:43:59 +0000 (11:43 -0400)]
Merge git://git.denx.de/u-boot-x86

6 years agoARM: DTS: resync a3517.dtsi with Linux 4.17
Adam Ford [Fri, 8 Jun 2018 14:26:30 +0000 (09:26 -0500)]
ARM: DTS: resync a3517.dtsi with Linux 4.17

Linux 4.17 was just released with some minor changes to the
am3517.dtsi.  This patch re-syncs the file.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoARM: am3517_evm: Enable SPL_OF_CONTROL and SPL_OF_PLATDATA
Adam Ford [Fri, 8 Jun 2018 14:22:30 +0000 (09:22 -0500)]
ARM: am3517_evm: Enable SPL_OF_CONTROL and SPL_OF_PLATDATA

The SPL doesn't have much room, so in order to support OF_CONTROL
in SPL, we need the extra functionality of SPL_OF_PLATDATA.

Adding these features allows us to remove a small part of code without
losing the serial port during SPL.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agodra76: fix HDMI HPD pinmux
Tomi Valkeinen [Fri, 8 Jun 2018 09:51:20 +0000 (12:51 +0300)]
dra76: fix HDMI HPD pinmux

The pin used for HDMI HPD should be set to GPIO mode on DRA76, similarly
to all the other DRA7 and AM5 SoCs.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
6 years agodra7/am5: remove CEC pin pull-up
Tomi Valkeinen [Fri, 8 Jun 2018 09:51:19 +0000 (12:51 +0300)]
dra7/am5: remove CEC pin pull-up

HDMI CEC pins are set to pull-up, but CEC requires no pull. Fix this.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
6 years agoenv: Add !ENV_IS_IN_EXT4 dependency to ENV_IS_NOWHERE
Alex Kiernan [Fri, 8 Jun 2018 07:10:27 +0000 (07:10 +0000)]
env: Add !ENV_IS_IN_EXT4 dependency to ENV_IS_NOWHERE

If ENV_IS_IN_EXT4 is set you shouldn't be able to select ENV_IS_NOWHERE.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Petr Vorel <petr.vorel@gmail.com>
6 years agou-boot: Fix several typos
Shyam Saini [Thu, 7 Jun 2018 14:17:19 +0000 (19:47 +0530)]
u-boot: Fix several typos

's/environemnt/environment/' and
's/Environemnt/Environment/'

Signed-off-by: Shyam Saini <shyam@amarulasolutions.com>
6 years agotools: env: Use getline rather than fgets when reading config/script
Alex Kiernan [Thu, 7 Jun 2018 12:20:05 +0000 (12:20 +0000)]
tools: env: Use getline rather than fgets when reading config/script

When reading the config file, or a script file, use getline rather than
fgets so line lengths aren't limited by the size of a compiled in buffer
(128 characters for config, 1024 for scripts).

Rename 'dump' to 'line' so it's clear we're working with a line of text.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
6 years agoAM3517_EVM: Fix Environmental location
Adam Ford [Wed, 6 Jun 2018 19:39:50 +0000 (14:39 -0500)]
AM3517_EVM: Fix Environmental location

The am3517-evm boards stores the environment in NAND, but after merging
various configs, the board was trying to load environment variables from
FAT which would ultimately fail and cause some chatter.

This patch removes the ENV_IS_IN_FAT flag to eliminate the noise.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agolib: Add hexdump
Alexey Brodkin [Tue, 5 Jun 2018 14:17:57 +0000 (17:17 +0300)]
lib: Add hexdump

Often during debugging session it's very interesting to see
what data we were dealing with. For example what we write or read
to/from memory or peripherals.

This change introduces functions that allow to dump binary
data with one simple function invocation like:
------------------->8----------------
print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, buf, len);
------------------->8----------------

which gives us the following:
------------------->8----------------
00000000: f2 b7 c9 88 62 61 75 64 72 61 74 65 3d 31 31 35  ....baudrate=115
00000010: 32 30 30 00 62 6f 6f 74 61 72 67 73 3d 63 6f 6e  200.bootargs=con
00000020: 73 6f 6c 65 3d 74 74 79 53 33 2c 31 31 35 32 30  sole=ttyS3,11520
00000030: 30 6e 38 00 62 6f 6f 74 64 65 6c 61 79 3d 33 00  0n8.bootdelay=3.
00000040: 62 6f 6f 74 66 69 6c 65 3d 75 49 6d 61 67 65 00  bootfile=uImage.
00000050: 66 64 74 63 6f 6e 74 72 6f 6c 61 64 64 72 3d 39  fdtcontroladdr=9
00000060: 66 66 62 31 62 61 30 00 6c 6f 61 64 61 64 64 72  ffb1ba0.loadaddr
00000070: 3d 30 78 38 32 30 30 30 30 30 30 00 73 74 64 65  =0x82000000.stde
00000080: 72 72 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32  rr=serial0@e0022
00000090: 30 30 30 00 73 74 64 69 6e 3d 73 65 72 69 61 6c  000.stdin=serial
000000a0: 30 40 65 30 30 32 32 30 30 30 00 73 74 64 6f 75  0@e0022000.stdou
000000b0: 74 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32 30  t=serial0@e00220
000000c0: 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00..............
...
------------------->8----------------

Source of hexdump.c was copied from Linux kernel v4.7-rc2.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Mario Six <mario.six@gdsys.cc>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Stefan Roese <sr@denx.de>
6 years agofs: btrfs: Fix not all CHUNK_ITEMs being read from CHUNK_TREE
Yevgeny Popovych [Tue, 5 Jun 2018 10:11:01 +0000 (13:11 +0300)]
fs: btrfs: Fix not all CHUNK_ITEMs being read from CHUNK_TREE

This causes errors when translating logical addresses to physical:
  btrfs_map_logical_to_physical: Cannot map logical address <addr> to physical
  btrfs_file_read: Error reading extent

The behavior of btrfs_map_logical_to_physical() is to stop traversing
CHUNK_TREE when it encounters first non-CHUNK_ITEM, which makes
only some portion of CHUNK_ITEMs being read.
Change it to skip over non-chunk items.

Signed-off-by: Yevgeny Popovych <yevgenyp@pointgrab.com>
Cc: Marek Behun <marek.behun@nic.cz>
Cc: Sergey Struzh <sergeys@pointgrab.com>
Reviewed-by: Marek Behun <marek.behun@nic.cz>
6 years agoARM64: meson: Sync DT with Linux 4.17
Neil Armstrong [Tue, 5 Jun 2018 08:10:44 +0000 (10:10 +0200)]
ARM64: meson: Sync DT with Linux 4.17

Synchronize the Linux Device Tree for Amlogic Meson GX boards from Linux 4.17.0

This will enable USB on Amlogic Meson GXL Boards like Khadas VIM, P212 or
LibreTech-CC.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
6 years agofs: fat: fix wrong casting to unsigned value of sect_to_cluster()
Seung-Woo Kim [Mon, 4 Jun 2018 11:45:54 +0000 (20:45 +0900)]
fs: fat: fix wrong casting to unsigned value of sect_to_cluster()

After the commit 265edc03d5a1 ("fs/fat: Clean up open-coded sector
<-> cluster conversions"), it is hung up writing new file to FAT16
disk with more than 19 files in armv7. It is because result value
of sect_to_cluster() is not proper by casting from signed value to
unsigned value. Fix the wrong casting of sect_to_cluster().

Reported-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
6 years agousb: sunxi: sun50i: enable OHCI0 clock when OHCI1 is in use
Vasily Khoruzhick [Fri, 8 Jun 2018 02:23:41 +0000 (19:23 -0700)]
usb: sunxi: sun50i: enable OHCI0 clock when OHCI1 is in use

On A64 OHCI1 clock source is OHCI0 clock, so we need to enable OHCI0
clock when OHCI1 is in use.

Fixes commit dd3228170ad7 ("usb: sunxi: Switch to use generic-phy")

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
6 years agousb: sunxi: ohci: get rid of ifdefs
Vasily Khoruzhick [Fri, 8 Jun 2018 02:23:40 +0000 (19:23 -0700)]
usb: sunxi: ohci: get rid of ifdefs

We can use compatibles instead.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
6 years agousb: sunxi: ehci: get rid of ifdefs
Vasily Khoruzhick [Fri, 8 Jun 2018 02:23:39 +0000 (19:23 -0700)]
usb: sunxi: ehci: get rid of ifdefs

We can use compatibles instead.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
6 years agosunxi: clock: Fix EHCI and OHCI clocks on A64
Vasily Khoruzhick [Fri, 8 Jun 2018 02:23:38 +0000 (19:23 -0700)]
sunxi: clock: Fix EHCI and OHCI clocks on A64

EHCI0 is bit 24, EHCI1 - 25, OHCI0 - 28, OHCI1 - 29

Fixes commit fef73766d9ad ("sunxi: clock: Fix OHCI clock gating for H3/H5")

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
6 years agox86: cougarcanyon2: Add missing chipset interrupt information
Bin Meng [Tue, 12 Jun 2018 08:26:47 +0000 (01:26 -0700)]
x86: cougarcanyon2: Add missing chipset interrupt information

Add Panther Point chipset interrupt pin/PIRQ information, and
enable the generation of PIRQ routing table and MP table.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: irq: Support discrete PIRQ routing registers via device tree
Bin Meng [Tue, 12 Jun 2018 08:26:46 +0000 (01:26 -0700)]
x86: irq: Support discrete PIRQ routing registers via device tree

Currently both pirq_reg_to_linkno() and pirq_linkno_to_reg() assume
consecutive PIRQ routing control registers. But this is not always
the case on some platforms. Introduce a new device tree property
intel,pirq-regmap to describe how the PIRQ routing register offset
is mapped to the link number and adjust the irq router driver to
utilize the mapping.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: irq: Parse number of PIRQ links from device tree
Bin Meng [Tue, 12 Jun 2018 08:26:45 +0000 (01:26 -0700)]
x86: irq: Parse number of PIRQ links from device tree

The "intel,pirq-link" property in Intel IRQ router's dt bindings
has two cells, where the second one represents the number of PIRQ
links on the platform. However current driver does not parse this
information from device tree. This adds the codes to do the parse
and save it for future use.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: efi: payload: Minor clean up on error message output
Bin Meng [Sun, 10 Jun 2018 13:25:09 +0000 (06:25 -0700)]
x86: efi: payload: Minor clean up on error message output

If GetMemoryMap() fails, we really want to know EFI_BITS_PER_LONG
instead of BITS_PER_LONG. A space and LF are added in places where
error message is output to improve readability.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agodm: pci: Use a 1:1 mapping for bus <-> phy addresses
Christian Gmeiner [Sun, 10 Jun 2018 13:25:06 +0000 (06:25 -0700)]
dm: pci: Use a 1:1 mapping for bus <-> phy addresses

If U-Boot gets used as coreboot payload all pci resources got
assigned by coreboot. If a dts without any pci ranges gets used
the dm is not able to access pci device memory. To get things
working make use of a 1:1 mapping for bus <-> phy addresses.

This change makes it possible to get the e1000 U-Boot driver
working on a sandybridge device where U-Boot is used as coreboot
payload.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fixed 'u-boot' in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agodm: pci: Make ranges dt property optional
Christian Gmeiner [Sun, 10 Jun 2018 13:25:05 +0000 (06:25 -0700)]
dm: pci: Make ranges dt property optional

If we use U-Boot as coreboot payload with a generic dts without
any ranges specified we fail in pci pre_probe and our pci bus
is not usable.

So convert decode_regions(..) into a void function and do the simple
error handling there.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fixed 'u-boot' in the commit message and checkpatch warning]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: efi: payload: Enforce toolchain to generate 64-bit EFI payload stub codes
Bin Meng [Sun, 10 Jun 2018 13:25:03 +0000 (06:25 -0700)]
x86: efi: payload: Enforce toolchain to generate 64-bit EFI payload stub codes

Attempting to use a toolchain that is preconfigured to generate code
for the 32-bit architecture (i386), for example, the i386-linux-gcc
toolchain on kernel.org, to compile the 64-bit EFI payload does not
build. This updates the makefile fragments to ensure '-m64' is passed
to toolchain when building the 64-bit EFI payload stub codes.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: efi: app: Fix broken EFI application
Bin Meng [Sun, 10 Jun 2018 13:25:02 +0000 (06:25 -0700)]
x86: efi: app: Fix broken EFI application

The EFI application does not boot currently. It's due to the call
to syscon_get_by_driver_data() in cpu_init_r() maps to nowhere as
CONFIG_SYSCON is not included in the configuration.

EFI application is built as a shared library, so GCC won't complain
during the build process if some symbols are not found. GCC will
simply put these symbols into the .plt section and expect dynamic
loader to fix these up.

While we are here, remove some commands and drivers that are not
needed at present.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: Conditionally build the pinctrl_ich6 driver
Bin Meng [Sun, 10 Jun 2018 13:25:01 +0000 (06:25 -0700)]
x86: Conditionally build the pinctrl_ich6 driver

The pinctrl_ich6 driver is currently unconditionally built for all
x86 boards. Let's use a Kconfig option to control the build.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: irq: Change LINK_V2N and LINK_N2V to inline functions
Bin Meng [Mon, 4 Jun 2018 02:04:23 +0000 (19:04 -0700)]
x86: irq: Change LINK_V2N and LINK_N2V to inline functions

LINK_V2N and LINK_N2V are currently defines, so they cannot handle
complex logics. Change to inline functions for future extension.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: irq: Remove chipset specific irq router drivers
Bin Meng [Mon, 4 Jun 2018 02:04:22 +0000 (19:04 -0700)]
x86: irq: Remove chipset specific irq router drivers

At present there are 3 irq router drivers. One is the common one
and the other two are chipset specific for queensbay and quark.
However these are really the same drivers as the core logic is
the same. The two chipset specific drivers configure some registers
that are outside the irq router block which should really be part
of the chipset initialization.

Now we remove these specific drivers and make all x86 boards use
the common one.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: cougarcanyon2: Enable CPU driver and SMP support
Bin Meng [Mon, 4 Jun 2018 02:04:21 +0000 (19:04 -0700)]
x86: cougarcanyon2: Enable CPU driver and SMP support

This enables the 206ax cpu driver on Intel Cougar Canyon 2 board,
so that SMP can be supported too.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: chromebook_link: Remove dm-pre-reloc property in the cpu nodes
Bin Meng [Mon, 4 Jun 2018 02:04:20 +0000 (19:04 -0700)]
x86: chromebook_link: Remove dm-pre-reloc property in the cpu nodes

The 206ax cpu driver does not require pre-relocation flag to work.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: ivybridge: Drop CONFIG_USBDEBUG
Bin Meng [Mon, 4 Jun 2018 02:04:19 +0000 (19:04 -0700)]
x86: ivybridge: Drop CONFIG_USBDEBUG

This is not used anywhere. Clean this up.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: ivybridge: Enable 206ax cpu driver for FSP build
Bin Meng [Mon, 4 Jun 2018 02:04:18 +0000 (19:04 -0700)]
x86: ivybridge: Enable 206ax cpu driver for FSP build

At present this 206ax cpu driver is only built when FSP is not used.
This updates the Makefile to enable the build for both cases.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: cougarcanyon2: Remove CONFIG_HAVE_INTEL_ME
Bin Meng [Mon, 4 Jun 2018 02:04:17 +0000 (19:04 -0700)]
x86: cougarcanyon2: Remove CONFIG_HAVE_INTEL_ME

As README.x86 already mentions, there are two SPI flashes mounted
on Intel Cougar Canyon 2 board, called SPI-0 and SPI-1 respectively.
SPI-0 stores the flash descriptor and the ME firmware. SPI-1 stores
the actual BIOS image which is U-Boot. Building a single image with
both ME firmware and U-Boot does not make sense.

This also describes the exact flash location where the u-boot.rom
should be programmed in the documentation.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: cougarcanyon2: Update dts for SPI lock down
Bin Meng [Mon, 4 Jun 2018 02:04:16 +0000 (19:04 -0700)]
x86: cougarcanyon2: Update dts for SPI lock down

It turns out that like Braswell, Intel FSP for IvyBridge requires
SPI controller settings to be locked down, as the U-Boot ICH SPI
driver fails with the following message on Cougar Canyon 2 board:

  "ICH SPI: Opcode 9f not found"

Update the SPI node property to indicate this fact.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: ivybridge: Imply USB_XHCI_HCD
Bin Meng [Mon, 4 Jun 2018 02:04:15 +0000 (19:04 -0700)]
x86: ivybridge: Imply USB_XHCI_HCD

The Panther Point chipset connected to Ivybridge has xHC integrated,
imply it.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agousb: xhci-pci: Fix compiler warning
Bin Meng [Mon, 4 Jun 2018 02:04:14 +0000 (19:04 -0700)]
usb: xhci-pci: Fix compiler warning

This fixes the following compiler warning:

  "warning: cast from pointer to integer of different size
  [-Wpointer-to-int-cast]"

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: baytrail: Correct the comment of IACORE_VIDS bit ranges
Bin Meng [Thu, 24 May 2018 10:05:59 +0000 (03:05 -0700)]
x86: baytrail: Correct the comment of IACORE_VIDS bit ranges

The guaranteed vid bit ranges in IACORE_VIDS MSR is actually
[22:16]. This corrects the comment for it.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: acpi: Adopt new version of iASL compiler
Andy Shevchenko [Wed, 23 May 2018 09:38:02 +0000 (12:38 +0300)]
x86: acpi: Adopt new version of iASL compiler

The commit

  f9a88a4c1cd0 ("iASL: Enhance the -tc option (create AML hex file in C)")

in ACPICA project changed a template of the variable that is used
in the generated C-file. Now, instead of hard coded "AmlCode" the
"%s_aml_code" is in use, where the prefix is a lowered case base
name of the output file. In our case it will be "dsdt" producing
a name as "dsdt_aml_code".

The quick solution is to call sed which replaces new name by the
old one to keep compatibility with old version of iASL.

The long term solution would be to modify code to use the new name
because it is more scalable.

Cc: Robert Moore <robert.moore@intel.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Evan Lloyd <evan.lloyd@arm.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fixed two sentences in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
6 years agox86: tsc: add support for reading CPU freq from cpuid
Christian Gmeiner [Mon, 14 May 2018 09:32:17 +0000 (11:32 +0200)]
x86: tsc: add support for reading CPU freq from cpuid

Starting with cpuid level 0x16 (Skylake-based processors)
it is possible to get CPU base freq via cpuid.

This fixes booting on a skylake based system.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fixed wrong indention of labels]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
6 years agoinclude/linux/byteorder: Sync to latest Linux definitions
Ramon Fried [Mon, 4 Jun 2018 01:20:50 +0000 (04:20 +0300)]
include/linux/byteorder: Sync to latest Linux definitions

generic.h has changed in Linux and new addtionals functions were
added.

This commit takes the latest and greatest from Linux (v4.17-rc5)
to aid with porting drivers that utilize these functions.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
6 years agodoc: cmd: bubt: drop duplicated text
Baruch Siach [Sun, 3 Jun 2018 13:19:31 +0000 (16:19 +0300)]
doc: cmd: bubt: drop duplicated text

This commit removes text that is exact duplicated of the text above.

Cc: Konstantin Porotchkin <kostap@marvell.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Stefan Roese <sr@denx.de>
6 years agoconfigs: pcm051: Use am335x-wega-rdk.dtb as fdtfile
Matwey V. Kornilov [Sat, 2 Jun 2018 17:22:28 +0000 (20:22 +0300)]
configs: pcm051: Use am335x-wega-rdk.dtb as fdtfile

In upstream Linux kernel, the fdtfile
for this specific board is called am335x-wega-rdk.dtb

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
6 years agoconfigs: pcm051: Use DEFAULT_LINUX_BOOT_ENV instead of hardcoded values
Matwey V. Kornilov [Sat, 2 Jun 2018 17:22:27 +0000 (20:22 +0300)]
configs: pcm051: Use DEFAULT_LINUX_BOOT_ENV instead of hardcoded values

It appears that DEFAULT_LINUX_BOOT_ENV can be used to boot pcm051 board.

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
6 years agoconfigs: pcm051: Use DEFAULT_MMC_TI_ARGS instead of hardcoded duplicates
Matwey V. Kornilov [Sat, 2 Jun 2018 17:22:26 +0000 (20:22 +0300)]
configs: pcm051: Use DEFAULT_MMC_TI_ARGS instead of hardcoded duplicates

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
6 years agoconfigs: pcm051: Support distro bootcmds
Matwey V. Kornilov [Sat, 2 Jun 2018 17:22:25 +0000 (20:22 +0300)]
configs: pcm051: Support distro bootcmds

Add support for distro bootcmds.

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
6 years agoMerge git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Tue, 12 Jun 2018 17:25:24 +0000 (13:25 -0400)]
Merge git://git.denx.de/u-boot-fsl-qoriq

6 years agoMerge git://git.denx.de/u-boot-marvell
Tom Rini [Tue, 12 Jun 2018 11:26:15 +0000 (07:26 -0400)]
Merge git://git.denx.de/u-boot-marvell

6 years agoarm: mvebu: Add Helios4 Armada 38x initial support
Dennis Gilmore [Tue, 12 Jun 2018 00:39:53 +0000 (19:39 -0500)]
arm: mvebu: Add Helios4 Armada 38x initial support

The helios4 is built on the SolidRun Armada 38x SOM.
The port os based on the ClearFog board, using information from
https://github.com/helios-4/u-boot-marvell as well as dtb input
from https://github.com/helios-4/linux-marvell

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
Signed-off-by: Dennis Gilmore <dgilmore@redhat.com>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agoLS1012AFRWY: Add Secure Boot support
Vinitha V Pillai [Wed, 23 May 2018 05:33:31 +0000 (11:03 +0530)]
LS1012AFRWY: Add Secure Boot support

Added the following:
1. defconfig for LS1012AFRWY Secure boot
2. PfE Validation support

Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoboard: ls1012a: FRWY-LS1012A board support
Bhaskar Upadhaya [Wed, 23 May 2018 05:33:30 +0000 (11:03 +0530)]
board: ls1012a: FRWY-LS1012A board support

FRWY-LS1012A belongs to LS1012A family with features 2 1G SGMII PFE
MAC, Micro SD, USB 3.0, DDR, QuadSPI, Audio, UART.

Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@nxp.com>
[yorks: rebase and fix SPDX tag]
[yorks: fix board/freescale/ls1012afrdm/Kconfig]
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoboard: Kconfig: Re-Arrangement of PPA firmware and header addresses
Bhaskar Upadhaya [Wed, 23 May 2018 05:33:29 +0000 (11:03 +0530)]
board: Kconfig: Re-Arrangement of PPA firmware and header addresses

PPA firmware and header address may vary depending upon different
boards, configure ppa firmware and header address in board specific
Kconfig.

Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com>
Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoarm: ls1021aqds: config: enable CONFIG_ID_EEPROM for mac command
Jagdish Gediya [Wed, 9 May 2018 22:34:29 +0000 (04:04 +0530)]
arm: ls1021aqds: config: enable CONFIG_ID_EEPROM for mac command

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoboard/freescale,lsch3: Add entry for 0.9v
Priyanka Jain [Wed, 9 May 2018 07:24:38 +0000 (12:54 +0530)]
board/freescale,lsch3: Add entry for 0.9v

As per updated hardware documentation for
lsch3 based chips like LS2088A, 0.9v support
has been added in possible supported SoC volatges

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoarmv8: ls1088a: Enable USB in ls1088ardb_sdcard_qspi_SECURE_BOOT_defconfig
Ran Wang [Wed, 2 May 2018 07:08:14 +0000 (15:08 +0800)]
armv8: ls1088a: Enable USB in ls1088ardb_sdcard_qspi_SECURE_BOOT_defconfig

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoMerge branch 'master' of git://git.denx.de/u-boot-ubi
Tom Rini [Fri, 8 Jun 2018 14:08:20 +0000 (10:08 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-ubi

6 years agoMerge branch 'master' of git://git.denx.de/u-boot-i2c
Tom Rini [Fri, 8 Jun 2018 14:00:46 +0000 (10:00 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-i2c

6 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Fri, 8 Jun 2018 11:20:08 +0000 (07:20 -0400)]
Merge git://git.denx.de/u-boot-dm

6 years agocmd: add missing line breaks for pr_err()
Seung-Woo Kim [Mon, 4 Jun 2018 07:04:51 +0000 (16:04 +0900)]
cmd: add missing line breaks for pr_err()

After the commit 9b643e312d52 ("treewide: replace with error() with
pr_err()"), there are some pr_err() with no line break. Add missing
line breaks.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
6 years agoboard: samsung: add missing line breaks for pr_err()
Seung-Woo Kim [Mon, 4 Jun 2018 07:03:05 +0000 (16:03 +0900)]
board: samsung: add missing line breaks for pr_err()

After the commit 9b643e312d52 ("treewide: replace with error() with
pr_err()"), there are some pr_err() with no line break. Add missing
line breaks.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoscript: Make get_default_envs.sh script exclude tools/env
Seung-Woo Kim [Mon, 4 Jun 2018 04:25:04 +0000 (13:25 +0900)]
script: Make get_default_envs.sh script exclude tools/env

If building envtools, there is env directory in tools directory.
Mafe the get_default_envs.sh script exclude tools/env directory.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
6 years agocommon: iotrace: add timestamp to iotrace records
Ramon Fried [Wed, 30 May 2018 20:09:59 +0000 (23:09 +0300)]
common: iotrace: add timestamp to iotrace records

Add timestamp to each iotrace record to aid in debugging
of IO timing access bugs.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoiotrace: add IO region limit
Ramon Fried [Wed, 30 May 2018 20:09:58 +0000 (23:09 +0300)]
iotrace: add IO region limit

When dealing with a lot of IO regions, sometimes
it makes sense only to trace a specific one.
This patch adds support for region limits.
If region is not set, the iotrace works the same as it was.
If region is set, the iotrace only logs io operation that falls
in the defined region.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agocmd: iotrace: add set region command
Ramon Fried [Wed, 30 May 2018 20:09:57 +0000 (23:09 +0300)]
cmd: iotrace: add set region command

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agobug.h: introduce WARN_ONCE
Ramon Fried [Tue, 5 Jun 2018 21:38:59 +0000 (00:38 +0300)]
bug.h: introduce WARN_ONCE

Add WARN_ONCE definition to allow single time notification
of warnings to the user.
Taken from Linux kernel (4.17) with slight changes
(Removed __section(.data.once))

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
[trini: Drop the musb and dwc3 compat versions]
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agobinman: Mark 'align-end' as implemented
Simon Glass [Fri, 1 Jun 2018 15:38:22 +0000 (09:38 -0600)]
binman: Mark 'align-end' as implemented

The documentation says this is not implemented, but it is. Update the
documentation, and clarify its operation.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add support for adding a name prefix to entries
Simon Glass [Fri, 1 Jun 2018 15:38:21 +0000 (09:38 -0600)]
binman: Add support for adding a name prefix to entries

Sometimes we have several sections which repeat the same entries (e.g. for
a read-only and read-write version of the same section). It is useful to
be able to tell these entries apart by name.

Add a new 'name-prefix' property for sections, which causes all entries
within that section to have a given name prefix.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add support for outputing a map file
Simon Glass [Fri, 1 Jun 2018 15:38:20 +0000 (09:38 -0600)]
binman: Add support for outputing a map file

It is useful to be able to see a list of regions in each image produced by
binman. Add a -m option to output this information in a '.map' file
alongside the image file.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Tidy up some docs and comments
Simon Glass [Fri, 1 Jun 2018 15:38:19 +0000 (09:38 -0600)]
binman: Tidy up some docs and comments

Fix a few missing comments and tidy up some existing ones.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Allow a single test to be executed
Simon Glass [Fri, 1 Jun 2018 15:38:18 +0000 (09:38 -0600)]
binman: Allow a single test to be executed

Provide an easy way to execute a single binman test by specifying it on
the command line.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add documentation for pos-unset property
Simon Glass [Fri, 1 Jun 2018 15:38:17 +0000 (09:38 -0600)]
binman: Add documentation for pos-unset property

This property is not documented. Add a note to the README.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add support for sections
Simon Glass [Fri, 1 Jun 2018 15:38:16 +0000 (09:38 -0600)]
binman: Add support for sections

It is useful to be able to split an image into multiple sections,
each with its own size and position, for cases where a flash device has
read-only and read-write portions.

Add support for this.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Avoid setting sys.path globally
Simon Glass [Fri, 1 Jun 2018 15:38:15 +0000 (09:38 -0600)]
binman: Avoid setting sys.path globally

At present we set the Python path at the start of binman so we can read
modules in the 'etype' directory. This is a bit messy since it affects
'import' statements through binman.

Adjust the code to set the path locally, just where it is needed. Move
the 'entry' module in with the other base modules to help with this. It
makes more sense here anyway since it does not implement an entry type.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Rename Entry property to 'section'
Simon Glass [Fri, 1 Jun 2018 15:38:14 +0000 (09:38 -0600)]
binman: Rename Entry property to 'section'

Entries are now passed a Section object rather than an Image. Rename this
property to avoid confusion.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Rename ELF parameters to 'section'
Simon Glass [Fri, 1 Jun 2018 15:38:13 +0000 (09:38 -0600)]
binman: Rename ELF parameters to 'section'

We now pass a Section object to these functions rather than an Image.
Rename the parameters to avoid confusion.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Refactor much of the image code into 'section'
Simon Glass [Fri, 1 Jun 2018 15:38:12 +0000 (09:38 -0600)]
binman: Refactor much of the image code into 'section'

We want to support multiple sections within a single image. To do this,
move most of the Image class implementation into a new Section class. An
Image contains only a single Section, but at some point we will support
a new 'section' entry, thus allowing Sections within Sections.

Use the name 'bsection' for the module so we can use 'section' for the
etype module.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Allow unit addresses for binaries
Simon Glass [Fri, 1 Jun 2018 15:38:11 +0000 (09:38 -0600)]
binman: Allow unit addresses for binaries

Allow the same binary to appear multiple times in an image by using the
device-tree unit-address feature (u-boot@0, u-boot@1).

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobuildman: Add support for environment delta in summary
Alex Kiernan [Thu, 31 May 2018 04:48:34 +0000 (04:48 +0000)]
buildman: Add support for environment delta in summary

When summarising the builds, add the -U option to emit delta lines for
the default environment built into U-Boot at each commit.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agobuildman: Extract environment as part of each build
Alex Kiernan [Thu, 31 May 2018 04:48:33 +0000 (04:48 +0000)]
buildman: Extract environment as part of each build

As we're building the boards, extract the default U-Boot environment to
uboot.env so we can interrogate it later.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agotest: Fix sandbox_spl test filter
Simon Glass [Wed, 16 May 2018 07:10:24 +0000 (01:10 -0600)]
test: Fix sandbox_spl test filter

This filter does not match the test it is intended to anymore. Update it
so that it works again.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agopatman: Fix unit tests for SPDX
Simon Glass [Wed, 16 May 2018 06:48:16 +0000 (00:48 -0600)]
patman: Fix unit tests for SPDX

The format of this line has changed. Update the patman test to suit.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Alex Kiernan <alex.kiernan@gmail.com>
6 years agoblock: Have BLOCK_CACHE default to y in some cases
Tom Rini [Tue, 22 May 2018 16:24:16 +0000 (12:24 -0400)]
block: Have BLOCK_CACHE default to y in some cases

When dealing with filesystems that come from block devices we can get a
noticeable performance gain in some use cases from having the block
cache enabled.  The code paths are valid in other cases when we have BLK
set and may provide wins in raw reads in some use cases, so have this be
default when BLK is enabled.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoARM: orion5x: fix use of callee-saved registers in lowloevel_init
Mans Rullgard [Mon, 7 May 2018 10:10:47 +0000 (11:10 +0100)]
ARM: orion5x: fix use of callee-saved registers in lowloevel_init

The lowlevel_init function uses r4 and r6 without preserving their
values as required by the AAPCS.  Use r0 and r2 instead as these
are call-clobbered.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Reviewed-by: Chris Packham <judge.packham@gmail.com>
6 years agomvebu: turris_omnia: add note about i2c slave disable
Baruch Siach [Thu, 7 Jun 2018 09:38:11 +0000 (12:38 +0300)]
mvebu: turris_omnia: add note about i2c slave disable

Code that disables the i2c slave is now in the mvtwsi i2c driver.
Platform must enable DM_I2C to use that code. Add a comment in the code
as a reminder for the planned DM_I2C migration of Turris Omnia.

Reviewed-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
6 years agoi2c: mvtwsi: disable i2c slave on Armada 38x
Baruch Siach [Thu, 7 Jun 2018 09:38:10 +0000 (12:38 +0300)]
i2c: mvtwsi: disable i2c slave on Armada 38x

Equivalent code that disables the hidden i2c0 slave already exists in
the Turris Omnia platform specific code. But this hidden i2c0 slave that
interferes the i2c bus is not board specific. Armada 38x SoCs and at
least some Kirkwood variants are affected as well. Add code to disable
this slave to the i2c bus driver to make it work on all affected
hardware.

Use the bind callback because we want this to always run at boot,
regardless of whether U-Boot uses the i2c bus.

Cc: Rabeeh Khoury <rabeeh@solid-run.com>
Cc: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
6 years agoMerge branch 'master' of git://git.denx.de/u-boot-samsung
Tom Rini [Wed, 6 Jun 2018 13:08:16 +0000 (09:08 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-samsung

6 years agoMerge branch 'master' of git://git.denx.de/u-boot-spi
Tom Rini [Wed, 6 Jun 2018 11:16:43 +0000 (07:16 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-spi

6 years agomtd: ubi: Add missing newlines in ubi_init()
Stefan Roese [Tue, 29 May 2018 13:28:54 +0000 (15:28 +0200)]
mtd: ubi: Add missing newlines in ubi_init()

I just stumbled over some cluttered UBI messages. It seems some newline
chars are missing in the current U-Boot UBI source. Lets fix this
in U-Boot as well (Linux has those fixes already).

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Heiko Schocher <hs@denx.de>
6 years agomach-stm32: Enable SPL_RESET_SUPPORT flag
Patrice Chotard [Thu, 31 May 2018 07:00:43 +0000 (09:00 +0200)]
mach-stm32: Enable SPL_RESET_SUPPORT flag

Since commit 0e373c0ade8c ("spl: add SPL_RESET_SUPPORT"),
reset is supported in SPL, enable this flag for STM32F SoCs family.

This allows to remove a specific case in RCC mfd driver.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agodrivers/rtc: convert mvrtc to DM
Chris Packham [Mon, 28 May 2018 11:39:58 +0000 (23:39 +1200)]
drivers/rtc: convert mvrtc to DM

Add DM support for the Marvell RTC driver.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
6 years agodrivers/rtc: prepare mvrtc for DM conversion
Chris Packham [Mon, 28 May 2018 11:39:57 +0000 (23:39 +1200)]
drivers/rtc: prepare mvrtc for DM conversion

Split the rtc_{get,set,reset} functions so that the bodies can be used
in a DM driver.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
6 years agoboard_f: Only reserve memory for U-Boot if we're going to relocate
Alexey Brodkin [Fri, 25 May 2018 13:08:14 +0000 (16:08 +0300)]
board_f: Only reserve memory for U-Boot if we're going to relocate

In case of no relocation we'll just waste some space at the very end
of usable memory area. If target device has very limited amount of memory
(for example 256 kB) this loss will be pretty inconvenient.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: York Sun <york.sun@nxp.com>
Cc: Stefan Roese <sr@denx.de>
6 years agoboard: STiH410-B2260: Add pxefile_addr_r variable
Riku Voipio [Thu, 24 May 2018 14:15:26 +0000 (17:15 +0300)]
board: STiH410-B2260: Add pxefile_addr_r variable

Reading doc/README.distro , we see platform needs to set
pxefile_addr_r to support distro boot.

Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
6 years agomenu: fix timeout duration
Masahiro Yamada [Thu, 24 May 2018 08:04:57 +0000 (17:04 +0900)]
menu: fix timeout duration

For distro-boot, the TIMEOUT directive in the boot script specifies
how long to pause in units of 1/10 sec. [1]

Commit 8594753ba0a7 ("menu: only timeout when menu is displayed")
corrected this by simply dividing the timeout value by 10 in
menu_interactive_choice().

I see two problems:

 - For example, "TIMEOUT 5" should wait for 0.5 sec, but the current
   implementation cannot handle the granularity of 1/10 sec.
   In fact, it never breaks because "m->timeout / 10" is zero,
   which means no timeout.

 - The menu API is used not only by cmd/pxe.c but also by
   common/autoboot.c .  For the latter case, the unit of the
   timeout value is _second_ because its default is associated
   with CONFIG_BOOTDELAY.

To fix the first issue, use DIV_ROUND_UP() so that the timeout value
is rounded up to the closest integer.

For the second issue, move the division to the boundary between
cmd/pxe.c and common/menu.c .  This is a more desirable place because
the comment of struct pxe_menu says:

 * timeout - time in tenths of a second to wait for a user key-press before
 *           booting the default label.

Then, the comment of menu_create() says:

 * timeout - A delay in seconds to wait for user input. If 0, timeout is
 * disabled, and the default choice will be returned unless prompt is 1.

[1] https://www.syslinux.org/wiki/index.php?title=SYSLINUX#TIMEOUT_timeout

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
6 years agodisk: efi: Correct backing up the MBR boot code
Sam Protsenko [Mon, 21 May 2018 23:04:21 +0000 (02:04 +0300)]
disk: efi: Correct backing up the MBR boot code

In commit e163a931af34 ("cmd: gpt: backup boot code before writing MBR")
there was added the procedure for storing old boot code when doing "gpt
write". But instead of storing just backup code, the whole MBR was
stored, and only specific fields were replaced further, keeping
everything else intact. That's obviously not what we want.

Fix the code to actually store only old boot code and zero out
everything else. This fixes next testing case:

    => mmc write $loadaddr 0x0 0x7b
    => gpt write mmc 1 $partitions

In case when $loadaddr address and further memory contains 0xff, the
board was bricked (ROM-code probably didn't like partition entries that
were clobbered with 0xff). With this patch applied, commands above don't
brick the board.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Cc: Alejandro Hernandez <ajhernandez@ti.com>
Tested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
6 years agoARM: legoev3: update boot script to load uEnv.txt and .dtb
David Lechner [Sun, 20 May 2018 04:25:07 +0000 (23:25 -0500)]
ARM: legoev3: update boot script to load uEnv.txt and .dtb

This updates the LEGO MINDSTORMS EV3 boot script to try loading a
uEnv.txt file and a da850-lego-ev3.dtb device tree during boot.

Signed-off-by: David Lechner <david@lechnology.com>