08 Oct, 2014

1 commit

  • In order for the gmac nic to work reliable on the Bananapi, we need to set
    bits 10-12 GTXDC "GMAC Transmit Clock Delay Chain" of the GMAC clk register
    (0x01c20164) to 3.

    Without this about 9 out of 10 ethernet packets get lost, with this setting
    there is no packet loss.

    So far setting these bits is only necessary on the Bananapi, so this commit
    solves this with a bit of #ifdef CONFIG_BANANAPI code. If in the future we
    need to do something similar for other boards, we can create a specific
    CONFIG_FOO option for this then.

    Reported-by: Karsten Merker
    Signed-off-by: Hans de Goede
    Tested-by: Karsten Merker
    Tested-by: Zoltan HERPAI
    Tested-by: Tony Zhang
    Acked-by: Ian Campbell

    Hans de Goede
     

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
     

05 Sep, 2014

2 commits


12 Aug, 2014

2 commits


31 Jul, 2014

5 commits

  • The Banana Pi is an A20 based development board using Raspberry Pi compatible
    IO headers. It comes with 1 GB RAM, 1 Gb ethernet, 2x USB host, sata, hdmi
    and stereo audio out + various expansion headers:

    http://www.lemaker.org/

    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Hans de Goede
     
  • Add support for boards which I own and which already have a dts file in the
    upstream kernel.

    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Stefan Roese
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Hans de Goede
     
  • Add support for boards which I own and which already have a dts file in the
    upstream kernel.

    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Stefan Roese
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Hans de Goede
     
  • Add support for boards which I own and which already have a dts file in the
    upstream kernel.

    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Stefan Roese
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Hans de Goede
     
  • This enables the necessary clocks, in AHB0 and in PLL6_CFG. This is done
    for sun7i only since I don't have access to any other sunxi platforms
    with sata included.

    The PHY setup is derived from the Alwinner releases and Linux, but is mostly
    undocumented.

    The Allwinner AHCI controller also requires some magic (and, again,
    undocumented) DMA initialisation when starting a port. This is added under a
    suitable ifdef.

    This option is enabled for Cubieboard, Cubieboard2 and Cubietruck based on
    contents of Linux DTS files, including SATA power pin config taken from the
    DTS. All build tested, but runtime tested on Cubieboard2 and Cubietruck only.

    Signed-off-by: Ian Campbell
    Acked-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Ian Campbell
     

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
     

19 Jul, 2014

5 commits

  • This is a sun7i (A20) based followup to the sun4i (A10)
    Cubieboard. It has GMAC using MII mode.

    Signed-off-by: Ian Campbell
    Acked-by: Hans de Goede

    Ian Campbell
     
  • Similar to the USB NIC found on OMAP5uEVM, PandaBoard and BeagleBoard-XM
    boards, the sunxi SoCs have a NIC onboard without an embedded MAC address.

    Just like the omap used on these boards, the sunxi SoCs do have a unique chip
    id, in the form of the 128 bit SID register:
    http://linux-sunxi.org/SID_Register_Guide

    So mimick the BeagleBoard-XM board code (commit 548a64d8) and use the chip id
    to generate a unique fixed MAC address.

    We check for the SID not being all 0, since some early A20 batches
    shipped without having there SID programmed.

    Note we use specific parts of the 128 bits, since some parts indicate the
    SoC family / revision, and thus are fixed. The algorithm for this was taken
    from the linux-sunxi.org kernels.

    Signed-off-by: Jonathan Liu
    [hdegoede@redhat.com: Expanded the commit message with some more info]
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Jonathan Liu
     
  • Add support for the x-powers axp152 pmic which is found on most A10s boards
    and enable it for the r7-tv-dongle board.

    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Ian Campbell
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Hans de Goede
     
  • Add support for the x-powers axp209 pmic which is found on most A10, A13 and
    A20 boards.

    And enable AXP209 support for the Cubietruck and Cubieboard boards.

    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Henrik Nordstrom
     
  • Add support for the i2c controller found on all Allwinner sunxi SoCs,
    this is the same controller as found on the Marvell orion5x and kirkwood
    SoC families, with a slightly different register layout, so this patch uses
    the existing mvtwsi code.

    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell
    Acked-By: Prafulla Wadaskar
    Acked-by: Heiko Schocher
    [ ijc -- updated u-boot-spl-fel.lds ]

    Hans de Goede
     

07 Jul, 2014

3 commits

  • Many A20 boards (ie Cubieboard2, A20-OLinuXino_MICRO) use an 100 Mbit MII
    phy together with the GMAC nic found in the A20 SoC, add support for this
    (this will get used when we add these boards in a later patch).

    Signed-off-by: Chen-Yu Tsai
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Chen-Yu Tsai
     
  • Add support for the Allwinner A13 and A10s SoCs also know as the Allwinner
    sun5i family, and the A13-OLinuXinoM A13 based and r7-tv-dongle A10s based
    boards.

    The only differences compared to the already supported sun4i and sun7i
    families are all in the DRAM controller initialization:

    -Different hcpr values
    -Different MBUS settings
    -Some other small initialization changes

    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Stefan Roese
    Signed-off-by: Oliver Schinagl
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Hans de Goede
     
  • Add support for the Allwinner A10 SoC also known as the Allwinner sun4i family,
    and add the Cubieboard board which uses the A10 SoC.

    Compared to sun7 only the DRAM controller is a bit different:
    -Controller reset bits are inverted, but only for Rev. A
    -Different hpcr values
    -No MBUS on sun4i
    -Various other initialization changes

    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Stefan Roese
    Signed-off-by: Oliver Schinagl
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Hans de Goede
     

25 May, 2014

4 commits

  • On Mon, 2014-05-05 at 14:18 +0200, Stefan Roese wrote:
    > > + case 1:
    > > +#if CONFIG_MMC1_PG

    > Are you sure that this is correct and shouldn't be:
    >
    > +#ifdef CONFIG_MMC1_PG
    >
    > ?

    It's "correct" in so far as it works (the boards.cfg config stuff
    #defines things to 1), but I think you are right that it isn't the
    preferred style. But...

    > A quick scan through this patch series shows that this define
    > is not set at all. Perhaps its outdated? Or is it used to support
    > some other sunxi SoC? Not sure, perhaps it should be removed for
    > now.

    ...I had thought that it was to support some other board which wasn't
    being upstreamed right now, so eventually useful and harmless for now,
    but I've just checked and it isn't actually used by any of the boards in
    u-boot-sunxi.git. So rather than fix it to use #ifdef lets drop it.
    Rather than resend the entire series, here is v5.1 of this patch.

    > Other than this please add my:
    >
    > Reviewed-by: Stefan Roese

    Thanks!

    8From 20704e35a41664de5f516ed0e02981ac06085102 Mon Sep 17 00:00:00 2001
    From: Ian Campbell
    Date: Fri, 7 Mar 2014 04:29:39 +0000
    Subject: [PATCH v5.1 7/8] sunxi: mmc support

    This adds support for the MMC controller on the Allwinner A20 (sun7i)
    processor.

    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Luke Leighton
    Signed-off-by: Oliver Schinagl
    Signed-off-by: Wills Wang
    Signed-off-by: Ian Campbell
    Reviewed-by: Marek Vasut
    Reviewed-by: Stefan Roese
    Cc: Tom Cubie
    Cc: Aaron Maoye
    Cc: Pantelis Antoniou
    Reviewed-by: Tom Rini

    Ian Campbell
     
  • Add support for the GMAC Ethernet controller on Allwinner A20 (sun7i)
    processors. Enable for the Cubietruck.

    Signed-off-by: Chen-Yu Tsai
    Signed-off-by: Jens Kuske
    Signed-off-by: Ian Campbell
    Reviewed-by: Marek Vasut
    Reviewed-by: Tom Rini

    Ian Campbell
     
  • Signed-off-by: Oliver Schinagl
    Signed-off-by: Jens Kuske
    Signed-off-by: Ian Campbell
    Reviewed-by: Tom Rini
    Reviewed-by: Marek Vasut

    Ian Campbell
     
  • This patch adds generic board, start of day and basic build system support for
    the Allwinner A20 (sun7i) processor. This code will not been compiled until the
    build is hooked up in a later patch. It has been split out to keep the patches
    manageable.

    Signed-off-by: Adam Sampson
    Signed-off-by: Aleksei Mamlin
    Signed-off-by: Alexandru Gagniuc
    Signed-off-by: Chen-Yu Tsai
    Signed-off-by: Emilio López
    Signed-off-by: Hans de Goede
    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Jens Kuske
    Signed-off-by: Luc Verhaegen
    Signed-off-by: Luke Leighton
    Signed-off-by: Oliver Schinagl
    Signed-off-by: Patrick Wood
    Signed-off-by: Stefan Roese
    Signed-off-by: Wills Wang
    Signed-off-by: Ian Campbell
    Reviewed-by: Marek Vasut
    Cc: Tom Cubie
    Reviewed-by: Tom Rini

    Ian Campbell