26 Jun, 2015

2 commits

  • This sets the default commands Kconfig to match
    include/config_cmd_default.h commands in the common/Kconfig and removes
    them from include/configs.

    Signed-off-by: Joe Hershberger
    [trini: rastaban, am43xx_evm_usbhost_boot, am43xx_evm_ethboot updates]
    Signed-off-by: Tom Rini

    Joe Hershberger
     
  • Some archs/boards specify their own default by pre-defining the config
    which causes the Kconfig system to mix up the order of the configs in
    the defconfigs... This will cause merge pain if allowed to proliferate.

    Remove the configs that behave this way from the archs.

    A few configs still remain, but that is because they only exist as
    defaults and do not have a proper Kconfig entry. Those appear to be:

    SPIFLASH
    DISPLAY_BOARDINFO

    Signed-off-by: Joe Hershberger
    [trini: rastaban, am43xx_evm_usbhost_boot, am43xx_evm_ethboot updates,
    drop DM_USB from MSI_Primo81 as USB_MUSB_SUNXI isn't converted yet to DM]
    Signed-off-by: Tom Rini

    Joe Hershberger
     

06 Jun, 2015

1 commit


01 Jun, 2015

2 commits


13 May, 2015

1 commit

  • In order to reduce merge conflicts and to maintain the simplest possible
    defconfig files, we should be using the savedefconfig feature of Kconfig
    every time a new feature is added. This keeps the defconfig settings to
    a minimum (only those things not default) and keeps them in the same
    order as the Kconfig options.

    Signed-off-by: Joe Hershberger
    Cc: Masahiro Yamada
    Acked-by: Stephen Warren
    Cc: Tom Rini

    Joe Hershberger
     

04 May, 2015

1 commit

  • This is a preparation patch for switching all sunxi boards over to using
    the driver model.

    Note that rather then defining both CONFIG_DEFAULT_DEVICE_TREE (for u-boot)
    and CONFIG_FDTFILE (for the kernel), this commit simply replaces all
    CONFIG_FDTFILE defconfig settings with CONFIG_DEFAULT_DEVICE_TREE and
    uses CONFIG_DEFAULT_DEVICE_TREE for setting the default fdtfile env value
    in sunxi-common.h .

    Signed-off-by: Hans de Goede
    Reviewed-by: Simon Glass
    Acked-by: Ian Campbell

    Hans de Goede
     

16 Mar, 2015

1 commit


22 Jan, 2015

2 commits

  • CONFIG_TARGET_FOO is only used in board/sunxi/Makefile to select the
    dram config for sun5i and sun7i boards and in board/sunxi/gmac.c for some
    special handling of the bananapi/bananapro (both sun7i), iow it is not used
    at all on any sun4i, sun6i and sun8i boards so lets get rid of it there.

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

    Hans de Goede
     
  • While working on adding more boards I noticed that we lack a config for
    the 512M cubieboard, and that some of the new boards which I want to add also
    have 512M and 1G variants, rather then adding 2 defconfig's for all of these,
    lets switch the exising boards which have both a 512M and 1024M variant over
    to the sun4i dram autoconfig code.

    This also drops the foo_RAMSIZE_defconfig variants of boards where we currently
    have 2 separate configs already.

    Note:
    1) The newly introduced CONFIG_DRAM_EMR1 kconfig value is not used with
    a value other then its default for now, but we need this to be configurable
    to support some new boards with auto dram config.

    2) We always set all CONFIG_DRAM_foo values in defconfigs, even if they match
    the defaults, this is done to make it more clear what values are used for a
    certain board.

    This has been tested on a Mele A1000, Mini-X and a Cubieboard, all 1G
    variants, the dram autoconfig code has also been tested on a 512M mk802
    (a defconfig for the mk802 is added in a later patch).

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

    Hans de Goede
     

05 Nov, 2014

3 commits

  • This was done automatically with the following bits of scripting.

    The Kconfig choice content was generated with this script snippet:
    for i in $(git grep -l CONFIG_ARCH_SUNXI configs/*) ; do
    TARGET=$(sed -n -e 's/CONFIG_SYS_EXTRA_OPTIONS="\([^,"]\+\).*/\1/p' $i);
    MACH=$(sed -n -e 's/.*CONFIG_\(MACH_SUN.I\)=./\1/p' $i)
    echo "config TARGET_$TARGET"
    echo " bool \"$TARGET\""
    echo " depends on $MACH"
    echo
    done

    defconfigs were updated with a sed script (t):
    # Extract board from first entry of CONFIG_SYS_EXTRA_OPTIONS,
    /^CONFIG_SYS_EXTRA_OPTIONS/ {
    s/^\(CONFIG_SYS_EXTRA_OPTIONS="\)\([^,"]\+\),\?\(.*\)/\1\3\nCONFIG_TARGET_\2=y/;

    # Print and delete first line (CONFIG_SYS_EXTRA_OPTIONS), leaving
    # CONFIG_TARGET_ in pattern space
    P;D;
    };

    # Move CONFIG_TARGET_ to hold space
    /^CONFIG_TARGET/{h;n}

    # Print CONFIG_TARGET_ after CONFIG_MACH_ in either SPL or
    # normal mode.
    /^CONFIG_MACH/{p;g;p;n};
    /^\+S:CONFIG_MACH/{p;g;s/^CONFIG_TARGET/+S:&/;p;n};

    # Print any remaining lines normally
    p;
    Run as:
    sed -i -n -f t $(git grep -l CONFIG_ARCH_SUNXI configs/*)
    and then manually removing the one instance of CONFIG_SYS_EXTRA_OPTIONS="" from
    Colombus_defconfig

    board/sunxi/Makefile was updated with:
    sed -e 's/^\(obj-\$(CONFIG_\)\(.*\)\().*+= dram_.*\)/\1TARGET_\2\3/g' board/sunxi/Makefile
    and manually retabbing a few lines to line up again.

    The board descriptions could certainly be improved.

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

    Ian Campbell
     
  • Now we have CONFIG_ARCH_SUNXI as the toplevel, CONFIG_MACH_SUN[45678]I as the
    per-SoC option and leave CONFIG_TARGET_BLAH free for individual boards in the
    future.

    Done automatically with:
    sed -i -e 's/TARGET_\(SUN[45678]I\)/MACH_\1/g' $(git grep -l TARGET_SUN[45678]I)

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

    Ian Campbell
     
  • And make TARGET_SUN[45678]I a choice variable under this.

    configs updated with:
    sed -i -e 's/^\(\+S:\)\?CONFIG_TARGET_SUN.I=y/\1CONFIG_ARCH_SUNXI=y\n&/g' configs/*

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

    Ian Campbell
     

05 Sep, 2014

2 commits


12 Aug, 2014

1 commit


31 Jul, 2014

2 commits

  • Most sunxi boards have the EHCI controller hooked up, enable it on all
    relevant boards.

    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

1 commit

  • 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