oweals/u-boot.git
6 years agoefi_loader: implement ConnectController
Heinrich Schuchardt [Thu, 11 Jan 2018 07:16:02 +0000 (08:16 +0100)]
efi_loader: implement ConnectController

Implement the ConnectController boot service.

A unit test is supplied in a subsequent patch.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: debug output installed device path
Heinrich Schuchardt [Thu, 11 Jan 2018 07:16:01 +0000 (08:16 +0100)]
efi_loader: debug output installed device path

When a device path protocol is installed write the device
path to the console in debug mode.

For printing the new macro EFI_PRINT is used, which can be reused
for future diagnostic output.

Remove unused EFI_PRINT_GUID macro

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: implement OpenProtocolInformation
Heinrich Schuchardt [Thu, 11 Jan 2018 07:16:00 +0000 (08:16 +0100)]
efi_loader: implement OpenProtocolInformation

efi_open_protocol_information provides the agent and controller
handles as well as the attributes and open count of an protocol
on a handle.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
[agraf: fix counting error]
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: open_info in CloseProtocol
Heinrich Schuchardt [Thu, 11 Jan 2018 07:15:59 +0000 (08:15 +0100)]
efi_loader: open_info in CloseProtocol

efi_open_protocol and efi_close_protocol have to keep track of
opened protocols.

Check if the protocol was opened for the same agent and
controller.

Remove all open protocol information for this pair.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: open_info in OpenProtocol
Heinrich Schuchardt [Thu, 11 Jan 2018 07:15:58 +0000 (08:15 +0100)]
efi_loader: open_info in OpenProtocol

efi_open_protocol has to keep track of opened protocols.

OpenProtocol enters the agent and controller handle
information into this list.

A unit test is supplied with a subsequent patch.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: list of open protocol infos
Heinrich Schuchardt [Thu, 11 Jan 2018 07:15:57 +0000 (08:15 +0100)]
efi_loader: list of open protocol infos

Add a list of open protocol infos to each protocol of a handle.

Provide helper functions to access the list items.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_selftest: do not try to close device path protocol
Heinrich Schuchardt [Thu, 11 Jan 2018 07:15:56 +0000 (08:15 +0100)]
efi_selftest: do not try to close device path protocol

CloseProtocol cannot be called without agent handle.

There is no need to close the device path protocol if
it has been opened without agent handle.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: simplify efi_remove_all_protocols
Heinrich Schuchardt [Thu, 11 Jan 2018 07:15:55 +0000 (08:15 +0100)]
efi_loader: simplify efi_remove_all_protocols

Replace list_for_each_safe() and list_entry() by
list_for_each_entry_safe().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_selftest: colored test output
Heinrich Schuchardt [Thu, 11 Jan 2018 07:15:54 +0000 (08:15 +0100)]
efi_selftest: colored test output

Add color coding to output:
test section    blue
success         green
errors          red
todo            yellow
summary         white
others          light gray

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
[agraf: Fold in move of set_attribute before the print]
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agotools: provide a tool to convert a binary file to an include
Heinrich Schuchardt [Wed, 17 Jan 2018 19:16:09 +0000 (20:16 +0100)]
tools: provide a tool to convert a binary file to an include

For testing EFI disk management we need an in-memory image of
a disk.

The tool file2include converts a file to a C include. The file
is separated into strings of 8 bytes. Only the non-zero strings
are written to the include. The output format has been designed
to maintain readability.

 #define EFI_ST_DISK_IMG { 0x00010000, { \
  {0x000001b8, "\x94\x37\x69\xfc\x00\x00\x00\x00"}, /* .7i..... */ \
  {0x000001c0, "\x02\x00\x83\x02\x02\x00\x01\x00"}, /* ........ */ \
  {0x000001c8, "\x00\x00\x7f\x00\x00\x00\x00\x00"}, /* ........ */ \
  {0x000001f8, "\x00\x00\x00\x00\x00\x00\x55\xaa"}, /* ......U. */ \
 ...
  {0x00006000, "\x48\x65\x6c\x6c\x6f\x20\x77\x6f"}, /* Hello wo */ \
  {0x00006008, "\x72\x6c\x64\x21\x0a\x00\x00\x00"}, /* rld!.... */ \
  {0, NULL} } }

As the disk image needed for testing contains mostly zeroes a high
compression ratio can be attained.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: correctly call images
Heinrich Schuchardt [Thu, 18 Jan 2018 19:28:43 +0000 (20:28 +0100)]
efi_loader: correctly call images

Avoid a failed assertion when an EFI app calls an EFI app.

Avoid that the indent level increases when calling 'bootefi hello'
repeatedly.

Avoid negative indent level when an EFI app calls an EFI app that
calls an EFI app (e.g. iPXE loads grub which starts the kernel).

Return the status code of a loaded image that returns without
calling the Exit boot service.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agovsprintf.c: add EFI device path printing
Heinrich Schuchardt [Wed, 10 Jan 2018 17:06:08 +0000 (18:06 +0100)]
vsprintf.c: add EFI device path printing

For debugging efi_loader we need the capability to print EFI
device paths. With this patch we can write:

    debug("device path: %pD", dp);

A possible output would be

    device path: /MemoryMapped(0x0,0x3ff93a82,0x3ff93a82)

This enhancement is not available when building without EFI support
and neither in the SPL nor in the API example.

A test is provided. It can be executed in the sandbox with command
ut_print.

The development for EFI support in the sandbox is currently in
branch u-boot-dm/efi-working. The branch currently lacks
commit 6ea8b580f06b ("efi_loader: correct DeviceNodeToText
for media types"). Ater rebasing the aforementioned branch on
U-Boot v2018.01 the test is executed successfully.

Without EFI support in the sandbox the test is simply skipped.

Suggested-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: text output for device path end node
Heinrich Schuchardt [Sun, 14 Jan 2018 16:05:57 +0000 (17:05 +0100)]
efi_loader: text output for device path end node

Without the patch a device path consisting only of an end node is
displayed as '/UNKNOWN(007f,00ff)'. It should be displayed as '/'.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoMAINTAINERS: correct entry for lib/efi*/
Heinrich Schuchardt [Tue, 2 Jan 2018 15:00:45 +0000 (16:00 +0100)]
MAINTAINERS: correct entry for lib/efi*/

lib/efi* indicates files efi* in directory lib.
lib/efi*/ indicates all files in directories lib/efi*.

Fixes: 623b3a579765 efi_selftest: provide an EFI selftest application
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_selftest: do not cut off u16 strings when printing
Heinrich Schuchardt [Fri, 22 Dec 2017 18:21:04 +0000 (19:21 +0100)]
efi_selftest: do not cut off u16 strings when printing

Device paths can be very long. Due to a limited output buffer
the output for device paths is cut off. We can avoid this by
directly calling the boottime service with the the device path
string.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
[agraf: Remove coloring code change]
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_selftest: avoid superfluous messages for task priority levels
Heinrich Schuchardt [Fri, 22 Dec 2017 18:21:03 +0000 (19:21 +0100)]
efi_selftest: avoid superfluous messages for task priority levels

In the task priority levels test debug output is written even if no
failure is detected.

Remove this distracting output.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_selftest: avoid superfluous messages for event services
Heinrich Schuchardt [Fri, 22 Dec 2017 18:21:02 +0000 (19:21 +0100)]
efi_selftest: avoid superfluous messages for event services

In the event services test debug output is written even if no
failure is detected.

Remove this distracting output.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: use correct format string for unsigned long
Heinrich Schuchardt [Fri, 22 Dec 2017 18:16:57 +0000 (19:16 +0100)]
efi_loader: use correct format string for unsigned long

virt_size is of type unsigned long.
So it should be printed with %ul.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: add comments to memory functions
Heinrich Schuchardt [Mon, 4 Dec 2017 19:52:41 +0000 (20:52 +0100)]
efi_loader: add comments to memory functions

Add comments describing memory functions.

Fix the formatting of a function declaration.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: use wide string do define firmware vendor
Heinrich Schuchardt [Mon, 11 Dec 2017 19:10:20 +0000 (20:10 +0100)]
efi_loader: use wide string do define firmware vendor

As the U-Boot is compiled with -fshort-wchar we can define
the firmware vendor constant as wide string.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: support device path for IDE and SCSI disks
Heinrich Schuchardt [Mon, 11 Dec 2017 11:56:44 +0000 (12:56 +0100)]
efi_loader: support device path for IDE and SCSI disks

Correctly create the device path for IDE and SCSI disks.

Support for SATA remains to be done in a future patch.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoefi_loader: create full device path for block devices
Heinrich Schuchardt [Mon, 11 Dec 2017 11:56:43 +0000 (12:56 +0100)]
efi_loader: create full device path for block devices

When creating the device path of a block device it has to
comprise the block device itself and should not end at
its parent.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
6 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Mon, 22 Jan 2018 01:13:29 +0000 (20:13 -0500)]
Merge git://git.denx.de/u-boot-dm

6 years agolib: fdtdec: Fix some style violations
Mario Six [Mon, 15 Jan 2018 10:07:36 +0000 (11:07 +0100)]
lib: fdtdec: Fix some style violations

Fix some style violations in fdtdec.c, and reduce the scope of some
variables.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agolib: fdtdec: Fix whitespace style violations
Mario Six [Mon, 15 Jan 2018 10:07:35 +0000 (11:07 +0100)]
lib: fdtdec: Fix whitespace style violations

Fix some whitespace-related style violations in fdtdec.c.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agocore: Make device_is_compatible live-tree compatible
Mario Six [Mon, 15 Jan 2018 10:07:20 +0000 (11:07 +0100)]
core: Make device_is_compatible live-tree compatible

Judging from its name and parameters, device_is_compatible looks like it
is compatible with a live device tree, but it actually isn't.

Make it compatible with a live device tree.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agocore: Add {ofnode, dev}_translate_address functions
Mario Six [Mon, 15 Jan 2018 10:07:19 +0000 (11:07 +0100)]
core: Add {ofnode, dev}_translate_address functions

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agocore: read: Fix style violations
Mario Six [Mon, 15 Jan 2018 10:07:18 +0000 (11:07 +0100)]
core: read: Fix style violations

There are some whitespace-related style violations in read.c; fix those.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agocore: ofnode: Fix style violations
Mario Six [Mon, 15 Jan 2018 10:07:17 +0000 (11:07 +0100)]
core: ofnode: Fix style violations

There are some style violations in ofnode.c; fix those.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agoclk: Makefile: Sort entries alphabetically
Mario Six [Mon, 15 Jan 2018 10:06:54 +0000 (11:06 +0100)]
clk: Makefile: Sort entries alphabetically

The Makefile entries in the clk driver directory were not alphabetically
sorted. Correct this.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agoclk: Remove superfluous gd declarations
Mario Six [Mon, 15 Jan 2018 10:06:53 +0000 (11:06 +0100)]
clk: Remove superfluous gd declarations

The clk uclass was converted to support a live device tree recently,
hence the global data pointer declarations are no longer needed.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agoclk: clk_fixed_rate: Fix style violation
Mario Six [Mon, 15 Jan 2018 10:06:52 +0000 (11:06 +0100)]
clk: clk_fixed_rate: Fix style violation

Fix a mis-indented function call in clk_fixed_rate.c

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agoclk: clk-uclass: Fix style violations
Mario Six [Mon, 15 Jan 2018 10:06:51 +0000 (11:06 +0100)]
clk: clk-uclass: Fix style violations

checkpatch.pl complains that the clk_ops structures used in clk-uclass.c
ought to be const, so we mark them as const.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agodm: pinctrl: sync with Linux to use pin_config_param
Peng Fan [Fri, 5 Jan 2018 06:05:17 +0000 (14:05 +0800)]
dm: pinctrl: sync with Linux to use pin_config_param

Sync with Linux commit 30a7acd573899fd8b("Linux 4.15-rc6")
to use enum pin_config_param.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agopatman: Unquote output from get_maintainer.pl
Stefan Brüns [Sun, 31 Dec 2017 22:21:17 +0000 (23:21 +0100)]
patman: Unquote output from get_maintainer.pl

get_maintainer.pl quotes names which it considers unsafe, i.e. anything
containing [^a-zA-Z0-9_ \-]. This confuses patman, it will duplicate
addresses which are also in Series-to/cc. Strip the quotes.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agodrivers: core: Add translation in live tree case
Mario Six [Wed, 20 Dec 2017 08:52:12 +0000 (09:52 +0100)]
drivers: core: Add translation in live tree case

The function dev_read_addr calls ofnode_get_addr_index in the live tree
case, which does not apply bus translations to the address read from the
device tree. This results in illegal addresses on boards that rely on
bus translations being applied.

Fix this situation by applying bus translations in the live tree case as
well.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Tested-by: Stephen Warren <swarren@nvidia.com>
6 years agodm: fix typo falback
Heinrich Schuchardt [Sun, 17 Dec 2017 17:19:43 +0000 (18:19 +0100)]
dm: fix typo falback

%s/falback/fallback/g

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoMerge git://git.denx.de/u-boot-marvell
Tom Rini [Sat, 20 Jan 2018 13:39:47 +0000 (08:39 -0500)]
Merge git://git.denx.de/u-boot-marvell

6 years agoMerge git://git.denx.de/u-boot-arc
Tom Rini [Fri, 19 Jan 2018 21:07:36 +0000 (16:07 -0500)]
Merge git://git.denx.de/u-boot-arc

6 years agoconfigs: keystone2: env: Fix burn_uboot_spi command
Faiz Abbas [Tue, 16 Jan 2018 08:13:40 +0000 (13:43 +0530)]
configs: keystone2: env: Fix burn_uboot_spi command

Now the u-boot spi image is greater than 0x90000, increase the same in
env during spi erase.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agocheckpatch: Ignore 'short' Kconfig help entries
Tom Rini [Mon, 15 Jan 2018 13:47:05 +0000 (08:47 -0500)]
checkpatch: Ignore 'short' Kconfig help entries

A 2 line help entry for a new Kconfig entry is, at this time, sufficient
in some cases, so lets drop that warning for now.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agopowerpc: Drop unreferenced CONFIG_* defines
Tuomas Tynkkynen [Sat, 13 Jan 2018 00:21:37 +0000 (02:21 +0200)]
powerpc: Drop unreferenced CONFIG_* defines

The following config symbols are only defined once and never referenced
anywhere else:

CONFIG_CYRUS
CONFIG_IDS8313
CONFIG_MPC8308_P1M
CONFIG_MPC8308RDB
CONFIG_MPC8349EMDS
CONFIG_MPC8349ITXGP
CONFIG_SBC8349
CONFIG_SBC8548
CONFIG_SBC8641D
CONFIG_TQM834X
CONFIG_VE8313
CONFIG_XPEDITE5140
CONFIG_XPEDITE5200
CONFIG_XPEDITE550X

Most of them are config symbols named after the respective boards which
seems to have been a standard practice at some point.

Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com>
Acked-by: Mario Six <mario.six@gdsys.cc>
6 years agoconfigs: stm32: move config flag from defconfig to Kconfig
Patrice Chotard [Fri, 12 Jan 2018 08:23:50 +0000 (09:23 +0100)]
configs: stm32: move config flag from defconfig to Kconfig

Move system flags from defconfig to mach-stm32/Kconfig

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Vikas Manocha <vikas.manocha@st.com>
6 years agoserial: stm32: Rename serial_stm32x7.c to serial_stm32.c
Patrice Chotard [Fri, 12 Jan 2018 08:23:49 +0000 (09:23 +0100)]
serial: stm32: Rename serial_stm32x7.c to serial_stm32.c

Now this driver is used across stm32f4, stm32f7 and stm32h7
SoCs family, give it a generic name.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Vikas Manocha <vikas.manocha@st.com>
6 years agom68k: Drop unreferenced CONFIG_* defines
Tuomas Tynkkynen [Fri, 12 Jan 2018 01:11:52 +0000 (03:11 +0200)]
m68k: Drop unreferenced CONFIG_* defines

The following config symbols are only defined once and never referenced
anywhere else:

CONFIG_AMCORE
CONFIG_ASTRO5373L
CONFIG_M52277EVB
CONFIG_M5253DEMO
CONFIG_M5253EVBE
CONFIG_M5275EVB
CONFIG_M54418TWR
CONFIG_STMARK2

Most of them are config symbols named after the respective boards which
seems to have been a standard practice at some point.

Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com>
6 years agonds32: Drop unreferenced CONFIG_ADP_AG101P
Tuomas Tynkkynen [Fri, 12 Jan 2018 00:55:35 +0000 (02:55 +0200)]
nds32: Drop unreferenced CONFIG_ADP_AG101P

Seems to be again one of those CONFIG_ symbols named after a board, with
nothing referencing it.

Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com>
6 years agopcmcia: Drop a bunch of unused CONFIG_SYS_PCMCIA_ macros
Tuomas Tynkkynen [Fri, 12 Jan 2018 00:47:20 +0000 (02:47 +0200)]
pcmcia: Drop a bunch of unused CONFIG_SYS_PCMCIA_ macros

Last users of the following macros (for n = 0..7) were removed in
commit 5b8e76c35ec312a ("powerpc, 8xx: remove support for 8xx"):

CONFIG_SYS_PCMCIA_PBRn
CONFIG_SYS_PCMCIA_PORn

Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com>
6 years agoTravis-CI: Add job for running test.py on qemu_arm64
Tuomas Tynkkynen [Thu, 11 Jan 2018 14:11:26 +0000 (16:11 +0200)]
Travis-CI: Add job for running test.py on qemu_arm64

The corresponding changes in the uboot-test-hooks repo are:

https://github.com/swarren/uboot-test-hooks/pull/15

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agoTravis-CI: Download ARM64 version of GRUB as well
Tuomas Tynkkynen [Thu, 11 Jan 2018 14:11:25 +0000 (16:11 +0200)]
Travis-CI: Download ARM64 version of GRUB as well

For preparation of adding AArch64 test.py jobs.

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agoARM: Document AArch64 version of qemu-arm
Tuomas Tynkkynen [Thu, 11 Jan 2018 14:11:24 +0000 (16:11 +0200)]
ARM: Document AArch64 version of qemu-arm

It's mostly obvious, except that QEMU is annoying and requires an
explicit '-cpu cortex-a57' (or some other 64-bit core) to actually run
in 64-bit mode.

While at it, remove the references to setting the ARCH environment
variable; that is not used in U-Boot.

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agoARM: qemu-arm: Add support for AArch64
Tuomas Tynkkynen [Thu, 11 Jan 2018 14:11:23 +0000 (16:11 +0200)]
ARM: qemu-arm: Add support for AArch64

This adds support for '-machine virt' on AArch64. This is rather simple:
we just add TARGET_QEMU_ARM_xxBIT to select a few different Kconfig
symbols, provide the ARMv8 memory map from the board file and add a new
defconfig based on the 32-bit defconfig.

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agoarm: mach-omap2: Remove secure certificate name printing
Andrew F. Davis [Tue, 9 Jan 2018 20:33:54 +0000 (14:33 -0600)]
arm: mach-omap2: Remove secure certificate name printing

The signing certificate name is always 15 chars long, but need not be
null terminated. One solution is then to use printf precision modifiers
to only print this many chars ("%.15s"), but tiny printf does not support
this, so lets just drop printing the cert name for now.

Signed-off-by: Andrew F. Davis <afd@ti.com>
6 years agoarm: am33xx: security: Fix size calculation on header
Madan Srinivas [Tue, 9 Jan 2018 20:32:41 +0000 (14:32 -0600)]
arm: am33xx: security: Fix size calculation on header

Fix the size calculation in the verify boot. The header size
should be subtracted from the image size, not be assigned to
the image size.

Fixes: 0830d72bb9f8 ("arm: am33xx: security: adds auth support for encrypted images")
Signed-off-by: Madan Srinivas <madans@ti.com>
Signed-off-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agorpi_0_w: Add configs consistent with RpI3
Drew Moseley [Sun, 7 Jan 2018 16:48:06 +0000 (11:48 -0500)]
rpi_0_w: Add configs consistent with RpI3

CONFIG_OF_EMBED in particular is needed to allow the Raspberry Pi
firmware to pass the DTB to U-Boot and on to the kernel.

Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
6 years agoARM: omap3: evm: Add kernel image loading from UBIFS and EXT4
Derald D. Woods [Sun, 7 Jan 2018 05:10:06 +0000 (23:10 -0600)]
ARM: omap3: evm: Add kernel image loading from UBIFS and EXT4

This commit adds UBIFS_NAND to BOOT_TARGET_DEVICES. This will
allow the kernel zImage to be loaded from '/boot/zImage' in UBIFS
(ubi0:rootfs).

Additionally update the *_MMC devices to also load kernel image from
the MMC 0:2 EXT4 file system.

DISTRO_DEFAULTS Setup

=====================

[primary] Check MMC 0:1 for /extlinux/extlinux.conf and boot
[fallback 1] Check MMC 0:2 /boot/zImage and run mmcbootz
[fallback 2] Check MMC 0:2 /boot/uImage and run mmcboot
[fallback 3] Check NAND UBIFS /boot/zImage and run nandbootubifs
[fallback 4] Check NAND partitions and run nandboot

The following "extlinux.conf" can be used to load images in the
top-level of the MMC 0:1 FAT partition.

[MMC(0:1)/extlinux/extlinux.conf]
---8<-------------------------------------------------------------------
default omap3-evm
label omap3-evm
kernel /zImage
fdt /omap3-evm.dtb
append console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
---8<-------------------------------------------------------------------

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
6 years agoboard_r: remove superfluous #ifdef CONFIG_PRAM
Heinrich Schuchardt [Sat, 6 Jan 2018 23:54:20 +0000 (00:54 +0100)]
board_r: remove superfluous #ifdef CONFIG_PRAM

initr_mem() is already enclosed by
#if defined(CONFIG_PRAM)
#endif

So there is no need to check CONFIG_PRAM again inside the
function.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoGPIO: tca642x: Rework to not include commands in SPL
Tom Rini [Wed, 3 Jan 2018 14:24:24 +0000 (09:24 -0500)]
GPIO: tca642x: Rework to not include commands in SPL

The command portion of the GPIO driver can only be used in full SPL so
re-work to guard the command related portions and mark it as static.

Cc: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoGPIO: pca953x: Rework to not include commands in SPL
Tom Rini [Wed, 3 Jan 2018 14:23:14 +0000 (09:23 -0500)]
GPIO: pca953x: Rework to not include commands in SPL

The command portion of the GPIO driver can only be used in full SPL so
re-work to guard the command related portions and mark it as static.

Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agocmd: pmic: update help description
Klaus Goger [Wed, 3 Jan 2018 08:10:34 +0000 (09:10 +0100)]
cmd: pmic: update help description

Change help description to match the style of the other U-Boot commands
and get rid of the leading whitespace.

Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
6 years agofs/fat: remove distractive message in file_fat_read_at()
Heinrich Schuchardt [Mon, 1 Jan 2018 20:31:58 +0000 (21:31 +0100)]
fs/fat: remove distractive message in file_fat_read_at()

The message "reading %s\n" may be interesting when
debugging but otherwise it is superfluous.

Only output the message when debugging.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agofs: remove distractive message in fs_read()
Heinrich Schuchardt [Mon, 1 Jan 2018 20:15:37 +0000 (21:15 +0100)]
fs: remove distractive message in fs_read()

The message
"** %s shorter than offset + len **\n"
may be interesting when debugging but it does not indicate an
error.

So we should not write it if we are not in debug mode.

Fixes: 7a3e70cfd88c fs/fs.c: read up to EOF when len would read past EOF
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoDA850evm: Remove dead code
Adam Ford [Sat, 30 Dec 2017 12:04:03 +0000 (06:04 -0600)]
DA850evm: Remove dead code

There is an #ifdef and #endif with nothing in between.  This patch simply
removes this dead/useless code.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoARM: dts: omap3-beagle{-xm}: Enable DM and devicetree for BeagleBoard
Derald D. Woods [Fri, 29 Dec 2017 16:37:32 +0000 (10:37 -0600)]
ARM: dts: omap3-beagle{-xm}: Enable DM and devicetree for BeagleBoard

This commit updates the configuration files needed to support OF_CONTROL
on the OMAP3 BeagleBoard(s).

6 years agoARM: dts: omap3-beagle{-xm}: Add support for BeagleBoard
Derald D. Woods [Fri, 29 Dec 2017 16:37:31 +0000 (10:37 -0600)]
ARM: dts: omap3-beagle{-xm}: Add support for BeagleBoard

This commit adds OMAP3 BeagleBoard devicetree files from
Linux v4.15-rc5. This includes standard OMAP34XX board revisions as
well as the 'xM' which is OMAP36XX.

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
6 years agoenv: ti: Select dtb name for dra76x and am574
Lokesh Vutla [Fri, 29 Dec 2017 06:17:58 +0000 (11:47 +0530)]
env: ti: Select dtb name for dra76x and am574

Select dtb name for am574x-idk and dra76x evm with acd package.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoARM: dts: am574x-idk: Add initial support
Lokesh Vutla [Fri, 29 Dec 2017 06:17:57 +0000 (11:47 +0530)]
ARM: dts: am574x-idk: Add initial support

Add initial dts support for am574x-idk

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoboard: ti: am57xx: Enable CMD_DDR3
Lokesh Vutla [Fri, 29 Dec 2017 06:17:56 +0000 (11:47 +0530)]
board: ti: am57xx: Enable CMD_DDR3

Enable CMD_DDR3 on all am57xx based platforms.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoboard: ti: am574x-idk: Update pinmux using latest PMT
Lokesh Vutla [Fri, 29 Dec 2017 06:17:55 +0000 (11:47 +0530)]
board: ti: am574x-idk: Update pinmux using latest PMT

Update the board pinmux for AM574x-IDK board using latest PMT[1] and the
board files named am574x_idk_v1p3b_sr2p0 that were auto generated on
13th October, 2017 by "Ahmad Rashed <a-rashed@ti.com>".

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoboard: ti: am574x-idk: Add ddr data support
Lokesh Vutla [Fri, 29 Dec 2017 06:17:54 +0000 (11:47 +0530)]
board: ti: am574x-idk: Add ddr data support

AM574x-idk has the following DDR parts attached:
EMIF1: MT41K256M16HA (1GB with ECC)
EMIF2: MT41K256M16HA (1GB without ECC)

Enabling 2GB DDR without interleaving between EMIFs. And
enabling ECC on EMIF1.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Krunal Bhargav <k-bhargav@ti.com>
6 years agoboard: ti: am574x-idk: Add hw data support
Lokesh Vutla [Fri, 29 Dec 2017 06:17:53 +0000 (11:47 +0530)]
board: ti: am574x-idk: Add hw data support

Update prcm, voltages and pinmux support for am574x-idk.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoboard: ti: am574x-idk: Add epprom support
Lokesh Vutla [Fri, 29 Dec 2017 06:17:52 +0000 (11:47 +0530)]
board: ti: am574x-idk: Add epprom support

am574x-idk is a board based on TI's am574 processor
Add eeprom support.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoarm: dra762: Add support for device package identification
Lokesh Vutla [Fri, 29 Dec 2017 06:17:51 +0000 (11:47 +0530)]
arm: dra762: Add support for device package identification

DRA762 comes in two packages:
- ABZ: Pin compatible package with DRA742 with DDR@1333MHz
- ACD: High performance(OPP_PLUS) package with new IPs

Both the above packages uses the same IDCODE hence needs to
differentiate using package information in DIE_ID_2.
Add support for the same. Also update clock, ddr, emif information.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agocmd: ti: Generalize cmd_ddr3 command
Lokesh Vutla [Fri, 29 Dec 2017 06:17:50 +0000 (11:47 +0530)]
cmd: ti: Generalize cmd_ddr3 command

Keystone and DRA7 based TI platforms uses same
EMIF memory controller. cmd_ddr3 command is customized
for keystone platforms, make it generic so that it can
be re used for DRA7  platforms.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoarm: keystone: Move cmd_ddr3 to a common place
Lokesh Vutla [Fri, 29 Dec 2017 06:17:49 +0000 (11:47 +0530)]
arm: keystone: Move cmd_ddr3 to a common place

Move cmd_ddr3 to cmd/ti in order to make
it build for non-keystone TI platforms.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
[trini: Rename to ddr3.c not cmd_ddr3.c]
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoarm: emif-common: Add suppport for enabling ECC
Lokesh Vutla [Fri, 29 Dec 2017 06:17:48 +0000 (11:47 +0530)]
arm: emif-common: Add suppport for enabling ECC

For data integrity, the EMIF1 supports ECC on the data
written or read from the SDRAM. Add support for enabling
ECC support in EMIF1.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Krunal Bhargav <k-bhargav@ti.com>
6 years agoarm: emif-common: Add ecc specific emif registers
Lokesh Vutla [Fri, 29 Dec 2017 06:17:47 +0000 (11:47 +0530)]
arm: emif-common: Add ecc specific emif registers

This is a slight difference in emif_ddr_phy_status register offsets for
DRA7xx EMIF and older versions. And ecc registers are available only
in DRA7xx EMIC. Add support for this difference and ecc registers.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agodrivers: dma: ti-edma3: add support for memory fill
Tero Kristo [Fri, 29 Dec 2017 06:17:46 +0000 (11:47 +0530)]
drivers: dma: ti-edma3: add support for memory fill

Add support for simple memory fill operation. With large data sizes
it is much faster to use EDMA for memory fill rather than CPU.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
6 years agodt-bindings: leds: adopt Linux PCA9532 binding constants
Felix Brack [Thu, 28 Dec 2017 17:06:50 +0000 (18:06 +0100)]
dt-bindings: leds: adopt Linux PCA9532 binding constants

I'm working on a v2 patch to add support for a board named pdu001. Its
Linux DTS file uses the include file added by this patch. To keep Linux
and U-Boot DTS files in sync U-Boot requires a copy of this file,
although there is no driver for NXP's PCA9532 i2c LED driver chip (yet).

Signed-off-by: Felix Brack <fb@ltec.ch>
6 years agoboard: ti: k2g: Make ddr3* declarations as static
Lokesh Vutla [Thu, 28 Dec 2017 15:10:03 +0000 (20:40 +0530)]
board: ti: k2g: Make ddr3* declarations as static

All ddr3_emif declarations are not used outside ddr3_k2g.c
file. So make all of them as static.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agoboard: ti: dra76: mux wakeup2 as gpio1_2
Tomi Valkeinen [Thu, 28 Dec 2017 15:10:02 +0000 (20:40 +0530)]
board: ti: dra76: mux wakeup2 as gpio1_2

gpio1_2 is used for HPD interrupt with DRA76's DVI add-on board, so mux
the pin as gpio and PIN_INPUT.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
6 years agoarm: am33xx: Avoid writing into reserved DPLL divider
Lokesh Vutla [Thu, 28 Dec 2017 15:10:01 +0000 (20:40 +0530)]
arm: am33xx: Avoid writing into reserved DPLL divider

DPLL DRR doesn't have an M4 divider. But the clock driver is trying
to configure M4 divider as 4(writing into a reserved register).
Fixing it by making M4 divider as -1.

Reported-by: Steve Kipisz <s-kipisz2@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agotools: omapimage: Fix mismatch of image size in header
Lokesh Vutla [Thu, 28 Dec 2017 15:10:00 +0000 (20:40 +0530)]
tools: omapimage: Fix mismatch of image size in header

The size field in GP header that is expected by ROM is size of the
image + size of the header. But omapimage tool is updating size
as image size + 2 * header size. Remove this extra header size bytes.

Reported-by: Denys Dmytriyenko <denys@ti.com>
Debugged-by: Madan Srinivas <madans@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoboard: ti: K2G FC SoC 1GHz and DDR3 1066 MT/s support
Rex Chang [Thu, 28 Dec 2017 15:09:59 +0000 (20:39 +0530)]
board: ti: K2G FC SoC 1GHz and DDR3 1066 MT/s support

Added support for K2G EVM with FlipChip SoC of which
ARM/DDR3 runs at 1GHz/1066 MT/s. The patch is also
backward compatible with old revision EVM and EVM
with WireBond SoC. Their ARM/DDR3 run at 600MHz/800 MT/s.

The new SoC supports 2 different speeds at 1GHz and 600MHz.
Modyfied the CPU Name to show which SoC is used in the EVM.
Modified the DDR3 configuration to reflect New SoC supports
2 different CPU and DDR3 speeds, 1GHz/1066MT and 600MHz/800MT.

Added new inline function board_it_k2g_g1() for the new FlipChip 1GHz,
and set the u-boot env variable board_name accordingly.

Modified findfdt script in u-boot environment variable to include new k2g board type.

Signed-off-by: Rex Chang <rchang@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoconfigs: k2g_evm: Allocate more space for u-boot
Lokesh Vutla [Thu, 28 Dec 2017 15:09:58 +0000 (20:39 +0530)]
configs: k2g_evm: Allocate more space for u-boot

Now that we have multi dtb enabled in u-boot allocate
128K space for u-boot.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoboard: ti: dra7xx: Select MCAN instead of DCAN on DRA76 EVM
Vignesh R [Tue, 12 Dec 2017 11:44:27 +0000 (17:14 +0530)]
board: ti: dra7xx: Select MCAN instead of DCAN on DRA76 EVM

MCAN can be accessed via DCAN1 or DCAN2. Determining which DCAN instance
to use if any at all is done through
CTRL_CORE_CONTROL_SPARE_RW.SEL_ALT_MCAN. Since general pinmuxing is
handled in U-boot. Handle this additional pinmuxing requirement in U-boot
to ensure that MCAN is used by default via the DCAN1 pins.

Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Vignesh R <vigneshr@ti.com>
[fcooper@ti.com: Update commit message and use DCAN1 not DCAN2 for MCAN]
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
6 years agommc: omap_hsmmc: Fix incorrect bit operations for disabling a bit
Kishon Vijay Abraham I [Thu, 21 Sep 2017 14:51:36 +0000 (16:51 +0200)]
mmc: omap_hsmmc: Fix incorrect bit operations for disabling a bit

omap_hsmmc driver uses "|" in a couple of places for disabling a bit.
While it's okay to use it in "mmc_reg_out" (since mmc_reg_out has a
_mask_ argument to take care of resetting a bit), it's incorrectly used
for resetting flags in "omap_hsmmc_send_cmd".

Fix it here by using "&= ~()" to reset a bit.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agommc: omap_hsmmc: Enable Auto command (CMD12) enable
Kishon Vijay Abraham I [Thu, 21 Sep 2017 14:51:35 +0000 (16:51 +0200)]
mmc: omap_hsmmc: Enable Auto command (CMD12) enable

Instead of sending STOP TRANSMISSION command from MMC core, enable
the auto command feature so that the Host Controller issues CMD12
automatically when last block transfer is completed.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agommc: omap_hsmmc: Add support for DMA (ADMA2)
Kishon Vijay Abraham I [Thu, 21 Sep 2017 14:51:34 +0000 (16:51 +0200)]
mmc: omap_hsmmc: Add support for DMA (ADMA2)

The omap hsmmc host controller can have the ADMA2 feature. It brings better
read and write throughput.
On most SOC, the capability is read from the hl_hwinfo register. On OMAP3,
DMA support is compiled out.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agoddr: marvell: update ddr controller init and freq
Chris Packham [Thu, 18 Jan 2018 04:16:10 +0000 (17:16 +1300)]
ddr: marvell: update ddr controller init and freq

Update the calculation for tWR and tPD. This improves the DDR refresh
interval and brings the initialization into line with the binary blobs
currently being supplied by Marvell.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agoddr: marvell: update additional ODT setting
Chris Packham [Thu, 18 Jan 2018 04:16:09 +0000 (17:16 +1300)]
ddr: marvell: update additional ODT setting

The RD_SAMPLE_DELAY field is 5 bits so it needs to be masked with 0x1f
instead of 0xf. Rather than checking the read sample delay for all DDR
chip selects use the values for the chip selects that are actually
configured. Finally continue searching for the max_phase value even if the
current read_sample is the same as the max_read_sample.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agoddr: marvell: use correct TREFI value
Chris Packham [Thu, 18 Jan 2018 04:16:08 +0000 (17:16 +1300)]
ddr: marvell: use correct TREFI value

The ternary operation had the HIGH/LOW values the
wrong way round. Update it to use the correct value.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agoddr: marvell: only assert M_ODT[0] on write for a single CS
Chris Packham [Thu, 18 Jan 2018 04:16:07 +0000 (17:16 +1300)]
ddr: marvell: only assert M_ODT[0] on write for a single CS

When using only a single DDR chip select only assert M_ODT[0] on write.
Do not assert it on read and do not assert M_ODT[1] at all. Also set
tODT_OFF_WR to 0x9 which contradicts the recommendation from the
functional spec but is what Marvell's binary training blob does and
seems to give better results when ODT is active during writes.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agoARC: devboards: Allow huge uImages (up to 128 MiB)
Alexey Brodkin [Fri, 19 Jan 2018 13:13:51 +0000 (16:13 +0300)]
ARC: devboards: Allow huge uImages (up to 128 MiB)

Even though in production uImage usually is quite small as
it contains just Linux kernel image during development it might
be pretty convenient to have root-FS built into the same image.

That makes uImage much larger but given on our dev platforms we have
quite a lot of DDR (> 512 MiB) we may afford loading huge uImages.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoARC: Invalidate instruction and data caches early on boot
Eugeniy Paltsev [Tue, 16 Jan 2018 18:52:25 +0000 (21:52 +0300)]
ARC: Invalidate instruction and data caches early on boot

This is useful to make sure no stale data exists in caches after bootloaders.

The worst thing could be some lines of cache were locked in a bootloader
for example during DDR recalibration and never unlocked. This may lead
to really unpredictable issues later down the line.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoARC: HSDK: DTS: Add cgu-clk node
Eugeniy Paltsev [Tue, 16 Jan 2018 17:44:28 +0000 (20:44 +0300)]
ARC: HSDK: DTS: Add cgu-clk node

Add cgu-clk (clock generation unit) node to HSDK device tree.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoARC: HSDK: CGU: Add 'Hz' when printing clock frequency
Eugeniy Paltsev [Tue, 16 Jan 2018 17:44:27 +0000 (20:44 +0300)]
ARC: HSDK: CGU: Add 'Hz' when printing clock frequency

Add 'Hz' when printing clock frequency in error messages.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoARC: HSDK: CGU: Use plat data instead of priv data
Eugeniy Paltsev [Tue, 16 Jan 2018 17:44:26 +0000 (20:44 +0300)]
ARC: HSDK: CGU: Use plat data instead of priv data

Correctly allocate hsdk_cgu_clk private data structure using
priv_auto_alloc_size instead of platdata_auto_alloc_size.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoARC: HSDK: CGU: Update AXI, TUN, ARC clock options
Eugeniy Paltsev [Tue, 16 Jan 2018 17:44:25 +0000 (20:44 +0300)]
ARC: HSDK: CGU: Update AXI, TUN, ARC clock options

Update default AXI, TUN, ARC clock set options:
instead of changing only IDIV divider settings adjust also domain PLL
settings.

Add support of TUN_ROM and TUN_PWM clocks (subclocks of TUNN_PLL)

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoARC: HSDK: Hang on panic
Eugeniy Paltsev [Tue, 16 Jan 2018 16:30:17 +0000 (19:30 +0300)]
ARC: HSDK: Hang on panic

As HSDK is a development board it is better to hang on panic instead of
reset the board when panic occurs. That way we preserve a state of HW
for possibility to do post-mortem debug via JTAG.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
6 years agoARC: Cache: Fix style violations reported by checkpatch
Eugeniy Paltsev [Tue, 16 Jan 2018 16:20:29 +0000 (19:20 +0300)]
ARC: Cache: Fix style violations reported by checkpatch

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>