oweals/u-boot.git
8 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>
8 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>
8 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>
8 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://denx.de/git/u-boot-imx

8 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

8 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

8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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

8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 years agocgtqmx6eval: Fit into a single line
Otavio Salvador [Thu, 17 Sep 2015 18:13:18 +0000 (15:13 -0300)]
cgtqmx6eval: Fit into a single line

The printf can be put in a single line of code, so make it
simpler

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
8 years agoimx6, aristaintetos2: add me as maintainer
Heiko Schocher [Thu, 17 Sep 2015 08:39:38 +0000 (10:39 +0200)]
imx6, aristaintetos2: add me as maintainer

Add me as Maintainer for the aristainetos2b board.

Signed-off-by: Heiko Schocher <hs@denx.de>
8 years agomtd: nand: mxs check maximum ecc that platfrom supports
Peng Fan [Mon, 7 Sep 2015 08:12:11 +0000 (16:12 +0800)]
mtd: nand: mxs check maximum ecc that platfrom supports

Check maximum ecc strength for each platfrom to avoid the calculated ecc
exceed the limitation.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Han Xu <b45815@freescale.com>
Tested-By: Tim Harvey <tharvey at gateworks.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Scott Wood <scottwood@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx7dsabresd: drop SYS_SOC from board Kconfig
Peng Fan [Mon, 14 Sep 2015 14:18:34 +0000 (22:18 +0800)]
imx: mx7dsabresd: drop SYS_SOC from board Kconfig

We have defined this kconfig entry in arch/arm/cpu/armv7/mx7/Kconfig,
no need to redefine it in board Kconfig.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx7: drop select CPU_V7 for board target
Peng Fan [Mon, 14 Sep 2015 14:18:33 +0000 (22:18 +0800)]
imx: mx7: drop select CPU_V7 for board target

drop select CPU_V7 for board target, since ARCH_MX7 selects CPU_V7.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agomx6ul_14x14_evk: Remove get_board_rev()
Fabio Estevam [Mon, 14 Sep 2015 14:06:32 +0000 (11:06 -0300)]
mx6ul_14x14_evk: Remove get_board_rev()

get_board_rev() is not actually providing the board revision.

It just returns the CPU revision instead.

As the CPU revision is already printed on boot, there is no
reason to have get_board_rev(), so let's remove it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agomx6ul_14x14_evk: Staticize when possible
Fabio Estevam [Mon, 14 Sep 2015 14:06:31 +0000 (11:06 -0300)]
mx6ul_14x14_evk: Staticize when possible

Make the internal symbols static when possible.

This prevents sparse build warnings.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agomx6ul_14x14_evk: Remove dead code
Fabio Estevam [Mon, 14 Sep 2015 14:06:30 +0000 (11:06 -0300)]
mx6ul_14x14_evk: Remove dead code

iox74lv_set() is not used anywhere, so let's remove it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agomx7dsabresd: Remove unused config option
Fabio Estevam [Sun, 13 Sep 2015 16:06:46 +0000 (13:06 -0300)]
mx7dsabresd: Remove unused config option

CONFIG_FEC_DMA_MINALIGN is not used anywhere, so let's remove it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agomx7dsabresd: Remove get_board_rev()
Fabio Estevam [Sun, 13 Sep 2015 16:06:45 +0000 (13:06 -0300)]
mx7dsabresd: Remove get_board_rev()

get_board_rev() is not actually providing the board revision.

It just returns the CPU revision instead.

As the CPU revision is already printed on boot, there is no
reason to have get_board_rev(), so let's remove it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agomx7dsabresd: Include USB header
Fabio Estevam [Sun, 13 Sep 2015 16:06:44 +0000 (13:06 -0300)]
mx7dsabresd: Include USB header

Include <usb/ehci-fsl.h> in order to fix the following sparse warning:

board/freescale/mx7dsabresd/mx7dsabresd.c:538:5: warning: symbol 'board_ehci_hcd_init' was not declared. Should it be static?

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agomx7dsabreasd: Remove dead code
Fabio Estevam [Sun, 13 Sep 2015 16:06:43 +0000 (13:06 -0300)]
mx7dsabreasd: Remove dead code

iox74lv_set() is not used anywhere, so let's remove it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agomx7dsabresd: Staticize when possible
Fabio Estevam [Sun, 13 Sep 2015 16:06:42 +0000 (13:06 -0300)]
mx7dsabresd: Staticize when possible

Make the internal symbols static when possible.

This prevents sparse build warnings.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agomx6sabre_common: Add Fastboot support
Fabio Estevam [Thu, 10 Sep 2015 19:03:38 +0000 (16:03 -0300)]
mx6sabre_common: Add Fastboot support

Tested basic fastboot commands, such as:

On the mx6qsabresd U-boot prompt:

=> fastboot 0

On the host PC:

$ fastboot getvar bootloader-version -i 0x0525
bootloader-version: U-Boot 2015.10-rc2-23960-g2462cce-dirty
finished. total time: 0.000s

$ fastboot reboot  -i 0x0525 --> board reboots fine.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoimx: mx7dsabresd set wdog SRS bit
Peng Fan [Mon, 14 Sep 2015 05:34:45 +0000 (13:34 +0800)]
imx: mx7dsabresd set wdog SRS bit

We use trigger pmic reset to reset the board, so set bit SRS to
disable internal WDOG_RESET_B_DEB to make reset stable.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Adrian Alonso <aalonso@freescale.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoimx: wdog: correct wcr register settings
Peng Fan [Mon, 14 Sep 2015 05:34:44 +0000 (13:34 +0800)]
imx: wdog: correct wcr register settings

We should not simple use "writew(WCR_WDE, &wdog->wcr)" to set
wcr, since this will override bits set before reset_cpu.

Use clrsetbits_le16 instead of writew to fix this issue.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Sebastian Siewior <bigeasy@linutronix.de>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoimx-common: fix iomux settings
Peng Fan [Mon, 14 Sep 2015 05:34:43 +0000 (13:34 +0800)]
imx-common: fix iomux settings

When setting iomux for a pin mux, there is no need to check mux_ctrl_ofs.
Also If still checking mux_ctrl_ofs, we have no chance to set iomux
for i.MX7D IOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO1_IO00, because the mux_ctrl_ofs
for this register is 0.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agopinctrl: move dm_scan_fdt_node() out of pinctrl uclass
Masahiro Yamada [Sat, 5 Sep 2015 16:44:50 +0000 (01:44 +0900)]
pinctrl: move dm_scan_fdt_node() out of pinctrl uclass

Commit c5acf4a2b3c6 ("pinctrl: Add the concept of peripheral IDs")
added some additional change that was not mentioned in the git-log.

That commit added dm_scan_fdt_node() in the pinctrl uclass binding.
It should be handled by the simple-bus driver or the low-level
driver, not by the pinctrl framework.

I guess Simon's motivation was to bind GPIO banks located under the
Rockchip pinctrl device.  It is true some chips have sub-devices
under their pinctrl devices, but it is basically SoC-specific matter.

This commit partly reverts commit c5acf4a2b3c6 to keep the only
pinctrl-generic features in the uclass.  The dm_scan_fdt_node()
should be called from the rk3288_pinctrl driver.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
8 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Thu, 17 Sep 2015 21:00:08 +0000 (17:00 -0400)]
Merge git://git.denx.de/u-boot-x86

8 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Thu, 17 Sep 2015 20:59:58 +0000 (16:59 -0400)]
Merge git://git.denx.de/u-boot-dm

8 years agox86: quark: Configure MTRR to enable cache
Bin Meng [Mon, 14 Sep 2015 07:07:41 +0000 (00:07 -0700)]
x86: quark: Configure MTRR to enable cache

Quark SoC does not support MSR MTRRs. Fixed and variable range MTRRs
are accessed indirectly via the message port and not the traditional
MSR mechanism. Only UC, WT and WB cache types are supported.

We configure all the fixed range MTRRs with common values (VGA RAM
as UC, others as WB) and 3 variable range MTRRs for ROM/eSRAM/RAM as
WB, which significantly improves the boot time performance.

With this commit, it takes only 2 seconds for U-Boot to boot to shell
on Intel Galileo board. Previously it took about 6 seconds.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
8 years agox86: doc: Add DMI to the TODO list
Bin Meng [Thu, 10 Sep 2015 06:20:30 +0000 (23:20 -0700)]
x86: doc: Add DMI to the TODO list

Desktop Management Interface (DMI) is not supported by U-Boot now.
Add it to the TODO list.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: doc: Document some porting hints about Intel Quark
Bin Meng [Thu, 10 Sep 2015 06:20:29 +0000 (23:20 -0700)]
x86: doc: Document some porting hints about Intel Quark

Document porting considerations for Intel Quark based board,
including MRC parameters and PCIe initialization.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: galileo: Add PCIe root port IRQ routing
Bin Meng [Thu, 10 Sep 2015 06:20:28 +0000 (23:20 -0700)]
x86: galileo: Add PCIe root port IRQ routing

Now we have enabled PCIe root port on Quark SoC, add its PIRQ
routing information in the device tree as well.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: quark: Initialize thermal sensor properly
Bin Meng [Thu, 10 Sep 2015 06:20:27 +0000 (23:20 -0700)]
x86: quark: Initialize thermal sensor properly

Thermal sensor on Quark SoC needs to be properly initialized per
Quark firmware writer guide, otherwise when booting Linux kernel,
it triggers system shutdown because of wrong temperature in the
thermal sensor is detected by the kernel driver (see below):

[    5.119819] thermal_sys: Critical temperature reached(206 C),shutting down
[    5.128997] Failed to start orderly shutdown: forcing the issue
[    5.135495] Emergency Sync complete

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: quark: Lock HMBOUND register before jumping to kernel
Bin Meng [Thu, 10 Sep 2015 06:20:26 +0000 (23:20 -0700)]
x86: quark: Lock HMBOUND register before jumping to kernel

When Linux kernel boots, it hangs at:

[    0.829408] Intel Quark side-band driver registered

This happens when Quark kernel Isolated Memory Region (IMR) driver
tries to lock an IMR register to protect kernel's text and rodata
sections. However in order to have IMR function correctly, HMBOUND
register must be locked otherwise the system just hangs.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: quark: Convert to use clrbits, setbits, clrsetbits macros
Bin Meng [Thu, 10 Sep 2015 06:20:25 +0000 (23:20 -0700)]
x86: quark: Convert to use clrbits, setbits, clrsetbits macros

Change existing codes to use clrbits, setbits, clrsetbits macros.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: quark: Add clrbits, setbits, clrsetbits macros for message port access
Bin Meng [Thu, 10 Sep 2015 06:20:24 +0000 (23:20 -0700)]
x86: quark: Add clrbits, setbits, clrsetbits macros for message port access

On Intel Quark, lots of registers on the message port need be
programmed. Add handy clrbits, setbits, clrsetbits macros for
message port access.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agox86: galileo: Enable random mac address for Quark
Bin Meng [Thu, 10 Sep 2015 06:20:23 +0000 (23:20 -0700)]
x86: galileo: Enable random mac address for Quark

Not like other Intel Ethernet controllers (e.g.: E1000), Intel Quark
SoC integrated designware Ethernet controller does not have a chipset
defined way to store/restore mac address. Enable random mac address
so that we can use Ethernet even without 'ethaddr'.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: quark: Add PCIe/USB static register programming after memory init
Bin Meng [Fri, 11 Sep 2015 10:24:37 +0000 (03:24 -0700)]
x86: quark: Add PCIe/USB static register programming after memory init

This adds static register programming for PCIe and USB after memory
init as required by Quark firmware writer guide. Although not doing
this did not cause any malfunction, just do it for safety.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: Convert to use driver model eth on quark/galileo
Bin Meng [Fri, 11 Sep 2015 10:24:36 +0000 (03:24 -0700)]
x86: Convert to use driver model eth on quark/galileo

Convert to use DM version of Designware ethernet driver on Intel
quark/galileo.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>