Skip to content
Tags give the ability to mark specific points in history as being important
  • arc-for-2022.07
    ARC fixes for 2022.07
    A minor build fix for HSDK, kudos to Corentin Labbe.
  • arc-fixes-for-2020.07-rc3
    Here we improve clock support for recently introduced HSDK-4xD
    board as well as finally enable external reset for the USB controller,
    which is needed to recover USB functionality after "usb reset".
  • arc-more-fixes-for-2020.07-rc1
    Here we introduce new development platfrom for ARC: HSDK 4xD.
    That's pretty much the same base-board as in HSDK but with
    very recent quad-core ARC HS47D in the ASIC.
    Thus we try to re-use existing code as much as possible while
    inevitably add some pieces needed for the new ASIC.
    Also we drop selection of bounce buffers on AXS10x
    as there's no use of them any longer.
  • arc-fixes-for-2020.07-rc1
    This is pretty minor set of changes mostly touching HSDK board:
     * Enable on-chip reset controller on HSDK
     * Add possibility to turn-on & off L2$ on more
       recent ARC HS processors.
     * AXI tunnel clock calculation on HSDK
  • arc-last-minute-fixes-for-2020.04
    This last minute pull-request is intended to fix some drivers
    when used on ARC boards. The problem was introduced by
    What happened while doing one pretty simple improvement to make
    U-Boot port more flexible and portable (by switching accessors from
    assembly-written to plain C version) we implicitly added 2 problems:
     1. Downgraded accessors from being volatile which signalled to
        the compiler that it's now possible to do all kinds of optimizations
        which may easily include merge of subsequent byte reads/writes into
        word operations. Which is OK for accessing mormal memory but
        breaks operation of peripherals if we access its memory-mapped regs
        in such a "creative" manner.
     2. As a part of assembly-written implementation we had compiler barriers
        in form of the following construction 'asm volatile("" : : : "memory")',
        and we dropped it in C implemntation. This in its turn enabled compiler
        to mess with instruction ordering. Guess what it gives us in the end :)
    So with all that we had in some corner-cases veeery funny instruction flows
    generated. And in particular it broke DW SPI functionality when we were
    writing large amount of data. Funny enough our tests which were writing
    small amount of data still worked and only by the chance we caught that
    breakage and unrolled that quite interesting loop of unexpected
    The road to hell is paved with good intentions. Amen :)
  • arc-fixes-for-2020.04-rc2
    As usual a bit late a couple of tiny fixes and improvements for ARC.
    1. Switch from ARC UART to a convenient DW UART on ARC
       simulation platforms. This became avaialble when nSIM got support
       of that much more standard UART (starting from nSIM v2019.06).
       FWIW also available now in Free nSIM [1].
       This among other things allows us finally to use the same one binary
       on all our simulators & FPGA-based emulators.
    2. Disable networking support on simulated platforms as there's no
       network interface in them.
    3. Add Virtio net & block devices for the configuration supported
       by QEMU so that we may leverage those virtual peripherals and
       in fact it's possible to load uImage from TFTP server and bootm it.
    4. Minor fixes for HSDK clocks.
    5. Rework of how we chose and use compiler options for ARC-based boards.
       In real world ARC-based designs are customized more or less but very
       rarely match any of our "templates" thus it makes not much sense to
       pretend we have some fixed configs, instead we now will fully reply
       on a SoC or even board on getting precise set of compiler options
       preferably even extracted from real HW via "tcfgen" utility.
    6. Well and finally yet another simplification - switch to generic
       written in C accessors which are much more universal and just work
       for any target supported by the complier as compared to GAS
       implementation which is much more target-dependent.
       This one was heavily "inspired" by similar implementation for RISCV
       and ARM.
  • arc-fixes-for-2020.01-rc2
    ARC fixes for v2020.01-rc2
    The main change is move to DM_MMC of yet 2 another ARC boards:
    AXS101 & IoTDK.
    Among that we improve handling of stock-formatted SD-cards of high volume
    on EM SDP as well as introduction of reset driver for HSDK which is required
    for prepser reinitialization of some peripherals like USB etc.
  • arc-for-2019.10-rc4
    These are some very late changes mostly required to get 64-bit
    division working on ARC boards.
    For that we had to import missing parts of libgcc and add compiler
    flags to EMSDP which otherwise used very simple profile for compliation.
    And while at it another fix for EM SDP initialization is inluded as well.
  • arc-for-2019.07
    In this small series we migrate ARC boards to DM_MMC
    so we're hopefully are good now and our boards will be kept
    in U-Boot for some more time :)
  • arc-last-minute-for-2019.04
    This is last minute change which fixes problems in runtime on
    AXS10x board caused by some changes in NAND framework and
    tiny documentation improvement.
    Anyways NAND flash storage was never really used on the board for various
    reasons and now we decided to drop it for good.
    Note this change only touches 1 ARC board so that should be safe for others.
    As usual - build tested in TravisCI, see
  • arc-fixes-for-2019.04-rc1
    A couple of trivial fixes and improvements for ARC
    Most notable are:
     * Move of ENV_SIZE/ENV_OFFSET to Kconfig
     * Fix with private structure allocation for arc_uart
     * Definition of CONFIG_SYS_CACHELINE_SIZE useful for building drivers
  • arc-updates-for-2019.01-rc1
    We introduce much better automatic identification of ARC cores.
     1. Try to match found HW features to known ARC core templates
     2. Print CPU frequency for all ARC boards
     3. Add more board-specific info
  • arc-for-2018.11
    a6b8c29f · iot_dk: Add README ·
    Just 2 non-functinal changes:
     1. Rename of EMDK to EMSDP so it matches real marketing name
     2. Add essential README for IoTDK
  • arc-more-updates-for-2018.11-rc2-2
    More fixes and improvements for ARC here:
    Fixes (this time included for real):
     * Take care of global uninitialized variables
       They used to be put right after .bss section and were never
       zeroed as they should be. Now merged with normal .bss
     * Print more verbose CPU info for boards built on real silicon
     * Add support for SD-card detection on all ARC boards
     * Quite a few fixes for IoT DK
       - Support reset by command
       - Print of CPU freq on boot
       - Link for eFlash etc
  • arc-more-updates-for-2018.11-rc2
    a2110918 · iot_dk: Link for eFlash ·
    More fixes and improvements for ARC here:
     * Take care of global uninitialized variables
       They used to be put right after .bss section and were never
       zeroed as they should be. Now merged with normal .bss
     * Print more verbose CPU info for boards built on real silicon
     * Add support for SD-card detection on all ARC boards
     * Quite a few fixes for IoT DK
       - Support reset by command
       - Print of CPU freq on boot
       - Link for eFlash etc
  • arc-updates-for-2018.11-rc2
    Here we do a couple of impovements for all ARC boards
    as well as introduce yet another developemnt board.
    1. Now for ARC boards we print CPU and board info
       which is useful for users and helps with
       analysis of logs "post-mortem".
    2. Synopsys IoT development kit support is added
       This one might bw a bit too late as we're past RC1
        1) This doesn't affect any other arches etc
           as we change purely ARC code.
        2) I've got a chance to talk about U-Boot on
           IoT platforms during ELCE (my proposal was on
           a wait list and only this week I've got
           an update and invitation to talk) so it would
           be good to have this board as a primer in upstream
           code-base by the time of ELCE 2018.
        3) For complete support of IoT devkit I'm yet to
           significantly rework regmap subsystem in U-Boot
           but that's a different topic and hopefully it will
           be done sometime soon... though not this release
           cycle for sure.
  • arc-updates-for-2018.09
    Minor changes for ARC
    1. Fix CPU clock value in HSDK's .dts so time is counted properly.
    2. Enable bootelf command on EMDK
  • arc-updates-for-2018.09-rc2
    That's a set of prety minor changes and fixes for ARC.
    Among them:
     * Improvement in CREG GPIO driver used on ARC dev boards
       that allow us to re-use the driver for SPI's chip select
     * Enable SPI-flsh on AXS10x boards which allows to update
       U-Boot binary that gets loaded by boot-ROM
     * Fix accommodating always utilized unaligned access by
       GCC for ARC starting from 8.1.0
  • arc-updates-for-2018.07-rc3
    0921f929 · ARC: EMDK: Add readme ·
    Here we only add readme file for EMDK board
    support of which was added in this release cycle.
  • arc-updates-for-2018.07-rc2
    3b4410dd · ARC: HSDK: Add readme ·
    Here we just add a tool for HSDK flashable images preparation
    together with extensive documentation for HSDK board.
    This will help real-life users to update U-Boot on the board.