15 May, 2017

1 commit


30 Oct, 2016

1 commit


07 Sep, 2016

2 commits

  • Move this option to Kconfig and set its default value to 4; this
    increases the number of supported CPUs for some boards.

    It consumes 1KB memory per CPU for PSCI stack, but it should not
    be a big deal, given the amount of memory used for the modern OSes.

    Reviewed-by: Alexander Graf
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Add ARCH_SUPPORT_PSCI as a non-configurable option that platforms
    can select. Then, move CONFIG_ARMV7_PSCI, which is automatically
    enabled if both ARMV7_NONSEC and ARCH_SUPPORT_PSCI are enabled.

    Reviewed-by: Alexander Graf
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

15 Jul, 2016

2 commits


01 Apr, 2016

1 commit

  • The Allwinner A64 SoC is used in the Pine64. This patch adds
    all bits necessary to compile U-Boot for it running in AArch64
    mode.

    Unfortunately SPL is not ready yet due to legal problems, so
    we need to boot using the binary boot0 for now.

    Signed-off-by: Siarhei Siamashka
    [agraf: remove SPL code, move to AArch64]
    Signed-off-by: Alexander Graf
    Acked-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Siarhei Siamashka
     

28 Jun, 2015

1 commit


29 May, 2015

1 commit


04 May, 2015

1 commit

  • The 2/3 usb-phys on the sunxi SoCs are really a single separate functional
    block, and are modelled as such in devicetree. So once we've moved all the
    sunxi usb code to the driver-model then phy_probe will be called once
    for the entire block from the driver-model enumeration code.

    Move to this now as this also avoids problems with phy_probe being called
    multiple times once we introduce ohci support. This also allows us to get rid
    of the sunxi_usb_phy_enabled_count variable as phy_probe now is guaranteed
    to be called only once.

    Since we're effectively rewriting the probe / remove functions, move them
    to the end of the file while we are at it, as that is the most logical place
    for them.

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

    Hans de Goede
     

29 Mar, 2015

1 commit

  • make the CPU clock selectable via Kconfig

    this removes the sunxi specific CONFIG_CLK_FULL_SPEED defined in each
    soc header and replaces it's use in board/sunxi/board.c with
    CONFIG_SYS_CLK_FREQ from Kconfig which allows us to configure board
    specific frequency on boot

    Signed-off-by: Iain Paton
    [hdegoede@redhat.com s/CONFIG_SYS_CLK_FREQ/CONFIG_TIMER_CLK_FREQ/ for the
    arch-timer clk speed on sun7i to fix mis-compile on sun7i]
    Acked-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Iain Paton
     

21 Feb, 2015

1 commit

  • Right now U-Boot supports the CONFIG_OLD_SUNXI_KERNEL_COMPAT option,
    which makes it go out of its way in limiting the selection of PLL clock
    frequencies and PMIC voltages in order not to upset outdated buggy
    sunxi-3.4 kernel releases. And if the CONFIG_OLD_SUNXI_KERNEL_COMPAT
    option is not set, then booting such old kernels exhibits various
    failures at runtime. This is very user unfriendly, and there were
    already several incidents when people wasted their time being hit
    by these runtime failures and trying to debug them.

    The right solution is not to add hacks and workarounds to the mainline
    U-Boot, but to fix these bugs in the sunxi-3.4 kernel. And in fact,
    the updated sunxi-3.4 kernels already exist. Still we need to follow
    the 'Principle of Least Surprise' and U-Boot needs to ensure that
    the old buggy kernels are not getting happily booted when the
    CONFIG_OLD_SUNXI_KERNEL_COMPAT option is not set. And this patch
    addresses this particular issue.

    This patch makes U-Boot store the 'compatibility revision' number in
    the top 4 bits of the machine id and pass it to the kernel. The old
    buggy kernels will fail to load with a very much googlable error
    message on the serial console (the "r1 = 0x100010bb" part of it):

    "Error: unrecognized/unsupported machine ID (r1 = 0x100010bb)"

    This error message can be documented in the linux-sunxi wiki with
    proper explanations about how to resolve this situation and where
    to get the necessary bugfixes for the sunxi-3.4 kernel.

    The fixed sunxi-3.4 kernels implement a revision compatibility check
    and clear the top 4 bits of the machine id if everything is alright.
    By accepting the machine id with the bits 31:28 set to 1, the sunxi-3.4
    kernel effectively certifies that it has the PLL5 clock speed and
    AXP209 DCDC3 voltage fixes applied.

    It is still possible to set the CONFIG_OLD_SUNXI_KERNEL_COMPAT option
    in U-Boot if the user desires to use an outdated unpatched sunxi-3.4
    kernel.

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

    Siarhei Siamashka
     

23 Jan, 2015

1 commit

  • The CPU info is already logged during boot e.g.
    CPU: Allwinner A20 (SUN7I)
    so the prompt is just one more thing to change for each new SoC, just makes it
    "sunxi#" instead.

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

    Ian Campbell
     

12 Dec, 2014

2 commits


25 Nov, 2014

1 commit


24 Nov, 2014

1 commit


13 Nov, 2014

1 commit


05 Nov, 2014

1 commit


24 Oct, 2014

1 commit

  • Many people are still using old linux-sunxi-3.4 kernels on sunxi devices,
    adding the proper MACH_TYPE defines for this allows people to switch to
    upstream u-boot, so that we can stop maintaining the linux-sunxi u-boot fork.

    These machine-ids are all properly registered at:

    http://www.arm.linux.org.uk/developer/machines/

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

    Hans de Goede
     

31 Jul, 2014

3 commits

  • CNTFRQ needs to be properly configured on all CPUs. Otherwise,
    virtual machines hoping to find valuable information on secondary
    CPUs will be disapointed...

    Signed-off-by: Marc Zyngier
    Acked-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Marc Zyngier
     
  • So far, only supporting the CPU_ON method.
    Other functions can be added later.

    Signed-off-by: Marc Zyngier
    Acked-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Marc Zyngier
     
  • Specific USB EHCI settings to be set for sun7i if
    CONFIG_USB_EHCI is enabled.

    Signed-off-by: Roman Byshko
    Acked-by: Ian Campbell
    [hdegoede@redhat.com: Use SUNXI_GPH macro for SUNXI_USB_VBUS#_GPIO]
    [hdegoede@redhat.com: Add #ifndef SUNXI_USB_VBUS#_GPIO to allow override of
    the default pins from boards.cfg]
    Signed-off-by: Hans de Goede

    Roman Byshko
     

19 Jul, 2014

1 commit

  • 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
     

25 May, 2014

1 commit

  • 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