]> git.karo-electronics.de Git - karo-tx-uboot.git/log
karo-tx-uboot.git
9 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Tue, 29 Sep 2015 17:14:21 +0000 (13:14 -0400)]
Merge git://git.denx.de/u-boot-x86

9 years agosunxi: Add generic defconfigs for A33 Q8 tablets with 1024x600 / 800x480 LCD
Hans de Goede [Sun, 20 Sep 2015 23:46:49 +0000 (19:46 -0400)]
sunxi: Add generic defconfigs for A33 Q8 tablets with 1024x600 / 800x480 LCD

The 7" Q8 tablet enclosure is used for a ton of slightly different cheap
chinese tablets. There are some differences in which accelerometer /
wifi is used, but other then that these are all the same from a u-boot /
kernel pov.

When we get to adding accelerometer support the plan is to add some kind
of autodetection and mangle the dt accordingly (likely using the new quirks
mechanism).

For now this is a non issue as we do not yet have accelerometer
support, and in the future, some sort of auto-detect is the way to go
as we cannot expect users to exactly know what is inside their tablet.

The dts[i] files this commit adds are identical to the ones submitted
to the upstream kernel.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: mmc: Fix clk-delay settings
Hans de Goede [Wed, 23 Sep 2015 14:13:10 +0000 (16:13 +0200)]
sunxi: mmc: Fix clk-delay settings

In recent allwinner kernel sources the mmc/sdio clk-delay settings have
been slightly tweaked, and for sun9i they are completely different then
what we are using.

This commit brings us in sync with what allwinner does, fixing problems
accessing sdcards on some A33 devices (and likely others).

For pre sun9i hardware this makes the following changes:
-At 400Khz change the sample delay from 7 to 0 (first introduced in A31 sdk)
-At 50 Mhz change the sample delay from 5 to 4 (first introduced in A23 sdk)
-Above 50 MHz change the out delay from 2 to 1 (first introduced in A20 sdk)

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi_nand_spl: Be smarter about where to look for backup u-boot.bin
Hans de Goede [Mon, 31 Aug 2015 14:00:56 +0000 (16:00 +0200)]
sunxi_nand_spl: Be smarter about where to look for backup u-boot.bin

We know when u-boot is written to its own partition, in this case the
layout always is:

eb 0 spl
eb 1 spl-backup
eb 2 u-boot
eb 3 u-boot-backup

eb: erase-block

So if we cannot load u-boot from its primary offset we know exactly where
to look for it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: add "fel" boot target
Bernhard Nortmann [Thu, 17 Sep 2015 16:52:53 +0000 (18:52 +0200)]
sunxi: add "fel" boot target

This patch makes use of the previous changes to add a new "fel" boot
target for sunxi boards.

When booting via FEL, it's often desirable to work around the absence
of other (usable) boot devices - or to be able to override them,
deviating from the standard boot sequence. To achieve this, the "fel"
boot target gets the highest priority, but won't actually do anything
unless certain criteria are met.

The "bootcmd_fel" implementation proposed here first tests if an actual
FEL boot takes place (using the "fel_booted" env var), and secondly
checks that "fel_scriptaddr" was set (originating from the 'loader',
i.e. the sunxi-tools fel utility). If both checks pass, then it will
try to execute the boot script (boot.scr) at the given address. In case
of an error (e.g. an invalid image), the source command might return
"false", causing "distro_bootcmd" to proceed with the next boot target.

Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: retrieve FEL-provided values to environment variables
Bernhard Nortmann [Thu, 17 Sep 2015 16:52:52 +0000 (18:52 +0200)]
sunxi: retrieve FEL-provided values to environment variables

This patch extends the misc_init_r() function on sunxi boards
to test for the presence of a suitable "sunxi" SPL header. If
found, and the loader ("fel" utility) provided a non-zero value
for the boot.scr address, then the corresponding environment
variable fel_scriptaddr gets set.

misc_init_r() also sets (or clears) the "fel_booted" variable depending
on the active boot device, using the same logic as spl_boot_device().

The goal is to provide sufficient information (within the U-Boot
environment) to make intelligent decisions on how to continue the boot
process, allowing specific customizations for the "FEL boot" case.

Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: (mksunxiboot) signature to indicate "sunxi" SPL variant
Bernhard Nortmann [Thu, 17 Sep 2015 16:52:51 +0000 (18:52 +0200)]
sunxi: (mksunxiboot) signature to indicate "sunxi" SPL variant

This patch follows up on a discussion of ways to improve support
for the sunxi FEL ("USB boot") mechanism, especially with regard
to boot scripts, see:
https://groups.google.com/d/msg/linux-sunxi/wBEGUoLNRro/rHGq6nSYCQAJ

The idea is to convert the (currently unused) "pad" bytes in the
SPL header into an area where data can be passed to U-Boot. To
do this safely, we have to make sure that we're actually using
our "sunxi" flavor of the SPL, and not the Allwinner boot0.

The modified mksunxiboot introduces a special signature to the
SPL header in place of the "pub_head_size" field. This can be
used to reliably distinguish between compatible versions of sunxi
SPL and anything else (older variants or Allwinner's boot0).

Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: move SPL-related definitions to platform-specific include
Bernhard Nortmann [Thu, 17 Sep 2015 16:52:50 +0000 (18:52 +0200)]
sunxi: move SPL-related definitions to platform-specific include

The sunxi platform currently doesn't seem to make any use of the
asm/arch-sunxi/spl.h file. This patch moves some declarations from
tools/mksunxiboot.c into it.

This enables us to reuse those definitions when extending the
sunxi board code (boards/sunxi/boards.c).

Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agosunxi: Simplify spl board_init_f function
Hans de Goede [Sun, 13 Sep 2015 13:33:34 +0000 (15:33 +0200)]
sunxi: Simplify spl board_init_f function

crt0.S will both memset the bss sectioan and call board_init_r for us,
so there is no need to do either ourselves.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: Tweak various memory addresses
Hans de Goede [Sun, 13 Sep 2015 15:16:54 +0000 (17:16 +0200)]
sunxi: Tweak various memory addresses

For the upcoming nand support we need a bigger heap, esp. ubi[fs] uses
quite a bit of memory, increase the heap size to 64 MB.

Our video code returns unused reserved framebuffer memory to the kernel
before booting it. Drop the #ifdef-ery and simply always reserve 16 MB.

Adjust bootm_size for the above changes.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: sunxi-common.h cleanup
Hans de Goede [Sun, 13 Sep 2015 15:29:33 +0000 (17:29 +0200)]
sunxi: sunxi-common.h cleanup

Move some #define-s around from one #ifdef block to another to
reduce the number of #ifdef blocks (note this causes no functional
changes even though the conditions are not always exactly the same)
and move generic #include statements to the top.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: Rename A10s-Wobo-i5_defconfig to Wobo_i5_defconfig
Hans de Goede [Sat, 12 Sep 2015 10:42:50 +0000 (12:42 +0200)]
sunxi: Rename A10s-Wobo-i5_defconfig to Wobo_i5_defconfig

We only prefix the board defconfig name with the SoC if the SoC is part
of the official board-name, such as with Olimex OLinuxIno boards, for the
Wobo i5 this is not the case so remove the A10s prefix from the defconfig
filename.

Also fix the double listing of A10s-OLinuXino-M_defconfig in MAINTAINERS
which the original Wobo i5 addition commit introduced.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 years agox86: fsp: Report correct number of E820 table entries
Bin Meng [Mon, 28 Sep 2015 09:11:59 +0000 (02:11 -0700)]
x86: fsp: Report correct number of E820 table entries

The logic to calculate the number of E820 table entries is wrong
when walking through the FSP HOB tables. Fix it.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Jian Luo <jian.luo4@boschrexroth.de>
Acked-by: Simon Glass <sjg@chromium.org>
9 years agox86: chromebook_link: Expand early malloc() memory
Simon Glass [Tue, 8 Sep 2015 23:52:45 +0000 (17:52 -0600)]
x86: chromebook_link: Expand early malloc() memory

Now that PCI bridges are probed before relocation we need additional memory.
Each PCI bridge takes 240 bytes at present since it uses the same uclass as
the PCI controller. Probably we should split this out so that bridges have
their own uclass.

Expand the memory on link so that it works correctly.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
9 years agoPrepare v2015.10-rc4
Tom Rini [Mon, 28 Sep 2015 20:57:42 +0000 (16:57 -0400)]
Prepare v2015.10-rc4

Signed-off-by: Tom Rini <trini@konsulko.com>
9 years agommc: dw_mmc: Increase timeout to 4 minutes (as in Linux kernel)
Łukasz Majewski [Fri, 25 Sep 2015 16:25:25 +0000 (18:25 +0200)]
mmc: dw_mmc: Increase timeout to 4 minutes (as in Linux kernel)

The commit: d9dbb97be0e4a550457aec5f11afefb446169c90
"mmc: dw_mmc: Zap endless timeout" removed endless loop waiting for end
of dw mmc transfer.

For some workloads - dfu test @ Odroid XU3 (sending 8MiB file) -
and SD cards (e.g. MicroSD Kingston 4GiB, Adata 4GiB)
the default timeout is to short.

The new value - 4 minutes (240 seconds) - is the same as the one used in
Linux kernel driver. Such fix should be good enough until we come up
with better fix for this issue.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
Cc: Tom Rini <trini@konsulko.com>
Tested-by: Przemyslaw Marczak <p.marczak@samsung.com>
9 years agotools: moveconfig: Update the URL for nds32 toolchain
Bin Meng [Fri, 25 Sep 2015 08:22:39 +0000 (01:22 -0700)]
tools: moveconfig: Update the URL for nds32 toolchain

Give a full URL for a working nds32 toolchain for U-Boot.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agotools: gen_eth_addr: add getpid() to time(0) to avoid duplicated seed
Josh Wu [Wed, 16 Sep 2015 10:21:04 +0000 (18:21 +0800)]
tools: gen_eth_addr: add getpid() to time(0) to avoid duplicated seed

As 'time(0) | getpid()' will have a lot of duplicated value. It is not a
expected behavior. We expect different value for the seed when when run
it in many times.

So this patch will left shift the getpid() and add to time(0). That
avoid duplicated value.

Test command is like:
  % RUN=0; while [ $RUN -lt 10000 ]; do
  tools/gen_eth_addr; RUN=$(($RUN+1)); done | sort | uniq | wc -l
  10000

This patch is incorporated with suggestions made by Wolfgang Denk and Andreas
Bießmann. Thanks them a lot.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Andreas Bießmann <andreas.devel@googlemail.com>
Acked-by: Wolfgang Denk <wd@denx.de>
Tested-by: Wolfgang Denk <wd@denx.de>
9 years agoarm: Drop old non-generic-board code
Simon Glass [Sat, 12 Sep 2015 17:50:10 +0000 (11:50 -0600)]
arm: Drop old non-generic-board code

This code is no-longer used. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Andreas Bießmann <andreas.devel@gmail.com>
9 years agoarm: Remove wireless_space board
Simon Glass [Sat, 12 Sep 2015 17:50:09 +0000 (11:50 -0600)]
arm: Remove wireless_space board

This board has not been converted to generic board by the deadline.
Remove it.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoarm: Remove da830evm board
Simon Glass [Sat, 12 Sep 2015 17:50:08 +0000 (11:50 -0600)]
arm: Remove da830evm board

This board has not been converted to generic board by the deadline.
Remove it.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF
Peter Griffin [Thu, 10 Sep 2015 20:55:18 +0000 (21:55 +0100)]
ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF

DRAM region 0x3f000000 - 0x3fffffff is reserved for OP-TEE. Touching
0x3f000000 memory location from unsecure world causes the board
to hang.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default.
Peter Griffin [Thu, 10 Sep 2015 20:55:17 +0000 (21:55 +0100)]
ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default.

Use DM for the pl01x serial driver on hikey. Also allow UART0 or
UART3 to be chosen via Kconfig.

By default we now output to UART3 as the latest version of ATF outputs
to this UART. Also UART3 comes out on the LS connector, as opposed to
UART0 which goes to a unpopulated header.

As part of this change we also enable CONFIG_BOARD_EARLY_INIT_F and
call the pinmux configuration code for the UART. Before we were
relying on ATF having already configured the pin configuration.

NB: Upstream Linux kernel doesn't yet support UART3, so serial console
will still be output on UART0 when booting a upstream kernel.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: hikey: Select DM, DM_GPIO from Kconfig
Peter Griffin [Thu, 10 Sep 2015 20:55:16 +0000 (21:55 +0100)]
ARM: hikey: Select DM, DM_GPIO from Kconfig

Most platforms enable these options from Kconfig rather
than the configs header file.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: hikey: Remove resetting gd->flags in board_init()
Peter Griffin [Thu, 10 Sep 2015 20:55:15 +0000 (21:55 +0100)]
ARM: hikey: Remove resetting gd->flags in board_init()

This causes exceptions and other strange behaviour
when enabling CONFIG_SYS_MALLOC_F_LEN which is required to
migrate the serial driver over to DM_SERIAL.

As GD_FLG_FULL_MALLOC_INIT flag gets reset, after relocation
we don't end up using the full malloc which ultimately ends up
causing a synchronus abort.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: hi6220: Add UART0 and UART3 base addresses
Peter Griffin [Thu, 10 Sep 2015 20:55:14 +0000 (21:55 +0100)]
ARM: hi6220: Add UART0 and UART3 base addresses

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: hikey: Use linux/sizes.h for malloc size
Peter Griffin [Thu, 10 Sep 2015 20:55:13 +0000 (21:55 +0100)]
ARM: hikey: Use linux/sizes.h for malloc size

Use the #defines in linux/sizes for malloc size as it is
more readable.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: hikey: Add ATF makefile referenced by README
Peter Griffin [Thu, 10 Sep 2015 20:55:12 +0000 (21:55 +0100)]
ARM: hikey: Add ATF makefile referenced by README

Rather than relying on an external URL in the README
include the Makefile in the hikey directory.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
9 years agoARM: hikey: Update README with various corrections
Peter Griffin [Thu, 10 Sep 2015 20:55:11 +0000 (21:55 +0100)]
ARM: hikey: Update README with various corrections

The README had a few mistakes, and one of the URL's
had changed. Also update the boot log with the latest
boot trace from ATF, which now includes the mcuimage.bin.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
9 years agomalloc_simple: fix malloc_ptr calculation
Philipp Rosenberger [Tue, 8 Sep 2015 10:41:24 +0000 (12:41 +0200)]
malloc_simple: fix malloc_ptr calculation

The gd->malloc_ptr and the gd->malloc_limit are offsets to gd->malloc_base.
But the addr variable contains the absolute address. The new_ptr must be:
addr + bytes - gd->malloc_base.

Signed-off-by: Philipp Rosenberger <ilu@linutronix.de>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
9 years agoam437x_evm: increase phy autoneg timeout
Sekhar Nori [Mon, 28 Sep 2015 10:28:15 +0000 (15:58 +0530)]
am437x_evm: increase phy autoneg timeout

When AM437x EVM is connected to Gigabit switch, it takes
more time to finish auto-negotiation than on a 10/100 switch.

The default 4 second limit times-out more often than not. This is
observed when testing with a D-Link DGS-1008A desktop switch.

Increase the auto-negotiation time-out for AM437x EVM to handle
this case.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
9 years agoKconfig: fix typo in CONFIG_FIT description
Igor Grinberg [Wed, 26 Aug 2015 14:54:45 +0000 (17:54 +0300)]
Kconfig: fix typo in CONFIG_FIT description

Fix typo in CONFIG_FIT description - remove the accidentially added
redundand 'the'.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoconfigs: remove remnants of CONFIG_SYS_NAND_QUIET_TEST
Igor Grinberg [Wed, 26 Aug 2015 14:54:44 +0000 (17:54 +0300)]
configs: remove remnants of CONFIG_SYS_NAND_QUIET_TEST

The config option has been removed by one of the syncs with the Linux
mainline MTD subsystem:
ff94bc40af (mtd, ubi, ubifs: resync with Linux-3.14)
It has been left inside the config files. Currently does not look to
serve any purpose, so remove it now from all the configs.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Cc: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Cc: Stefan Roese <sr@denx.de>
Cc: "Albert ARIBAUD (3ADEV)" <albert.aribaud@3adev.fr>
Cc: Peter Barada <peter.barada@logicpd.com>
Cc: Steve Sakoman <sakoman@gmail.com>
Cc: Peter Tyser <ptyser@xes-inc.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Simon Glass <sjg@chromium.org>
Acked-by: Stefan Roese <sr@denx.de>
9 years agoReorder defconfigs with 'savedefconfig'
Bin Meng [Mon, 28 Sep 2015 12:14:15 +0000 (05:14 -0700)]
Reorder defconfigs with 'savedefconfig'

Some boards' defconfigs are disordered. Reorder them.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
9 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Thu, 24 Sep 2015 16:28:10 +0000 (12:28 -0400)]
Merge branch 'master' of git://www.denx.de/git/u-boot-imx

9 years agoMerge git://git.denx.de/u-boot-socfpga
Tom Rini [Thu, 24 Sep 2015 16:28:06 +0000 (12:28 -0400)]
Merge git://git.denx.de/u-boot-socfpga

9 years agoMerge branch 'master' of git://git.denx.de/u-boot-uniphier
Tom Rini [Thu, 24 Sep 2015 16:28:02 +0000 (12:28 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-uniphier

9 years agoARM: dts: uniphier: use SPDX-License-Identifier
Masahiro Yamada [Thu, 24 Sep 2015 15:16:44 +0000 (00:16 +0900)]
ARM: dts: uniphier: use SPDX-License-Identifier

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: fix init page table for ProXstream2/PH1-LD6b USB boot
Masahiro Yamada [Mon, 21 Sep 2015 15:27:42 +0000 (00:27 +0900)]
ARM: uniphier: fix init page table for ProXstream2/PH1-LD6b USB boot

Currently, the USB boot mode is supported by an external loader and
U-boot proper image is put on the section 0.  This commit allows
access there.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: add ProXstream2 and PH1-LD6b support
Masahiro Yamada [Mon, 21 Sep 2015 15:27:41 +0000 (00:27 +0900)]
ARM: uniphier: add ProXstream2 and PH1-LD6b support

The DDR SDRAM initialization code has not been mainlined yet, but
U-Boot proper should work.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: add PH1-Pro5 support
Masahiro Yamada [Mon, 21 Sep 2015 15:27:40 +0000 (00:27 +0900)]
ARM: uniphier: add PH1-Pro5 support

The DDR SDRAM initialization code has not been mainlined yet, but
U-Boot proper should work.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: allow to enable multiple SoCs
Masahiro Yamada [Mon, 21 Sep 2015 15:27:39 +0000 (00:27 +0900)]
ARM: uniphier: allow to enable multiple SoCs

Before this commit, the Kconfig menu in mach-uniphier only allowed us
to choose one SoC to be compiled.  Each SoC has its own defconfig file
for the build-test coverage.  Consequently, some defconfig files are
duplicated with only the difference in CONFIG_DEFAULT_DEVICE_TREE and
CONFIG_{SOC_NAME}=y.

Now, most of board-specific parameters have been moved to device trees,
so it makes sense to include init code of multiple SoCs into a single
image as long as the SoCs have similar architecture.  In fact, some
SoCs of UniPhier family are very similar:
 - PH1-LD4 and PH1-sLD8
 - PH1-LD6b and ProXstream2 (will be added in the upcoming commit)

This commit will be helpful to merge some defconfig files for better
maintainability.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: remove kernel parameter settings from environment
Masahiro Yamada [Mon, 21 Sep 2015 15:27:38 +0000 (00:27 +0900)]
ARM: uniphier: remove kernel parameter settings from environment

Currently, console=ttyS0 is hard-coded in CONFIG_EXTRA_ENV_SETTINGS
and it replaces the bootargs in the chosen node of the device tree
passed to the kernel.  This is not preferable because I am going to
add some boards whose console is not ttyS0.

Drop bootargs settings from U-Boot's environment and use the one in
device tree by default.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: unify low-level debug init code
Masahiro Yamada [Mon, 21 Sep 2015 15:27:37 +0000 (00:27 +0900)]
ARM: uniphier: unify low-level debug init code

Move init code of low-level debug into a single file.
This is helpful to create an image that runs on multiple SoCs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: fix glitch signal problem for low-level debug
Masahiro Yamada [Mon, 21 Sep 2015 15:27:36 +0000 (00:27 +0900)]
ARM: uniphier: fix glitch signal problem for low-level debug

Currently, IECTRL is enabled after pin-mux settings for the low-level
debugging for PH1-LD4 and PH1-sLD8.  While IECTRL is disabled, input
signals are pulled-down, i.e. glitch signal (Low to High transition)
problem occurs if pin-mux is set up first.  As a result, one invalid
character is input to the UART block and the auto-boot counting is
terminated immediately.

The correct initialization procedure is:
 [1] Enable IECTRL (if IECTRL exists for the pins)
 [2] Set up pin-muxing
 [3] Deassert the reset of the hardware block

Currently, the low-level debugging is working for PH1-sLD3 and
PH1-Pro4, but just in case, follow the sequence for all the SoCs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: delete unneeded input enable for low-level debug
Masahiro Yamada [Mon, 21 Sep 2015 15:27:35 +0000 (00:27 +0900)]
ARM: uniphier: delete unneeded input enable for low-level debug

The UART I/O ports for PH1-Pro4 has no input enable controlling.
This code is useless.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: rename CONFIG_MACH_* to CONFIG_ARCH_UNIPHIER_*
Masahiro Yamada [Mon, 21 Sep 2015 15:27:34 +0000 (00:27 +0900)]
ARM: uniphier: rename CONFIG_MACH_* to CONFIG_ARCH_UNIPHIER_*

I want these prefixed with CONFIG_ARCH_UNIPHIER_ to clarify
they belong to UniPhier SoC family.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: allow to disable CONFIG_MICRO_SUPPORT_CARD
Masahiro Yamada [Mon, 21 Sep 2015 15:27:33 +0000 (00:27 +0900)]
ARM: uniphier: allow to disable CONFIG_MICRO_SUPPORT_CARD

Without this, build fails if CONFIG_MICRO_SUPPORT_CARD is disabled.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: move CONFIG_SUPPORT_CARD_* macros to local file
Masahiro Yamada [Mon, 21 Sep 2015 15:27:32 +0000 (00:27 +0900)]
ARM: uniphier: move CONFIG_SUPPORT_CARD_* macros to local file

It is no longer necessary to define CONFIG_SUPPORT_CARD_* globally.
Move them to a C file as local macros.  Also, rename the C file.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: refactor LED function
Masahiro Yamada [Mon, 21 Sep 2015 15:27:31 +0000 (00:27 +0900)]
ARM: uniphier: refactor LED function

The macro, led_write(), is now only used in C sources.  There is no
more reason to keep the tricky assembly macro.  Replace it with a
new C function led_puts().

Also, rename board.h to micro-support-card.h.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: remove useless wrapper functions
Masahiro Yamada [Mon, 21 Sep 2015 15:27:30 +0000 (00:27 +0900)]
ARM: uniphier: remove useless wrapper functions

The wrapper functions, uniphier_board_*, are just making function
calls complex.  Remove them.

Also, use empty inline functions in case CONFIG_MICRO_SUPPORT_CARD
is disabled, so that prototype checking works.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: remove unused header file
Masahiro Yamada [Mon, 21 Sep 2015 15:27:29 +0000 (00:27 +0900)]
ARM: uniphier: remove unused header file

This has been unused since commit f4e190e317b8 ("ARM: uniphier:
enable SPL_OF_CONTROL").

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: parse device tree to determine DRAM base and size
Masahiro Yamada [Fri, 11 Sep 2015 11:17:49 +0000 (20:17 +0900)]
ARM: uniphier: parse device tree to determine DRAM base and size

Device tree specifies the available memory ranges in its "/memory"
node.  Use it to simplify the CONFIG defines.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: remove ifdef CONFIG_{SOC} conditionals from sg-regs.h
Masahiro Yamada [Fri, 11 Sep 2015 11:17:48 +0000 (20:17 +0900)]
ARM: uniphier: remove ifdef CONFIG_{SOC} conditionals from sg-regs.h

To achieve the complete run-time configuration by device trees, ifdef
conditionals in header files are not preferable.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: change the external bus address mapping
Masahiro Yamada [Fri, 11 Sep 2015 11:17:47 +0000 (20:17 +0900)]
ARM: uniphier: change the external bus address mapping

In UniPhier SoCs before ProXstream2 and PH1-LD6b, two address spaces
 0x00000000 - 0x0fffffff
 0x40000000 - 0x4fffffff
are both mapped to the external bus (also called system bus),
so either was OK.

In the newest two SoCs, the former (0x00000000 - 0x0fffffff) is
assigned for the serial NOR interface.

Going forward, use the latter for the external bus.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: uniphier: enable setexpr command
Masahiro Yamada [Fri, 11 Sep 2015 11:17:46 +0000 (20:17 +0900)]
ARM: uniphier: enable setexpr command

This command will be used in the next commit to calculate
base-offseted addresses.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: drop DCC micro support card support
Masahiro Yamada [Fri, 11 Sep 2015 11:17:45 +0000 (20:17 +0900)]
ARM: uniphier: drop DCC micro support card support

Historically (for compatibility with very old platforms), two
different types of micro support cards have been used with the
UniPhier SoC development boards.  It has been painful to maintain
both.  Having one of them is enough.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: uniphier: drop ad-hoc input enable settings
Masahiro Yamada [Fri, 11 Sep 2015 11:17:44 +0000 (20:17 +0900)]
ARM: uniphier: drop ad-hoc input enable settings

These input enable settings are handled by the pinctrl drivers.

Because the external bus pins are input-enabled by default, on-board
devices such as LED still work fine even with this delayed input
enabling.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: drop ad-hoc early pin-muxing settings
Masahiro Yamada [Fri, 11 Sep 2015 11:17:43 +0000 (20:17 +0900)]
ARM: uniphier: drop ad-hoc early pin-muxing settings

As the UniPhier serial driver had already switched to Drive Model
and the pinctrl drivers are now enabled, these pin-muxing settings
are properly handled by the pinctrl drivers.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: uniphier: enable PINCTRL and SPL_PINCTRL
Masahiro Yamada [Fri, 11 Sep 2015 11:17:42 +0000 (20:17 +0900)]
ARM: uniphier: enable PINCTRL and SPL_PINCTRL

Now, UniPhier SoCs are ready to enable pinctrl drivers.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: dts: uniphier: prepare device trees to use pinctrl in SPL
Masahiro Yamada [Fri, 11 Sep 2015 11:17:41 +0000 (20:17 +0900)]
ARM: dts: uniphier: prepare device trees to use pinctrl in SPL

Add "u-boot,dm-pre-reloc" for device nodes we want in SPL DTB
(spl/u-boot-spl.dtb).

The "soc" node (this is simple-bus node) also needs the property
to bind the pinctrl node located under it.

I am collecting this U-Boot specific hack to the bottom of board
DTS rather than inserting "u-boot,dm-pre-reloc" into SoC DTSI.
My goal is to sync DTSI with Linux for easier maintenance.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoARM: uniphier: increase CONFIG_SYS_MALLOC_F_LEN to bind all nodes
Masahiro Yamada [Fri, 11 Sep 2015 11:17:40 +0000 (20:17 +0900)]
ARM: uniphier: increase CONFIG_SYS_MALLOC_F_LEN to bind all nodes

In the next commit, I will add "u-boot,dm-pre-reloc" to the "soc"
(simple-bus) nodes in UniPhier device trees.  But, before that,
CONFIG_SYS_MALLOC_F_LEN must be increased.

Adding "u-boot,dm-pre-reloc" to a simple-bus node causes it to bind
all of its child nodes.  (See simple_bus_post_bind() function)

Actually, I want only UART0 and pinctrl to be bound in SPL and before
relocation in U-boot proper.  But, with "u-boot,dm-pre-reloc" in the
simple-bus node, all the other unwanted nodes are also bound.  The
default value for CONFIG_SYS_MALLOC_F_LEN, 0x400, is not enough for
that.  Increase the pre-reloc malloc size to 0x2000, hoping the root
cause will be fixed later.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoARM: uniphier: enable simple-bus driver for SPL
Masahiro Yamada [Fri, 11 Sep 2015 11:17:39 +0000 (20:17 +0900)]
ARM: uniphier: enable simple-bus driver for SPL

In UniPhier device trees, pinctrl device nodes are located under the
simple-bus (AMBA).

This is needed to bind pinctrl devices in SPL.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agopinctrl: uniphier: add UniPhier PH1-LD6b pinctrl driver
Masahiro Yamada [Fri, 11 Sep 2015 11:17:38 +0000 (20:17 +0900)]
pinctrl: uniphier: add UniPhier PH1-LD6b pinctrl driver

Add pin configuration and pinmux support for UniPhier PH1-LD6b SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agopinctrl: uniphier: add UniPhier ProXstream2 pinctrl driver
Masahiro Yamada [Fri, 11 Sep 2015 11:17:37 +0000 (20:17 +0900)]
pinctrl: uniphier: add UniPhier ProXstream2 pinctrl driver

Add pin configuration and pinmux support for UniPhier ProXstream2
SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agopinctrl: uniphier: add UniPhier PH1-Pro5 pinctrl driver
Masahiro Yamada [Fri, 11 Sep 2015 11:17:36 +0000 (20:17 +0900)]
pinctrl: uniphier: add UniPhier PH1-Pro5 pinctrl driver

Add pin configuration and pinmux support for UniPhier PH1-Pro5 SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agopinctrl: uniphier: add UniPhier PH1-sLD8 pinctrl driver
Masahiro Yamada [Fri, 11 Sep 2015 11:17:35 +0000 (20:17 +0900)]
pinctrl: uniphier: add UniPhier PH1-sLD8 pinctrl driver

Add pin configuration and pinmux support for UniPhier PH1-sLD8 SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agopinctrl: uniphier: add UniPhier PH1-Pro4 pinctrl driver
Masahiro Yamada [Fri, 11 Sep 2015 11:17:34 +0000 (20:17 +0900)]
pinctrl: uniphier: add UniPhier PH1-Pro4 pinctrl driver

Add pin configuration and pinmux support for UniPhier PH1-Pro4 SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agopinctrl: uniphier: add UniPhier PH1-LD4 pinctrl driver
Masahiro Yamada [Fri, 11 Sep 2015 11:17:33 +0000 (20:17 +0900)]
pinctrl: uniphier: add UniPhier PH1-LD4 pinctrl driver

Add pin configuration and pinmux support for UniPhier PH1-LD4 SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
9 years agoimx: fix coding style
Peng Fan [Tue, 15 Sep 2015 06:05:08 +0000 (14:05 +0800)]
imx: fix coding style

Fix coding style.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
9 years agoimx: mx7dsabresd: drop code for CONFIG_CMD_BMODE
Peng Fan [Tue, 15 Sep 2015 06:05:07 +0000 (14:05 +0800)]
imx: mx7dsabresd: drop code for CONFIG_CMD_BMODE

We use outer pmic reset and drop internal reset signal, bmode will
not work as expected, so drop boot mode code for 7dsabresd board.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Adrian Alonso <aalonso@freescale.com>
9 years agoimx-common: wrap boot_mode_apply with CONFIG_CMD_BMODE
Peng Fan [Tue, 15 Sep 2015 06:05:06 +0000 (14:05 +0800)]
imx-common: wrap boot_mode_apply with CONFIG_CMD_BMODE

boot_mode_apply should be applied only with CONFIG_CMD_BMODE enabled.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
9 years agoimx: mx7: discard unused global variable
Peng Fan [Tue, 15 Sep 2015 06:05:05 +0000 (14:05 +0800)]
imx: mx7: discard unused global variable

Discard unused global variable.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
9 years agoimx: boards: Add maintainers info
Peng Fan [Sun, 20 Sep 2015 14:26:01 +0000 (22:26 +0800)]
imx: boards: Add maintainers info

Add MAINTAINERS info for mx6slevk_spl, mx6ul_9x9_evk and mx6qpsabreauto.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
9 years agoimx-common: consider mux_ctrl_ofs when setting mux_mode
Peng Fan [Wed, 23 Sep 2015 03:13:28 +0000 (11:13 +0800)]
imx-common: consider mux_ctrl_ofs when setting mux_mode

Some i.MXes use __NA_ or 0 to avoid setting mux_mode, but the following patch
only take i.MX6/7 into consideration.

"c3c8a5748897b24f18618047804317167a531dd3 imx-common: fix iomux settings"

Use is_soc_type(MXC_CPU_MX7) to avoid breaking other i.MXes when
setting mux_mode.

In this patch, switch to use "asm/imx-common/sys_proto.h" to avoid
build break for "is_soc_type" for vf610 and mx25.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
9 years agoarm: socfpga: Enable env support on MCV
Marek Vasut [Thu, 24 Sep 2015 07:06:06 +0000 (09:06 +0200)]
arm: socfpga: Enable env support on MCV

Enable support for env in eMMC on MCV SoM.

Signed-off-by: Marek Vasut <marex@denx.de>
9 years agoarm: socfpga: Enable saveenv for SD/MMC
Dinh Nguyen [Wed, 23 Sep 2015 20:38:01 +0000 (15:38 -0500)]
arm: socfpga: Enable saveenv for SD/MMC

Enable the able to save the environment variables when SD/MMC is used.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
9 years agopinctrl: uniphier: add UniPhier pinctrl core support
Masahiro Yamada [Fri, 11 Sep 2015 11:17:32 +0000 (20:17 +0900)]
pinctrl: uniphier: add UniPhier pinctrl core support

The core support for the pinctrl drivers for all the UniPhier SoCs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Wed, 23 Sep 2015 02:09:31 +0000 (22:09 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq

9 years agoarm: socfpga: update MAINTAINERS' file for cyclone5_socdk and arria5_socdk
Dinh Nguyen [Tue, 22 Sep 2015 22:01:33 +0000 (17:01 -0500)]
arm: socfpga: update MAINTAINERS' file for cyclone5_socdk and arria5_socdk

commit "arm: socfpga: rename socfpga_cyclone5 and socfpga_arria5 config files"
renames the configs files, so we should update the MAINTAINERS' entry. At
the same time, update the email for Dinh Nguyen.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
9 years agoarm: socfpga: rename socfpga_cyclone5 and socfpga_arria5 config files
Dinh Nguyen [Tue, 22 Sep 2015 22:01:32 +0000 (17:01 -0500)]
arm: socfpga: rename socfpga_cyclone5 and socfpga_arria5 config files

Rename the socfpga_cyclone5.h to socfpga_cyclone5_socdk.h, and
socfpga_arria.h to socfpga_arria5_socdk.h. This matches the other SoCFPGA
board config files.

Suggested-by: Marek Vasut <marex@denx.de>
Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
9 years agoarm: socfpga: Fix cache configuration
Stefan Roese [Thu, 17 Sep 2015 15:30:29 +0000 (17:30 +0200)]
arm: socfpga: Fix cache configuration

By not defining CONFIG_SYS_ARM_CACHE_WRITEALLOC, the WRITEBACK cache
policy is selected. This leads to much better performance on the SoCFPGA.
A quick network test shows this:

Without this patch:
=> tftp 100000 big-40mb
Speed: 1000, full duplex
Using dwmac.ff702000 device
TFTP from server 192.168.1.54; our IP address is 192.168.1.252
Filename 'big-40mb'.
Load address: 0x100000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##########################
         2.5 MiB/s

With this patch:
=> tftp 100000 big-40mb
Speed: 1000, full duplex
Using dwmac.ff702000 device
TFTP from server 192.168.1.54; our IP address is 192.168.1.252
Filename 'big-40mb'.
Load address: 0x100000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##########################
         7.6 MiB/s

A performance improvement of factor ~3.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Chin Liang See <clsee@altera.com>
Cc: Pavel Machek <pavel@denx.de>
Cc: Marek Vasut <marex@denx.de>
9 years agodrivers/net/vsc9953: Add GPL-2.0+ SPDX-License-Identifier
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:36 +0000 (16:55 +0300)]
drivers/net/vsc9953: Add GPL-2.0+ SPDX-License-Identifier

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Add commands for VLAN ingress filtering
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:35 +0000 (16:55 +0300)]
drivers/net/vsc9953: Add commands for VLAN ingress filtering

The command:
ethsw [port <port_no>] ingress filtering
     { [help] | show | enable | disable }
  - enable/disable VLAN ingress filtering on port

can be used to enable/disable/show VLAN ingress filtering on a port.
This command has also been added to the ethsw generic parser
from common/cmd_ethsw.c

Signed-off-by: Johnson Leung <johnson.leung@freescale.com>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Add command for shared/private VLAN learning
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:34 +0000 (16:55 +0300)]
drivers/net/vsc9953: Add command for shared/private VLAN learning

The command:
ethsw vlan fdb { [help] | show | shared | private }
 - make VLAN learning shared or private"

configures the FDB to share the FDB entries learned on multiple VLANs
or to keep them separated. By default, the FBD uses private VLAN
learning. This command has also been added to the ethsw generic parser
from common/cmd_ethsw.c

Signed-off-by: Johnson Leung <johnson.leung@freescale.com>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Add VLAN commands for VSC9953
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:33 +0000 (16:55 +0300)]
drivers/net/vsc9953: Add VLAN commands for VSC9953

The new added commands can be used to configure VLANs for a port
on both ingress and egress.

The new commands are:
ethsw [port <port_no>] pvid { [help] | show | <pvid> }
 - set/show PVID (ingress and egress VLAN tagging) for a port;
ethsw [port <port_no>] vlan { [help] | show | add <vid> | del <vid> }
 - add a VLAN to a port (VLAN members);
ethsw [port <port_no>] untagged { [help] | show | all | none | pvid }
 - set egress tagging mod for a port"
ethsw [port <port_no>] egress tag { [help] | show | pvid | classified }
 - Configure VID source for egress tag. Tag's VID could be the
   frame's classified VID or the PVID of the port
These commands have also been added to the ethsw generic parser from
common/cmd_ethsw.c

Signed-off-by: Johnson Leung <johnson.leung@freescale.com>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Add commands to manipulate the FDB for VSC9953
Codrin Ciubotariu [Wed, 9 Sep 2015 15:00:52 +0000 (18:00 +0300)]
drivers/net/vsc9953: Add commands to manipulate the FDB for VSC9953

The new command:
ethsw [port <port_no>] [vlan <vid>] fdb
        { [help] | show | flush | { add | del } <mac> }

Can be used to add and delete FDB entries. Also, the command can be used
to show entries from the FDB tables. When used with [port <port_no>]
and [vlan <vid>], only the matching the FDB entries can be seen or
flushed. The command has also been added to the generic ethsw parser
from cmd_ethsw.c.

Signed-off-by: Johnson Leung <johnson.leung@freescale.com>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agocommon/env_flags.c: Add function to validate a MAC address
Codrin Ciubotariu [Wed, 9 Sep 2015 15:00:51 +0000 (18:00 +0300)]
common/env_flags.c: Add function to validate a MAC address

The code that checks if a string has the format of a MAC address has been
moved to a separate function called eth_validate_ethaddr_str().

This has been done to allow other components (such as vsc9953 driver)
to validate a MAC address.

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Add commands to enable/disable HW learning
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:30 +0000 (16:55 +0300)]
drivers/net/vsc9953: Add commands to enable/disable HW learning

The command:
ethsw [port <port_no>] learning { [help] | show | auto | disable }

can be used to enable/disable HW learning on a port.
This patch also adds this command to the generic ethsw parser from
cmd_ethsw.

Signed-off-by: Johnson Leung <johnson.leung@freescale.com>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Add command to show/clear port counters
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:29 +0000 (16:55 +0300)]
drivers/net/vsc9953: Add command to show/clear port counters

The new added command:
ethsw [port <port_no>] statistics { [help] | [clear] }

will print counters like the number of Rx/Tx frames,
number of Rx/Tx bytes, number of Rx/Tx unicast frames, etc.
This patch also adds this commnd in the genereric ethsw
parser from cmd_ethsw.c

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Use the generic Ethernet Switch parser
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:28 +0000 (16:55 +0300)]
drivers/net/vsc9953: Use the generic Ethernet Switch parser

This patch replaces the parser used by VSC9953 L2 Switch driver with
the generic one. Also, the config macro that enables the
VSC9953 commands has been replaced in all the platforms that
use this driver with the config macro that corresponds to the
generic parser.

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agocommon/cmd_ethsw: Add generic commands for Ethernet Switches
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:27 +0000 (16:55 +0300)]
common/cmd_ethsw: Add generic commands for Ethernet Switches

This patch creates a flexible parser for Ethernet Switch
configurations that should support complex commands.
The parser searches for predefined keywords in the command
and calls the proper function when a match is found.
Also, the parser allows for optional keywords, such as
"port", to apply the command on a port
or on all ports. For now, the defined commands are:
ethsw [port <port_no>] { enable | disable | show }

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Add default configuration for VSC9953 L2 Switch
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:26 +0000 (16:55 +0300)]
drivers/net/vsc9953: Add default configuration for VSC9953 L2 Switch

At startup, the default configuration should be:
 - enable HW learning on all ports (HW default);
 - all ports are VLAN aware;
 - all ports are members of VLAN 1;
 - all ports have Port-based VLAN 1;
 - on all ports, the switch is allowed to remove
   maximum one VLAN tag,
 - on egress, the switch should add a VLAN tag if the
   frame is classified to a different VLAN than the port's
   Port-based VLAN;

Signed-off-by: Johnson Leung <johnson.leung@freescale.com>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agoinclude/bitfield: Add new bitfield operations
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:25 +0000 (16:55 +0300)]
include/bitfield: Add new bitfield operations

These new operations allow manipulation of bitfields
within a word by using a mask instead of width and
shift values to extract/replace the bitfields.

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Fix missing reserved register
Codrin Ciubotariu [Fri, 24 Jul 2015 13:55:24 +0000 (16:55 +0300)]
drivers/net/vsc9953: Fix missing reserved register

The VSC9953 DS reserves a register between vlan_mask and anag_efil
registers.

Signed-off-by: Johnson Leung <johnson.leung@freescale.com>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Fix bug when enabling a port
Codrin Ciubotariu [Fri, 24 Jul 2015 13:52:46 +0000 (16:52 +0300)]
drivers/net/vsc9953: Fix bug when enabling a port

When a port is enabled at init time, the initializing function
touches more bits than necessary to enable a port (also touches
reserved bits and default bit values). This patch fixes this issue
by changing the value of the define used to enable the port and
assures that no other bits are changes by replacing out_le32()
with setbits_le32().

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Cleanup patch
Codrin Ciubotariu [Fri, 24 Jul 2015 13:52:45 +0000 (16:52 +0300)]
drivers/net/vsc9953: Cleanup patch

This patch groups some macros defined for registers and
replaces some magic numbers from vsc9953 with macros. Also,
"port" and "port_nr" words are replaced with "port_no",
puts each variable declaration on a line and removes
unnecessary tabs.

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agodrivers/net/vsc9953: Remove 'CONFIG_' from macros' name
Codrin Ciubotariu [Fri, 24 Jul 2015 13:52:44 +0000 (16:52 +0300)]
drivers/net/vsc9953: Remove 'CONFIG_' from macros' name

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agocgtqmx6eval: Add USB Mass Storage support
Otavio Salvador [Thu, 17 Sep 2015 18:13:20 +0000 (15:13 -0300)]
cgtqmx6eval: Add USB Mass Storage support

=> ums 0 mmc 0 (Mounts the micro SD)

=> ums 0 mmc 1 (Mounts the eMMC)

=> ums 0 mmc 2 (Mounts the big SD)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
9 years agocgtqmx6eval: Add a maintainer entry
Otavio Salvador [Thu, 17 Sep 2015 18:13:19 +0000 (15:13 -0300)]
cgtqmx6eval: Add a maintainer entry

Add me as the board maintainer and move the status to 'Maintained'.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>