oweals/u-boot.git
5 years agopci: Show a message if PCI autoconfig fails
Simon Glass [Wed, 25 Sep 2019 14:56:16 +0000 (08:56 -0600)]
pci: Show a message if PCI autoconfig fails

At present this fails silently which can be confusing since some devices
on the PCI bus may not work correctly. Show a message in this case.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: add a '\n' in the PCI autoconfig fail message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: Add more debug detail when resources are exhausted
Simon Glass [Wed, 25 Sep 2019 14:56:15 +0000 (08:56 -0600)]
pci: Add more debug detail when resources are exhausted

If PCI auto-config runs out of memory, show a few more details to help
diagnose the problem.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: change %x to %llx to avoid build warnings on some platforms]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: Correct 'specifified' and 'Plese' typos
Simon Glass [Wed, 25 Sep 2019 14:56:14 +0000 (08:56 -0600)]
pci: Correct 'specifified' and 'Plese' typos

Fix these spelling errors the header file and documentation.

Fix a small typo in the PCI documentation.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: Disable autoconfig in SPL
Simon Glass [Wed, 25 Sep 2019 14:56:13 +0000 (08:56 -0600)]
pci: Disable autoconfig in SPL

At present U-Boot runs autoconfig in SPL but this is best left to U-Boot
proper. For TPL and SPL we can normally used fixed BARs and save code size
and time.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: Show the result of binding a device
Simon Glass [Wed, 25 Sep 2019 14:56:12 +0000 (08:56 -0600)]
pci: Show the result of binding a device

Update the debugging info a little to show the result of trying to bind
a PCI device.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: sandbox: Probe PCI emulation devices when used
Simon Glass [Sat, 31 Aug 2019 23:59:32 +0000 (17:59 -0600)]
pci: sandbox: Probe PCI emulation devices when used

At present PCI emulation devices are not probed before use, since they
used to be children of the device that used them, and children cannot be
probed before their parents.

Now that PCI emulation devices are attached to the root node, we can
simply probe them, and avoid using the internal function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: rebase the patch against u-boot-x86/next to get it applied cleanly]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: sandbox: Move the emulators into their own node
Simon Glass [Wed, 25 Sep 2019 14:56:10 +0000 (08:56 -0600)]
pci: sandbox: Move the emulators into their own node

Sandbox pci works using emulation drivers which are currently children of
the pci device:

pci-controller {
pci@1f,0 {
compatible = "pci-generic";
reg = <0xf800 0 0 0 0>;
emul@1f,0 {
compatible = "sandbox,swap-case";
};
};
};

In this case the emulation device is attached to pci device on address
f800 (device 1f, function 0) and provides the swap-case functionality.

However this is not ideal, since every device on a PCI bus has a child
device. This is only really the case for sandbox, but we want to avoid
special-case code for sandbox.

Worse, child devices cannot be probed before their parents. This forces
us to use 'find' rather than 'get' to obtain the emulator device. In fact
the emulator devices are never probed. There is code in
sandbox_pci_emul_post_probe() which tries to track when emulators are
active, but at present this does not work.

A better approach seems to be to add a separate node elsewhere in the
device tree, an 'emulation parent'. This could be given a bogus address
(such as -1) to hide the emulators away from the 'pci' command, but it
seems better to keep it at the root node to avoid such hacks.

Then we can use a phandle to point from the device to the correct
emulator, and only on sandbox. The code to find an emulator does not
interfere with normal pci operation.

Add a new UCLASS_PCI_EMUL_PARENT uclass which allows finding an emulator
given a bus, and finding a bus given an emulator. Update the existing
device trees and the code for finding an emulator.

This brings PCI emulators more into line with I2C.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fix 3 typos in the commit message;
        encode bus number in the labels of swap_case_emul nodes;
        mention commit 4345998ae9df in sandbox_pci_get_emul()]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: Allow use of real I/O with readl(), etc.
Simon Glass [Wed, 25 Sep 2019 14:56:09 +0000 (08:56 -0600)]
sandbox: Allow use of real I/O with readl(), etc.

At present these functions are stubbed out. For more comprehensive testing
with PCI devices it is useful to be able to fully emulate I/O access. Add
simple implementations for these.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: change to use 'const void *' in sandbox_write();
        cast 'addr' in read/write macros in arch/sandbox/include/asm/io.h;
        remove the unnecessary cast in readq/writeq in nvme.h]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: pci: Increase the memory space
Simon Glass [Wed, 25 Sep 2019 14:56:08 +0000 (08:56 -0600)]
sandbox: pci: Increase the memory space

Increase the memory space so we can support the p2sb bus which needs
multiples of 1MB.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: Add a -T flag to use the test device tree
Simon Glass [Wed, 25 Sep 2019 14:56:07 +0000 (08:56 -0600)]
sandbox: Add a -T flag to use the test device tree

U-Boot already supports using -D to indicate that it should use the normal
device tree. It is sometimes useful to run with the test device tree, e.g.
when running a test. Add a -T option for this along with some
documentation.

It can be used like this:

   /tmp/b/sandbox/u-boot -T -c "ut dm pci_busdev"

(this will use /tmp/b/sandbox/arch/sandbox/dts/test.dtb as the DT)

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: pci: Move pci_offset_to_barnum() to pci.h
Simon Glass [Wed, 25 Sep 2019 14:56:06 +0000 (08:56 -0600)]
sandbox: pci: Move pci_offset_to_barnum() to pci.h

This function is useful in PCI emulators. More it into the header file to
avoid duplicating it in other drivers.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: pci: Drop the get_devfn() method
Simon Glass [Wed, 25 Sep 2019 14:56:04 +0000 (08:56 -0600)]
sandbox: pci: Drop the get_devfn() method

This method is not used anymore since the bus/device/function of PCI
devices can be obtained from their (parent's per-child) platform data.
Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: swap_case: Use statics where possible
Simon Glass [Wed, 25 Sep 2019 14:56:03 +0000 (08:56 -0600)]
sandbox: swap_case: Use statics where possible

Some functions and a struct should be marked static since they are not
used outside this file. Update them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: Add support for clrsetio_32() and friends
Simon Glass [Wed, 25 Sep 2019 14:56:02 +0000 (08:56 -0600)]
sandbox: Add support for clrsetio_32() and friends

These functions are available on x86 but not sandbox. They are useful
shortcuts and clarify the code, so add them to sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: Rename PCI ID for swap_case to be more specific
Simon Glass [Wed, 25 Sep 2019 14:56:01 +0000 (08:56 -0600)]
sandbox: Rename PCI ID for swap_case to be more specific

Rename this ID to SANDBOX_PCI_SWAP_CASE_EMUL_ID since it is more
descriptive and allows us to add new PCI emulators without any conflict or
confusion.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: mmc: Fix up MMC emulator for valgrind
Simon Glass [Wed, 25 Sep 2019 14:56:00 +0000 (08:56 -0600)]
sandbox: mmc: Fix up MMC emulator for valgrind

At present running sandbox with valgrind produces some warnings due to the
MMC emulator not filling in all the expected fields. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: use sizeof() instead of hardcoded 16]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agosandbox: spmi: Add ranges property for address translation
Simon Glass [Wed, 25 Sep 2019 14:55:59 +0000 (08:55 -0600)]
sandbox: spmi: Add ranges property for address translation

At present address translation does not work since there is no ranges
property in the spmi nodes. Add empty ranges properties and a little more
logging so that this shows the error:

   /tmp/b/sandbox/u-boot -d /tmp/b/sandbox/arch/sandbox/dts/test.dtb \
-c "ut dm spmi_access_peripheral" -L7 -v
   ...
   pm8916_gpio_probe() bad address: returning err=-22

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: test: Correct a stray backslash in dm_test_destroy()
Simon Glass [Wed, 25 Sep 2019 14:55:57 +0000 (08:55 -0600)]
dm: test: Correct a stray backslash in dm_test_destroy()

This should perhaps be a period.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: add the ending period and reword the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: core: Add device_foreach_child()
Simon Glass [Wed, 25 Sep 2019 14:55:56 +0000 (08:55 -0600)]
dm: core: Add device_foreach_child()

We have a 'safe' version of this function but sometimes it is not needed.
Add a normal version too and update a few places that can use it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: core: Correct the return value for uclass_find_first_device()
Simon Glass [Wed, 25 Sep 2019 14:55:55 +0000 (08:55 -0600)]
dm: core: Correct the return value for uclass_find_first_device()

This function returns -ENODEV when there is no device. This is
inconsistent with other functions, such as uclass_find_next_device(),
which returns 0.

Update it and tidy up the incorrect '-1' values in the comments.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: core: Call ofdata_to_platdata() with of-platdata
Simon Glass [Wed, 25 Sep 2019 14:55:53 +0000 (08:55 -0600)]
dm: core: Call ofdata_to_platdata() with of-platdata

At present this function is never called when of-platdata is enabled since
we never have a device tree. However, this function is responsible for
copying over the of-platdata, so we must call it. Otherwise the probe()
method would have to be used.

Correct this and fix the sandbox serial driver to not read from the device
tree and try to write to what is read-only platdata on some platforms.

Fixes: 396e343b3d (dm: core: Allow binding a device from a live tree)
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: test: Don't fail when tests are skipped due to build
Simon Glass [Wed, 25 Sep 2019 14:55:52 +0000 (08:55 -0600)]
dm: test: Don't fail when tests are skipped due to build

At present tests that are marked as only for livetree fail when executed
on sandbox_flattree. They cannot actually be executed, but we should not
resport them as 'not found', since this causes errors. Instead, they
should be silently skipped.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: test: Fix running of multiple test from command line
Simon Glass [Wed, 25 Sep 2019 14:55:51 +0000 (08:55 -0600)]
dm: test: Fix running of multiple test from command line

At present when multiple 'ut dm' commands are executed, all but the first
is run with a flat tree, even if live tree is enabled. This is because the
live tree node pointer is set to NULL and never restored.

This does not affect normal test running, which just runs all the test in
one go, but can be confusing when several individual tests are run during
the same U-Boot run.

Correct this by restoring the pointer.

Fixes: c166c47ba3 (dm: test: Add support for running tests with livetree)
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: core: Add documentation on how to debug driver model
Simon Glass [Wed, 25 Sep 2019 14:55:48 +0000 (08:55 -0600)]
dm: core: Add documentation on how to debug driver model

Sometimes devices don't appear and it can be confusing. Add a few notes to
help with this situation.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fix 2 issues in the doc and include the doc in the index.rst]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: core: Drop a few early returns
Simon Glass [Wed, 25 Sep 2019 14:55:47 +0000 (08:55 -0600)]
dm: core: Drop a few early returns

Two functions in this file return early for no good reason. Adjust the
code to match the standard DM style of returning 0 at the end of the
function on success.

Oddly enough this save 12 bytes of code size on ARM.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: core: Use U-Boot logging instead of pr_debug()
Simon Glass [Wed, 25 Sep 2019 14:55:45 +0000 (08:55 -0600)]
dm: core: Use U-Boot logging instead of pr_debug()

The pr_debug() functions do not response to setting the log level and in
fact have their own separate log level. Use U-Boot logging instead.

Perhaps we should make these options redirect to log_debug(), etc.?

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Rename turbo ratio MSR to MSR_TURBO_RATIO_LIMIT
Simon Glass [Wed, 25 Sep 2019 14:11:47 +0000 (08:11 -0600)]
x86: Rename turbo ratio MSR to MSR_TURBO_RATIO_LIMIT

This MSR number is used on most modern Intel processors, so drop the
confusing NHM prefix (which might mean Nehalem).

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: drop MSR_IVT_TURBO_RATIO_LIMIT as no code uses it]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Add various MTRR indexes and values
Simon Glass [Wed, 25 Sep 2019 14:11:46 +0000 (08:11 -0600)]
x86: Add various MTRR indexes and values

Add some new MTRRs used by Apollolake as well as a mask for the MTRR
type.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Add more comments to the start-up code
Simon Glass [Wed, 25 Sep 2019 14:11:44 +0000 (08:11 -0600)]
x86: Add more comments to the start-up code

The full start-up sequence (TPL->SPL->U-Boot) can be a bit confusing since
each phase has its own 'start' file. Add comments to explain this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Change condition for using CAR
Simon Glass [Wed, 25 Sep 2019 14:11:43 +0000 (08:11 -0600)]
x86: Change condition for using CAR

At present we assume that CAR (Cache-as-RAM) is used if HOBs (Hand-off
blocks) are not, since HOBs typically indicate that an FSP is in use, and
FSPs handle the CAR init.

However this is a bit indirect, and for FSP2 machines which use their own
CAR implementation (such as apollolake) but use the FSP for other
functions, the logic is wrong.

To fix this, add a dedicated Kconfig option to indicate when CAR is used.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fix a typo in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: fsp: Save usable RAM and hob_list in the handoff area
Simon Glass [Wed, 25 Sep 2019 14:11:41 +0000 (08:11 -0600)]
x86: fsp: Save usable RAM and hob_list in the handoff area

The useable RAM is calculated when the RAM is inited. Save this value so
that it can be easily used in U-Boot proper.

Also save a pointer to the hob list so that it is accessible (before
relocation only) in U-Boot proper. This avoids having to scan it in SPL,
for everything U-Boot proper might need later.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: guard handoff_arch_save() with IS_ENABLED(CONFIG_USE_HOB)]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: spl: Move broadwell-specific code out of generic x86 spl
Simon Glass [Wed, 25 Sep 2019 14:11:40 +0000 (08:11 -0600)]
x86: spl: Move broadwell-specific code out of generic x86 spl

When TPL is running, broadwell needs to do different init from SPL. There
is no need for this code to be in the generic x86 SPL file, so move it to
arch_cpu_init().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: spl: Reduce priority of the basic SPL image loader
Simon Glass [Wed, 25 Sep 2019 14:11:39 +0000 (08:11 -0600)]
x86: spl: Reduce priority of the basic SPL image loader

This image loader works on systems where the flash is directly mapped to
the last part of the 32-bit address space. On recent Intel systems (such
as apollolake) this is not the case.

Reduce the priority of this loader so that another one can override it.

While we are here, rename the loader to BOOT_DEVICE_SPI_MMAP since
BOOT_DEVICE_BOARD is not very descriptive.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: spl: Use hang() instead of a while() loop
Simon Glass [Wed, 25 Sep 2019 14:11:38 +0000 (08:11 -0600)]
x86: spl: Use hang() instead of a while() loop

Use the standard hang() function when booting fails since this implements
the defined U-Boot behaviour for this situation.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: pci: Add a function to clear and set PCI config regs
Simon Glass [Wed, 25 Sep 2019 14:11:37 +0000 (08:11 -0600)]
x86: pci: Add a function to clear and set PCI config regs

At present the x86 pre-DM equivalent of pci_bus_clrset_config32() does not
exist. Add it to simplify PCI init code on x86.

Also add the missing functions to this header.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Add binman symbols to the image
Simon Glass [Wed, 25 Sep 2019 14:11:36 +0000 (08:11 -0600)]
x86: Add binman symbols to the image

It is useful in SPL and TPL to access symbols from binman, such as the
position and size of an entry in the ROM. Collect these symbols together
in the SPL binaries.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move common Intel CPU info code into a function
Simon Glass [Wed, 25 Sep 2019 14:11:35 +0000 (08:11 -0600)]
x86: Move common Intel CPU info code into a function

Add cpu_intel_get_info() to find out the CPU info on modern Intel CPUs.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: add parameter and return value descriptions]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: fsp: Add access to variable MRC data
Simon Glass [Wed, 25 Sep 2019 14:11:34 +0000 (08:11 -0600)]
x86: fsp: Add access to variable MRC data

With FSP2 the non-volatile storage used by the FSP to init memory can be
split into a fixed piece (determined at compile time) and a variable piece
(determined at run time). Add support for reading the latter.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: fsp: Add a few more definitions for FSP2
Simon Glass [Wed, 25 Sep 2019 14:11:33 +0000 (08:11 -0600)]
x86: fsp: Add a few more definitions for FSP2

Add definitions for the FSP signature and the FSP init phase.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoefi: Move inline functions to unconditional part of header
Simon Glass [Wed, 25 Sep 2019 14:11:32 +0000 (08:11 -0600)]
efi: Move inline functions to unconditional part of header

At present these two functions are defined in efi_loader.h but only if
CONFIG_EFI_LOADER is enabled. But these are functions that are useful to
other code, such as that which deals with Intel Handoff Blocks (HOBs).

Move these to the top of the function.

Possibly ascii2unicode() should not be an inline function, since this
might impact code size.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: fsp: Move common support functions into a common file
Simon Glass [Wed, 25 Sep 2019 14:11:31 +0000 (08:11 -0600)]
x86: fsp: Move common support functions into a common file

Some of this file can be shared between FSP1 and FSP2. Move it into a
shared file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move common fsp functions into a common file
Simon Glass [Wed, 25 Sep 2019 14:11:30 +0000 (08:11 -0600)]
x86: Move common fsp functions into a common file

Some of this file can be shared between FSP1 and FSP2. Move it into a
shared file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: fsp: Move common dram functions into a common file
Simon Glass [Sat, 24 Aug 2019 20:10:32 +0000 (14:10 -0600)]
x86: fsp: Move common dram functions into a common file

Most of the DRAM functionality can be shared between FSP1 and FSP2. Move
it into a shared file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: rebase the patch against u-boot-x86/next to get it applied cleanly]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: fsp: Tidy up comment style a little
Simon Glass [Sun, 25 Aug 2019 16:10:59 +0000 (10:10 -0600)]
x86: fsp: Tidy up comment style a little

The comments in the FSP code use a different style from the rest of the
x86 code. I am not sure it this is intentional.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fix 2 comment style issues]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: fsp: Use if() instead of #ifdef
Simon Glass [Wed, 25 Sep 2019 14:11:27 +0000 (08:11 -0600)]
x86: fsp: Use if() instead of #ifdef

Update a few #ifdefs to if() to improve build coverage.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: recover the codes that got wrongly deleted in dram_init()]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: fsp: Create a common fsp_support.h header
Simon Glass [Sat, 24 Aug 2019 20:19:05 +0000 (14:19 -0600)]
x86: fsp: Create a common fsp_support.h header

Many support functions are common between FSP1 and FSP2. Add a new header
to handle this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: remove forward declarations in fsp_support.h]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Rename some FSP functions to have an fsp_ prefix
Simon Glass [Wed, 25 Sep 2019 14:11:25 +0000 (08:11 -0600)]
x86: Rename some FSP functions to have an fsp_ prefix

Given these exported function an fsp_ prefix since they are declared in an
fsp.h header.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: sysreset: Allow reset driver to be included in SPL/TPL
Simon Glass [Wed, 25 Sep 2019 14:11:24 +0000 (08:11 -0600)]
x86: sysreset: Allow reset driver to be included in SPL/TPL

At present this driver is always included in SPL and TPL, if U-Boot proper
enables it. Update the Makefile to provide full control using the existing
Kconfig options.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: make the Kconfig help text a little bit clearer]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agospl: Add a function to determine the U-Boot phase
Simon Glass [Wed, 25 Sep 2019 14:11:20 +0000 (08:11 -0600)]
spl: Add a function to determine the U-Boot phase

U-Boot is built in three phases: TPL, SPL and U-Boot proper. Sometimes
it is necessary to use different init code depending on the phase. For
example, TPL might do very basic CPU init, SPL might do a little more
and U-Boot proper might bring the CPU up to full speed and enable all
cores.

Add a function which allows easy determination of the current phase being
built.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agospl: Set up the bloblist in board_init_r()
Simon Glass [Wed, 25 Sep 2019 14:11:19 +0000 (08:11 -0600)]
spl: Set up the bloblist in board_init_r()

At present the bloblist is set up in spl_common_init() which can be called
from spl_early_init(), i.e. before SDRAM is ready. This prevents the
bloblist from being located in SDRAM, which is useful on some platforms
where SRAM is inaccessible after U-Boot relocates (e.g. x86 CAR region).

It doesn't serve much purpose to have the bloblist available early, since
very little is known about the platform then, and the handoff info is
written when SPL is about to jump to U-Boot.

Move the code to board_init_r() to avoid any restrictions.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agospl: Add an arch-specific hook for writing to SPL handoff
Simon Glass [Wed, 25 Sep 2019 14:11:18 +0000 (08:11 -0600)]
spl: Add an arch-specific hook for writing to SPL handoff

At present there is an arch-specific area in the SPL handoff area intended
for use by arch-specific code, but there is no explicit call to fill in
this data. Add a hook for this.

Also use the hook to remove the sandbox-specific test code from
write_spl_handoff().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agospl: handoff: Correct Kconfig condition for SPL and TPL
Simon Glass [Wed, 25 Sep 2019 14:11:17 +0000 (08:11 -0600)]
spl: handoff: Correct Kconfig condition for SPL and TPL

At present these options can be enabled when bloblist is not enabled for
SPL or TPL. This is incorrect as SPL handoff requires bloblist. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agospl: Avoid checking for Ctrl-C in SPL with print_buffer()
Simon Glass [Wed, 25 Sep 2019 14:11:16 +0000 (08:11 -0600)]
spl: Avoid checking for Ctrl-C in SPL with print_buffer()

We don't have a console in SPL so it doesn't make sense to check for
Ctrl-C when printing a memory dump. Skip this so that print_buffer() can
be used in SPL.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoserial: ns16550: Allow serial to enabled/disabled in SPL
Simon Glass [Wed, 25 Sep 2019 14:11:14 +0000 (08:11 -0600)]
serial: ns16550: Allow serial to enabled/disabled in SPL

At present this driver uses the wrong condition for including the code and
drivers in SPL/TPL. Update it so that the code is only included if
DM_SERIAL is enabled for SPL/TPL.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agomtd: spi: Add 'struct spi_flash {' to the code
Simon Glass [Wed, 25 Sep 2019 14:11:13 +0000 (08:11 -0600)]
mtd: spi: Add 'struct spi_flash {' to the code

At present spi_flash is defined to be spi_nor which is confusing since it
is not possible to find the 'spi_flash' by normal text search. Add a
comment to help with this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agobinman: Allow selection of logging verbosity
Simon Glass [Wed, 25 Sep 2019 14:11:11 +0000 (08:11 -0600)]
binman: Allow selection of logging verbosity

Support a new BINMAN_VERBOSE option to the build, to allow passing the
-v flag to binman.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agobinman: Pass the toolpath to binman from the main Makefile
Simon Glass [Wed, 25 Sep 2019 14:11:10 +0000 (08:11 -0600)]
binman: Pass the toolpath to binman from the main Makefile

Pass in the toolpath in case binman needs to use tools compiled in the
U-Boot tools/ directory.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move fsp_ffs.h include to fsp_arch.h
Simon Glass [Wed, 25 Sep 2019 14:00:20 +0000 (08:00 -0600)]
x86: Move fsp_ffs.h include to fsp_arch.h

This include file is only used for FSP v1. Avoid including it from
fdt_support.h so we can use the latter with FSP v2.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move fsp_bootmode.h to the generic fsp directory
Simon Glass [Wed, 25 Sep 2019 14:00:19 +0000 (08:00 -0600)]
x86: Move fsp_bootmode.h to the generic fsp directory

This header file is the same for FSP v1 and v2, although there may be
some additions to come. Move it into the generic fsp directory.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move fsp_infoheader.h to the generic fsp directory
Simon Glass [Wed, 2 Oct 2019 00:26:41 +0000 (08:26 +0800)]
x86: Move fsp_infoheader.h to the generic fsp directory

This header file is the same for FSP v1 and v2. Move it into the general
fsp directory.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: move rename of fsp_infoheader.h from previous patch to this one]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move fsp_hob.h to the generic fsp directory
Simon Glass [Wed, 2 Oct 2019 00:25:10 +0000 (08:25 +0800)]
x86: Move fsp_hob.h to the generic fsp directory

This header file is the same for FSP v1 and v2. Move it into the general
fsp directory.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: remove inclusion of fsp_hob.h in fsp_support.h]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move fsp_fv.h to the generic fsp directory
Simon Glass [Wed, 25 Sep 2019 14:00:16 +0000 (08:00 -0600)]
x86: Move fsp_fv.h to the generic fsp directory

This header file is the same for FSP v1 and v2. Move it into the general
fsp directory.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move fsp_types.h to the generic fsp directory
Simon Glass [Wed, 25 Sep 2019 14:00:15 +0000 (08:00 -0600)]
x86: Move fsp_types.h to the generic fsp directory

This header file is the same for FSP v1 and v2. Move it into the general
fsp directory.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move fsp_api.h inclusion out of fsp_support.h
Simon Glass [Wed, 25 Sep 2019 14:00:14 +0000 (08:00 -0600)]
x86: Move fsp_api.h inclusion out of fsp_support.h

This header file is different for each version of FSP. Move it into the
fsp_arch.h header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Create a new fsp_arch.h header
Simon Glass [Wed, 25 Sep 2019 14:00:13 +0000 (08:00 -0600)]
x86: Create a new fsp_arch.h header

At present fsp_support.h includes fsp_vpd.h which is an FPSv1 concept
(VPD means Vital Product Data). For FSPv2 only UPD (Updatable Product
Data) is used.

To avoid mangling header files, put these two includes in a separate
header which we can adjust as necessary for FSPv2.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Move fsp_azalia.h to the generic fsp directory
Simon Glass [Wed, 25 Sep 2019 14:00:12 +0000 (08:00 -0600)]
x86: Move fsp_azalia.h to the generic fsp directory

This header file is the same for FSP v1 and v2. Move it into the general
fsp directory.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: remove forward declarations in fsp_support.h]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: Rename existing FSP code to fsp1
Simon Glass [Wed, 25 Sep 2019 14:00:11 +0000 (08:00 -0600)]
x86: Rename existing FSP code to fsp1

Since there is now a new version of the FSP and it is incompatible with
the existing version, move the code into an fsp1 directory. This will
allow us to put FSP v2 code into an fsp2 directory.

Add a Kconfig which defines which version is in use.

Some of the code in this new fsp1/ directory is generic across both FSPv1
and FSPv2. Future patches will address this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoPrepare v2019.10 v2019.10
Tom Rini [Mon, 7 Oct 2019 21:14:02 +0000 (17:14 -0400)]
Prepare v2019.10

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoNET: DW: fix regression for ARC boards
Eugeniy Paltsev [Mon, 7 Oct 2019 16:10:50 +0000 (19:10 +0300)]
NET: DW: fix regression for ARC boards

The commit
642b80d256e ("net: designware: drop compatible altr, socfpga-stmmac")
breaks designware ethernet for all ARC boards. It removes
"altr, socfpga-stmmac" compatible from "drivers/net/designware.c"
without changing compatible in the boards which use it.

Fix that by adding "snps,arc-dwmac-3.70a" compatible string to
"drivers/net/designware.c" and using it in ARC boards device tree.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
5 years agoMerge branch '2019-10-06-master-imports'
Tom Rini [Sun, 6 Oct 2019 22:02:18 +0000 (18:02 -0400)]
Merge branch '2019-10-06-master-imports'

- Regression work-around on SoCFPGA by disabling WDT in some cases.
- Fix seg fault on 'host info' in some cases.

5 years agocmd: host: fix seg fault at "host info"
AKASHI Takahiro [Thu, 22 Aug 2019 07:47:39 +0000 (16:47 +0900)]
cmd: host: fix seg fault at "host info"

With the patch below applied, host_block_dev structure was switched
to be placed in platdata rather than priv. The command "host info"
must be aligned with this change. Otherwise, we will see "Segmentation
Fault."

Fixes: 8f994c860d91 ("sandbox: blk: Switch to use platdata_auto_alloc_size for the driver data")
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoMAINTAINERS: Update my email address
Maxime Ripard [Thu, 3 Oct 2019 16:32:11 +0000 (18:32 +0200)]
MAINTAINERS: Update my email address

I'm not at bootlin anymore, and my mail address doesn't work any longer.

Signed-off-by: Maxime Ripard <mripard@kernel.org>
5 years agoarm: socfpga: disable CONFIG_SPL_WDT for gen5 and a10
Simon Goldschmidt [Sat, 5 Oct 2019 20:10:11 +0000 (22:10 +0200)]
arm: socfpga: disable CONFIG_SPL_WDT for gen5 and a10

These boards don't have a watchdog enabled in SPL, so make sure
CONFIG_SPL_WDT is not enabled.

Fixes: commit 6874cb72204f ("watchdog: Split WDT from SPL_WDT")

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agogitlab-ci: fix typo 'plaforms'
Heinrich Schuchardt [Sun, 6 Oct 2019 10:26:16 +0000 (12:26 +0200)]
gitlab-ci: fix typo 'plaforms'

%s/plaforms/platforms/g

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Sun, 6 Oct 2019 00:06:58 +0000 (20:06 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

- ARM: dts: rmobile: Restore increase off-on delay on the SD Vcc regulator

5 years agoMerge branch '2019-10-04-master-imports'
Tom Rini [Fri, 4 Oct 2019 16:22:43 +0000 (12:22 -0400)]
Merge branch '2019-10-04-master-imports'

- Assorted TI platform fixes
- Revert the change that broke environment flag validation
- Assorted typo fixes
- Assorted Kconfig dependency fixes
- Other minor bug fixes

5 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
Tom Rini [Fri, 4 Oct 2019 16:22:28 +0000 (12:22 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86

- dm: core: Correct low cell in ofnode_read_pci_addr()
- dm: core: Correct bad cast in ofnode_get_addr_size_index()

5 years agoRevert "env: solve compilation error in SPL"
Tom Rini [Fri, 4 Oct 2019 16:21:33 +0000 (12:21 -0400)]
Revert "env: solve compilation error in SPL"

This reverts commit 7d4776545b0f8a8827e5d061206faf61c9ba6ea9.  The
changes here break environment validation and furthermore do not seem to
be required.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoARM: dts: imx6q-logicpd: Add missing imx6q-logicpd-u-boot for SPL
Adam Ford [Wed, 7 Aug 2019 15:16:33 +0000 (10:16 -0500)]
ARM: dts: imx6q-logicpd: Add missing imx6q-logicpd-u-boot for SPL

The SPL device tree is missing the entires for gpio1, uart1, usdhc1 and
usdhc2.  This creates the missing imx6q-logicpd-u-boot.dtsi file
which will enable these functions so SPL can properly setup UART, detect
microSD card, and startup.

Fixes: 8f4691e31a18 ("ARM: imx6q_logic: With SPL_OF_CONTROL enabled,
remove MMC init")

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoinitcall.h: initcall_run_list(): Improve debug output
Ovidiu Panait [Wed, 25 Sep 2019 11:10:54 +0000 (14:10 +0300)]
initcall.h: initcall_run_list(): Improve debug output

Existing debug output is mixed with the function name:
initcall_run_list() initcall: 25263initcall_run_list()  (relocated to 425263)

Turn it to:
initcall_run_list() initcall: 25263 (relocated to 425263)

Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
5 years agoKconfig: fix a typo in the description of bmp command.
Andrius Štikonas [Mon, 23 Sep 2019 21:43:41 +0000 (22:43 +0100)]
Kconfig: fix a typo in the description of bmp command.

Signed-off-by: Andrius Štikonas <andrius@stikonas.eu>
5 years agoKconfig: Migrate CONFIG_BOOTM_* options
Tom Rini [Fri, 20 Sep 2019 21:36:50 +0000 (17:36 -0400)]
Kconfig: Migrate CONFIG_BOOTM_* options

Migrate all of the existing OS support options that are under
CONFIG_BOOTM_* to Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agocmd: part: number: return hexadecimal value
Roman Stratiienko [Fri, 20 Sep 2019 13:59:18 +0000 (15:59 +0200)]
cmd: part: number: return hexadecimal value

At this point we are using part number sub-command to retrieve UUID
of the partition using it's name.

e.g.:
 part number mmc $mmcdev system_a system_a_index
 part uuid mmc $mmcdev:${system_a_index} system_a_uuid

Since 'part uuid' sub-command expects partition index in hex format and
'part number' returns decimal value, 'part uuid' command will provide
wrong UUID or fail.

Fixes: be683756f62034 ("cmd: part: Add 'number' sub-command")
Cc: Dirk Behme <dirk.behme@de.bosch.com>
Reported-by: Pontus Fuchs <pontus.fuchs@se.bosch.com>
Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
5 years agoARM: keystone2: update the default addresses of the secure monitor
Jean-Jacques Hiblot [Tue, 17 Sep 2019 21:18:25 +0000 (17:18 -0400)]
ARM: keystone2: update the default addresses of the secure monitor

To accommodate the growth of u-boot, we need to shift the location of the
secure monitor. Moving it 64kB further.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
5 years agoboard: ti: am654: Disable TRNG node for HS devices
Andrew F. Davis [Tue, 17 Sep 2019 21:15:40 +0000 (17:15 -0400)]
board: ti: am654: Disable TRNG node for HS devices

On HS devices the access to TRNG is restricted on the non-secure
ARM side, disable the node in DT to prevent firewall violations.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agoautoboot: add necessary dependency at AUTOBOOT_MENU_SHOW
AKASHI Takahiro [Thu, 12 Sep 2019 06:31:22 +0000 (15:31 +0900)]
autoboot: add necessary dependency at AUTOBOOT_MENU_SHOW

Otherwise, menu_show() will be undefined in bootdelay_process().

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
5 years agoMAINTAINERS, git-mailrc: Update the maintainer for socfpga
Ley Foon Tan [Fri, 4 Oct 2019 08:43:50 +0000 (16:43 +0800)]
MAINTAINERS, git-mailrc: Update the maintainer for socfpga

This updates MAINTAINERS and git-mailrc to add me as maintainer for
socfpga.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
Acked-by: Marek Vasut <marex@denx.de>
5 years agoMakefile: mrproper should remove *.pyc files
Heinrich Schuchardt [Thu, 3 Oct 2019 16:45:29 +0000 (16:45 +0000)]
Makefile: mrproper should remove *.pyc files

*.pyc files contain compiled Python bytecode. 'make mrproper' should remove
them.

Removing *.pyc files helps for instance sometimes when running into an
error "binman: Unknown entry type 'blob' in node '/binman/blob'".

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoMakefile: Fix typo around CONFIG_SPL_FIT_SOURCE
Michal Simek [Wed, 2 Oct 2019 13:53:12 +0000 (15:53 +0200)]
Makefile: Fix typo around CONFIG_SPL_FIT_SOURCE

Trivial fix.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm: K3: Increase default SYSFW image size allocation
Andrew F. Davis [Tue, 1 Oct 2019 14:33:43 +0000 (10:33 -0400)]
arm: K3: Increase default SYSFW image size allocation

The memory allocated to store the FIT image containing SYSFW and board
configuration data is statically defined to the largest size expected.
This was 269000 bytes but now needs to be grown to 276000 to make room
for the signatures attached to the board configuration data on High
Security devices.

Signed-off-by: Andrew F. Davis <afd@ti.com>
5 years agodm: core: Correct bad cast in ofnode_get_addr_size_index()
Simon Glass [Wed, 25 Sep 2019 14:55:50 +0000 (08:55 -0600)]
dm: core: Correct bad cast in ofnode_get_addr_size_index()

At present this code passes an fdt_addr_t pointer as a u64 pointer which
is not safe, since sizeof(fdt_addr_t) may be 4, e.g. with sandbox. Correct
this to avoid a stack corruption problem.

Fixes: e679d03b08 (core: ofnode: Add ofnode_get_addr_size_index)
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: correct one typo in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodm: core: Correct low cell in ofnode_read_pci_addr()
Simon Glass [Wed, 25 Sep 2019 14:55:46 +0000 (08:55 -0600)]
dm: core: Correct low cell in ofnode_read_pci_addr()

This reads the low cell of the PCI address from the wrong cell. Fix it.
Also fix the function that this code came from.

Fixes: 9e51204527 (dm: core: Add operations on device tree references)
Fixes: 4ea5243a3a (fdt: fix fdtdec_get_pci_addr() for CONFIG_PHYS_64BIT)
Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoMerge tag 'rpi-next-2019.10.2' of https://github.com/mbgg/u-boot
Tom Rini [Tue, 1 Oct 2019 20:31:26 +0000 (16:31 -0400)]
Merge tag 'rpi-next-2019.10.2' of https://github.com/mbgg/u-boot

RPi4:
Fix amount of memory seen by the kernel.

5 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
Tom Rini [Tue, 1 Oct 2019 20:31:11 +0000 (16:31 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86

- Propagate acpi_rsdp_addr to x86 kernel via boot parameters

5 years agox86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
Andy Shevchenko [Fri, 13 Sep 2019 15:42:00 +0000 (18:42 +0300)]
x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters

This is reincarnation of the U-Boot

commit 3469bf4274540d1491d58e878a9edc0bdcba17ac
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Wed Jan 10 19:40:15 2018 +0200

    x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters

after upstream got eventually the Linux kernel

commit e6e094e053af75cbc164e950814d3d084fb1e698
Author: Juergen Gross <jgross@suse.com>
Date:   Tue Nov 20 08:25:29 2018 +0100

    x86/acpi, x86/boot: Take RSDP address from boot params if available

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agorpi4: enable dram bank initialization
Matthias Brugger [Mon, 9 Sep 2019 16:31:56 +0000 (18:31 +0200)]
rpi4: enable dram bank initialization

When booting through the efi stub, the memory map get's created by
reading the dram bank information. Depending on the version of the RPi4
this information changes. Read the device tree to initialize the dram
bank data structure. This way the kernel is able to access the whole
range of available memory.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
5 years agoMerge tag 'u-boot-atmel-fixes-2019.10-a' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 30 Sep 2019 11:21:38 +0000 (07:21 -0400)]
Merge tag 'u-boot-atmel-fixes-2019.10-a' of https://gitlab.denx.de/u-boot/custodians/u-boot-atmel

First set of u-boot-atmel fixes for 2019.10 cycle:

This includes only tiny cleanups on env changes related to 2019.10 new
features: removal of duplicate env settings (otherwise there may be
warnings in building..) and a small fix for flashes on Gardena smart
gateway (requires nand bad block tables).

5 years agoMerge tag 'u-boot-rockchip-20190928' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 30 Sep 2019 11:20:35 +0000 (07:20 -0400)]
Merge tag 'u-boot-rockchip-20190928' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- Fix efuse read data number for rk3399
- make_fit_atf.py: fix .its generation for a single atf image

5 years agoat91: configs: Drop duplication of defconfig macros
Tudor Ambarus [Fri, 20 Sep 2019 10:52:58 +0000 (10:52 +0000)]
at91: configs: Drop duplication of defconfig macros

'commit a9221f3ebd6d ("at91, omap2plus: configs: migrate CONFIG_ENV_ to defconfigs")'
migrated CONFIG_ENV_ macros to defconfigs but did not remove the
identical redefinition of these macros in include/configs/.

Since the duplicated macros have the same value as the ones in defconfigs,
no "redefined" warnings were raised. Remove duplicated macros for all
sama5 and sam9x5ek boards.

While verifying that the removal of the macros from include/configs did
not change the same macros in defconfigs, overwrite the old defconfig by
saving them with the output from "make arch=ARM savedefconfig". This
resulted in the movement of some macros in the defconfig files.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
5 years agoarm: at91: gardena-smart-gateway-at91sam: Enable CONFIG_SYS_NAND_USE_FLASH_BBT
Stefan Roese [Tue, 27 Aug 2019 06:14:50 +0000 (08:14 +0200)]
arm: at91: gardena-smart-gateway-at91sam: Enable CONFIG_SYS_NAND_USE_FLASH_BBT

This patch enables the BBT in NAND on the AT91SAM based GARDENA smart
Gateway. This is especially important, since the Linux driver also
enables this option and uses the BBT table pages. Without setting this
option, U-Boot will try to re-use these pages again (e.g. UBI).

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Tom Rini <trini@konsulko.com>