24 Feb, 2018

1 commit

  • This converts the following to Kconfig:
    CONFIG_BOOTP_BOOTPATH
    CONFIG_BOOTP_DNS
    CONFIG_BOOTP_GATEWAY
    CONFIG_BOOTP_HOSTNAME
    CONFIG_BOOTP_PXE
    CONFIG_BOOTP_SUBNETMASK
    CONFIG_CMDLINE_EDITING
    CONFIG_AUTO_COMPLETE
    CONFIG_SYS_LONGHELP
    CONFIG_SUPPORT_RAW_INITRD
    CONFIG_ENV_VARS_UBOOT_CONFIG

    Signed-off-by: Adam Ford
    [trini: Re-run the migration]
    Signed-off-by: Tom Rini

    Adam Ford
     

15 Feb, 2018

1 commit

  • Migrate the option CONFIG_SPL_FRAMEWORK and make this gate most of the
    current set of options we have in Kconfig. We will need to have some
    options available for SPL and !SPL_FRAMEWORK so this is important. In a
    few cases we re-order existing options so that we have less escapes from
    the SPL_FRAMEWORK guard.

    Signed-off-by: Tom Rini

    Tom Rini
     

09 Jan, 2018

1 commit


27 Dec, 2017

1 commit


28 Nov, 2017

1 commit


23 Oct, 2017

2 commits


21 Oct, 2017

1 commit

  • We add the various SMC91XX symbols to drivers/net/Kconfig and then this
    converts the following to Kconfig:
    CONFIG_SMC911X
    CONFIG_SMC911X_BASE
    CONFIG_SMC911X_16_BIT
    CONFIG_SMC911X_32_BIT

    Signed-off-by: Adam Ford
    [trini: Apply to the rest of the tree, re-squash old and new patch]
    Signed-off-by: Tom Rini

    Adam Ford
     

04 Sep, 2017

2 commits


03 Sep, 2017

1 commit

  • Add the following options to drivers/misc/Kconfig:
    SYS_I2C_EEPROM_ADDR
    SYS_I2C_EEPROM_BUS
    SYS_EEPROM_SIZE
    SYS_EEPROM_PAGE_WRITE_BITS
    SYS_EEPROM_PAGE_WRITE_DELAY_MS
    SYS_I2C_EEPROM_ADDR_LEN
    SYS_I2C_EEPROM_ADDR_OVERFLOW

    This does not migrate any boards, but provides a foundations for
    those who want/need these options

    Signed-off-by: Adam Ford
    [trini: Migrate uniphier]
    Signed-off-by: Tom Rini

    Adam Ford
     

30 Aug, 2017

1 commit


20 Aug, 2017

1 commit


29 Jul, 2017

1 commit


26 Jul, 2017

2 commits

  • It has been a while since ARM Trusted Firmware supported UniPhier SoC
    family. U-Boot SPL was intended as a temporary loader that runs in
    secure world. It is a maintenance headache to support two different
    boot mechanisms. Secure firmware is realm of ARM Trusted Firmware
    and now U-Boot only serves as a non-secure boot loader for UniPhier
    ARMv8 SoCs.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • This converts the following to Kconfig:
    CONFIG_ENV_IS_IN_MMC
    CONFIG_ENV_IS_IN_NAND
    CONFIG_ENV_IS_IN_UBI
    CONFIG_ENV_IS_NOWHERE

    In fact this already exists for sunxi as a 'choice' config. However not
    all the choices are available in Kconfig yet so we cannot use that. It
    would lead to more than one option being set.

    In addition, one purpose of this series is to allow the environment to be
    stored in more than one place. So the existing choice is converted to a
    normal config allowing each option to be set independently.

    There are not many opportunities for Kconfig updates to reduce the size of
    this patch. This was tested with

    ./tools/moveconfig.py -i CONFIG_ENV_IS_IN_MMC

    And then manual updates. This is because for CHAIN_OF_TRUST boards they
    can only have ENV_IS_NOWHERE set, so we enforce that via Kconfig logic
    now.

    Signed-off-by: Simon Glass
    Signed-off-by: Tom Rini

    Simon Glass
     

04 Jun, 2017

1 commit

  • Now that these symbols are in Kconfig, migrate all users. Use imply on
    a number of platforms that default to having this enabled. As part of
    this we must migrate some straglers for CMD_FAT and DOS_PARTITION.

    Signed-off-by: Tom Rini

    Tom Rini
     

22 May, 2017

1 commit


17 May, 2017

2 commits


20 Mar, 2017

1 commit


23 Feb, 2017

1 commit


13 Feb, 2017

1 commit

  • We repeated partial moves for CONFIG_SYS_NO_FLASH, but this is
    not completed. Finish this work by the tool.

    During this move, let's rename it to CONFIG_MTD_NOR_FLASH.
    Actually, we have more instances of "#ifndef CONFIG_SYS_NO_FLASH"
    than those of "#ifdef CONFIG_SYS_NO_FLASH". Flipping the logic will
    make the code more readable. Besides, negative meaning symbols do
    not fit in obj-$(CONFIG_...) style Makefiles.

    This commit was created as follows:

    [1] Edit "default n" to "default y" in the config entry in
    common/Kconfig.

    [2] Run "tools/moveconfig.py -y -r HEAD SYS_NO_FLASH"

    [3] Rename the instances in defconfigs by the following:
    find . -path './configs/*_defconfig' | xargs sed -i \
    -e '/CONFIG_SYS_NO_FLASH=y/d' \
    -e 's/# CONFIG_SYS_NO_FLASH is not set/CONFIG_MTD_NOR_FLASH=y/'

    [4] Change the conditionals by the following:
    find . -name '*.[ch]' | xargs sed -i \
    -e 's/ifndef CONFIG_SYS_NO_FLASH/ifdef CONFIG_MTD_NOR_FLASH/' \
    -e 's/ifdef CONFIG_SYS_NO_FLASH/ifndef CONFIG_MTD_NOR_FLASH/' \
    -e 's/!defined(CONFIG_SYS_NO_FLASH)/defined(CONFIG_MTD_NOR_FLASH)/' \
    -e 's/defined(CONFIG_SYS_NO_FLASH)/!defined(CONFIG_MTD_NOR_FLASH)/'

    [5] Modify the following manually
    - Rename the rest of instances
    - Remove the description from README
    - Create the new Kconfig entry in drivers/mtd/Kconfig
    - Remove the old Kconfig entry from common/Kconfig
    - Remove the garbage comments from include/configs/*.h

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

09 Feb, 2017

1 commit

  • CONFIG_CMD_ZIP is not defined by any board. I am moving
    CONFIG_CMD_UNZIP to defconfig files except UniPhier SoC family.

    I am the maintainer of UniPhier platform, so I know "select CMD_UNZIP"
    is better for this platform.

    Signed-off-by: Masahiro Yamada
    Acked-by: Michal Simek
    Acked-by: Stefan Roese
    Acked-by: Ryan Harkin
    Tested-by: Ryan Harkin

    Masahiro Yamada
     

31 Jan, 2017

1 commit

  • Now, CONFIG_GENERIC_MMC seems equivalent to CONFIG_MMC.

    Let's create an entry for "config GENERIC_MMC" with "default MMC",
    then convert all macro defines in headers to Kconfig. Almost all
    of the defines will go away.

    I see only two exceptions:
    configs/blanche_defconfig
    configs/sandbox_noblk_defconfig

    They define CONFIG_GENERIC_MMC, but not CONFIG_MMC. Something
    might be wrong with these two boards, so should be checked later.

    Anyway, this is the output of the moveconfig tool.

    This commit was created as follows:

    [1] create a config entry in drivers/mmc/Kconfig

    [2] tools/moveconfig.py -r HEAD GENERIC_MMC

    [3] manual clean-up of garbage comments in doc/README.* and
    include/configs/*.h

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Tom Rini

    Masahiro Yamada
     

29 Jan, 2017

7 commits

  • Currently, SPL (u-boot-spl.bin) and U-Boot (u-boot.bin) are stored
    in non-volatile devices, and some environments are defined to update
    the images easily.

    When ARM Trusted Firmware is fully used, SPL is not used. U-Boot
    proper is contained as BL33 into FIP (Firmware Image Package), which
    is standard container used by ATF. Allow to use it.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • The Boot ROM supports authentication feature to prevent malformed
    software from being run on products. The signature is added at the
    tail of the second stage loader (= SPL in U-boot terminology).

    The size of the second stage loader was 64KB, and it was consistent
    across SoCs. The situation changed when LD20 SoC appeared; it loads
    80KB second stage loader, and it is the only exception.

    Currently, CONFIG_SPL_PAD_TO is set to 64KB and U-Boot proper is
    loaded from the 64KB offset of non-volatile devices. This means the
    signature of LD20 SoC (located at 80KB offset) corrupts the U-Boot
    proper image.

    Let's move the U-Boot proper image to 128KB offset. It uses 48KB
    for nothing but padding, and we could actually locate the U-Boot
    proper at 80KB offset. However, the power of 2 generally seems a
    better choice for the offset address.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • When ARM Trusted Firmware is used, bl1.bin + fip.bin exceeds 512KB,
    so the boot image and the current environment area will overlap.
    Move the environment storage to 1MB offset.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • The boot_ramdisk_high() checks the environment "initrd_high" and,
    if it is set to (ulong)-1, skip the initrd relocation. This is
    useful for faster booting when we know the initrd is already located
    within the reach of the kernel.

    Change "norboot" to copy images in order to make it work without
    depending on the automatic relocation.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • The ARM64 Linux raw image now amounts to 15MB and it is getting
    bigger and bigger. Using Image.gz saves about 8MB. The cost of
    unzip is smaller than what we get by saving the kernel loading
    from non-volatile devices.

    The ARM32 Linux still uses zImage, a self-decompressor image,
    so it should not be affected.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • For clarification, move CONFIG symbols that affect SPL building
    into a single place. Drop #ifdef CONFIG_SPL ... #endif since it is
    harmless to define CONFIG_SPL_... during U-Boot proper building.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • U-Boot needs to set up available memory area(s) in dram_init() and
    dram_init_banksize(). It is platform-dependent how to detect the
    memory banks. Currently, UniPhier adopts the memory banks _alleged_
    by DT. This is based on the assumption that users bind a correct DT
    in their build process.

    Come to think of it, the DRAM controller has already been set up
    before U-Boot is entered (because U-Boot runs on DRAM). So, the
    DRAM controller setup register seems a more reliable source of any
    information about DRAM stuff. The DRAM banks are initialized by
    preliminary firmware (SPL, ARM Trusted Firmware BL2, or whatever),
    so this means the source of the reliability is shifted from Device
    Tree to such early-stage firmware. However, if the DRAM controller
    is wrongly configured, the system will crash. If your system is
    running, the DRAM setup register is very likely to provide the
    correct DRAM mapping.

    Decode the SG_MEMCONF register to get the available DRAM banks.
    The dram_init() and dram_init_banksize() need similar decoding.
    It would be nice if dram_init_banksize() could reuse the outcome
    of dram_init(), but global variables are unavailable at this stage
    because the .bss section is available only after the relocation.
    As a result, SG_MEMCONF must be checked twice, but a new helper
    uniphier_memconf_decode() will help to avoid code duplication.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

28 Jan, 2017

1 commit


22 Jan, 2017

2 commits

  • We may want to run different firmware before running U-Boot. For
    example, ARM Trusted Firmware runs before U-Boot, making U-Boot
    a non-secure world boot loader. In this case, the SoC might be
    initialized there, which enables us to skip SPL entirely.

    This commit removes "select SPL" to make it configurable. This
    also enables the Multi SoC support for the UniPhier ARMv8 SoCs.
    (CONFIG_ARCH_UNIPHIER_V8_MULTI) Thanks to the driver model and
    Device Tree, the U-Boot proper part is now written in a generic way.
    The board/SoC parameters reside in DT. The Multi SoC support
    increases the memory footprint a bit, but the U-Boot proper does
    not have strict memory constraint. This will mitigate the per-SoC
    (sometimes per-board) defconfig burden.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Cc: Tom Rini
    Signed-off-by: Jagan Teki

    Jagan Teki
     

16 Dec, 2016

1 commit


19 Nov, 2016

1 commit


18 Oct, 2016

1 commit


12 Oct, 2016

2 commits