1. 15 Jul, 2021 17 commits
  2. 14 Jul, 2021 23 commits
    • Tom Rini's avatar
      scripts/get_default_envs.sh: Update for thin archive support · 963fde31
      Tom Rini authored
      
      
      This script was broken by the change to default archives for linking.
      This is due to objcopy specifically disallowing copying of thin
      archives.  To fix this and re-support external users of this script,
      switch to using the same logic the u-boot-initial-env make target uses
      to dump the section from the object file.
      Reported-by: default avatarJan Kiszka <jan.kiszka@web.de>
      Fixes: 958f2e57
      
       ("build: use thin archives instead of incremental linking")
      Signed-off-by: Tom Rini's avatarTom Rini <trini@konsulko.com>
      963fde31
    • Joel Stanley's avatar
      Makefile: Conditionally add defaultenv_h to envtools target · 2a2896b1
      Joel Stanley authored
      
      
      When building the envtools target with CONFIG_USE_DEFAULT_ENV_FILE=y,
      the tools require generated/defaultenv_autogenerated.h.
      
       In file included from tools/env/fw_env.c:126:
       include/env_default.h:115:10: fatal error: generated/defaultenv_autogenerated.h: No such file or directory
         115 | #include "generated/defaultenv_autogenerated.h"
             |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
      2a2896b1
    • Tom Rini's avatar
      kconfig / kbuild: Re-sync with Linux 4.20 · 473fc279
      Tom Rini authored
      Align Kconfig and Kbuild logic to Linux 4.20 release with minimal impact
      on files outside of this scope.
      
      Our previous Kconfig sync was done by commit 587e4a42 ("kconfig /
      kbuild: Re-sync with Linux 4.19").
      
      As part of this re-sync, a few related changes from previous Linux
      releases were found to have been missed and merged in, and are not in
      the following list.
      
      The imported Linux commits are:
      
      [From prior to v4.19]
      b1e0d8b70fa3 kbuild: Fix gcc -x syntax
      a4353898980c kconfig: add CC_IS_GCC and GCC_VERSION
      469cb7376c06 kconfig: add CC_IS_CLANG and CLANG_VERSION
      
      [From v4.19 to v4.20]
      487c7c7702ab kbuild: prefix Makefile.dtbinst path with $(srctree) unconditionally
      0d91bf584fe5 kbuild: remove old check for CFLAGS use
      25815cf5ffec kbuild: hide most of targets when running config or mixed targets
      00d78ab2ba75 kbuild: remove dead code in cmd_files calculation in top Makefile
      23066c3f4e21 Compiler Attributes: enable -Wstringop-truncation on W=1 (gcc >= 8)
      37c8a5faf...
      473fc279
    • Trevor Woerner's avatar
      get_maintainer.pl: update from Linux kernel v5.13-rc6 · e57c7c5c
      Trevor Woerner authored
      Update U-Boot's version of scripts/get_maintainer.pl to sync it up with the
      latest changes to the Linux kernel's version of the same script.
      
      The last sync was with Linux kernel version v4.16. The commits to the kernel's
      get_maintainer.pl since then (starting with the most recent) are:
      
      	6343f6b71f83 get_maintainer: exclude MAINTAINERS file(s) from --git-fallback
      	cdfe2d220476 get_maintainer: add test for file in VCS
      	e33c9fe8b80c get_maintainer: fix unexpected behavior for path/to//file (double slashes)
      	0c78c0137621 get_maintainer: add email addresses from .yaml files
      	0ef82fcefb99 scripts/get_maintainer.pl: deprioritize old Fixes: addresses
      	ef0c08192ac0 get_maintainer: remove uses of P: for maintainer name
      	2f5bd343694e scripts/get_maintainer.pl: add signatures from Fixes: <badcommit> lines in commit message
      	49662503e8e4 get_maintainer: add ability to skip moderated mailing lists
      	0fbd75fd7fee get_maintainer: allow option --mpath <directory> to re...
      e57c7c5c
    • Heinrich Schuchardt's avatar
      lib: move rtc-lib.c to lib · e94ef579
      Heinrich Schuchardt authored
      
      
      Function rtc_to_tm() is needed for FAT file system support even if we don't
      have a real time clock. So move it from drivers/ to lib/.
      Signed-off-by: Heinrich Schuchardt's avatarHeinrich Schuchardt <xypron.glpk@gmx.de>
      Reviewed-by: Bin Meng's avatarBin Meng <bmeng.cn@gmail.com>
      e94ef579
    • Ming Liu's avatar
      tools: image-host: fix wrong return value · 7c39799d
      Ming Liu authored
      
      
      The return value '-ENOSPC' of fit_set_timestamp function does not match
      the caller fit_image_write_sig's expection which is '-FDT_ERR_NOSPACE'.
      
      Fix it by not calling fit_set_timestamp, but call fdt_setprop instead.
      
      This fixes a following mkimage error:
      | Can't write signature for 'signature@1' signature node in
      | 'conf@imx6ull-colibri-wifi-eval-v3.dtb' conf node: <unknown error>
      | mkimage Can't add hashes to FIT blob: -1
      Signed-off-by: default avatarMing Liu <liu.ming50@gmail.com>
      Tested-by: default avatarIgor Opaniuk <igor.opaniuk@foundries.io>
      7c39799d
    • Sven Roederer's avatar
      tools/fitimage: add missing linebreak for some messages · 9c70237f
      Sven Roederer authored
      
      
      Add a linebreak to two messages and fix punctuation.
      Signed-off-by: default avatarSven Roederer <devel-sven@geroedel.de>
      9c70237f
    • Rasmus Villemoes's avatar
      fixdep: remove leftover handling of IS_BUILTIN/IS_MODULE · 33b9027c
      Rasmus Villemoes authored
      I removed CONFIG_IS_BUILTIN and CONFIG_IS_MODULE in commit
      7d78a454 ("linux/kconfig.h: remove unused helper macros"), but
      fixdep.c still looks for those. It's harmless, but also pointless and
      possibly confusing to a future reader.
      
      Fixes: 7d78a454
      
       ("linux/kconfig.h: remove unused helper macros")
      Signed-off-by: default avatarRasmus Villemoes <rasmus.villemoes@prevas.dk>
      33b9027c
    • Yann Dirson's avatar
      mkimage: allow -l to work on block devices on Linux · 331f0800
      Yann Dirson authored
      When "mkimage -l" was run on a block device it would fail with
      erroneous message, because fstat reports a size of zero for those:
      
       mkimage: Bad size: "/dev/sdb4" is not valid image
      
      This patch identifies the "is a block device" case and reports it as
      such, and if it knows how to determine the size of a block device on
      the current OS, proceeds.
      
      As shown in
      http://www.mit.edu/afs.new/sipb/user/tytso/e2fsprogs/lib/blkid/getsize.c
      
      
      this is no portable task, and I only handled the case of a modern
      Linux kernel, which is what I can test.
      Signed-off-by: default avatarYann Dirson <yann@blade-group.com>
      331f0800
    • Tom Rini's avatar
      Merge branch '2021-07-14-platform-updates' · eae8c7c3
      Tom Rini authored
      - Assorted platform updates
      eae8c7c3
    • Stephan Gerhold's avatar
      usb: musb-new: Add glue driver for ST-Ericsson Ux500 · 845d9cf6
      Stephan Gerhold authored
      
      
      The ST-Ericsson DB8500 SoC contains a MUSB OTG controller which
      supports both host and gadget mode. For some reason there is
      nothing special about it - add a simple glue driver for Ux500
      that literally just sets up MUSB together with a generic PHY.
      There are no SoC-specific registers etc needed to make USB work.
      
      The new Ux500 glue driver is only tested to work with DM_USB
      and DM_USB_GADGET. Both host and gadget mode work fine on
      the u8500 "stemmy" board that is already present in U-Boot.
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
      845d9cf6
    • Stephan Gerhold's avatar
      phy: Add driver for ST-Ericsson AB8500 USB PHY · 4559df9e
      Stephan Gerhold authored
      
      
      The AB8500 PMIC contains an USB PHY that needs to be set up in
      device or host mode to make USB work properly. Add a simple driver
      for the generic PHY uclass that allows enabling it.
      
      The if (CONFIG_IS_ENABLED(USB_MUSB_HOST)) might be a bit strange.
      The USB PHY must be configured in either host or device mode and
      somehow the USB PHY driver must be made aware of the mode.
      
      Actually, the MUSB driver used together with this PHY does not
      support dynamic selection of host/device mode in U-Boot at the moment.
      Therefore, one very simple approach that works fine is to select
      the mode to configure at compile time. When the MUSB driver is
      configured in host mode the PHY is configured in host mode, and
      similarly when the MUSB driver is configured in device/gadget mode.
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
      Reviewed-by: Jaehoon Chung's avatarJaehoon Chung <jh80.chung@samsung.com>
      4559df9e
    • Stephan Gerhold's avatar
      power: pmic: Add driver for ST-Ericsson AB8500 via PRCMU · 3f6e4ec7
      Stephan Gerhold authored
      
      
      All devices based on ST-Ericsson Ux500 use a PMIC similar to AB8500
      (Analog Baseband). There is AB8500, AB8505, AB9540 and AB8540
      although in practice only AB8500 and AB8505 are relevant since the
      platforms with AB9540 and AB8540 were cancelled and never used in
      production.
      
      In general, the AB8500 PMIC uses I2C as control interface, where the
      different register banks are represented as separate I2C devices.
      However, in practice AB8500 is always connected to a special I2C bus
      on the DB8500 SoC that is controlled by the power/reset/clock
      management unit (PRCMU) firmware.
      
      Add a simple driver that allows reading/writing registers of the
      AB8500 PMIC. The driver directly accesses registers from the PRCMU
      parent device (represented by syscon in U-Boot). Abstracting it
      further (e.g. with the i2c uclass) would not provide any advantage
      because the PRCMU I2C bus is always just connected to AB8500 and
      vice-versa.
      
      The ab8500.h header is mostly taken as-is from Linux (with some
      minor adjustments) to allow using similar code in both Linux and
      U-Boot.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
      Acked-by: Jaehoon Chung's avatarJaehoon Chung <jh80.chung@samsung.com>
      3f6e4ec7
    • Stephan Gerhold's avatar
      board: stemmy: Copy atags for booting downstream/vendor kernel · e2f82f93
      Stephan Gerhold authored
      The U-Boot "stemmy" board is mainly intended to simplify booting
      mainline Linux on various smartphones from Samsung based on ST-Ericsson
      Ux500. While the mainline kernel is working great, there are still some
      features missing there. In particular, it is currently not possible to
      charge the battery when using the mainline kernel.
      
      This means that it is still necessary to boot the downstream/vendor
      kernel from Samsung sometimes to charge the device. That kernel is
      ancient, still uses board files + ATAGS instead of device trees and
      relies on a strange very long kernel command line hardcoded in the
      Samsung bootloader.
      
      Actually, since mainline is booted with device trees there is a very
      simple way to make the old downstream kernel work as well: We can
      simply take most of the ATAGS passed to U-Boot from the Samsung
      bootloader and copy them as-is when booting a kernel without device
      tree. That way the long command line and other needed ATAGS are cop...
      e2f82f93
    • Stephan Gerhold's avatar
      board: stemmy: Parse atags to get available memory · 03585d52
      Stephan Gerhold authored
      
      
      At the moment the "stemmy" board attempts to detect the RAM size with
      a simple memory test (get_ram_size()). Unfortunately, this does not work
      correctly for devices with 768 MiB RAM (e.g. Samsung Galaxy Ace 2
      (GT-I8160), "codina"). Reading/writing memory after the 768 MiB RAM
      succeeds but actually overwrites some earlier parts of the memory.
      
      For U-Boot this does not result in any major problems, but on Linux
      this will eventually lead to strange crashes because of the memory
      corruption.
      
      Since the "stemmy" U-Boot port is designed to be chainloaded from
      the original Samsung bootloader, the most reliable way to get the
      available amount of RAM is to look at the ATAGS passed by the Samsung
      bootloader. Fortunately, the header used to generate ATAGS in U-Boot
      (asm/setup.h) can also be easily used to parse them.
      
      Also clarify and simplify stemmy.h a bit to make it more clear where
      some of the magic values in there are actually coming from.
      Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      03585d52
    • Kunihiko Hayashi's avatar
      ARM: dts: uniphier: Add support for Akebi96 · 9e9074bc
      Kunihiko Hayashi authored
      Add the device tree for Akebi96. Akebi96 is a 96boards certified
      development board based on UniPhier LD20.
      ( https://www.96boards.org/product/akebi96/
      
       )
      Signed-off-by: default avatarMasami Hiramatsu <masami.hiramatsu@linaro.org>
      Signed-off-by: default avatarKunihiko Hayashi <hayashi.kunihiko@socionext.com>
      9e9074bc
    • Kunihiko Hayashi's avatar
      configs: uniphier: Enable CONFIG_SYS_PCI_64BIT · bc9255a5
      Kunihiko Hayashi authored
      
      
      Enable CONFIG_SYS_PCI_64BIT to allow 64bit access to PCI space.
      Signed-off-by: default avatarKunihiko Hayashi <hayashi.kunihiko@socionext.com>
      bc9255a5
    • Kunihiko Hayashi's avatar
      pci: uniphier: Add UniPhier PCIe controller driver · e22c2560
      Kunihiko Hayashi authored
      
      
      Add PCIe driver for UniPhier SoCs. This PCIe controller is based on
      Synopsys DesignWare Core IP.
      
      This version doesn't apply common DW functions because supported
      controller doesn't have unroll version of iATU.
      Signed-off-by: default avatarKunihiko Hayashi <hayashi.kunihiko@socionext.com>
      e22c2560
    • Kunihiko Hayashi's avatar
      phy: socionext: Add UniPhier PCIe PHY driver · b0415d82
      Kunihiko Hayashi authored
      
      
      Add PCIe PHY driver support for Pro5, LD20 and PXs3 SoCs.
      Signed-off-by: default avatarKunihiko Hayashi <hayashi.kunihiko@socionext.com>
      b0415d82
    • Kunihiko Hayashi's avatar
      reset: uniphier: Add PCIe reset entry · 34707b32
      Kunihiko Hayashi authored
      
      
      Add reset control for PCIe controller on each SoC.
      Signed-off-by: default avatarKunihiko Hayashi <hayashi.kunihiko@socionext.com>
      34707b32
    • Kunihiko Hayashi's avatar
      clk: uniphier: Add PCIe clock entry · a1b4810a
      Kunihiko Hayashi authored
      
      
      Add clock control for PCIe controller on each SoC.
      Signed-off-by: default avatarKunihiko Hayashi <hayashi.kunihiko@socionext.com>
      a1b4810a
    • Ley Foon Tan's avatar
      MAINTAINERS, git-mailrc: socfpga: Change co-maintainer to Tien Fong Chee · d3cffc83
      Ley Foon Tan authored
      
      
      I'm no longer work in Intel, change Intel SoCFPGA co-maintainer to
      Tien Fong Chee.
      Signed-off-by: default avatarLey Foon Tan <lftan.linux@gmail.com>
      Acked-by: Marek Vasut's avatarMarek Vasut <marex@denx.de>
      d3cffc83
    • Stephan Gerhold's avatar
      arm: mach-snapdragon: pinctrl: Place pin_name in .data section · 548b89f8
      Stephan Gerhold authored
      According to arch/arm/lib/crt0_64.S, the BSS section is "UNAVAILABLE"
      and uninitialized before relocation. Also, it overlaps with the
      appended DTB before relocation, so writing data into a variable
      in the BSS section might corrupt the appended DTB.
      
      Unfortunately, pinctrl-apq8016.c and pinctrl-apq8096.c do place the
      "pin_name" variable in the BSS section (since it's uninitialized).
      It's also used before relocation, when setting up the pinctrl for
      the serial driver.
      
      On DB410c this causes "GPIO_5" to be written into some part of an
      appended DTB, e.g.:
      
      80111820: edfe0dd0 9f100000 38000000 c00e0000    ...........8....
      80111830: 28000000 11000000 10000000 00000000    ...(............
      80111840: 4f495047 8800355f 00000000 00000000    GPIO_5..........
      80111850: 00000000 00000000 01000000 00000000    ................
      80111860: 03000000 04000000 00000000 02000000    ................
      80111870: 03000000 04000000 0f000000 02000000    ................
      801...
      548b89f8