08 Feb, 2019

1 commit


19 Jan, 2019

1 commit

  • Onc of key blocker for using USB Generic host controller
    drivers in Allwinner are CLK and RESET drivers, now these
    available for USB usage.

    So switch sunxi USB use EHCI and OHCI Generic controllers.

    Enabling USB is wisely a board choise, So Enable USB_OHCI_HCD
    where it already have USB_EHCI_HCD

    Signed-off-by: Jagan Teki
    Acked-by: Maxime Ripard

    Jagan Teki
     

29 Oct, 2018

1 commit

  • The Pine A64 Plus/non-Plus model detection code is now built on all
    64-bit ARM SoCs, even if the code cannot be triggered when H5/H6 is in
    use.

    Disable them when the board is Pine A64 by adding a Kconfig option that
    is only selected on Pine A64.

    On GCC 7.3.1 this makes the size of the function reduces 184 bytes, and
    saves a 104 byte strstr() function, then makes SPL on H6 succeed to
    build.

    Signed-off-by: Icenowy Zheng
    Reviewed-by: Andre Przywara
    Acked-by: Maxime Ripard
    Reviewed-by: Jagan Teki

    Icenowy Zheng
     

04 Sep, 2018

1 commit


17 Aug, 2018

1 commit

  • We have the following cases:
    - CONFIG_NR_DRAM_BANKS was defined, migrate normally
    - CONFIG_NR_DRAM_BANKS_MAX was defined and then used for
    CONFIG_NR_DRAM_BANKS after a check, just migrate it over now.
    - CONFIG_NR_DRAM_BANKS was very oddly defined on p2771-0000-* (to 1024 +
    2), set this to 8.

    Signed-off-by: Tom Rini

    Tom Rini
     

17 Apr, 2018

1 commit

  • We enabled CONFIG_ISO_PARTITION by default for distro boot, so that U-Boot
    could load distro images that usually get shipped as iso images. These images
    usually come with a board agnostic boot environment.

    However, there is very little point in having ISO support enabled (for anyone
    really) in SPL, as the whole idea of SPL is to load U-Boot proper which again
    is board specific. So the fact that we enable ISO support in U-Boot proper does
    not mean at all that we want ISO support in U-Boot SPL.

    Hence, let's remove the Kconfig dependency. Along the way, let's also clean up
    all those default configs that disabled SPL ISO support.

    Signed-off-by: Alexander Graf

    Alexander Graf
     

08 Apr, 2018

1 commit


05 Apr, 2018

1 commit


04 Apr, 2018

1 commit


23 Mar, 2018

1 commit


14 Mar, 2018

1 commit

  • Commit 278b90ce786f ("configs: Migrate CONFIG_SYS_TEXT_BASE") made
    CONFIG_SYS_TEXT_BASE a proper Kconfig variable, with the consequence
    of moving the common definition shared by almost every sunxi board
    into 123 individual defconfig files. But the U-Boot start address
    for Allwinner boards is a platform decision which has been around for
    ages, so defining it in each *board* config file seems a bit over the
    top.
    Define the standard values (160MB into DRAM for most SoCs, with two
    SoC exceptions) if ARCH_SUNXI is selected, and delete the lines from
    the individual defconfigs.

    Signed-off-by: Andre Przywara
    Acked-by: Maxime Ripard
    Reviewed-by: Jagan Teki

    Andre Przywara
     

13 Mar, 2018

1 commit

  • With the merge of the new u-boot.itb size check now the build for
    pine64_plus_defconfig breaks, as this file gets too large:
    =============
    u-boot.itb exceeds file size limit:
    limit: 516096 bytes
    actual: 521852 bytes
    excess: 5756 bytes
    make: *** [u-boot.itb] Error 1
    =============
    One easily fixable reason is that we actually have two .dtbs in our FIT
    image, one for the regular Pine64+ board, and one for the non-plus version.
    The only difference U-Boot cares about is the 100Mbit Ethernet PHY used
    on the non-plus version, however Ethernet isn't enabled in the non-plus
    DT anyway.
    So we could avoid the non-plus special handling, and remove that extra
    .dtb from the FIT image, which saves a few KBs and brings us back below the
    limit. The Pine64 would boot with a Pine64+ .dtb, and would fail to
    enable Ethernet. Given that it didn't work in the first place, this is not
    a regression.
    Once we switch to a non-MMC environment, we can bring this back, then
    with a proper .dtb and hopefully working Ethernet.

    Signed-off-by: Andre Przywara
    Signed-off-by: Maxime Ripard

    Andre Przywara
     

11 Feb, 2018

1 commit

  • On the NIOS2 and Xtensa architectures, we do not have
    CONFIG_SYS_TEXT_BASE set. This is a strict migration of the current
    values into the defconfig and removing them from the headers.

    I did not attempt to add more default values in and for now will leave
    that to maintainers.

    Signed-off-by: Tom Rini

    Tom Rini
     

06 Feb, 2018

1 commit

  • cmd/Makefile has:

    ifdef CONFIG_FPGA
    obj-$(CONFIG_CMD_FPGA) += fpga.o
    endif

    which means that if CONFIG_FPGA is not set, CONFIG_CMD_FPGA silently
    does nothing. Let's remove that Makefile conditional and instead express
    this equivalent dependency in Kconfig, so a lot of redundant

    # CONFIG_CMD_FPGA is not set

    can be removed from board defconfigs that don't actually have an FPGA.

    Signed-off-by: Tuomas Tynkkynen

    Tuomas Tynkkynen
     

11 Oct, 2017

1 commit

  • Having this as a 'default y' is rather annoying because it doesn't
    actually compile unless other options are defined in the board header:

    ../cmd/bootm.c: In function 'do_imls_nor':
    ../cmd/bootm.c:330:7: error: 'CONFIG_SYS_MAX_FLASH_BANKS' undeclared (first use in this function); did you mean 'CONFIG_SYS_MAX_FLASH_SECT'?
    i < CONFIG_SYS_MAX_FLASH_BANKS; ++i, ++info) {

    Make it 'default n' so people who develop new boards that start from a
    blank defconfig have one less compilation failure to debug.

    Signed-off-by: Tuomas Tynkkynen

    Tuomas Tynkkynen
     

02 Sep, 2017

1 commit

  • This syncs all of the currently Kconfig'd symbols out of the headers and
    into the defconfig files. This has two exceptions, first am335x_evm
    needs to be converted to DM in SPL and then it can stop undef'ing
    CONFIG_DM_USB. Leaving this as-is results in a build failure, and
    without work, run time failure. The other case is am43xx_evm.h and in
    turn am43xx_evm_usbhost_boot. The problem here is that we need DWC3 USB
    host mode in SPL, but still desire to have gadget mode in U-Boot proper.

    Signed-off-by: Tom Rini

    Tom Rini
     

19 Jun, 2017

1 commit


18 May, 2017

1 commit

  • When a board uses a FIT image to load U-Boot proper, it requires a list
    of supported device trees to be supplied in CONFIG_OF_LIST, from which it
    chooses the right one at runtime.
    For boards with just one possible DT (like the OrangePi PC2) this
    defaults to CONFIG_DEFAULT_DEVICE_TREE, but for the Pine64 with its two
    possible models we provide all compatible DTs in this config symbol.

    Signed-off-by: Andre Przywara
    Reviewed-by: Simon Glass
    Reviewed-by: Jagan Teki
    Tested-by: Jagan Teki

    Andre Przywara
     

14 Mar, 2017

1 commit


28 Jan, 2017

3 commits


04 Jan, 2017

3 commits

  • Now that the SPL is ready to be compiled in AArch64 and the DRAM
    init code is ready, enable SPL support for the A64 SoC and in the
    Pine64 defconfig.
    For now we keep the boot0 header in the U-Boot proper, as this allows
    to still use boot0 as an SPL replacement without hurting the SPL use
    case.
    We disable FEL support for now by making its compilation conditional
    and disabling it for ARM64, as the code isn't ready yet.

    Signed-off-by: Andre Przywara
    Acked-by: Maxime Ripard
    Reviewed-by: Simon Glass
    Reviewed-by: Jagan Teki

    Andre Przywara
     
  • To avoid enumerating the very same DRAM values in defconfig files
    for each and every Allwinner A64 board out there, let's put some sane
    default values in the Kconfig file.
    Boards with different needs can override them at any time.

    Signed-off-by: Andre Przywara
    Reviewed-by: Simon Glass
    Acked-by: Maxime Ripard
    Reviewed-by: Jagan Teki

    Andre Przywara
     
  • The ENABLE_ARM_SOC_BOOT0_HOOK option is a generic option shared with
    other boards. To allow alternative code to be inserted, we create
    another, now function specific config symbol on top of it to simplify
    later additions. No functional change at this time.

    Signed-off-by: Andre Przywara
    Acked-by: Maxime Ripard
    Reviewed-by: Simon Glass
    Reviewed-by: Jagan Teki

    Andre Przywara
     

30 Oct, 2016

1 commit

  • Mostly by adding MACH_SUN50I to some existing #ifdefs enable support
    for the the HCI0 USB host controller on the A64.
    Fix up some minor 64-bit hiccups on the way.
    Add the bare minimum DT bits to the A64 .dtsi and enable the controllers
    and the PHY on the Pine64.
    This is limited to the first USB controller at the moment, which is
    connected to the lower USB socket on the Pine64 board.
    [Andre: remove unneeded defines, enable OHCI, add commit message]

    Signed-off-by: Amit Singh Tomar
    Signed-off-by: Andre Przywara
    Reviewed-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Amit Singh Tomar
     

24 Oct, 2016

1 commit


09 Sep, 2016

1 commit


01 Aug, 2016

1 commit

  • With the recent bug fixes for the sun8i_emac driver all known issues
    are resolved, so we can re-enable the driver.

    While at it, also enable the emac on the Orange Pi One.

    Cc: Chen-Yu Tsai
    Cc: Corentin LABBE
    Cc: Amit Singh Tomar
    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell
    Acked-by: Jagan Teki

    Hans de Goede
     

27 Jul, 2016

1 commit

  • Disable the sun8i emac driver for now, there are 2 issues with it:

    1) It is causing issues with network connectivity under the kernel driver,
    when booting the kernel with v2 of Corentin's sun8i-h3 emac driver, I get
    the connection status bouncing between connected at 100mbps full-duplex
    and being down every second.

    The second issue is that when trying to use it from u-boot
    I get a number of unaligned cache flush errors:

    => dhcp
    BOOTP broadcast 1
    BOOTP broadcast 2
    CACHE: Misaligned operation at range [7bf594a8, 7bf59628]
    BOOTP broadcast 3
    CACHE: Misaligned operation at range [7bf59c90, 7bf59e10]
    CACHE: Misaligned operation at range [7bf5a478, 7bf5a5f8]
    DHCP client bound to address 10.42.43.80 (1009 ms)

    Cc: Chen-Yu Tsai
    Cc: Corentin LABBE
    Cc: Amit Singh Tomar
    Signed-off-by: Hans de Goede

    Hans de Goede
     

15 Jul, 2016

1 commit

  • This patch add EMAC driver support for H3/A83T/A64 SoCs.
    Tested on Pine64(A64-External PHY) and Orangepipc(H3-Internal PHY).

    BIG Thanks to Andre for providing some of the DT code.

    Signed-off-by: Amit Singh Tomar
    Acked-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Amit Singh Tomar
     

17 Jun, 2016

1 commit


10 Jun, 2016

1 commit


07 Jun, 2016

1 commit

  • Some SPL loaders (like Allwinner's boot0, and Broadcom's boot0)
    require a header before the actual U-Boot binary to both check its
    validity and to find other data to load. Sometimes this header may
    only be a few bytes of information, and sometimes this might simply
    be space that needs to be reserved for a post-processing tool.

    Introduce a config option to allow assembler preprocessor commands
    to be inserted into the code at the appropriate location; typical
    assembler preprocessor commands might be:
    .space 1000
    .word 0x12345678

    Signed-off-by: Andre Przywara
    Signed-off-by: Steve Rae
    Commit Notes:
    Please note that the current code:
    start.S (arm64) and
    vectors.S (arm)
    already jumps over some portion of data already, so this option basically
    just increases the size of this region (and the resulting binary).

    For use with Allwinner's boot0 blob there is a tool called boot0img[1],
    which fills the header to allow booting A64 based boards.
    For the Pine64 we need a 1536 byte header (including the branch
    instruction) at the moment, so we add this to the defconfig.

    [1] https://github.com/apritzel/pine64/tree/master/tools
    END
    Reviewed-by: Tom Rini

    Andre Przywara
     

25 May, 2016

2 commits

  • Recently a set of CONFIG_CMD_FOO defines was moved from being defined
    in config_distro_defaults to Kconfig, and added to all sunxi defconfigs
    to compensate.

    Instead of explictly selecting these in all sunxi defconfigs,
    simply always select these for sunxi boards. This makes the defconfigs
    simpler and ensures a consistent set of available commands across all
    sunxi boards.

    Signed-off-by: Hans de Goede

    Hans de Goede
     
  • The originally committed .dts files for the Pine64 were from an early
    proof-of-concept version and should have never been committed upstream.
    Replace them with much more mature versions, which also use a different
    naming scheme.
    Please note that at this point there is at least one binding which has
    not been agreed upon, so this is subject to change.

    Signed-off-by: Andre Przywara
    Acked-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Andre Przywara
     

26 Apr, 2016

3 commits


12 Apr, 2016

1 commit

  • We have CONFIG_CMD_GPIO=y in almost all sunxi boards, but after
    its Kconfig conversion it has ended up missing on some recently
    added boards.

    Simply select it for ARCH_SUNXI, so that we get it on all
    sunxi boards for both a consistent user experience and simpler
    defconfig files.

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

    Hans de Goede