18 Nov, 2015

1 commit

  • With this change Synopsys DesignWare SDP board is switched to driver
    model for both serial port (serial_dw) and Ethernet (Designware GMAC).

    This simplifies include/configs/axs101.h and allows for reuse of Linux's
    Device Tree description.

    For simplicity Linux's .dts files are not blindly copied but only very
    few extracts of them are really used (those that are supported in U-Boot
    at the moment).

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

    Alexey Brodkin
     

07 Oct, 2015

1 commit

  • It turned out with some boards (FPGA firmwares?) and cards combos
    current clock settings doesn't work as expected leading to strange
    card freezes or corrupted data being read from the card.

    Especially this was seen with Transcend 2Gb cards shipped as a part of
    ARC SDP:
    ----------------->8---------------
    AXS# mmcinfo
    Device: Synopsys Mobile storage
    Manufacturer ID: 74
    OEM: 4a60
    Name: SDC
    Tran Speed: 50000000
    Rd Block Len: 512
    SD version 3.0
    High Capacity: No
    Capacity: 1.8 GiB
    Bus Width: 4-bit
    Erase Group Size: 512 Bytes
    AXS# fatload mmc 0
    ** Unrecognized filesystem type **
    ----------------->8---------------

    With this change that problem is fixed.
    Note "Tran Speed" above doesn't match clock value set in DW MMC.
    It is max value for card's speed class.

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     

01 Jul, 2015

2 commits

  • Looks like I forgot to add myself as a maintainer for AXS103 defconfig.
    Fixing this now.

    Signed-off-by: Alexey Brodkin
    Cc: Tom Rini

    Alexey Brodkin
     
  • With new SMP-enabled CPUs with ARC HS38 cores and corresponding support
    in Linux kernel it's required to add basic SMP support in U-Boot.

    Currently we assume the one and only core starts execution after
    power-on. So most of things in U-Boot is handled in UP mode.

    But when U-Boot is used for loading and starting Linux kernel right
    before jumping to kernel's entry point U-Boot:
    [1] Sets all slave cores to jump to the same address [kernel's entry
    point]
    [2] Really starts all slav cores

    In ARC's implemetation of SMP in Linux kernel all cores are supposed to
    run the same start-up code. But only core with ID 0 (master core)
    processes further while others are looping waiting for master core to
    complete some initialization.

    That means it's safe to un-pause slave cores and let them execute kernel
    - they will wait for master anyway.

    Signed-off-by: Alexey Brodkin
    Cc: Vineet Gupta

    Alexey Brodkin
     

10 Apr, 2015

1 commit

  • There're 2 versions of motherboards that could be used in ARC SDP.
    The only important difference for U-Boot is different NAND IC in use:
    [1] v2 board (we used to support up until now) sports MT29F4G08ABADAWP
    while
    [2] v3 board sports MT29F4G16ABADAWP

    They are almost the same except data bus width 8-bit in [1] and 16-bit
    in [2]. And for proper support of 16-bit data bus we have to pass
    NAND_BUSWIDTH_16 option to NAND driver core - which we do now knowing
    board type we're running on.

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     

03 Apr, 2015

1 commit

  • With the most recent board firmware correct SDIO clock is 50MHz as
    opposed to 25 MHz before.

    Also set max frequency of MMC data exchange equal to SDIO clock -
    because there's no way to transfer data faster than interface clock.

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     

09 Feb, 2015

1 commit

  • This change allows to keep board description clean and minimalistic.
    This is especially helpful if one board may house different CPUs with
    different features.

    It is applicable to both FPGA-based boards or those that have CPUs
    mounted on interchnagable daughter-boards.

    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     

16 Jan, 2015

1 commit


14 Sep, 2014

1 commit

  • Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME}
    are specified in arch/Kconfig.

    We can delete the ones in arch and board Kconfig files.

    This commit can be easily reproduced by the following command:

    find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e '
    /config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ {
    N
    s/\n[[:space:]]*string//
    }
    '

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

26 Aug, 2014

1 commit


30 Jul, 2014

2 commits

  • We have switched to Kconfig and the boards.cfg file is going to
    be removed. We have to retrieve the board status and maintainers
    information from it.

    The MAINTAINERS format as in Linux Kernel would be nice
    because we can crib the scripts/get_maintainer.pl script.

    After some discussion, we chose to put a MAINTAINERS file under each
    board directory, not the top-level one because we want to collect
    relevant information for a board into a single place.

    TODO:
    Modify get_maintainer.pl to scan multiple MAINTAINERS files.

    Signed-off-by: Masahiro Yamada
    Suggested-by: Tom Rini
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • This commit adds:
    - arch/${ARCH}/Kconfig
    provide a menu to select target boards
    - board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig
    set CONFIG macros to the appropriate values for each board
    - configs/${TARGET_BOARD}_defconfig
    default setting of each board

    (This commit was automatically generated by a conversion script
    based on boards.cfg)

    In Linux Kernel, defconfig files are located under
    arch/${ARCH}/configs/ directory.
    It works in Linux Kernel since ARCH is always given from the
    command line for cross compile.

    But in U-Boot, ARCH is not given from the command line.
    Which means we cannot know ARCH until the board configuration is done.
    That is why all the "*_defconfig" files should be gathered into a
    single directory ./configs/.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     

29 Mar, 2014

1 commit


05 Mar, 2014

1 commit


21 Feb, 2014

1 commit


07 Feb, 2014

2 commits

  • AXS101 is a new generation of devlopment boards from Synopsys that houses
    ASIC with ARC700 and lots of DesignWare peripherals:

    * DW APB UART
    * DW Mobile Storage (MMC/SD)
    * DW I2C
    * DW GMAC

    Signed-off-by: Alexey Brodkin

    Cc: Vineet Gupta
    Cc: Francois Bedard
    Cc: Wolfgang Denk
    Cc: Heiko Schocher

    Alexey Brodkin
     
  • Arcangel4 is a FPGA-based development board that is used for prototyping and
    verificationof of both ARC hardware (CPUs) and software running upon CPU.

    This board avaialble in 2 flavours:
    * Little-endian (arcangel4)
    * Big-endian (arcangel4-be)

    Signed-off-by: Alexey Brodkin

    Cc: Vineet Gupta
    Cc: Francois Bedard
    Cc: Wolfgang Denk
    Cc: Heiko Schocher

    Alexey Brodkin