oweals/u-boot.git
5 years agoi2c: mxc_i2c: Fix read and read->write xfers in DM mode
Trent Piepho [Tue, 30 Apr 2019 16:08:19 +0000 (16:08 +0000)]
i2c: mxc_i2c: Fix read and read->write xfers in DM mode

This is an old driver that supports both device mapped and non-mapped
mode, and covers a wide range of hardware.  It's hard to change without
risking breaking something.  I have to tried to be exceedingly detailed
in this patch, so please excuse the length of the commit essay that
follows.

In device mapped mode the I2C xfer function does not handle plain read,
and some other, transfers correctly.

What it can't handle are transactions that:
    Start with a read, or,
    Have a write followed by a read, or,
    Have more than one read in a row.

The common I2C/SMBUS read register and write register transactions
always start with a write, followed by a write or a read, and then end.
These work, so the bug is not apparent for most I2C slaves that only use
these common xfer forms.

The existing xfer loop initializes by sending the chip address in write
mode after it deals with bus arbitration and master setup.  When
processing each message, if the next message will be a read, it sends a
repeated start followed by the chip address in read mode after the
current message.

Obviously, this does not work if the first message is a read, as the
chip is always addressed in write mode initially by i2c_init_transfer().

A write following a read does not work because the repeated start is
only sent when the next message is a read.  There is no logic to send it
when the current message is a read and next is write.  It should be sent
every time the bus changes direction.

The ability to use a plain read was added to this driver in
commit 2feec4eafd40 ("imx: mxc_i2c: tweak the i2c transfer method"),
but this applied only the non-DM code path.

This patch fixes the DM code path.  The xfer function will call
i2c_init_transfer() with an alen of -1 to avoid sending the chip
address.  The same way the non-DM code achieves this.  The xfer
function's message loop will send the address and mode before each
message if the bus changes direction, and on the first message.

When reading data, the master hardware is one byte ahead of what we
receive.  I.e., reading a byte from the data register returns a byte
*already received* by the master, and causes the master to start the RX
of the *next* byte.  Therefor, before we read the final byte of a
message, we must tell the master what to do next.  I add a "last" flag
to i2c_read_data() to tell it if the message is to be followed by a stop
or a repeated start.  When last == true it acts exactly as before.

The non-DM code can only create an xfer where the read, if any, is the
final message of the xfer.  And so the only callsite of i2c_read_data()
in the non-DM code has the "last" parameter as true.  Therefore, this
change has no effect on the non-DM code.  As all other changes are in
the DM xfer function, which is not even compiled in non-DM code, I am
confident that this patch has no effect on boards not using I2C_DM.
This greatly reduces the range of hardware that could be affected.

For DM boards, I have verified every transaction the "i2c" command can
create on a scope and they are all exactly as they are supposed to be.
I also tested write->read->write, which isn't possible with the i2c
command, and it works as well.  I didn't fix multiple reads in a row, as
it's a lot more invasive and obviously no one has every wanted them
since they've never worked.  It didn't seem like the extra complexity
was justified to support something no one uses.

Cc: Nandor Han <nandor.han@ge.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Breno Matheus Lima <brenomatheus@gmail.com>
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
5 years agoi2c: mxc_i2c: Document how non-DM functions work
Trent Piepho [Tue, 30 Apr 2019 16:08:18 +0000 (16:08 +0000)]
i2c: mxc_i2c: Document how non-DM functions work

It is not very clear how these work in relation to the exact I2C xfers
they produce.  In paticular, the address length is somewhat overloaded
in the read method.  Clearly document the existing behavior.  Maybe this
will help the next person who needs to work on this driver and not break
non-DM boards.

Cc: Nandor Han <nandor.han@ge.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Breno Matheus Lima <brenomatheus@gmail.com>
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
5 years agoPrepare v2019.07-rc2 v2019.07-rc2
Tom Rini [Wed, 15 May 2019 19:58:48 +0000 (15:58 -0400)]
Prepare v2019.07-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Tom Rini [Wed, 15 May 2019 11:10:52 +0000 (07:10 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-net

- micrel, ti PHY fixes
- rtl8169, mtk-eth fixes

5 years agoMerge tag 'u-boot-stm32-mcu-20190514' of https://github.com/pchotard/u-boot
Tom Rini [Wed, 15 May 2019 11:10:32 +0000 (07:10 -0400)]
Merge tag 'u-boot-stm32-mcu-20190514' of https://github.com/pchotard/u-boot

STM32 MCUs update:
_ Add MPU region for SPI NOR memory mapped region
_ Add missing QSPI flash compatible for STM32 F7 boards
_ Update spi-tx-bus-width and spi-rx-bus-width properties
_ Add QSPI support for STM32F469 Discovery board

5 years agoeth: mtk-eth: fix incorrect read of phy-handle
Weijie Gao [Sun, 28 Apr 2019 07:08:57 +0000 (15:08 +0800)]
eth: mtk-eth: fix incorrect read of phy-handle

In mt7629-rfb.dts, the phy-handle is a reference to the node phy0, not the
node itself:

phy-handle = <&phy0>;

phy0: ethernet-phy@0 {
reg = <0>;
}

However the driver used ofnode_find_subnode("phy-handle") to read the node.
It will always fail.

This patch replaces ofnode_find_subnode with dev_read_phandle_with_args to
make sure the node can be read correctly.

Cc: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agonet: rtl8169: Support RTL-8168h/8111h
Thierry Reding [Tue, 16 Apr 2019 16:20:30 +0000 (18:20 +0200)]
net: rtl8169: Support RTL-8168h/8111h

This version of the RTL-8168 is present on some development boards and
is compatible with this driver. Add support for identifying this version
of the chip so that U-Boot won't complain about it being unknown.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agonet: rtl8169: Implement ->hwaddr_write() callback
Thierry Reding [Tue, 16 Apr 2019 16:20:29 +0000 (18:20 +0200)]
net: rtl8169: Implement ->hwaddr_write() callback

Implement this callback that allows the MAC address to be set for the
Ethernet card. This is necessary in order for the device to be able to
receive packets for the MAC address that U-Boot advertises.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agophy: ti: Init node before reading
Michal Simek [Sat, 16 Mar 2019 11:43:17 +0000 (12:43 +0100)]
phy: ti: Init node before reading

There is a need to fill node before clk_output_sel is setup.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Reviewed-by: <hannes.schmelzer@br-automation.com>
5 years agonet: phy: micrel: Allow KSZ8xxx and KSZ90x1 to be used together
James Byrne [Wed, 6 Mar 2019 12:48:27 +0000 (12:48 +0000)]
net: phy: micrel: Allow KSZ8xxx and KSZ90x1 to be used together

Commit d397f7c45b0b ("net: phy: micrel: Separate KSZ9000 drivers from
KSZ8000 drivers") separated the KSZ8xxx and KSZ90x1 drivers and warns
that you shouldn't select both of them due to a device ID clash between
the KSZ9021 and the KS8721, asserting that "it is highly unlikely for a
system to contain both a KSZ8000 and a KSZ9000 PHY". Unfortunately
boards like the SAMA5D3xEK do contain both types of PHY, but fortunately
the Linux Micrel PHY driver provides a solution by using different PHY
ID and mask values to distinguish these chips.

This commit contains the following changes:

- The PHY ID and mask values for the KSZ9021 and the KS8721 now match
those used by the Linux driver.
- The warnings about not enabling both drivers have been removed.
- The description for PHY_MICREL_KSZ8XXX has been corrected (these are
10/100 PHYs, not GbE PHYs).
- PHY_MICREL_KSZ9021 and PHY_MICREL_KSZ9031 no longer select PHY_GIGE
since this is selected by PHY_MICREL_KSZ90X1.
- All of the relevant defconfig files have been updated now that
PHY_MICREL_KSZ8XXX does not default to 'Y'.

Signed-off-by: James Byrne <james.byrne@origamienergy.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoMerge tag 'efi-2019-07-rc3' of git://git.denx.de/u-boot-efi
Tom Rini [Mon, 13 May 2019 11:13:28 +0000 (07:13 -0400)]
Merge tag 'efi-2019-07-rc3' of git://git.denx.de/u-boot-efi

Pull request for UEFI sub-system for v2019.07-rc3

The development target for the UEFI sub-system is EBBR compliance. We have
already implemented some further protocols to enable running the UEFI Shell
and the UEFI SCT test suite.

As some boards are severely memory constrained make some of these extras
customizable.

Provide bug fixes. The most prominent ones let us pass the UEFI SCT memory
allocation tests.

5 years agoMerge branch 'master' of git://git.denx.de/u-boot-socfpga
Tom Rini [Mon, 13 May 2019 11:13:03 +0000 (07:13 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-socfpga

- A10 FPGA programming support, Gen5 livetree conversion

5 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Mon, 13 May 2019 11:12:47 +0000 (07:12 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

- SH2, SH3 removal

5 years agoefi_loader: comments for efi_install_fdt()
Heinrich Schuchardt [Sun, 12 May 2019 18:16:25 +0000 (20:16 +0200)]
efi_loader: comments for efi_install_fdt()

Describe that efi_install_fdt() defaults to using the device tree
indicated by environment variable fdtcontroladdr.

ACPI tables and device trees are mutually exclusive.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: deduplicate code in cmd/bootefi.c
Heinrich Schuchardt [Sun, 12 May 2019 18:16:25 +0000 (20:16 +0200)]
efi_loader: deduplicate code in cmd/bootefi.c

Move duplicate initialization code to single instance.

Adjust comments of concerned functions.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: ACPI device node to text
Heinrich Schuchardt [Sat, 11 May 2019 21:11:48 +0000 (23:11 +0200)]
efi_loader: ACPI device node to text

The device path to text protocol renders ACPI device nodes incorrectly.

Use capital hexadecimal numbers as shown in the UEFI spec examples.

Always output the optional UID. This matches what UEFI SCT expects and
saves us an `if`.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: infinite recursion notifying events
Heinrich Schuchardt [Sat, 11 May 2019 19:44:59 +0000 (21:44 +0200)]
efi_loader: infinite recursion notifying events

UEFI SCT uses this call sequence to determine the current TPL level inside
notification functions:

    OldTpl = BS->RaiseTPL(TPL_HIGH_LEVEL);
    BS->RestoreTPL(OldTpl);

In RestoreTPL() we trigger the notification function of queued events. If
we do not mark the event as non-queued before calling the notification
function, this results in an infinite recursive call sequence.

Mark the event as non-queued before entering the notification function.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: simplify efi_allocate_pages()
Heinrich Schuchardt [Sat, 11 May 2019 06:43:30 +0000 (08:43 +0200)]
efi_loader: simplify efi_allocate_pages()

Replace unnecessary control structures by using return statements.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: AllocateAdress error handling
Heinrich Schuchardt [Sat, 11 May 2019 06:21:17 +0000 (08:21 +0200)]
efi_loader: AllocateAdress error handling

If AllocatePages() is called with AllocateAddress, the UEFI spec requires
to return EFI_NOT_FOUND in case the memory page does not exist.

The UEFI SCT II 2017 spec additionally requires to return EFI_NOT_FOUND if
the page is already allocated.

Check that *Memory refers to an unallocated page.

UEFI SCT II (2017): AllocatePages(), 5.1.2.1.9 - 5.1.2.1.10

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: out of resources in AllocatePages()
Heinrich Schuchardt [Sat, 11 May 2019 05:55:05 +0000 (07:55 +0200)]
efi_loader: out of resources in AllocatePages()

According to the UEFI AllocatePages() has to return EFI_OUT_OF_RESOURCES if
sufficient memory is not available.

Change the return value.

UEFI SCT II (2017): 3.2.1 AllocatePages(), 5.1.2.1.8

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: check memory address before freeing
Heinrich Schuchardt [Fri, 10 May 2019 19:21:30 +0000 (21:21 +0200)]
efi_loader: check memory address before freeing

When we call FreePages() we essentially add memory to our memory map. We
shouldn't do this for memory that does not exit.

Check if the memory that is to be freed via FreePages() or FreePool() is in
our memory map and is not EFI_CONVENTIONAL_MEMORY.

This check is mandated by the UEFI specification.

Cf. UEFI SCT  II (2017), 3.2.2 FreePages(), 5.1.2.1 - 5.1.2.2

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: error code in UninstallProtocolInterface()
Heinrich Schuchardt [Fri, 10 May 2019 18:06:48 +0000 (20:06 +0200)]
efi_loader: error code in UninstallProtocolInterface()

According to the UEFI specification UninstallProtocolInteface() has to
return EFI_NOT_FOUND if the interface is not found.

Correct the return value.

Cf. UEFI SCT II spec (2017), 3.3.2 UninstallProtocolInterface(), 5.1.3.2.4

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: superfluous check in efi_remove_protocol()
Heinrich Schuchardt [Fri, 10 May 2019 17:55:53 +0000 (19:55 +0200)]
efi_loader: superfluous check in efi_remove_protocol()

efi_search_protocol() already checks that the GUID matches. Don't check
a second time.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: LocateDevicePath() incorrect parameter check
Heinrich Schuchardt [Fri, 10 May 2019 17:21:41 +0000 (19:21 +0200)]
efi_loader: LocateDevicePath() incorrect parameter check

A parameter check in LocateDevicePath() does not match the requirements of
the UEFI spec.

If device is NULL, only return EFI_INVALID_PARAMETER if a matching handle
is found.

Cf. UEFI SCT II specification (2017)3.3.7 LocateDevicePath(), 5.1.3.7.3

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: fix typo in efi_locate_handle() comment
Heinrich Schuchardt [Fri, 10 May 2019 17:03:49 +0000 (19:03 +0200)]
efi_loader: fix typo in efi_locate_handle() comment

%s/not buffer/no buffer/

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: make device path to text protocol customizable
Heinrich Schuchardt [Sat, 11 May 2019 07:53:33 +0000 (09:53 +0200)]
efi_loader: make device path to text protocol customizable

The device path to text protocol is not needed for EBBR compliance. So
let's make it a customizable option.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: make Unicode collation protocol customizable
Heinrich Schuchardt [Wed, 8 May 2019 21:24:26 +0000 (23:24 +0200)]
efi_loader: make Unicode collation protocol customizable

The Unicode collation protocol is not needed for EBBR compliance. So let's
make it a customizable option.

The Unicode capitalization table is only needed by this protocol. So let it
depend on the Unicode collation protocol.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: reword the EFI_LOADER config option
Heinrich Schuchardt [Sat, 11 May 2019 08:27:58 +0000 (10:27 +0200)]
efi_loader: reword the EFI_LOADER config option

No need to mention U-Boot in brief description.
Fix several typos, mention iPXE.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: format Kconfig
Heinrich Schuchardt [Wed, 8 May 2019 21:17:38 +0000 (23:17 +0200)]
efi_loader: format Kconfig

Use if/endif for dependencies to give structure to the configuration menu.

Sort important settings to the top.

Abbreviate the short description of EFI_LOADER_HII.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: observe CONFIG_EFI_LOADER_HII
Heinrich Schuchardt [Wed, 8 May 2019 19:42:36 +0000 (21:42 +0200)]
efi_loader: observe CONFIG_EFI_LOADER_HII

If EFI_LOADER_HII is not set, do not unnecessarily compile files for HII
protocols.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoMAINTAINERS: assign include/charset.h
Heinrich Schuchardt [Wed, 8 May 2019 17:41:35 +0000 (19:41 +0200)]
MAINTAINERS: assign include/charset.h

Assign include/charset.h to EFI PAYLOAD.

The functions defined in this include are used by the UEFI sub-system.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agolib: charset: correct utf8_utf16_strnlen() description
Heinrich Schuchardt [Wed, 8 May 2019 17:34:48 +0000 (19:34 +0200)]
lib: charset: correct utf8_utf16_strnlen() description

Correct the description of utf8_utf16_strnlen() and utf8_utf16_strlen() to
reflect that they return u16 count and not byte count.

For these functions and utf16_utf8_strnlen() describe the handling of
invalid code sequences.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agogpio: dwapb_gpio: convert to livetree
Simon Goldschmidt [Thu, 9 May 2019 20:12:00 +0000 (22:12 +0200)]
gpio: dwapb_gpio: convert to livetree

Convert 'gpio_dwapb_bind' to iterate over subnodes using livetree
functions (inspired from mt7621_gpio.c).

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoreset: socfpga: convert to livetree
Simon Goldschmidt [Thu, 9 May 2019 20:11:59 +0000 (22:11 +0200)]
reset: socfpga: convert to livetree

Convert 'socfpga_reset_probe' to use 'dev_read_u32_default'
instead of 'fdtdec_get_int'.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoserial: altera_uart: convert to livetree
Simon Goldschmidt [Thu, 9 May 2019 20:11:58 +0000 (22:11 +0200)]
serial: altera_uart: convert to livetree

Convert 'altera_uart_ofdata_to_platdata' to use 'dev_read_u32_default'
instead of 'fdtdec_get_int' and get rid of DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agospi: designware: convert to livetree
Simon Goldschmidt [Thu, 9 May 2019 20:11:57 +0000 (22:11 +0200)]
spi: designware: convert to livetree

Convert 'dw_spi_ofdata_to_platdata' to use 'dev_read_u32_default'
instead of 'fdtdec_get_int' and get rid of DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agospi: cadence_qspi: convert to livetree
Simon Goldschmidt [Thu, 9 May 2019 20:11:56 +0000 (22:11 +0200)]
spi: cadence_qspi: convert to livetree

Convert 'cadence_spi_ofdata_to_platdata' to use dev_read_* functions to
read driver parameters and 'dev_read_first_subnode'/'ofnode_read_*' to
read flash (child node) parameters.

Tested on socfpga_socrates (socfpga gen5).

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agotimer: dw-apb: remove unused DECLARE_GLOBAL_DATA_PTR
Simon Goldschmidt [Thu, 9 May 2019 20:11:55 +0000 (22:11 +0200)]
timer: dw-apb: remove unused DECLARE_GLOBAL_DATA_PTR

The dw-apb timer does not use 'gd', so remove its declaration.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoconfigs: stratix10: Enable CONFIG_SPI_FLASH_USE_4K_SECTORS
Ley Foon Tan [Wed, 8 May 2019 03:07:37 +0000 (11:07 +0800)]
configs: stratix10: Enable CONFIG_SPI_FLASH_USE_4K_SECTORS

Fix SPI flash environment erase size error.

CONFIG_ENV_SECT_SIZE is set to 4KB. Enable CONFIG_SPI_FLASH_USE_4K_SECTORS
to allow erase one environment sector.

Fix error below:

SOCFPGA_STRATIX10 # saveenv
Saving Environment to SPI Flash...
SF: Detected mt25qu02g with page size 256 Bytes, erase size 64 KiB, total 256 MiB
Erasing SPI flash...SF: Erase offset/length not multiple of erase size
Failed (-22)

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
5 years agoARM: socfpga: Increase Malloc pool size to support FAT filesystem in SPL
Tien Fong Chee [Tue, 7 May 2019 09:42:32 +0000 (17:42 +0800)]
ARM: socfpga: Increase Malloc pool size to support FAT filesystem in SPL

Increasing Malloc pool size up to 0x15000 is required to support FAT in SPL
. The result of calculation is come from default max cluster(0x10000) +
others(0x2000) + additional memory for headroom(0x3000).

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agoARM: socfpga: Synchronize the configuration for A10 SoCDK
Tien Fong Chee [Tue, 7 May 2019 09:42:31 +0000 (17:42 +0800)]
ARM: socfpga: Synchronize the configuration for A10 SoCDK

Update the default configuration file to enable the necessary functionality
the get the kit working.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agospl: socfpga: Implement fpga bitstream loading with socfpga loadfs
Tien Fong Chee [Tue, 7 May 2019 09:42:30 +0000 (17:42 +0800)]
spl: socfpga: Implement fpga bitstream loading with socfpga loadfs

Add support for loading FPGA bitstream to get DDR up running before
U-Boot is loaded into DDR. Boot device initialization, generic firmware
loader and SPL FAT support are required for this whole mechanism to work.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agoARM: socfpga: Add the configuration for FPGA SoCFPGA A10 SoCDK
Tien Fong Chee [Tue, 7 May 2019 09:42:29 +0000 (17:42 +0800)]
ARM: socfpga: Add the configuration for FPGA SoCFPGA A10 SoCDK

Update the default configuration file to enable the necessary functionality
to get the SoCFPGA loadfs driver support. This would enable the
implementation of programming bitstream into FPGA from MMC.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agoARM: socfpga: Add FPGA drivers for Arria 10 FPGA bitstream loading
Tien Fong Chee [Tue, 7 May 2019 09:42:28 +0000 (17:42 +0800)]
ARM: socfpga: Add FPGA drivers for Arria 10 FPGA bitstream loading

Add FPGA driver to support program FPGA with FPGA bitstream loading from
filesystem. The driver are designed based on generic firmware loader
framework. The driver can handle FPGA program operation from loading FPGA
bitstream in flash to memory and then to program FPGA.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agoARM: socfpga: Moving the watchdog reset to the for-loop status polling
Tien Fong Chee [Tue, 7 May 2019 09:42:27 +0000 (17:42 +0800)]
ARM: socfpga: Moving the watchdog reset to the for-loop status polling

Current watchdog reset is misplaced after for-loop status polling, so
this poses a risk that watchdog can't be reset timely if polling taking
longer than watchdog timeout. This patch moving the watchdog reset
into polling to ensure the watchdog can be reset timely.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agoARM: socfpga: Cleaning up and ensuring consistent format messages in driver
Tien Fong Chee [Tue, 7 May 2019 09:42:26 +0000 (17:42 +0800)]
ARM: socfpga: Cleaning up and ensuring consistent format messages in driver

Ensure all the debug messages are always prefix with "FPGA: " and comment
beginning with uppercase letter.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agoARM: socfpga: Add default FPGA bitstream fitImage for Arria10 SoCDK
Tien Fong Chee [Tue, 7 May 2019 09:42:25 +0000 (17:42 +0800)]
ARM: socfpga: Add default FPGA bitstream fitImage for Arria10 SoCDK

Add default fitImage file bundling FPGA bitstreams for Arria10.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agoARM: socfpga: Description on FPGA bitstream type and file name for Arria 10
Tien Fong Chee [Tue, 7 May 2019 09:42:24 +0000 (17:42 +0800)]
ARM: socfpga: Description on FPGA bitstream type and file name for Arria 10

This patch adds description on properties about file name used for both
peripheral bitstream and core bitstream.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agosh: sh3: Remove CPU support
Marek Vasut [Tue, 7 May 2019 20:04:05 +0000 (22:04 +0200)]
sh: sh3: Remove CPU support

This CPU core is old, no boards using the CPU are left in mainline,
it has no prospects of ever being converted to DM, drop it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agosh: shmin: Remove the board
Marek Vasut [Tue, 7 May 2019 20:02:39 +0000 (22:02 +0200)]
sh: shmin: Remove the board

Last change to this board was done in 2016, has no prospects of
ever being converted to DM, drop it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agosh: ms7720se: Remove the board
Marek Vasut [Tue, 7 May 2019 20:01:37 +0000 (22:01 +0200)]
sh: ms7720se: Remove the board

Last change to this board was done in 2016, has no prospects of
ever being converted to DM, drop it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agosh: mpr2: Remove the board
Marek Vasut [Tue, 7 May 2019 19:59:57 +0000 (21:59 +0200)]
sh: mpr2: Remove the board

Last change to this board was done in 2016, has no prospects of
ever being converted to DM, drop it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Mark Jonas <mark.jonas@de.bosch.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agosh: sh2: Remove CPU support
Marek Vasut [Tue, 7 May 2019 19:52:47 +0000 (21:52 +0200)]
sh: sh2: Remove CPU support

This CPU core is old, no boards using the CPU are left in mainline,
it has no prospects of ever being converted to DM, drop it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agosh: rsk7269: Remove the board
Marek Vasut [Tue, 7 May 2019 19:51:39 +0000 (21:51 +0200)]
sh: rsk7269: Remove the board

Last change to this board was done in 2016, has no prospects of
ever being converted to DM, drop it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agosh: rsk7264: Remove the board
Marek Vasut [Tue, 7 May 2019 19:51:06 +0000 (21:51 +0200)]
sh: rsk7264: Remove the board

Last change to this board was done in 2016, has no prospects of
ever being converted to DM, drop it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agosh: rsk7203: Remove the board
Marek Vasut [Tue, 7 May 2019 19:49:16 +0000 (21:49 +0200)]
sh: rsk7203: Remove the board

Last change to this board was done in 2016, has no prospects of
ever being converted to DM, drop it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agoserial: sh: Drop assorted SH3, SH4, SH5 macros
Marek Vasut [Tue, 7 May 2019 20:31:23 +0000 (22:31 +0200)]
serial: sh: Drop assorted SH3, SH4, SH5 macros

Drop unused macros from the header to clean it up.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agoserial: sh: Drop RTS7751R2D support
Marek Vasut [Tue, 7 May 2019 20:27:32 +0000 (22:27 +0200)]
serial: sh: Drop RTS7751R2D support

There is no RTS7751R2D support in U-Boot, drop all the RTS7751R2D macros.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agoserial: sh: Drop SH2007 support
Marek Vasut [Tue, 7 May 2019 20:26:21 +0000 (22:26 +0200)]
serial: sh: Drop SH2007 support

There is no SH2007 support in U-Boot, drop all the SH2007 macros.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agoserial: sh: Drop H8 support
Marek Vasut [Tue, 7 May 2019 20:14:49 +0000 (22:14 +0200)]
serial: sh: Drop H8 support

There is no H8 support in U-Boot, drop all the H8 macros.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Yoshihiro Shimoda <shimoda.yoshihiro.uh@renesas.com>
5 years agoMerge branch '2019-05-10-master-imports'
Tom Rini [Fri, 10 May 2019 15:08:48 +0000 (11:08 -0400)]
Merge branch '2019-05-10-master-imports'

- Correct CONFIG_CRC32 related options in Kconfig
- CONFIG_GPIO select's DM_GPIO, drop CONFIG_GPIO from whitelist.txt

5 years agoRemove whitelist entry for CONFIG_CRC32
Chris Packham [Sat, 13 Apr 2019 09:13:59 +0000 (21:13 +1200)]
Remove whitelist entry for CONFIG_CRC32

There are no longer any references to this in the code so this can be
removed.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agoRemove #define CONFIG_CRC32
Chris Packham [Sat, 13 Apr 2019 09:13:58 +0000 (21:13 +1200)]
Remove #define CONFIG_CRC32

There is no check for CONFIG_CRC32 so the #define in image.h does
nothing. Remove it.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agomtd: ubi: Remove select for non existent option
Chris Packham [Sat, 13 Apr 2019 09:13:57 +0000 (21:13 +1200)]
mtd: ubi: Remove select for non existent option

There is no 'config CRC32' remove the select that was attempting to use
it.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agocmd: ubifs: Remove select for non-existent option
Chris Packham [Sat, 13 Apr 2019 09:13:56 +0000 (21:13 +1200)]
cmd: ubifs: Remove select for non-existent option

There is no 'config CRC32', remove the select that was attempting to use
it.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agoRemove whitelist entry for CONFIG_GPIO
Chris Packham [Sat, 13 Apr 2019 08:35:24 +0000 (20:35 +1200)]
Remove whitelist entry for CONFIG_GPIO

CONFIG_GPIO does not exist. There is one hit for it in tegra_gpio.c but
it is a variable name.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agosysreset: select DM_GPIO instead of GPIO
Chris Packham [Sat, 13 Apr 2019 08:35:23 +0000 (20:35 +1200)]
sysreset: select DM_GPIO instead of GPIO

CONFIG_GPIO does not exist. sysreset_gpio.c uses the DM gpio APIs so the
correct option to select is DM_GPIO.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoMerge branch '2019-05-09-master-imports'
Tom Rini [Fri, 10 May 2019 11:07:49 +0000 (07:07 -0400)]
Merge branch '2019-05-09-master-imports'

- Minor fixes (ata memory leak, implement feedback on ohci-da8xx
  changes, avb test fix, mmc test fix, spelling fixes, make FIT really
  optional, fit-dtb blob cleanups, TI K3 workflow improvements, bootz
  can boot barebox on 32bit ARM).

5 years agoremoteproc: k3_system_controller: Increase rx timeout
Lokesh Vutla [Thu, 2 May 2019 10:05:52 +0000 (15:35 +0530)]
remoteproc: k3_system_controller: Increase rx timeout

There is one case where 400ms is not sufficient for loading the
system firmware:
- System firmware is not signed with rsa degenerate key.
- ROM loading the sysfw directly from SPI flash which is in memory
  mapped mode.

The above scenario is definitely not desired in production use cases
as it effects boot time. But still keeping this support as this is
a valid boot scenario.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agoarm: k3: config.mk: Use k3_gen_x509_cert.sh to generate boot images
Lokesh Vutla [Thu, 2 May 2019 10:05:51 +0000 (15:35 +0530)]
arm: k3: config.mk: Use k3_gen_x509_cert.sh to generate boot images

Instead of overlading makefile, use the k3_gen_x509_cert.sh script
to generate boot images.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agotools: k3_get_x509 cert: Add a script to generate x509 certificate for K3 devices
Lokesh Vutla [Thu, 2 May 2019 10:05:50 +0000 (15:35 +0530)]
tools: k3_get_x509 cert: Add a script to generate x509 certificate for K3 devices

TI's K3 boot architecture mandates a x509 certificate for every boot image.
While signing the image K3 ROM allows for two types of keys based on which
the boot image gets loaded in different ways:
- Degenerate RSA keys: This generates a signature which is equal to the digest.
       When ROM sees this, it does a DMA for copying the images,
       which significantly improves the boot time.
- Any other key: Does a memcpy to load the image. This is introduced as a
 fallback for DMA copy.

Add a script for generating boot images with the above options. Default
generates image using rsa degenerate key in order to improve boot time.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
5 years agoSet time and umask on fit-dtb.blob to ensure reproducibile builds.
Vagrant Cascadian [Thu, 2 May 2019 18:14:12 +0000 (11:14 -0700)]
Set time and umask on fit-dtb.blob to ensure reproducibile builds.

Support for compressed fit-dtb.blob was added in:

  commit 95f4bbd581cf ("lib: fdt: Allow LZO and GZIP DT compression in
  U-Boot")

When building compressed (lzop, gzip) fit-dtb.blob images, the
compression tool may embed the time or umask in the image.

Work around this by manually setting the time of the source file using
SOURCE_DATE_EPOCH and a hard-coded 0600 umask.

With gzip, this could be accomplished by using -n/--no-name, but lzop
has no current workaround:

  https://bugs.debian.org/896520

This is essentially the same fix applied to multi-dtb fit SPL images in:

  commit 8664ab7debab ("Set time and umask on multi-dtb fit images to
  ensure reproducibile builds.")

Signed-off-by: Vagrant Cascadian <vagrant@reproducible-builds.org>
5 years agoRemove fit-dtb.blob* in clean target.
Vagrant Cascadian [Thu, 2 May 2019 18:14:11 +0000 (11:14 -0700)]
Remove fit-dtb.blob* in clean target.

Support for compressed fit-dtb.blob was added in:

  commit 95f4bbd581cf ("lib: fdt: Allow LZO and GZIP DT compression in
  U-Boot")

Adjust Makefile to also clean compressed blobs.

Signed-off-by: Vagrant Cascadian <vagrant@reproducible-builds.org>
5 years agoAdd fit-dtb.blob* to .gitignore.
Vagrant Cascadian [Thu, 2 May 2019 18:14:10 +0000 (11:14 -0700)]
Add fit-dtb.blob* to .gitignore.

Support for compressed fit-dtb.blob was added in:

  commit 95f4bbd581cf ("lib: fdt: Allow LZO and GZIP DT compression in
  U-Boot")

Adjust .gitignore to also exclude compressed blobs.

Signed-off-by: Vagrant Cascadian <vagrant@reproducible-builds.org>
5 years agoarm: zimage: add barebox image magic number
Christoph Fritz [Fri, 3 May 2019 11:19:49 +0000 (13:19 +0200)]
arm: zimage: add barebox image magic number

For chainboot configurations or test environments, this patch allows
booting barebox images by using command bootz.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
5 years agotest/py: don't use mmc_rd config for other mmc tests
Stephen Warren [Tue, 16 Apr 2019 22:04:49 +0000 (16:04 -0600)]
test/py: don't use mmc_rd config for other mmc tests

Fix test_mmc_dev(), test_mmc_rescan(), test_mmc_info() not to use the
same configuration data that test_mmc_rd() does. Doing so causes the
following issues:

* The new code uncondtionally expects certain keys to exist in the
configuration data. These keys do not exist in existing configuration
data since they were not previously required, and there was no
notification re: a requirement to add these new keys. This causes test
failures due to thrown exceptions when accessing the non-existent keys.

* The new tests logically operate on different objects. test_mmc_rd()
operates on ranges of sectors on an MMC device (which may be the entire
set of sectors of a device, or a part of a device), whereas all the new
tests operate solely on entire devices. These are separate things, and
it's entirely likely that the user will wish to runs the two types of
tests on different sets of data; see the example configuration data that
this commit adds. Ideally, the new tests would have been added to a
separate Python file, since they aren' closely related to the existing
tests.

FIXME: Marek, can you please replace the "???" in this patch with some
reasonable looking data? Thanks.

Cc: Marek Vasut <marek.vasut@gmail.com>
Fixes: 4ffec8cdf512 ("test/py: mmc: Add 'mmc info' test")
Fixes: ce4b2cafa79c ("test/py: mmc: Add 'mmc rescan' test")
Fixes: 86dfd152c917 ("test/py: mmc: Add 'mmc dev' test")
Signed-off-by: Stephen Warren <swarren@nvidia.com>
5 years agofdt_shrink_to_minimum: do not mark fdt space reserved unconditionally
Simon Goldschmidt [Fri, 3 May 2019 19:19:03 +0000 (21:19 +0200)]
fdt_shrink_to_minimum: do not mark fdt space reserved unconditionally

This function merely relocates the fdt blob, so don't let it alter
it by adding reservations that didn't exist before.

Instead, if the memory used for the fdt blob has been reserved
before calling this function, ensure the relocated memory is
marked as reserved instead.

Reported-by: Keerthy <j-keerthy@ti.com>
Reported-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agoMake FIT support really optional
Fabrice Fontaine [Fri, 3 May 2019 20:37:05 +0000 (22:37 +0200)]
Make FIT support really optional

Due to some mistakes in the source code, it was not possible to really
turn FIT support off. This commit fixes the problem by means of the
following changes:

- Enclose "bootm_host_load_image" and "bootm_host_load_images" between
  checks for CONFIG_FIT_SIGNATURE, in common/bootm.c.

- Enclose the declaration of "bootm_host_load_images" between checks for
  CONFIG_FIT_SIGNATURE, in common/bootm.h.

- Condition the compilation and linking of fit_common.o fit_image.o
  image-host.o common/image-fit.o to CONFIG_FIT=y, in tools/Makefile.

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[fabio: adapt for 2016.07]
Signed-off-by: Fabio Estevam <festevam@gmail.com>
[Ricardo: fix conditional compilation and linking of the files mentioned above
for 2016.07]
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
[Jörg: adapt for 2019.01]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
[Retrieved from:
https://git.buildroot.net/buildroot/tree/package/uboot-tools/0003-Make-FIT-support-really-optional.patch]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
5 years agoFix spelling of available.
Vagrant Cascadian [Fri, 3 May 2019 22:28:37 +0000 (14:28 -0800)]
Fix spelling of available.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
5 years agoenv: spi: Fix incorrect entry description
Marek Vasut [Sat, 4 May 2019 17:10:05 +0000 (19:10 +0200)]
env: spi: Fix incorrect entry description

Fix the max frequency entry description, it's incorrect.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Chris Brandt <chris.brandt@renesas.com>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Tom Rini <trini@konsulko.com>
5 years agotest/py: avb: fix test_avb_persistent_values fail
Igor Opaniuk [Mon, 6 May 2019 09:07:31 +0000 (12:07 +0300)]
test/py: avb: fix test_avb_persistent_values fail

Fix test_avb_persistent_values() pytest, which was failing because of
wrong size value provided from tee sandbox driver.

Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
5 years agoata: ahci: fix memory leak
Christian Gmeiner [Mon, 6 May 2019 13:18:54 +0000 (15:18 +0200)]
ata: ahci: fix memory leak

malloc(..) and memalign(..) are both allocating memory and as a result
we leak the memory allocated with malloc(..).

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agousb: ohci: ohci-da8xx: Cleanup Error handling and fix flags
Adam Ford [Tue, 7 May 2019 11:57:39 +0000 (06:57 -0500)]
usb: ohci: ohci-da8xx: Cleanup Error handling and fix flags

Per feedback from Marek, he suggested better handling and
to enable DM_FLAG_OS_PREPARE, this patch re-orders some of
the error checking, and errors returns the error code right
away and also sets DM_FLAG_OS_PREPARE.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agodm: MIGRATION: Add migration plan for WDT (DM watchdog support)
Stefan Roese [Thu, 9 May 2019 08:16:20 +0000 (10:16 +0200)]
dm: MIGRATION: Add migration plan for WDT (DM watchdog support)

As much of the watchdog system has been migrated to DM now, formalize a
deadline for migration.

Please note that the old CONFIG_HW_WATCHDOG macro should be removed
completely at some point.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
5 years agoMerge tag 'rockchip-for-v2019.07-rc1' of git://git.denx.de/u-boot-rockchip
Tom Rini [Thu, 9 May 2019 11:12:51 +0000 (07:12 -0400)]
Merge tag 'rockchip-for-v2019.07-rc1' of git://git.denx.de/u-boot-rockchip

Improvements and new features:
- split more rockchip pinctrl_core feature into per SoC
- enable TPL for evb-rk3399 board
- enable TPL/SPL for evb-px5 board
- enable TPL and OP-TEE support for evb-rk3229
- update fix in arm common assembly start code for rockchip header file
- update default SPL_FIT_GENERATOR for rockchip
- rk3399 boards update to use '-u-boot.dtsi'
- add new rk3399 boards: Nanopi M4, Nanopc T4
- enable sound for chromebook_minnie

5 years agoMerge git://git.denx.de/u-boot-marvell
Tom Rini [Thu, 9 May 2019 11:12:25 +0000 (07:12 -0400)]
Merge git://git.denx.de/u-boot-marvell

- DM updates for multiple MVEBU boards (Stefan)
- Add CRS305-1G-4S board (Luka)
- Enable MMC in SPL on clearfog (Baruch)

5 years agoMerge git://git.denx.de/u-boot-riscv
Tom Rini [Thu, 9 May 2019 11:11:52 +0000 (07:11 -0400)]
Merge git://git.denx.de/u-boot-riscv

- Correct SYS_TEXT_BASE for qemu.
- Support booti.
- Increase SYSBOOTM_LEN for Fedora/RISCV kernel.
- Support SMP booting from flash.

5 years agoMerge tag 'u-boot-amlogic-20190509' of git://git.denx.de/u-boot-amlogic
Tom Rini [Thu, 9 May 2019 11:11:39 +0000 (07:11 -0400)]
Merge tag 'u-boot-amlogic-20190509' of git://git.denx.de/u-boot-amlogic

- Add USB PHY drivers for Amlogic G12A
- Add USB Complex Glue driver for Amlogic G12A
- Add USB Gadget support for Amlogic G12A

5 years agodoc: rockchip: Add global doc for rk3399 build/flash
Jagan Teki [Wed, 8 May 2019 05:41:51 +0000 (11:11 +0530)]
doc: rockchip: Add global doc for rk3399 build/flash

Since rockchip have an individual doc/README.rockchip, it would
be better to update the same instead of maintaining it separately
in board files.

So, add the documentation for rk3399
- procedure to build for Rockchip miniloader and
  U-Boot SPL options
- procedure to boot from SD for Rockchip miniloader and
  U-Boot SPL options
- procedure to build ATF, PMU M0 firmware for puma boards
- add boot logs of each option, so-that it would help for future
  boards porting

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
5 years agorockchip: rk3399: Add Nanopc T4 board support
Jagan Teki [Wed, 8 May 2019 05:41:47 +0000 (11:11 +0530)]
rockchip: rk3399: Add Nanopc T4 board support

Add initial support for Nanopc T4 board.

Specification
- Rockchip RK3399
- Dual-Channel 4GB LPDDR3-1866
- SD card slot
- 16GB eMMC
- RTL8211E 1Gbps
- AP6356S WiFI/BT
- HDMI In/Out, DP, MIPI DSI/CSI, eDP
- USB 3.0, 2.0
- USB Type C power and data
- GPIO expansion ports
- DC 12V/2A

Commit details of rk3399-nanopc-t4.dts sync from Linux 5.1-rc2:
"arm64: dts: rockchip: Add NanoPC-T4 IR receiver"
(sha1: 95658e21b1707ad7844f873db2fdaa295109a5a3)

Tested-by: Daniel Gröber <dxld@darkboxed.org>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
5 years agorockchip: rk3399: Add Nanopi M4 board support
Jagan Teki [Wed, 8 May 2019 05:41:46 +0000 (11:11 +0530)]
rockchip: rk3399: Add Nanopi M4 board support

Add initial support for Nanopi M4 board.

Specification
- Rockchip RK3399
- Dual-Channel 4GB LPDDR3-1866
- SD card slot
- eMMC socket
- RTL8211E 1Gbps
- AP6356S WiFI/BT
- HDMI In/Out, DP, MIPI DSI/CSI
- USB 3.0 x4
- USB Type C power and data
- GPIO1, GPIO2 expansion ports
- DC5V/3A

Commit details of rk3399-nanopi-m4.dts sync from Linux 5.1-rc2:
"arm64: dts: rockchip: Refine nanopi4 differences"
(sha1: c62ffaf5026d0b7633e62b2cea8450b5543c349a)

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: dts: rk3399: nanopi4: Use CD pin as RK_FUNC_1
Jagan Teki [Wed, 8 May 2019 05:41:45 +0000 (11:11 +0530)]
rockchip: dts: rk3399: nanopi4: Use CD pin as RK_FUNC_1

Attaching GPIO functionality to SDMMC0_DET pin (which
does in Linux base dts) make dwmmc driver "fail to detect
the card".

  Card did not respond to voltage select!

It may be because the existing driver can't support gpio
card detection. So, change the pinctrl functionality from
RK_FUNC_GPIO to RK_FUNC_1 like other rk3399 dts does via
sdmmc_cd pin.

Cc: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
5 years agoRISCV: image: Add booti support
Atish Patra [Tue, 7 May 2019 00:49:39 +0000 (17:49 -0700)]
RISCV: image: Add booti support

This patch adds booti support for RISC-V Linux kernel. The existing
bootm method will also continue to work as it is.

It depends on the following kernel patch which adds the header to the
flat Image. Gzip compressed Image (Image.gz) support is not enabled with
this patch.

https://patchwork.kernel.org/patch/10925543/

Tested on HiFive Unleashed and QEMU.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Tested-by: Karsten Merker <merker@debian.org>
Reviewed-by: Marek Vasut <marek.vasut@gmail.com>
5 years agoriscv: configs: AE350 will use CONFIG_OF_SEPARATE when boots from flash
Rick Chen [Tue, 30 Apr 2019 05:49:37 +0000 (13:49 +0800)]
riscv: configs: AE350 will use CONFIG_OF_SEPARATE when boots from flash

When AE350 boots from flash, use CONFIG_OF_SEPARATE instead of
CONFIG_OF_BOARD.

Also remove unused code about prior_stage_fdt_address.
And modify CONFIG_SYS_FDT_BASE as flash address.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
5 years agoriscv: configs: AE350 will use CONFIG_OF_PRIOR_STAGE when boots from ram
Rick Chen [Tue, 30 Apr 2019 05:49:36 +0000 (13:49 +0800)]
riscv: configs: AE350 will use CONFIG_OF_PRIOR_STAGE when boots from ram

When AE350 boots from ram, use CONFIG_OF_PRIOR_STAGE instead
of CONFIG_OF_BOARD.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
5 years agoriscv: prior_stage_fdt_address should only be used when OF_PRIOR_STAGE is enabled
Rick Chen [Tue, 30 Apr 2019 05:49:35 +0000 (13:49 +0800)]
riscv: prior_stage_fdt_address should only be used when OF_PRIOR_STAGE is enabled

This patch will fix prior_stage_fdt_address write failure problem, when
AE350 boots from flash.

When AE350 boots from flash, prior_stage_fdt_address will be flash
address, we shall avoid it to be written.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
5 years agoriscv: configs: Support AE350 SMP booting from flash flow
Rick Chen [Thu, 9 May 2019 02:20:19 +0000 (10:20 +0800)]
riscv: configs: Support AE350 SMP booting from flash flow

Add two defconfigs to support AE350 SMP booting from flash.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
5 years agoriscv: Introduce CONFIG_XIP to support booting from flash
Rick Chen [Tue, 30 Apr 2019 05:49:33 +0000 (13:49 +0800)]
riscv: Introduce CONFIG_XIP to support booting from flash

When U-Boot boots from flash, during the boot process,
hart_lottery and available_harts_lock variable addresses
point to flash which is not writable. This causes boot
failures on AE350. Introduce a config option CONFIG_XIP
to support such configuration.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoriscv: qemu: Use correct SYS_TEXT_BASE for S-mode on 32bit system
Anup Patel [Thu, 11 Apr 2019 06:52:12 +0000 (06:52 +0000)]
riscv: qemu: Use correct SYS_TEXT_BASE for S-mode on 32bit system

For 32bit system, the OpenSBI (or BBL) will jump to 0x80400000 address
in S-mode whereas for 64bit system it will jump to 0x80200000 address
in S-mode.

Currently, the S-mode U-Boot sets SYS_TEXT_BASE to 0x80200000 for both
32bit and 64bit system. This breaks S-mode U-Boot for 32bit system.

This patch sets different SYS_TEXT_BASE for 32bit and 64bit system so
that S-mode U-Boot works fine for both.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Tested-by: Karsten Merker <merker@debian.org>
5 years agoriscv: qemu-riscv.h: define CONFIG_PREBOOT (enables extlinux)
David Abdurachmanov [Tue, 9 Apr 2019 10:42:47 +0000 (12:42 +0200)]
riscv: qemu-riscv.h: define CONFIG_PREBOOT (enables extlinux)

- Set fdt_addr variable, which is needed for extlinux to find FDT.
  Otherwise booting kernel using extlinux results in missing FDT.

- Also run fdt addr with FDT address so that fdt commands would
  work out of the box in U-Boot prompt.

This is successfully used by Fedora/RISCV with 5.1-rc3+ kernel using
OpenSBI -> U-Boot (S-mode) [extlinux] -> Kernel setup.

Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>