Commit graph

58394 commits

Author SHA1 Message Date
Melin Tomas
d3826fb052 xilinx_xiic: Fix transfer initialisation
Prior to starting a new transfer, conditionally wait for bus to not
be busy.

Reinitialise controller as otherwise operation is not stable.
For reference, see linux kernel
commit 9656eeebf3f1 ("i2c: Revert i2c: xiic: Do not reset controller before every transfer")

hs: Fixed DOS line endings
    added missing '\n'
    Fixed git commit description style

Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
2019-07-09 07:02:11 +02:00
Melin Tomas
5324e8ef6c xilinx_xiic: Fix fill tx fifo loop
Comparison should be against the actual message length, not loop index.

len is used for stopping while loop, pos is position in message.
stop should be sent when entire message is sent, not when
len and pos meet.

hs: fixed DOS line endings

Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
2019-07-09 07:02:11 +02:00
Ley Foon Tan
2d1e879c79 i2c: designware: Get clock rate from clock DM
Get clock rate from clock DM if CONFIG_CLK is enabled.
Otherwise, uses IC_CLK define.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
Acked-by: Marek Vasut <marex@denx.de>
2019-07-09 07:02:11 +02:00
Jun Chen
e3b93dcee8 i2c: designware_i2c: Restore enable state after set speed
Before calling __dw_i2c_set_bus_speed(),
the I2C could already be set as ether enable or disable,
we should restore the original setting instead of enable i2c anyway.

This patch fix a bug happened in init function:
    __dw_i2c_init(){
            /* Disable i2c */
            ...
            __dw_i2c_set_bus_speed(i2c_base, NULL, speed);
            writel(slaveaddr, &i2c_base->ic_sar);
            /* Enable i2c */
    }
In this case, enable i2c inside __dw_i2c_set_bus_speed() function
will cause ic_sar write fail.

Signed-off-by: Jun Chen <ptchentw@gmail.com>
2019-07-09 07:02:10 +02:00
Markus Klotzbuecher
a2257d378e ubispl: introduce separate CONFIG_UBI_SPL_SILENCE_MSG
This allows to silence ubi and ubispl individually.

Signed-off-by: Markus Klotzbuecher <markus.klotzbuecher@kistler.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Cc: Kyungmin Park <kmpark@infradead.org>
2019-07-09 07:00:26 +02:00
Hamish Guthrie
6ea31cce0b ubispl: add support for loading volumes by name
The motivation is to use the UBI atomic volume rename functionality to
allow double copy software updates on UBI. To that end the SPL is
configured to always load the same volume name (e.g. "u-boot"),
whereas a software updater always installs into the secondary volume
"u-boot_r". After successful installation, these two volume names are
switched.

This extension is protected by #ifdefs as it will somewhat slow down
loading of volumes by id. This is because the code needs to disable
the optimization of ignoring all volume ids which are not
to-be-loaded, since these can only be resolved after attaching.

This adds two vtbl related functions from Linux, which are taken from
the same kernel version as the current main U-Boot UBI code (Linux 4.2
64291f7db5bd8).

Signed-off-by: Hamish Guthrie <hamish.guthrie@kistler.com>
Signed-off-by: Markus Klotzbuecher <markus.klotzbuecher@kistler.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Cc: Kyungmin Park <kmpark@infradead.org>
2019-07-09 07:00:25 +02:00
Markus Klotzbuecher
4bae76d733 configs: migrate ubispl boards to KConfig
Migrate the ubispl configuration for the omap3_igep00x0 and
am335x_igep003x boards to KConfig. Both boards were built with
SOURCE_DATE_EPOCH=0 and found to be equal before and after.

Signed-off-by: Markus Klotzbuecher <markus.klotzbuecher@kistler.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Kyungmin Park <kmpark@infradead.org>
Cc: Javier Martínez Canillas <javier@dowhile0.org>
Cc: Enric Balletbo i Serra <eballetbo@gmail.com>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2019-07-09 07:00:24 +02:00
Markus Klotzbuecher
c67c349231 ubispl: migrate configuration to Kconfig
Move the ubispl configuration to KConfig and drop them from the
whitelist.

Signed-off-by: Markus Klotzbuecher <markus.klotzbuecher@kistler.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Kyungmin Park <kmpark@infradead.org>
Cc: Javier Martínez Canillas <javier@dowhile0.org>
Cc: Enric Balletbo i Serra <eballetbo@gmail.com>
2019-07-09 07:00:23 +02:00
Markus Klotzbuecher
5ebd3df64d ubi: fix UBI_SILENCE_MSG
- drop CONFIG_ prefix from kconfig entry
 - fix small compilation issue with CONFIG_UBI_SILENCE_MSG

Signed-off-by: Markus Klotzbuecher <markus.klotzbuecher@kistler.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Cc: Kyungmin Park <kmpark@infradead.org>
2019-07-09 07:00:23 +02:00
Hamish Guthrie
985186d1f2 env: ubi: support configurable VID offset
Introduce KConfig CONFIG_ENV_UBI_VID_OFFSET to allow providing custom
VID header offsets for the environment on UBI.

Signed-off-by: Hamish Guthrie <hamish.guthrie@kistler.com>
Signed-off-by: Markus Klotzbuecher <markus.klotzbuecher@kistler.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Cc: Kyungmin Park <kmpark@infradead.org>
2019-07-09 07:00:22 +02:00
Markus Klotzbuecher
a9221f3ebd at91, omap2plus: configs: migrate CONFIG_ENV_ to defconfigs
Enable the extended ENV options for AT91 and OMAP2PLUS in order to be
able to use CONFIG_ENV_UBI_* on these architectures.

As this change also makes the configs ENV_SIZE, ENV_SECT_SIZE,
ENV_OFFSET visible to AT91 and OMAP2PLUS, migrate users of these to
KConfig.

This migration was run using an extended moveconfig.py which evaluates
expressions such as "(512 << 10)". See patch ("moveconfig: expand
simple expressions").

All modified boards were built with SOURCE_DATE_EPOCH=0 before and
after the change and successfully confirmed that the identical binary
is generated (the only exception was igep00x0, which does not define
CONFIG_ENV_IS_IN_UBI in the original board header. Once that is
defined, the test passes too).

hs: rebased patch to:
  68b90e57bc: "configs: tinker-rk3288 disable CONFIG_SPL_I2C_SUPPORT"

Signed-off-by: Markus Klotzbuecher <markus.klotzbuecher@kistler.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Tom Rini <trini@konsulko.com>
2019-07-09 07:00:21 +02:00
Markus Klotzbuecher
ff4818cc3e env: ubi: KConfig: add CONFIG_ENV_UBI_VOLUME_REDUND
Introduce the KConfig option CONFIG_ENV_UBI_VOLUME_REDUND for defining
the name of the UBI volume used to store the redundant environment.

Signed-off-by: Markus Klotzbuecher <markus.klotzbuecher@kistler.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Cc: Kyungmin Park <kmpark@infradead.org>

hs: get rid of stm32mp1* build errors
2019-07-09 07:00:05 +02:00
Markus Klotzbuecher
b237d358b4 moveconfig: expand simple expressions
Add support for expanding simple expressions and sizes such as
"(4 * 1024)", "(512 << 10)" or "(SZ_256K)".

This can help to significantly reduce the number of "suspicious"
moves, such as

 'CONFIG_ENV_SIZE="(64 << 10)"' was removed by savedefconfig.

If the expansion fails, it falls back to the original string.

Signed-off-by: Markus Klotzbuecher <markus.klotzbuecher@kistler.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Heiko Schocher <hs@denx.de>
2019-07-09 07:00:04 +02:00
Tom Rini
cad28d37d5 Pull request for UEFI sub-system for v2019.10-rc1
Fix a possible overflow for GUID partition tables.
 
 For some runtime services we only have implementations valid at boottime.
 So we replace them when leaving boottime. Move this from
 SetVirtualAddressMap() to ExitBootServices() as SetVirtualAddressMap() is
 not called by all operating systems. Adjust the Python tests accordingly.
 
 Bump the supported UEFI specification version to 2.8.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEbcT5xx8ppvoGt20zxIHbvCwFGsQFAl0g/qQACgkQxIHbvCwF
 GsTLHQ//ULFJkxQNEXdAMcXYnXEokws5IrWH7eynfF6swFfHfwunGSYaA9oW2LMX
 Sfmk2NTVbu7l3eaHM/90UwUFlHGDSryJGB/NEaKqKpD4V3xwhqME6nozk2S76mVb
 cuPbQ7oh0OtDhnZMQ5gRyG/KXGXUzc1TMvd2qfvISEliYjQtjHFJIklEPhEVqqoT
 p8iJAzTM7CWBV/ROk+FlhILm6Bcq8llnY+muPVMWGuC73nqI1fkDHY6war4QeJ4R
 6iEtztVoPnE6KFFCsGfWKmAm2E2PrveRf5s40EhpxFnK5xgMfmFXkBxVU+JeU8/C
 1ARTzM6iX0+tesrehE1BRByjEnEvmSQWPitnOfhmR/qQBoGL4lbwjP+vq7ReafuL
 8jPow1zJ+24M/W9jiVBWIPn/IeNXq1kRPHE4bty4yJaIPi4uVwpKsKZLnmGbyLTs
 2huJZp0NQnHtMpVPdR0IakHLj0OCfb3rzcph6UY5UD9/+m0uCX8sndlNlV3AXU9n
 3a4dEocpQg/56ZdxkRJPMfqEsdGUOONlhoC+e0tqMLu3UuzcJq9uFyosoBjyqv8B
 y0PJ7zU0/QQKTOhgpJHahItxCHjiFyx9v8ESQIDvFBHhybxgL8aFFsJATLtQr6jR
 zl1ylu2c5jcdmA5D7y/NH0wQlN94EYWGi463+SNDfvHsJDPshwM=
 =wHU6
 -----END PGP SIGNATURE-----

Merge tag 'efi-2019-10-rc1' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for v2019.10-rc1

Fix a possible overflow for GUID partition tables.

For some runtime services we only have implementations valid at boottime.
So we replace them when leaving boottime. Move this from
SetVirtualAddressMap() to ExitBootServices() as SetVirtualAddressMap() is
not called by all operating systems. Adjust the Python tests accordingly.

Bump the supported UEFI specification version to 2.8.
2019-07-08 16:02:51 -04:00
Tom Rini
0b7f1a95df - fix khadas-vim README
- add support for unique generated MAC adresses from SoC serial,
   limited to Amlogic GXL/GXM boards for now
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJdHgg6AAoJEHfc29rIyEnRjVkP/RmwsBgIdn/0LnuU5JQIcmNI
 S8fOV2u5YY4q4hX/5qgg6uN7/yONtiZjw4bxLJGLCj0SUQ6Tv8KgE+Jh1vswek6P
 ceOsIBfyg3ZX6INkH/moHH8/yl1NpirYjNGxw1Bg9ctBHPR9smQdh50pMyDy67mG
 E2Dja/TtOuggF6N98WSu1jB8UBA55CbEEBj1PkQt7K9bXJs9cEGSrpyZLEJvsRmL
 Pot1l1A9XKhRS3PylgoxmXWNXFD8wAk8LHEACUsxnybiWoIW5Dfao/4PSmPigXAp
 n9V3tU/OQECar0CKOtCod5pS5z8TVPuuaay/Y/+ijLlCktJBwkSaGWIhf9ILOjOW
 UTlcsFDR4KDqaEFKNDoOtOGYpczFrduU0b1hq1qu4hLV7YIxg738DoRr30JM5Lwa
 gJbUCHkPRnxVB3UztsctmQwZwfKmAdvd1CrzKqFBvemrQrf2AwfBweiAv8/AUzqq
 c7o0K0WdP/03CkmBU8KbyFn2N1X2VT1KlqgEVfRTq7UWTiLnS4j9AAiwNapGOb4M
 Ox7eODLbLw3UyZYjDuBHyPYa8uPhtVDpuFCPn2JnwFdbnT4kfE535pCKT/vbasYd
 0UQkgUPoIHm0VGhxv0hkjmrjqgv5CLQyAYhJVGATTH0Nc9dYGFKF/Gm6YIUpjUuW
 nhSh5HHVCg4dkogiMJ7u
 =BL1s
 -----END PGP SIGNATURE-----

Merge tag 'u-boot-amlogic-20190704' of https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic

- fix khadas-vim README
- add support for unique generated MAC adresses from SoC serial,
  limited to Amlogic GXL/GXM boards for now
2019-07-08 16:02:19 -04:00
Tom Rini
f5e73a34ed Merge tag 'mmc-6-23' of https://github.com/MrVan/u-boot
- Pull in the series to split fsl_esdhc for i.MX/non-i.MX cleanly
2019-07-08 15:59:41 -04:00
Tom Rini
e5aee22e4b Prepare v2019.07
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-08 15:23:28 -04:00
Tom Rini
0bd2a92f54 - mtmips: network stability fixes for gardena-smart-gateway
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiQkHUH+J02LLC9InKPlOlyTyXBgFAl0fap8ACgkQKPlOlyTy
 XBiyKA/+M1xLnFgwaIeU9bs1xL7Mf9HgjK71+5znjlq3TPF0/cZp+ybSXmDGssX+
 j1r8E8yL7wpI/DwSAqLUVp31uwgdxjZglNNd6IdjSV0T5OgTXFh//L75ycMng/j2
 p4jICuDVcyyn+W7rJB+zY8ufbfmT1QRvD04ZwFD0AB38BMRME25zP30+AVQSP543
 yAu4b4cidJ8KHnji0zLRCwi3/BR2/LTxeizjL2SLumvBWZ1QGFvZSNc770Iak7dQ
 5Slund92QovV4jVaCBnEJjl4GAxggDQmiIqpPiJhbNhNSGAWRUR3BfM5gdtT5Xhg
 vY2flBGzZMKHDZWAFRp9YJ3B0gueUITAqviqXQyJknuOhsgEJYldT7+3zcjfwqNK
 X04Yn7AU96ivulRdnXEbd0L5Dc0BitOifu7bACeg7nR3XOWBSy5BhI4dI/BwHpkH
 Qe0gXtimyUhh2+I9LidP5m4CC9YQgJAqZhU76IY/WJEhO5Og0rSJ52N3waYj5opm
 eNqxsGwmRFdKm8uYwBC5Uv0nC/6ylLbPOKYVChFFe05pTIQuxLKO1qfttpHW8HX4
 YIVfRx1beMfQIQmaHiomjndoXqbuLkQnDt7ciEFqNHL4HHVKvj+0DIQWliZlWqZZ
 8Y72OuM6fZKrBuKILynnhI6PdwQiVxXxEiAmVFqhxEwtwnd2rP8=
 =Rpr+
 -----END PGP SIGNATURE-----

Merge tag 'mips-fixes-for-2019.07' of https://gitlab.denx.de/u-boot/custodians/u-boot-mips

- mtmips: network stability fixes for gardena-smart-gateway
2019-07-08 07:29:33 -04:00
Weijie Gao
d24416c3fa arm: mediatek: remove arch_misc_init
The watchdog of mediatek chips is enabled by bootrom before u-boot is
running. Previously we choose to enable the wdt driver only to disable the
watchdog hardware.

Now wdt service is enabled by default. The function arch_misc_init which is
only used to disable wdt is no longer needed.

Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2019-07-07 17:38:55 -04:00
Weijie Gao
84b2416b6a board_r: move initr_watchdog to be called after initr_serial
The initr_watchdog is currently placed before initr_serial. The
initr_watchdog calls printf and printf finally calls ops->putc of a serial
driver.

However, gd->cur_serial_dev points to a udevice allocated in board_f. The
gd->cur_serial_dev->driver->ops->putc points the the code region before
relocation.

Some serial drivers call WATCHDOG_RESET() in ops->putc. When DM is enabled
for watchdog, watchdog_reset() is called. watchdog_reset() calls get_timer
to get current timer.

On some platforms the timer driver is also a DM driver. initr_watchdog is
placed right after initr_dm, which means the timer driver hasn't been
initialized. So dm_timer_init() is called. To create a new udevice, calloc
is called.

However start from ops->putc, u-boot execution flow is redirected into the
memory region before relocation (board_f). In board_f, dlmalloc hasn't
been initialized. The call to calloc will fail, and this will cause DM to
print out an error message, and it will call printf again, causing
recursive error outputs.

This patch places initr_watchdog after initr_serial to solve this issue.

Cc: Stefan Roese <sr@denx.de>
Reviewed-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Frank Wunderlich <frank-w@public-files.de>
Tested-by: Suniel Mahesh <sunil.m@techveda.org>
2019-07-07 17:38:17 -04:00
Tom Rini
3c1ead9081 Fix booting for wandboard
-----BEGIN PGP SIGNATURE-----
 
 iQFFBAABCgAvFiEEslwAIq+Gp8wWVbYnfxc6PpAIreYFAl0h8EYRHHNqZ0BjaHJv
 bWl1bS5vcmcACgkQfxc6PpAIreaTiwf+K69czs3uDvIxxO/6Ixi8h2bmeaKbeCZ3
 0aNfZ2KnSvMP1931uU81HafzWA48/C8gcKVgLMIRRayvpz7OOENXAG7mMuaH4eJX
 U8DQOheUiNOU55Ro2l7QzFwoM1LRX7e6ZaVtw16JSx0LIEsPcRA94Xw0Bi4EJdwt
 JO1gHrot69rWrArIA2nY23iS9w7rfo/npdU4ehj/VcZs0b7z5kB9NGgiYNn0RqlP
 APP1C66FWJfT8mlWuB0OunVy1oYafUF+ny/X98feLuIL/qL0fndV8aEhD6KklxoL
 gi0vd0ASISHYlutUzLSc2U1rAwRRC/+Q8wiWMG7cNp4afzYkvUG4bw==
 =QFJ3
 -----END PGP SIGNATURE-----

Merge tag 'dm-pull-7jul19' of https://gitlab.denx.de/u-boot/custodians/u-boot-dm

Fix booting for wandboard
2019-07-07 16:17:56 -04:00
Tom Rini
29e9363504 - fix pwm backlight
-----BEGIN PGP SIGNATURE-----
 
 iGwEABECACwWIQSC4hxrSoIUVfFO0kRM6ATMmsalXAUCXSEfKA4cYWd1c3RAZGVu
 eC5kZQAKCRBM6ATMmsalXDGrAJ0eQ5fZwSiITDCabbmQ5ExYa+tNtgCeKGKpAXpz
 STV1LiwLq2PYHW0B3bw=
 =0lJG
 -----END PGP SIGNATURE-----

Merge tag 'video-for-2019.07' of https://gitlab.denx.de/u-boot/custodians/u-boot-video

- fix pwm backlight
2019-07-07 16:17:13 -04:00
Heinrich Schuchardt
c2f3dade2a imx6: wandboard: allow booting from MMC 2
One of the SD-CARD slots on the Wandboard Quad B1 is MMC 2. Enable it as a
boot device.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
2019-07-07 07:13:49 -06:00
Tom Rini
e597e5b6bc Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usb
- DWC and i.MX6 fixes
2019-07-07 07:06:03 -04:00
Tom Rini
ace0d2ef2b Merge tag 'rockchip-for-v2019.07-rc5-3' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip 2019-07-07 07:05:47 -04:00
Marc Dietrich
a2c4ef0977 video: backlight: fix pwm inversion
set_pwm() will always fail with -ENOSYS if pwm_ops set_invert() is
not implemented, leaving the backlight dark. Fix this by returning
no error if set_invert() is not implemented and no polarity change
is requested.

Fixes: 57e7775413 ("video: backlight: Parse PWM polarity cell")
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
2019-07-06 23:31:52 +02:00
Heinrich Schuchardt
7f95104d91 efi_loader: detach runtime in ExitBootServices()
Linux can be called with a command line parameter efi=novamap, cf.
commit 4e46c2a95621 ("efi/arm/arm64: Allow SetVirtualAddressMap() to be
omitted"). In this case SetVirtualAddressMap() is not called after
ExitBootServices().

OpenBSD 32bit does not call SetVirtualAddressMap() either.

Runtime services must be set to an implementation supported at runtime
in ExitBootServices().

Reported-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Alexander Graf <agraf@csgraf.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
b23ffcbe02 efi_loader: simplify detaching
We do not need any array typed detach list. Let's simply update the
pointers directly.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
953661a912 efi_loader: decision on EFI_RT_SUPPORTED_RESET_SYSTEM
Move the logic determining which board supports reset at runtime to Kconfig.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
0b1da53e53 test/py: not all boards support UEFI runtime reset
As not all boards support resets at runtime do not test for it in the
Python tests.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
c7308d6e23 efi_loader: bump UEFI specification number to 2.8
We are implementing UEFI variable RuntimeServicesSupported and set the
unimplemented runtime functions return EFI_UNSUPPORTED as described in UEFI
specification 2.8. So let's also advertise this specification version in
our system table.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Alexander Graf <agraf@csgraf.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
ee8ebaaaae efi_loader: split off detaching SetVirtualAddress()
The runtime services SetVirtualAddress() and ConvertPointer() become
unavailable after SetVirtualAddress(). Other runtime services become
unavailable after ExitBootServices.

Move the update of SetVirtualAddress() and ConvertPointer() to
efi_relocate_runtime_table().

Use functions with the correct signature when detaching.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
1bb52fc2d2 efi_selftest: test variable services at runtime
Provide a unit test for the variable services at runtime.

Currently we expect EFI_UNSUPPORTED to be returned as the runtime
implementation is still missing.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
b94461c224 efi_loader: unimplemented runtime services
Unimplemented runtime services should always return EFI_UNSUPPORTED as
described in the UEFI 2.8 spec.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
29018abb09 efi_loader: let the variable driver patch out the runtime
Our variable services are only provided at boottime. Therefore when
leaving boottime the variable function are replaced by dummy functions
returning EFI_UNSUPPORTED. Move this patching of the runtime table to the
variable services implementation. Executed it in ExitBootServices().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
24a238f763 efi_loader: clean up runtime detaching
The detaching of the runtime will have to move to ExitBootServices() to
encompass operating system that do not call SetVirtualAddressMap().

This patch changes the logic for the relocation of the pointers in the
runtime table such that the relocation becomes independent of the entries
in the detach list.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
93148eba77 efi_loader: remove NULL entries from runtime detach list
Some entries in the system table are set to NULL in ExitBootServices(). We
had them in the runtime detach list to avoid relocation of NULL. Let's
instead assign the pointers dynamically in efi_initialize_system_table() to
avoid the relocation entry.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
88192098d1 efi_loader: initialization of variable services
Provide an initialization routine for variable services.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
ce43528d6a efi_loader: move efi_query_variable_info()
Let's keep similar things together.

Move efi_query_variable_info() to lib/efi_loader/efi_variable.c

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
359a699a12 efi_loader: remove superfluous spaces in comments
Leave only a single space after * if not aligning.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
983142dff8 test/py: error message test_efi_selftest_device_tree
Correct the error message in test_efi_selftest_device_tree().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
fb083801d5 efi_selftest: description of CMD_BOOTEFI_SELFTEST
The current short description has a typo. Let it stand out clear that we
provide unit tests.

Improve the description of the CMD_BOOTEFI_SELFTEST configuration option.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Alexander Graf <agraf@csgraf.de>
2019-07-06 21:25:32 +02:00
Heinrich Schuchardt
5375ee508f disk: efi: buffer overflow in part_get_info_efi()
In part_get_info_efi() we use the output of print_efiname() to set
info->name[]. The size of info->name is PART_NAME_LEN = 32 but
print_efiname() returns a string with a maximum length of
PARTNAME_SZ + 1 = 37.

Use snprintf() instead of sprintf() to avoid buffer overflow.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-07-06 21:25:31 +02:00
Tom Rini
54869e0811 - fix complation error for CONFIG_USB
- update RPi3 DTBs to v5.1-rc6 state
 - add defconfig for RPi3 B+
 - Fix BCM2835_MBOX_TAG_TEST_PIXEL_ORDER define
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEEiUuSfQSYnG8EMsBltDliWyzx00MFAl0A9VQSHG1icnVnZ2Vy
 QHN1c2UuY29tAAoJELQ5Ylss8dNDyY8P/AsPYLpXkARV1UPaEr9m89uCnrXa0Ggm
 PBFiNUUmM/xRB6J9IQe1YnMio+azVvcpc1AkOTLG7ypgFxAiukfzDS1mnaQye8Mg
 Exq3GgrDZrLp1jXYXSf3EZgIbJhpejHf433frNoJkveq6GTPJpI0mpMsaDVkzy/Q
 jVKm4bLolyXkERIUcOvvhyTwyUJhJv7n6n3+yBMgfssZexhSCzf9nXI7Ds98mxaN
 UNrF6oqvKeICJpvGpfJ+sO4lzaWk/Uc5TEzJ9QnUn0bEePLjJY35H1C5Wmhfo4/L
 KHPGwFTVNvi2byXmht6UK+OWdp1D7NWF+il2dhJUm3kaURkYBVdKAmFd9SpevRX6
 SCsM5spkLeciVIc4keTgZI7yRcvkIq7qul9eCTQnviO/I3h1YykHMgWZjNDkY8ZG
 HhKSKRjpdT+BHq4mWca1Q29cpWwshgC01Vq8Pig/4EOoOSWJ79Y+Qm+xeOwDf2ph
 fRKP40Ves+ER/z+2tAAmj/wuKqD1B8UTIZ4i69lAUei5aSvTwpf1saEV3gIjoaqj
 5fhoCKamsQhXnv0DjYMliXHYZ78EZzZyh6Fr9LHFnlc861IrRawqTPjRuerdjGwd
 jrp/vhwv5regzfDmWGSVo1CCscWvXgf3Tfag2Uwc+u5lXOSgJd8XPZJFiRMGFBon
 fJN1lxjxLRQf
 =0ulJ
 -----END PGP SIGNATURE-----

Merge tag 'rpi-next-2019.07' of https://github.com/mbgg/u-boot

- fix complation error for CONFIG_USB
- update RPi3 DTBs to v5.1-rc6 state
- add defconfig for RPi3 B+
- Fix BCM2835_MBOX_TAG_TEST_PIXEL_ORDER define
2019-07-05 18:19:47 -04:00
Stefan Roese
9814fb272f mips: mt76xx: Implement new d-cache fix in last_stage_init()
With commit 06985289d4 ("watchdog: Implement generic watchdog_reset()
version") the init sequence has changed in arch_misc_init(), resulting
in a re-appearance of the d-cache issue on MT7688 boards (e.g. gardena).
When this happens, the first (or sometimes later ones as well) TFTP
command hangs and does not complete correctly. This leads to the
assumption that the d-cache is not in a clean state once the ethernet
driver is called (d-cache is used here for the buffers). The old work-
around with the cache flush somehow does not work any more now with
the new code change.

Unfortunately adding CONFIG_SYS_MALLOC_CLEAR_ON_INIT also did not fix
this issue. With v2019.07-rc3 it shows again. The time of accessing
the data seems to be very important here. It needs to be "very late"
in the boot process.

Testing has shown, that copying a 64KiB area in DDR at a very late
bootup time, directly before calling into the prompt, fixes this issue.
Flushing of the complete d-cache does not seem to necessary, as this
copy alone seems to fix this problem.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2019-07-05 17:12:27 +02:00
Jean-Jacques Hiblot
3b83829ed6 usb: dwc3: Use UCLASS_NOP instead of UCLASS_MISC for the DWC3 generic glue
dwc3-generic has been broken since MISC uclass has been modified to scan DT
sub-nodes after bind.
Fixing it by a using the no-op uclass.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2019-07-05 14:19:41 +02:00
Jean-Jacques Hiblot
07e33711fe dm: Add a No-op uclass
This uclass is intended for devices that do not need any features from the
uclass, including binding children.
This will typically be used by devices that are used to bind child devices
but do not use dm_scan_fdt_dev() to do it. That is for example the case of
several USB wrappers that have 2 child devices (1 for device and 1 for
host) but bind only one at a any given time.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2019-07-05 14:19:41 +02:00
Jean-Jacques Hiblot
e445d46651 usb: dwc3-generic: remove dm_scan_fdt_dev() from the remove() callback
There is simply no reason to do that here.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-07-05 14:19:40 +02:00
Marek Vasut
501547cec1 usb: ehci-mx6: Fix bus enumeration for DM case
The EHCI iMX6 driver is only partly converted to DT probing and
still uses a tremendous amount of hard-coded addresses. Worse,
the driver uses hard-coded SoC-model-specific base addresses, which
are derived from values protected by SoC-specific macros, hence the
driver is also compiled for a specific SoC model. Even worse, the
driver depends on specific sequential indexing of the controllers,
from which it derives offsets in the PHY and ANATOP register sets.

However, when the driver is probed from DT, the indexing is not
correct. In fact, each controller has index 0. This patch derives
the index for DT probing case from the controller base addresses,
which is not the way this should be done, however it is the least
intrusive approach, favorable this close to release.

The necessary steps to convert this driver fully to DT probing are
described inside the patch, however this should be done in the next
release and depends on iMX clock driver patches.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Abel Vesa <abel.vesa@nxp.com>
Cc: Adam Ford <aford173@gmail.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Ludwig Zenz <lzenz@dh-electronics.com>
Cc: Lukasz Majewski <lukma@denx.de>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
2019-07-05 14:19:40 +02:00
Andy Yan
619f002db8 rockchip: make_fit_atf.py: fix loadables property set error
Commit b238e4b00c ("rockchip: Cleanup of make_fit_atf.py.") set
firmware = "atf_1";
loadables = "uboot","atf_1","atf_2";

Actually it should be:
firmware = "atf_1";
loadables = "uboot","atf_2","atf_3";

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-05 15:57:52 +08:00