10 Apr, 2015

9 commits


07 Apr, 2015

1 commit

  • Back in fc46bae a "clean up" was introduced that intended to reconcile
    some of the AM335x codepaths based on how AM43xx operates.
    Unfortunately this introduced a regression on the DDR2 platforms. This
    was un-noticed on DDR3 (everything except for Beaglebone White) as we
    had already populated sdram_config correctly in sequence. This change
    brings us back to the older behavior and is fine on all platforms.

    Tested on Beaglebone White, Beaglebone Black and AM335x GP EVM

    Reported-by: Matt Ranostay
    Signed-off-by: Tom Rini

    Tom Rini
     

06 Apr, 2015

6 commits


03 Apr, 2015

11 commits

  • Tom Rini
     
  • Conflicts:
    board/armltd/vexpress64/vexpress64.c

    Signed-off-by: Tom Rini

    Tom Rini
     
  • ARCv2 cores may have built-in SLC (System Level Cache, AKA L2-cache).
    This change adds functions required for controlling SLC:
    * slc_enable/disable
    * slc_flush/invalidate

    For now we just disable SLC to escape DMA coherency issues until either:
    * SLC flush/invalidate is supported in DMA APIin U-Boot
    * hardware DMA coherency is implemented (that might be board specific
    so probably we'll need to have a separate Kconfig option for
    controlling SLC explicitly)

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     
  • Signed-off-by: Alexey Brodkin
    Cc: Masahiro Yamada
    Cc: Simon Glass

    Alexey Brodkin
     
  • Now when all infrastructure in ARC is ready for it let's switch ARC UART
    to driver model.

    Signed-off-by: Alexey Brodkin
    Cc: Masahiro Yamada
    Cc: Simon Glass

    Alexey Brodkin
     
  • [1] Fix misspeling in ARC_CACHE_LINE_SHIFT dependency, now cache-line
    lenth selection is correctly enabled if either I$ or D$ are enabled.

    [2] Add dummy entry to target list to make sure target type is always
    mentioned in defconfig. Otherwise defconfig for the first target in the
    list will not have target name and later on with addition of the new
    target on top of the list in Kconfig will lead to corrupted
    configuration expanded from defconfig.

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     
  • As discussed on mailing list we're drifting away from
    CONFIG_SYS_GENERIC_GLOBAL_DATA in favour to use of board_init_f_mem()
    for global data.

    So do this for ARC architecture.

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     
  • Intention behind this work was elimination of as much assembly-written
    code as it is possible.

    In case of ARC we already have relocation fix-up implemented in C so why
    don't we use C for U-Boot copying, .bss zeroing etc.

    It turned out x86 uses pretty similar approach so we re-used parts of
    code in "board_f.c" initially implemented for x86.

    Now assembly usage during init is limited to stack- and frame-pointer
    setup before and after relocation.

    Signed-off-by: Alexey Brodkin
    Cc: Simon Glass

    Alexey Brodkin
     
  • This separation makes maintenance of code easier because those low-level
    interrupt- or exception handling routines are pretty static and usually
    require not much care while start-up code is a subject of modifications
    and enhancements.

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     
  • Even though ARCompact and ARCv2 are not binary compatible most of
    assembly instructions are used in both. With this change we'll get rid
    of duplicate code.

    Still IVTs are implemented differently so we're keeping them in separate
    files.

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     
  • always

    Make both invalidate_icache_all() and invalidate_dcache_all() available
    even if U-Boot is configured with CONFIG_SYS_DCACHE_OFF and/or
    CONFIG_SYS_ICACHE_OFF.

    This is useful because configuration of U-Boot may not match actual
    hardware features. Real board may have cache(s) but for some reason we
    may want to run U-Boot with cache(s) disabled (for example if some
    peripherals work improperly with existing drivers if data cache is
    enabled). So board may start with cache(s) enabled (that's the case for
    ARC cores with built-in caches) but early in U-Boot we disable cache(s)
    and make sure all contents of data cache gets flushed in RAM.

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     

01 Apr, 2015

8 commits


31 Mar, 2015

5 commits