06 Apr, 2017

2 commits


29 Mar, 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
     

06 Feb, 2017

2 commits

  • Since 'gd' is just a normal variable on 64-bit x86, it is relocated by the
    time we get to board_init_r(). The old 'gd' variable is passed in as
    parameter to board_init_r(), presumably for this situation.

    Assign it on 64-bit x86 so that gd points to the correct data.

    Options to improve this:
    - Make gd a fixed register and remove the board_init_r() parameter
    - Make all archs use this board_init_r() parameter

    The second has a TODO in the code. The first has a TODO in a future commit
    ('x86: Support global_data on x86_64')

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     
  • These tables should be declared static const. Unfortunately the table in
    board_r is updated on machines with manual relocation.

    Update them.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     

26 Jan, 2017

2 commits


22 Jan, 2017

1 commit

  • Move all of the status LED feature to drivers/led/Kconfig.
    The LED status definitions were moved from the board configuration
    files to the defconfig files.

    TBD: Move all of the definitions in the include/status_led.h to the
    relevant board's defconfig files.

    Tested boards: CL-SOM-AM57x, CM-T335

    Signed-off-by: Uri Mashiach

    Uri Mashiach
     

20 Dec, 2016

1 commit

  • All sata based drivers are bind and corresponding block
    device is created. Based on this find_scsi_device() is able
    to get back block device based on scsi_curr_dev pointer.

    intr_scsi() is commented now but it can be replaced by calling
    find_scsi_device() and scsi_scan().

    scsi_dev_desc[] is commented out but common/scsi.c heavily depends on
    it. That's why CONFIG_SYS_SCSI_MAX_DEVICE is hardcoded to 1 and symbol
    is reassigned to a block description allocated by uclass.
    There is only one block description by device now but it doesn't need to
    be correct when more devices are present.

    scsi_bind() ensures corresponding block device creation.
    uclass post_probe (scsi_post_probe()) is doing low level init.

    SCSI/SATA DM based drivers requires to have 64bit base address as
    the first entry in platform data structure to setup mmio_base.

    Signed-off-by: Michal Simek
    Reviewed-by: Simon Glass

    Michal Simek
     

09 Dec, 2016

1 commit


08 Dec, 2016

1 commit

  • All sata based drivers are bind and corresponding block
    device is created. Based on this find_scsi_device() is able
    to get back block device based on scsi_curr_dev pointer.

    intr_scsi() is commented now but it can be replaced by calling
    find_scsi_device() and scsi_scan().

    scsi_dev_desc[] is commented out but common/scsi.c heavily depends on
    it. That's why CONFIG_SYS_SCSI_MAX_DEVICE is hardcoded to 1 and symbol
    is reassigned to a block description allocated by uclass.
    There is only one block description by device now but it doesn't need to
    be correct when more devices are present.

    scsi_bind() ensures corresponding block device creation.
    uclass post_probe (scsi_post_probe()) is doing low level init.

    SCSI/SATA DM based drivers requires to have 64bit base address as
    the first entry in platform data structure to setup mmio_base.

    Signed-off-by: Michal Simek
    Reviewed-by: Simon Glass
    Series-changes: 2
    - Use CONFIG_DM_SCSI instead of mix of DM_SCSI and DM_SATA
    Ceva sata has never used sata commands that's why keep it in
    SCSI part only.
    - Separate scsi_scan() for DM_SCSI and do not change cmd/scsi.c
    - Extend platdata

    Series-changes: 3
    - Fix scsi_scan return path
    - Fix header location uclass-internal.h
    - Add scsi_max_devs under !DM_SCSI
    - Add new header device-internal because of device_probe()
    - Redesign block device creation algorithm
    - Use device_unbind in error path
    - Create block device with id and lun numbers (lun was there in v2)
    - Cleanup dev_num initialization in block device description
    with fixing parameters in blk_create_devicef
    - Create new Kconfig menu for SATA/SCSI drivers
    - Extend description for DM_SCSI
    - Fix Kconfig dependencies
    - Fix kernel doc format in scsi_platdata
    - Fix ahci_init_one - vendor variable

    Series-changes: 4
    - Fix Kconfig entry
    - Remove SPL ifdef around SCSI uclass
    - Clean ahci_print_info() ifdef logic

    Michal Simek
     

30 Nov, 2016

1 commit


17 May, 2016

1 commit


17 Mar, 2016

1 commit

  • Commit 1057e6c broke use of the timer with driver model. If the timer is used
    before relocation, then it becomes broken after relocation. This prevents
    some x86 boards from booting. Fix it.

    Fixes: 1057e6c (timer: Set up the real timer after driver model is available)

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng

    Simon Glass
     

16 Mar, 2016

2 commits

  • The EFI loader needs to maintain views of memory - general system memory
    windows as well as used locations inside those and potential runtime service
    MMIO windows.

    To manage all of these, add a few helpers that maintain an internal
    representation of the map the similar to how the EFI API later on reports
    it to the application.

    For allocations, the scheme is very simple. We basically allow allocations
    to replace chunks of previously done maps, so that a new LOADER_DATA
    allocation for example can remove a piece of the RAM map. When no specific
    address is given, we just take the highest possible address in the lowest
    RAM map that fits the allocation size.

    Signed-off-by: Alexander Graf
    Tested-by: Simon Glass

    Alexander Graf
     
  • After booting has finished, EFI allows firmware to still interact with the OS
    using the "runtime services". These callbacks live in a separate address space,
    since they are available long after U-Boot has been overwritten by the OS.

    This patch adds enough framework for arbitrary code inside of U-Boot to become
    a runtime service with the right section attributes set. For now, we don't make
    use of it yet though.

    We could maybe in the future map U-boot environment variables to EFI variables
    here.

    Signed-off-by: Alexander Graf
    Reviewed-by: Simon Glass
    Tested-by: Simon Glass

    Alexander Graf
     

26 Feb, 2016

1 commit


08 Feb, 2016

1 commit


07 Dec, 2015

1 commit


06 Dec, 2015

1 commit

  • Don't relocate fdt in case of CONFIG_OF EMBED as the fdt is
    already embedded with u-boot image.
    Update fdt_blob after relocation as the fdt will be copied
    during u-boot relocation.

    Signed-off-by: Siva Durga Prasad Paladugu
    Signed-off-by: Michal Simek
    Reviewed-by: Alexey Brodkin
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng (QEMU x86)
    Tested-by: Thomas Chou (Nios2)
    Acked-by: Thomas Chou
    Acked-by: Simon Glass

    Siva Durga Prasad Paladugu
     

03 Dec, 2015

2 commits


01 Dec, 2015

1 commit

  • At present bootstage will try to read the timer very early after relocation.
    When driver model is used to provide the timer, we cannot read it until
    driver model is ready. Correct this by adding a separate stage for the
    post-relocation bootstage init.

    This fixes booting on chromebook_link.

    Signed-off-by: Simon Glass
    Acked-by: Thomas Chou
    Reviewed-by: Bin Meng
    Reviewed-by: Mugunthan V N

    Simon Glass
     

20 Nov, 2015

2 commits

  • It is useful to be able to record console output and provide console input
    via a buffer. This provides sandbox with the ability to run a command and
    check its output. If the console is set to silent then no visible output
    is generated.

    This also provides a means to fix the problem where tests produce unwanted
    output, such as errors or warnings. This can be confusing. We can instead
    set the console to silent and record this output. It can be checked later
    in the test if required.

    It is possible that this may prove useful for non-test situations. For
    example the console output may be suppressed for normal operations, but
    recorded and stored for access by the OS. That feature is not implemented
    at present.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • The console includes a global variable and several functions that are only
    used by a small subset of U-Boot files. Before adding more functions, move
    the definitions into their own header file.

    Signed-off-by: Simon Glass

    Simon Glass
     

13 Nov, 2015

3 commits


28 Oct, 2015

1 commit


25 Oct, 2015

1 commit

  • For current U-Boot to initialize status LEDs via status_led_init(), it
    is required to have both CONFIG_STATUS_LED and STATUS_LED_BOOT defined.
    This may be a particular concern with GPIO LEDs, where __led_init() is
    required to correctly set up the GPIO (gpio_request and
    gpio_direction_output). Without STATUS_LED_BOOT the initialization isn't
    called, which could leave the user with a non-functional "led" command -
    due to the fact that the LED routines in gpio_led.c use gpio_set_value()
    just fine, but the GPIO never got set up properly in the first place.

    I think having CONFIG_STATUS_LED is sufficient to justify a
    corresponding call to status_led_init(), even with no STATUS_LED_BOOT
    defined. To do so, common/board_r.c needs call that routine, so it now
    is exposed via status_led.h.

    Signed-off-by: Bernhard Nortmann
    [trini: Add dummy __led_init to pca9551_led.c]
    Signed-off-by: Tom Rini

    Bernhard Nortmann
     

23 Oct, 2015

2 commits


28 Aug, 2015

1 commit


10 May, 2015

1 commit

  • As this board seems to be unmaintained for quite some time, and its
    not moved to the generic board ingrastructure, lets remove it.

    This will also enable us to remove the CONFIG_AUTOBOOT_DELAY_STR2
    and CONFIG_AUTOBOOT_STOP_STR2 macros, as this sc3 board is the
    only one using one of this macros. A removal patch will follow
    soon.

    Signed-off-by: Stefan Roese
    Cc: Heiko Schocher
    Cc: Wolfgang Denk
    Cc: Juergen Beisert
    Acked-by: Heiko Schocher

    Stefan Roese
     

01 May, 2015

1 commit


23 Apr, 2015

1 commit

  • During booting, IFC is mapped to low region. After booting up, IFC is
    remapped to high region for larger space. The environmental variables are
    also stored at high region. In order to read the variables during booting,
    a virtual mapping is required.

    Cache was enabled for entire IFC space before. Actually the first two
    entries are big enough (4MB) to cover the boot code and environmental
    variables. Remove extra entries. Move OCRAM entry out of ifdef.

    Signed-off-by: York Sun

    York Sun
     

19 Apr, 2015

3 commits

  • Convert this driver over to use driver model. Since all x86 platforms use
    it, move x86 to use driver model for SPI and SPI flash. Adjust all dependent
    code and remove the old x86 spi_init() function.

    Note that this does not make full use of the new PCI uclass as yet. We still
    scan the bus looking for the device. It should move to finding its details
    in the device tree.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This value is not used by the network stack and is available in the
    global data, so stop passing it around. For the one legacy function
    that still expects it (init op on old Ethernet drivers) pass in the
    global pointer version directly to avoid changing that interface.

    Signed-off-by: Joe Hershberger
    Reported-by: Simon Glass
    Reviewed-by: Simon Glass
    Signed-off-by: Simon Glass
    (Trival fix to remove an unneeded variable declaration in 4xx_enet.c)

    Joe Hershberger
     
  • In the case where the arch defines a custom map_sysmem(), make sure that
    including just mapmem.h is sufficient to have these functions as they
    are when the arch does not override it.

    Also split the non-arch specific functions out of common.h

    Signed-off-by: Joe Hershberger
    Reviewed-by: Simon Glass

    Joe Hershberger