project/bcm63xx/u-boot.git
7 years agodtoc: Move static functions out of the class
Simon Glass [Mon, 19 Jun 2017 04:09:02 +0000 (22:09 -0600)]
dtoc: Move static functions out of the class

Rather than using static functions within the class, move them out of the
class. This will make it slightly easier for tests to call them.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agodtoc: Pass include_disabled explicitly
Simon Glass [Mon, 19 Jun 2017 04:09:01 +0000 (22:09 -0600)]
dtoc: Pass include_disabled explicitly

This option is the only one actually used by the dtb_platdata class. Pass
it explicitly to avoid needing to pass the whole option object to the
constructor.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agodtoc: Don't handle properties with / in them
Simon Glass [Mon, 19 Jun 2017 04:09:00 +0000 (22:09 -0600)]
dtoc: Don't handle properties with / in them

This conversion appears to not be needed as it does not occur in practice.
Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agodtoc: Fix pylint warnings
Simon Glass [Mon, 19 Jun 2017 04:08:59 +0000 (22:08 -0600)]
dtoc: Fix pylint warnings

Unfortunately I neglected to run pylint on this tool with its initial
submission. Fix the warnings.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agodtoc: Split out the main class into its own file
Simon Glass [Mon, 19 Jun 2017 04:08:58 +0000 (22:08 -0600)]
dtoc: Split out the main class into its own file

To simplify running tests we should move this class into its own file.
This allows the tests to import it without having to import dtoc.py, which
runs the tests.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agodtoc: Add a comment at the top
Simon Glass [Mon, 19 Jun 2017 04:08:57 +0000 (22:08 -0600)]
dtoc: Add a comment at the top

Add a description of the dtoc tool at the top of the file.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agodtoc: Use self._options instead of the global options
Simon Glass [Mon, 19 Jun 2017 04:08:56 +0000 (22:08 -0600)]
dtoc: Use self._options instead of the global options

This class should use the options object passed to it rather than finding
the global one. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agomoveconfig: Allow automatic location and adding of 'imply'
Simon Glass [Fri, 16 Jun 2017 03:39:33 +0000 (21:39 -0600)]
moveconfig: Allow automatic location and adding of 'imply'

By using a Kconfig parser we can find the location of each option in the
Kconfig tree. Using the information from the database we can then
automatically add an 'imply' option into the right place if requested by
the user.

Add a -a option to support adding 'imply' options. Display the location of
any existing 'imply' option so that progress can be examined. Add a -A
option to hide any existing 'imply' options so that already-completed
additions need not be considered further.

Also add documentation for this feature.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agomoveconfig: Allow control of which implying configs are shown
Simon Glass [Fri, 16 Jun 2017 03:39:32 +0000 (21:39 -0600)]
moveconfig: Allow control of which implying configs are shown

Sometimes it is useful to display CONFIG_TARGET or CONFIG_CMD configs. Add
an option to control this.

Also we generally ignore implying configs which affect fewer than 5
boards. But sometimes it is useful to show those those, so add an option
that reduces the minimum to two.

ERRATUM configs are never useful for implying things, so ignore those.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agomoveconfig: Allow piping in 'git show --stat' output
Simon Glass [Fri, 16 Jun 2017 03:39:31 +0000 (21:39 -0600)]
moveconfig: Allow piping in 'git show --stat' output

It is useful to be able to process only a subset of boards to save time.
Often that subset is defined by the defconfig files in a git commit. This
change allows things like:

   # Build the database
   ./tools.moveconfig.py -b

   # Find some implying configs
   ./tools/moveconfig.py -i CONFIG_X

   # Add some 'imply' statements to Kconfig files
   ./tools/moveconfig.py -i CONFIG_X -a CONFIG_A,CONFIG_B

   # Reprocess the defconfig files to see if we can drop some changes
   git show --stat | ./tools/moveconfig.py -s -d -

   # Update the commit, with fewer defconfig changes
   gii commit -au

Where the commit contains defconfig files, this will reprocess them to
take account of the imply statements that you added.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agosandbox: Drop special case console code for sandbox
Simon Glass [Fri, 16 Jun 2017 03:37:54 +0000 (21:37 -0600)]
sandbox: Drop special case console code for sandbox

At present sandbox has a special case where it directly calls os_putc()
when it does not have a console yet.

Now that we have the pre-console buffer enabled we can drop this. Any
early characters will be buffered and output later.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
7 years agosandbox: Enable more console options
Simon Glass [Fri, 16 Jun 2017 03:37:53 +0000 (21:37 -0600)]
sandbox: Enable more console options

Enable the pre-console buffer, displaying the model and post-relocation
console announce on sandbox. Also add a model name to the device tree.
This allows testing of these features.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
7 years agoconsole: Use map_sysmem() for the pre-relocation console
Simon Glass [Fri, 16 Jun 2017 03:37:52 +0000 (21:37 -0600)]
console: Use map_sysmem() for the pre-relocation console

At present this feature casts the address to a pointer. Use the
map_sysmem() function so that it will work correctly on sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
7 years agotest: Add a test for snprintf() and the banner/version
Simon Glass [Fri, 16 Jun 2017 03:37:51 +0000 (21:37 -0600)]
test: Add a test for snprintf() and the banner/version

Add a simple test to make sure that these functions obey the buffer size
passed into them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
7 years agoAllow displaying the U-Boot banner on a video display
Simon Glass [Fri, 16 Jun 2017 03:37:50 +0000 (21:37 -0600)]
Allow displaying the U-Boot banner on a video display

At present the U-Boot banner is only displayed on the serial console. If
this is not visible to the user, the banner does not show. Some devices
have a video display which can usefully display this information.

Add a banner which is printed after relocation only on non-serial devices
if CONFIG_DISPLAY_BOARDINFO_LATE is defined.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
7 years agodisplay_options: Refactor to allow obtaining the banner
Simon Glass [Fri, 16 Jun 2017 18:51:42 +0000 (12:51 -0600)]
display_options: Refactor to allow obtaining the banner

Move the display options code into a separate function so that the U-Boot
banner can be obtained from other code. Adjust the 'version' command to
use 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>
Tested-by: Stephen Warren <swarren@nvidia.com>
7 years agox86: Move link to use driver model for SCSI
Simon Glass [Thu, 15 Jun 2017 03:28:48 +0000 (21:28 -0600)]
x86: Move link to use driver model for SCSI

As a demonstration of how to use SCSI with driver model, move link over
to use this. This patch needs more work, but illustrates the concept.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Drop scsi_init() when driver model is used
Simon Glass [Thu, 15 Jun 2017 03:28:47 +0000 (21:28 -0600)]
dm: scsi: Drop scsi_init() when driver model is used

This function should not be used with driver model. Update the code to
reflect this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: ahci: Add a driver for SCSI on AHCI
Simon Glass [Thu, 15 Jun 2017 03:28:46 +0000 (21:28 -0600)]
dm: ahci: Add a driver for SCSI on AHCI

Some AHCI drivers use SCSI under the hood. Rather than making the AHCI
driver be in the SCSI uclass it makes sense to have the AHCI device create
a SCSI device as a child. That way we can handle any AHCI-specific
operations rather than trying to pretend tha the device is just SCSI.

To handle this we need to provide a way for AHCI drivers to bind a SCSI
device as its child, and probe it. Add functions for this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Split out the bus scanning code
Simon Glass [Thu, 15 Jun 2017 03:28:45 +0000 (21:28 -0600)]
dm: scsi: Split out the bus scanning code

Split out the code that scans a single SCSI bus into a separate function.
This will allow it to be used from driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Adjust return value of scsi_exec()
Simon Glass [Thu, 15 Jun 2017 03:28:44 +0000 (21:28 -0600)]
dm: scsi: Adjust return value of scsi_exec()

Change this function to return an error number instead of true/false.
This allows us to return a proper error number.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Add operations for SCSI devices
Simon Glass [Thu, 15 Jun 2017 03:28:43 +0000 (21:28 -0600)]
dm: scsi: Add operations for SCSI devices

The SCSI uclass currently has no operations. It just uses the global SCSI
functions. Fix this by adding operations to the only two drivers that use
the uclass, and replacing the global functions with those defined locally
in the SCSI code.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: ahci: Create a local version of two SCSI functions
Simon Glass [Thu, 15 Jun 2017 03:28:42 +0000 (21:28 -0600)]
dm: ahci: Create a local version of two SCSI functions

With driver model we need to define implementations of exec() and
bus_reset() separately for each SCSI driver. As a first step, create a
local version of each function in the AHCI driver and call each from its
global version.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Document and rename the scsi_scan() parameter
Simon Glass [Thu, 15 Jun 2017 03:28:41 +0000 (21:28 -0600)]
dm: scsi: Document and rename the scsi_scan() parameter

The 'mode' parameter is actually a flag to determine whether to display
a list of devices found during the scan. Rename it to reflect this, add a
function comment and adjust callers to use a boolean.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Add a device pointer to scan_exec(), scsi_bus_reset()
Simon Glass [Thu, 15 Jun 2017 03:28:40 +0000 (21:28 -0600)]
dm: scsi: Add a device pointer to scan_exec(), scsi_bus_reset()

With driver model these functions need a device pointer. Add one even
when CONFIG_DM_SCSI is not defined. This avoids having ugly conditional
function prototypes, When CONFIG_DM_SCSI is not defined we can just ignore
the pointer.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Add operations
Simon Glass [Thu, 15 Jun 2017 03:28:39 +0000 (21:28 -0600)]
dm: scsi: Add operations

Add operations for SCSI. These are not yet implemented, but we have the
struct.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: ahci: Drop use of probe_ent
Simon Glass [Thu, 15 Jun 2017 03:28:38 +0000 (21:28 -0600)]
dm: ahci: Drop use of probe_ent

With driver model we cannot have static data or assume that there is only
one device of each time. Adjust the code so that 'probe_ent' is not needed
with driver model. Add a new ahci_init_dm() function which can init AHCI
for driver model without re-allocating the uclass data. Move over the only
existing driver to use this new function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: ahci: Unwind the confusing init code
Simon Glass [Thu, 15 Jun 2017 03:28:37 +0000 (21:28 -0600)]
dm: ahci: Unwind the confusing init code

Two AHCI drivers use SCSI with CONFIG_DM_SCSI. The SCSI uclass calls
scsi_low_level_init() which is implemented by ahci.c. If
CONFIG_SCSI_AHCI_PLAT is defined it does one thing and if it is not
it does something else.

We don't need to call through scsi_low_level_init() to get the init
completed. Instead, adjust the two drivers to call into AHCI directly.
Drop the post-probe init in the SCSI uclass. This means that driver model
doesn't need to use scsi_low_level_init(). It is a legacy function and
driver model should use a driver's probe() method instead.

While we are here, add a comment to the top of the file explaining what
ahci.c does.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: ahci: Move common code for starting ports into a function
Simon Glass [Thu, 15 Jun 2017 03:28:36 +0000 (21:28 -0600)]
dm: ahci: Move common code for starting ports into a function

This code is duplicated. Create a ahci_start_ports() function to handle
this and call it from both places.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Indent the confusing #ifdefs
Simon Glass [Thu, 15 Jun 2017 03:28:35 +0000 (21:28 -0600)]
dm: scsi: Indent the confusing #ifdefs

These are very confusing without some sort of indentation. At some point
we will be able to remove them, but for now, indent them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: ahci: Refactor to avoid static variables
Simon Glass [Thu, 15 Jun 2017 03:28:34 +0000 (21:28 -0600)]
dm: ahci: Refactor to avoid static variables

With driver model we need each device to have its own state. As a step
towards this, restrict use of the global 'probe_ent' to just a few places
in the file. This will allow us to add driver-model functions which can
pass the correct data around.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: sata: Move ataid into struct ahci_uc_priv
Simon Glass [Thu, 15 Jun 2017 03:28:33 +0000 (21:28 -0600)]
dm: sata: Move ataid into struct ahci_uc_priv

This array relates to the AHCI controller so should be exist out on its
own in the file. Move it into the structure. Adjust functions that need
access to this to take the structure as a parameter.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: ahci: Rename struct ahci_probe_ent
Simon Glass [Thu, 15 Jun 2017 03:28:32 +0000 (21:28 -0600)]
dm: ahci: Rename struct ahci_probe_ent

This is not a very useful name since once it is probed it still hangs
around. With driver model we will use uclass data for this, so rename the
struct.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Use the uclass platform data
Simon Glass [Thu, 15 Jun 2017 03:28:31 +0000 (21:28 -0600)]
dm: scsi: Use the uclass platform data

At present the two driver-model SCSI drivers use device platform data to
store information that relates to the uclass. It is better to use uclass
platform data in this situation. Update the code to do this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Drop the ccb typedef
Simon Glass [Thu, 15 Jun 2017 03:28:30 +0000 (21:28 -0600)]
dm: scsi: Drop the ccb typedef

We should not be using typedefs in U-Boot and 'ccb' is a pretty short
name. It is also used with variables. Drop the typedef and use 'struct'
instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Rename struct SCSI_cmd_block to struct scsi_cmd
Simon Glass [Thu, 15 Jun 2017 03:28:29 +0000 (21:28 -0600)]
dm: scsi: Rename struct SCSI_cmd_block to struct scsi_cmd

This name should be lower case. Also the _block suffix is superfluous.
Rename it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodm: scsi: Rearrange header file for driver model
Simon Glass [Thu, 15 Jun 2017 03:28:28 +0000 (21:28 -0600)]
dm: scsi: Rearrange header file for driver model

Put the driver-model declarations first since we are migrating to that.
Also drop scsi_init() when driver model is used.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoscsi: Move drivers into new drivers/scsi directory
Simon Glass [Thu, 15 Jun 2017 03:28:27 +0000 (21:28 -0600)]
scsi: Move drivers into new drivers/scsi directory

At present we have the SCSI drivers in the drivers/block and common/
directories. It is better to split them out into their own place. Use
drivers/scsi which is what Linux does.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agosata: Move drivers into new drivers/ata directory
Simon Glass [Thu, 15 Jun 2017 03:28:26 +0000 (21:28 -0600)]
sata: Move drivers into new drivers/ata directory

At present we have the SATA and PATA drivers mixed up in the drivers/block
directory. It is better to split them out into their own place. Use
drivers/ata which is what Linux does.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoKconfig: Add CONFIG_SATA to enable SATA
Simon Glass [Thu, 15 Jun 2017 03:28:25 +0000 (21:28 -0600)]
Kconfig: Add CONFIG_SATA to enable SATA

At present CONFIG_CMD_SATA enables the 'sata' command which also brings
in SATA support. Some boards may wish to enable SATA without the command.
Add a separate CONFIG to permit this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoConvert CONFIG_CMD_SATA to Kconfig
Simon Glass [Thu, 15 Jun 2017 03:28:24 +0000 (21:28 -0600)]
Convert CONFIG_CMD_SATA to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SATA

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoscsi: Drop scsi_print_error()
Simon Glass [Thu, 15 Jun 2017 03:28:23 +0000 (21:28 -0600)]
scsi: Drop scsi_print_error()

This function is only defined by one driver and is empty. Move it into
the SCSI implementation itself. We could remove it, but it should be
useful for debugging.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoscsi: Drop sym53c8xx driver
Simon Glass [Thu, 15 Jun 2017 03:28:22 +0000 (21:28 -0600)]
scsi: Drop sym53c8xx driver

This driver is for a PowerPC board that will likely be removed soon.
Rather than converting it to driver model, drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agoConvert CONFIG_SCSI to Kconfig
Simon Glass [Thu, 15 Jun 2017 03:28:21 +0000 (21:28 -0600)]
Convert CONFIG_SCSI to Kconfig

This converts the following to Kconfig:
   CONFIG_SCSI

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodtoc: Support multiple compatible strings in a node
Simon Glass [Wed, 14 Jun 2017 03:10:06 +0000 (21:10 -0600)]
dtoc: Support multiple compatible strings in a node

Sometimes a node will have multiple compatible strings. Drivers may use
one or the other so the best approach seems to be to #define them to be
equivalent.

Update dtoc to support this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
7 years agocmd gpt: test in sandbox
Alison Chaiken [Sun, 4 Jun 2017 22:11:21 +0000 (15:11 -0700)]
cmd gpt: test in sandbox

Make minor changes to README.gpt and sandbox_defconfig to support
testing of the gpt command's functionality in the sandbox.

Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
7 years agosandbox: README: fix partition command invocation
Alison Chaiken [Sun, 4 Jun 2017 22:11:20 +0000 (15:11 -0700)]
sandbox: README: fix partition command invocation

The instructions for creating a disk image that are presently in
README.sandbox fail because sfdisk doesn't know about GPT.

Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
7 years agomoveconfig: Support looking for implied CONFIG options
Simon Glass [Fri, 2 Jun 2017 01:39:03 +0000 (19:39 -0600)]
moveconfig: Support looking for implied CONFIG options

Some CONFIG options can be implied by others and this can help to reduce
the size of the defconfig files. For example, CONFIG_X86 implies
CONFIG_CMD_IRQ, so we can put 'imply CMD_IRQ' under 'config X86' and
all x86 boards will have that option, avoiding adding CONFIG_CMD_IRQ to
each of the x86 defconfig files.

Add a -i option which searches for such options.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
7 years agomoveconfig: Support building a simple config database
Simon Glass [Fri, 2 Jun 2017 01:39:02 +0000 (19:39 -0600)]
moveconfig: Support building a simple config database

Add a -b option which scans all the defconfigs and builds a database of
all the CONFIG options used by each. This is useful for querying later.

At present this only works with the separate -b option, which does not
move any configs. It would be possible to adjust the script to build the
database automatically when moving configs, but this might not be useful
as the database does not change that often.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agomoveconfig: Add a constant for auto.conf
Simon Glass [Fri, 2 Jun 2017 01:39:01 +0000 (19:39 -0600)]
moveconfig: Add a constant for auto.conf

This filename is used a few times. Move it to a constant before adding
further uses.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agomoveconfig: Tidy up the documentation and add hints
Simon Glass [Fri, 2 Jun 2017 01:39:00 +0000 (19:39 -0600)]
moveconfig: Tidy up the documentation and add hints

The newest clean-up features are not mentioned in the docs. Fix this and
add a few hints for particular workflows that are hopefully helpful.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agomoveconfig: Allow reading the defconfig list from stdin
Simon Glass [Fri, 2 Jun 2017 01:38:59 +0000 (19:38 -0600)]
moveconfig: Allow reading the defconfig list from stdin

Support passes in a defconfig filename of '-' to read the list from stdin
instead of from a file.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agomoveconfig: Support providing a path to the defconfig files
Simon Glass [Fri, 2 Jun 2017 01:38:58 +0000 (19:38 -0600)]
moveconfig: Support providing a path to the defconfig files

It is convenient to provide the full patch to the defconfig files in some
situations, e.g. when the file was generated by a shell command (e.g.
'ls configs/zynq*').

Add support for this, and move the globbing code into a function with its
own documentation.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agorockchip: dts: rk3328: add aliases for mmc controller
Kever Yang [Thu, 18 May 2017 08:05:20 +0000 (16:05 +0800)]
rockchip: dts: rk3328: add aliases for mmc controller

Add aliases for mmc controller to get a fixed order with
emmc at index 0 and sdmmc at index 1.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agodm: core: Add uclass_first/next_device_check()
Simon Glass [Mon, 24 Apr 2017 02:10:45 +0000 (20:10 -0600)]
dm: core: Add uclass_first/next_device_check()

Sometimes it is useful to iterate through all devices in a uclass and
skip over those which do not work correctly (e.g fail to probe). Add two
new functions to provide this feature.

The caller must check the return value each time to make sure that the
device is valid. But the device pointer is always returned.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agodm: core: Test uclass_first/next_device() on probe failure
Simon Glass [Mon, 24 Apr 2017 02:10:44 +0000 (20:10 -0600)]
dm: core: Test uclass_first/next_device() on probe failure

Add some tests which check the behaviour of uclass_first_device() and
uclass_next_device() when probing of a device fails.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agodm: core: Clarify uclass_first/next_device() comments
Simon Glass [Mon, 24 Apr 2017 02:10:43 +0000 (20:10 -0600)]
dm: core: Clarify uclass_first/next_device() comments

These are not as clear as they could be. Tidy them up a bit. Also fix a
tiny code-style nit.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agopipe3: Fix broken dependency
Jean-Jacques Hiblot [Fri, 7 Jul 2017 10:13:34 +0000 (12:13 +0200)]
pipe3: Fix broken dependency

ARCH_OMAP2 has been renamed ARCH_OMAP2PLUS in commit a93fbf4a7892
("ARM: omap2+: rename config to ARCH_OMAP2PLUS and consolidate Kconfig")

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agomtd: stm32: use parameter instead of default value
Patrice Chotard [Tue, 4 Jul 2017 16:24:43 +0000 (18:24 +0200)]
mtd: stm32: use parameter instead of default value

To set wait state, a hard coded value is used instead of using
latency parameter. stm32_flash_latency_cfg() is currently used
in arch/arm/mach-stm32/stm32f4/clock.c and in
drivers/clk/clk_stm32f7.c with, in both case, "5" as parameter.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
7 years agoarm: mach-keystone: Modify secure image size before copy
Andrew F. Davis [Thu, 29 Jun 2017 13:38:25 +0000 (08:38 -0500)]
arm: mach-keystone: Modify secure image size before copy

The size of the secure image does not include the size of the
header, subtract this out before we move the image or we grab
extra data after the image.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agoARM: dts: OMAP5+: Enable gpio in SPL
Lokesh Vutla [Tue, 27 Jun 2017 08:20:58 +0000 (13:50 +0530)]
ARM: dts: OMAP5+: Enable gpio in SPL

gpio2 is used to detect lcd based on which pin mux is done in SPL.
gpio7 is used to enable vtt regulator. Enable these two gpio nodes
in SPL.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoarm: omap4+: Enable spl_early_init()
Lokesh Vutla [Tue, 27 Jun 2017 08:20:57 +0000 (13:50 +0530)]
arm: omap4+: Enable spl_early_init()

Enable spl_early_init() so that spl can use
DT very early during boot.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoarm: omap: Detect boot mode very early
Lokesh Vutla [Tue, 27 Jun 2017 08:20:56 +0000 (13:50 +0530)]
arm: omap: Detect boot mode very early

ROM stores the boot params information in a known location
and passes it to SPL. This information needs to be copied
very early during boot or else there is a chance of getting
corrupted by SPL. So move this boot device detection very early
during boot.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM64: poplar: hi3798cv200: u-boot support for Poplar 96Boards
Jorge Ramirez-Ortiz [Mon, 26 Jun 2017 13:52:49 +0000 (15:52 +0200)]
ARM64: poplar: hi3798cv200: u-boot support for Poplar 96Boards

This port adds support for:
        1) Serial
        2) eMMC
        3) USB

It has been tested with ARM TRUSTED FIRMWARE running u-boot as the
BL33 executable [see board's README]

eMMC has been tested for reading and booting the loader and linux
kernels as well as saving the u-boot environment.

USB has been tested with ASIX networking adapter and SanDisk 7.4GB
drive.

PSCI has been tested via the reset call (PSCI executes from DDR)

The firwmare upgrade process has been tested via TFTP and USB FAT
filesystem containing the fastboot.bin image in one of the partitions.

Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
7 years agodriver: mmc: update debug info
Jorge Ramirez-Ortiz [Mon, 26 Jun 2017 13:52:48 +0000 (15:52 +0200)]
driver: mmc: update debug info

This driver is used in another board; remove board information from
the driver debug log.

Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoARM64: dts: hi3798cv200-poplar: add device tree bindings
Jorge Ramirez-Ortiz [Mon, 26 Jun 2017 13:52:47 +0000 (15:52 +0200)]
ARM64: dts: hi3798cv200-poplar: add device tree bindings

Pulled from Linux 4.12-rc3

Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopinctrl: stm32: add set_state ops
Christophe Kerello [Tue, 20 Jun 2017 15:04:19 +0000 (17:04 +0200)]
pinctrl: stm32: add set_state ops

set_state_ops is kept under PINCTRL_FULL flag in order
to decrease memory footprint in some configuration.
PINCTRL_FULL can be enabled for debug purpose.

Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
7 years agopinctrl: stm32: handle a configuration list
Christophe Kerello [Tue, 20 Jun 2017 15:04:18 +0000 (17:04 +0200)]
pinctrl: stm32: handle a configuration list

This patch handles a configuration list behind pinctrl-0
like pinctrl-0 = <&qspi_clk_a &qspi_bk1_a &qspi_bk2_a>;

Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
Acked-by: Vikas MANOCHA <vikas.manocha@st.com>
7 years agodefconfig: k2g_evm_defconfig: Add K2G ICE to OF_LIST
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:33 +0000 (17:25 -0500)]
defconfig: k2g_evm_defconfig: Add K2G ICE to OF_LIST

Include K2G ICE to OF_LIST so it can be used for runtime board
detection.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: k2g: Add K2G ICE DTB to the list of possible DTBs
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:32 +0000 (17:25 -0500)]
ARM: k2g: Add K2G ICE DTB to the list of possible DTBs

K2G ICE evm will have its own dtb. Therefore, add it to the list of dtbs
located in the appended U-boot dtb FIT image. Therefore, when swapping out
dtbs K2G ICE boards can grab the correct one.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: dts: k2g: Add DT support for K2G Industrial Communication Engine evm
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:31 +0000 (17:25 -0500)]
ARM: dts: k2g: Add DT support for K2G Industrial Communication Engine evm

Add basic DT support for K2G ICE evm. Only minimal peripherals are
supported to allow console output and MMC boot.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: dts: k2g: Disable netcp by default
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:30 +0000 (17:25 -0500)]
ARM: dts: k2g: Disable netcp by default

Disable netcp by default like all other peripherals in the dtsi file.
Enable the peripheral explicitly in the board specific dts file.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: dts: keystone-k2g-evm: Add unit address to memory node
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:29 +0000 (17:25 -0500)]
ARM: dts: keystone-k2g-evm: Add unit address to memory node

Upstream Linux has the unit address being added to the various 66AK2Gx
boards dts. Therefore, update the dts to mimic this change.

Also remove memory node from the base K2G dtsi file.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: dts: keystone-k2g: Remove skeleton.dtsi
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:28 +0000 (17:25 -0500)]
ARM: dts: keystone-k2g: Remove skeleton.dtsi

Adding the unit address to the memory node was causing the below error:
Warning (reg_format): "reg" property in /memory has invalid length
(8 bytes) (#address-cells == 2, #size-cells == 2)

Further debugging showed that this was due to the memory node added by
default to skeleton.dtsi which was being included in keystone-k2g.dtsi.
Adding a missing node was all that was needed to remove this deprecated
dtsi file from the SoC dtsi. With skeleton.dtsi removed the dtc compiler
no longer complained about including the unit address for the memory node.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: k2g: Update board_name u-boot env variable at runtime
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:27 +0000 (17:25 -0500)]
ARM: k2g: Update board_name u-boot env variable at runtime

Enable CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG to allow "board_name" to
be set depending on the board it is being ran on.

Update findfdt to use this new dynamic board_name value to determine
which dtb should be used.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: k2g: Use board detection to wrap K2G GP specific calls
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:26 +0000 (17:25 -0500)]
ARM: k2g: Use board detection to wrap K2G GP specific calls

Certain peripherals used by K2G GP aren't used on K2G ICE evm. Or
configuration is slightly different. Therefore, use board detection to
deal with these variations.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoboard: ks2: Use board detection to wrap code not specific to K2G ICE evm
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:25 +0000 (17:25 -0500)]
board: ks2: Use board detection to wrap code not specific to K2G ICE evm

Some code doesn't apply to K2G ICE evm. Therefore, use board detection to
wrap these calls.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: k2g: Add DDR3 configuration for K2G ICE evm
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:24 +0000 (17:25 -0500)]
ARM: k2g: Add DDR3 configuration for K2G ICE evm

Add configuration settings used by the K2G ICE evm. Also use board
detection to determine which DDR3 configuration to use.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: k2g: Add pinmux support for K2G ICE evm
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:23 +0000 (17:25 -0500)]
ARM: k2g: Add pinmux support for K2G ICE evm

Add basic pinmux data for new K2G ICE evm. Also add pinmuxing for a
generic K2G evm which includes I2C 0 and 1 used for board detection
purposes.

Since multiple K2G boards are supported that means initially generic
pinmuxing should be used when board detection hasn't ran. Once board
detection runs the proper pinmuxing can be reran to match the board
being ran on.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoks2_evm: Add EEPROM based board detection helper functions
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:22 +0000 (17:25 -0500)]
ks2_evm: Add EEPROM based board detection helper functions

Add a function that can be used to determine if the board being ran on is
a K2G Industrial Communication Engine EVM or K2G General Purpose EVM based
on values programmed on the EEPROM.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: k2g: Program DDRPHY_DATX8 registers via mask and value variables
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:21 +0000 (17:25 -0500)]
ARM: k2g: Program DDRPHY_DATX8 registers via mask and value variables

Different K2G evms may need to program the various
KS2_DDRPHY_DATX8_X_OFFSET registers in different ways. Therefore, use
the mask and val registers for each KS2_DDRPHY_DATAX_X_OFFSET to
properly program the register.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: k2g: Program DDR PHY MR2 register with the default value
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:20 +0000 (17:25 -0500)]
ARM: k2g: Program DDR PHY MR2 register with the default value

K2G GP doesn't require the MR2 register to be programed since the
default is good enough. However, newer K2G boards do need to change
this register value. Therefore, instead of not writing this register if
ran on a K2G board just program the value to be written to match the
default/reset value.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: keystone2: Add additional fields used for DDR3 configuration
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:19 +0000 (17:25 -0500)]
ARM: keystone2: Add additional fields used for DDR3 configuration

Future boards will need to configure DDR3 registers in a slightly
different manner. Support this by defining additional variables and
defines that will be utilized later.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agodefconfig: keystone2: Enable U-boot runtime DTB detection
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:18 +0000 (17:25 -0500)]
defconfig: keystone2: Enable U-boot runtime DTB detection

Enable various config options to allow U-boot at runtime to select the
proper dtb to use from the list of dtb's within the FIT image.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoks2_evm: Add EEPROM based board detection
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:17 +0000 (17:25 -0500)]
ks2_evm: Add EEPROM based board detection

Some K2G evms have their EEPROM programming while most do not. Therefore,
add EEPROM board detection to be used as the default method and fall back
to the alternative board detection when needed.

Also reorder board configuration. Perform bare minimal configuration
initially since board detection hasn't ran. Finish board configuration
once the board has been identified.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: keystone2: Define board_fit_config_name_match for Keystone 2 boards
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:16 +0000 (17:25 -0500)]
ARM: keystone2: Define board_fit_config_name_match for Keystone 2 boards

Now with support for U-boot runtime dtb selection each board needs to
define board_fit_config_name_match so U-boot can determine what the
correct dtb is within the FIT blob.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: k2g: Define embedded_dtb_select for runtime DTB selection in U-boot
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:15 +0000 (17:25 -0500)]
ARM: k2g: Define embedded_dtb_select for runtime DTB selection in U-boot

For K2G, runtime DTB selection utilizes the embedded_dtb_select function.
Therefore, define the function which will perform a EEPROM read and then
retries selecting the correct dtb now that it can detect which board its
on. For other Keystone devices use an empty function since they will still
use the embedded FIT functionality but their FIT will only contain a single
dtb.

Most production K2G boards do not have their EEPROM programmed. Therefore,
perform a test to verify a K2G GP is currently being used and if it is then
set the values normally set by a EEPROM read.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: keystone2: Allow to build with all image formats
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:14 +0000 (17:25 -0500)]
ARM: keystone2: Allow to build with all image formats

u-boot.bin is a copy of:
u-boot-fit-dtb.bin if CONFIG_FIT_EMBED is enabled,
u-boot-dtb.bin if CONFIG_OF_SEPARATE is enabled,
u-boot-nodtb.bin if DT is not enabled.
So, use u-boot.bin to to generate keystone images instead of
u-boot-dtb.bin

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoMakefile: Build additional binaries for dtb FIT blobs appended to U-boot
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:13 +0000 (17:25 -0500)]
Makefile: Build additional binaries for dtb FIT blobs appended to U-boot

Add additional make targets and options for building embedded FIT U-boot
images.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoboard_f: Add new function to allow runtime DTB selection
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:12 +0000 (17:25 -0500)]
board_f: Add new function to allow runtime DTB selection

Runtime U-boot dtb selection is generally a two step process. First step
is to simply use an initial generic dtb. The second step is to select
the dtb and perhaps execute additional code ones U-boot knows what board
it is running on. Embedded_dtb_select handles the second step by allowing
board specific code to run and perform what ever necessary configuration
that is needed.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoarm: dts: Add new "generic" 66AK2Gx device tree file.
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:11 +0000 (17:25 -0500)]
arm: dts: Add new "generic" 66AK2Gx device tree file.

With U-boot runtime board detect for DTB selection a "default" dtb needs
to be created. This will be used temporarily until the "proper" dtb is
selected.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: dts: k2g: Introduce U-boot specific dtsi file
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:10 +0000 (17:25 -0500)]
ARM: dts: k2g: Introduce U-boot specific dtsi file

Introduce K2G evm specific dtsi file for U-boot specific configurations.
This will help seperate U-boot only configurations thus making it easier to
keep device tree files synced between U-boot and Linux.

For now only add nodes to allow i2c drivers to be probed early during
the boot process.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agodts: Allow OF_LIST to depend on FIT_EMBED
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:09 +0000 (17:25 -0500)]
dts: Allow OF_LIST to depend on FIT_EMBED

OF_LIST will be useable by SPL and U-boot. Therefore, update its
dependency to allow it to be enable by either SPL or U-boot specific
config option.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Andrew F. Davis <afd@ti.com>
7 years agoti: common: board_detect: Add function to determine if EEPROM was read
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:08 +0000 (17:25 -0500)]
ti: common: board_detect: Add function to determine if EEPROM was read

When the EEPROM is first read its contents are stored in memory as a
cache to avoid further I2C operations. To determine if the EEPROM was
previously read the easiest way is to check the memory to see if the
EEPROM's magic header value is set. Create a new function that can
determine if the EEPROM was previously read or not without having to
perform a I2C transaction.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agofdt: Enable selecting correct DTB from appended FIT Image
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:07 +0000 (17:25 -0500)]
fdt: Enable selecting correct DTB from appended FIT Image

This patch gives U-boot the runtime support to have the board specific
code decide which FDT to use. This is especially useful for devices
that need this type of runtime determination and also doesn't use SPL.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoboot_fit: Create helper functions that can be used to select DTB out of FIT
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:06 +0000 (17:25 -0500)]
boot_fit: Create helper functions that can be used to select DTB out of FIT

Some platforms may append a FIT image to the U-boot image. This function
aids in parsing the FIT image and selecting the correct DTB at runtime.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: fit: Break out some functions into a common file
Cooper Jr., Franklin [Fri, 16 Jun 2017 22:25:05 +0000 (17:25 -0500)]
spl: fit: Break out some functions into a common file

Some of the functions within spl_fit will be used for non spl purposes.
Instead of duplicating functions simply break the functions to be reused
into its own file.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
[trini: Only add the new define to image.h, otherwise we see breakage
due to massive include leakage into host tools in some cases]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoti: common: board_detect: Allow settings board detection variables manually
Nishanth Menon [Fri, 16 Jun 2017 22:25:04 +0000 (17:25 -0500)]
ti: common: board_detect: Allow settings board detection variables manually

In some situations the EEPROM used for board detection may not be
programmed or simply programmed incorrectly. Therefore, it may be
necessary to "simulate" reading the contents of the EEPROM to set
appropriate variables used in the board detection code.

This may also be helpful in certain boot modes where doing i2c reads
may be costly and the config supports running only a specific board.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Franklin S Cooper Jr. <fcooper@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: dts: keystone-k2e-evm: Add U-boot specific dtsi file
Cooper Jr., Franklin [Fri, 16 Jun 2017 21:16:14 +0000 (16:16 -0500)]
ARM: dts: keystone-k2e-evm: Add U-boot specific dtsi file

With Davinci I2C switching to device model, K2E requires U-boot specific
device tree entries. This is only required for I2C 1 which is needed
extremely early during the boot process.

Fixes: 1743d040b1df ("ARM: keystone: Enable DM_I2C by default")
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
7 years agoPrepare v2017.07
Tom Rini [Mon, 10 Jul 2017 17:07:38 +0000 (13:07 -0400)]
Prepare v2017.07

Signed-off-by: Tom Rini <trini@konsulko.com>