project/bcm63xx/u-boot.git
11 years agoARM: VExpress: enable ARMv7 virt support for VExpress A15
Andre Przywara [Thu, 19 Sep 2013 16:06:46 +0000 (18:06 +0200)]
ARM: VExpress: enable ARMv7 virt support for VExpress A15

To enable hypervisors utilizing the ARMv7 virtualization extension
on the Versatile Express board with the A15 core tile, we add the
required configuration variable.
Also we define the board specific smp_set_cpu_boot_addr() function to
set the start address for secondary cores in the VExpress specific
manner.
There is no need to provide a custom smp_waitloop() function here.

This also serves as an example for what to do when adding support for
new boards.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
11 years agoARM: extend non-secure switch to also go into HYP mode
Andre Przywara [Thu, 19 Sep 2013 16:06:45 +0000 (18:06 +0200)]
ARM: extend non-secure switch to also go into HYP mode

For the KVM and XEN hypervisors to be usable, we need to enter the
kernel in HYP mode. Now that we already are in non-secure state,
HYP mode switching is within short reach.

While doing the non-secure switch, we have to enable the HVC
instruction and setup the HYP mode HVBAR (while still secure).

The actual switch is done by dropping back from a HYP mode handler
without actually leaving HYP mode, so we introduce a new handler
routine in our new secure exception vector table.

In the assembly switching routine we save and restore the banked LR
and SP registers around the hypercall to do the actual HYP mode
switch.

The C routine first checks whether we are in HYP mode already and
also whether the virtualization extensions are available. It also
checks whether the HYP mode switch was finally successful.
The bootm command part only calls the new function after the
non-secure switch.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
11 years agoARM: add SMP support for non-secure switch
Andre Przywara [Thu, 19 Sep 2013 16:06:44 +0000 (18:06 +0200)]
ARM: add SMP support for non-secure switch

Currently the non-secure switch is only done for the boot processor.
To enable full SMP support, we have to switch all secondary cores
into non-secure state also.

So we add an entry point for secondary CPUs coming out of low-power
state and make sure we put them into WFI again after having switched
to non-secure state.
For this we acknowledge and EOI the wake-up IPI, then go into WFI.
Once being kicked out of it later, we sanity check that the start
address has actually been changed (since another attempt to switch
to non-secure would block the core) and jump to the new address.

The actual CPU kick is done by sending an inter-processor interrupt
via the GIC to all CPU interfaces except the requesting processor.
The secondary cores will then setup their respective GIC CPU
interface.
While this approach is pretty universal across several ARMv7 boards,
we make this function weak in case someone needs to tweak this for
a specific board.

The way of setting the secondary's start address is board specific,
but mostly different only in the actual SMP pen address, so we also
provide a weak default implementation and just depend on the proper
address to be set in the config file.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
11 years agoARM: trigger non-secure state switch during bootm execution
Andre Przywara [Thu, 19 Sep 2013 16:06:43 +0000 (18:06 +0200)]
ARM: trigger non-secure state switch during bootm execution

To actually trigger the non-secure switch we just implemented, call
the switching routine from within the bootm command implementation.
This way we automatically enable this feature without further user
intervention.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
11 years agoARM: add C function to switch to non-secure state
Andre Przywara [Thu, 19 Sep 2013 16:06:42 +0000 (18:06 +0200)]
ARM: add C function to switch to non-secure state

The core specific part of the work is done in the assembly routine
in nonsec_virt.S, introduced with the previous patch, but for the full
glory we need to setup the GIC distributor interface once for the
whole system, which is done in C here.
The routine is placed in arch/arm/cpu/armv7 to allow easy access from
other ARMv7 boards.

We check the availability of the security extensions first.

Since we need a safe way to access the GIC, we use the PERIPHBASE
registers on Cortex-A15 and A7 CPUs and do some sanity checks.
Boards not implementing the CBAR can override this value via a
configuration file variable.

Then we actually do the GIC enablement:
a) enable the GIC distributor, both for non-secure and secure state
   (GICD_CTLR[1:0] = 11b)
b) allow all interrupts to be handled from non-secure state
   (GICD_IGROUPRn = 0xFFFFFFFF)

The core specific GIC setup is then done in the assembly routine.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
11 years agoARM: add assembly routine to switch to non-secure state
Andre Przywara [Thu, 19 Sep 2013 16:06:41 +0000 (18:06 +0200)]
ARM: add assembly routine to switch to non-secure state

While actually switching to non-secure state is one thing, another
part of this process is to make sure that we still have full access
to the interrupt controller (GIC).
The GIC is fully aware of secure vs. non-secure state, some
registers are banked, others may be configured to be accessible from
secure state only.
To be as generic as possible, we get the GIC memory mapped address
based on the PERIPHBASE value in the CBAR register. Since this
register is not architecturally defined, we check the MIDR before to
be from an A15 or A7.
For CPUs not having the CBAR or boards with wrong information herein
we allow providing the base address as a configuration variable.

Now that we know the GIC address, we:
a) allow private interrupts to be delivered to the core
   (GICD_IGROUPR0 = 0xFFFFFFFF)
b) enable the CPU interface (GICC_CTLR[0] = 1)
c) set the priority filter to allow non-secure interrupts
   (GICC_PMR = 0xFF)

Also we allow access to all coprocessor interfaces from non-secure
state by writing the appropriate bits in the NSACR register.

The generic timer base frequency register is only accessible from
secure state, so we have to program it now. Actually this should be
done from primary firmware before, but some boards seems to omit
this, so if needed we do this here with a board specific value.
The Versatile Express board does not need this, so we remove the
frequency from the configuration file here.

After having switched to non-secure state, we also enable the
non-secure GIC CPU interface, since this register is banked.

Since we need to call this routine also directly from the smp_pen
later (where we don't have any stack), we can only use caller saved
registers r0-r3 and r12 to not mess with the compiler.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
11 years agoARM: add secure monitor handler to switch to non-secure state
Andre Przywara [Thu, 19 Sep 2013 16:06:40 +0000 (18:06 +0200)]
ARM: add secure monitor handler to switch to non-secure state

A prerequisite for using virtualization is to be in HYP mode, which
requires the CPU to be in non-secure state first.
Add a new file in arch/arm/cpu/armv7 to hold a monitor handler routine
which switches the CPU to non-secure state by setting the NS and
associated bits.
According to the ARM architecture reference manual this should not be
done in SVC mode, so we have to setup a SMC handler for this.
We create a new vector table to avoid interference with other boards.
The MVBAR register will be programmed later just before the smc call.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
11 years agoARM: prepare armv7.h to be included from assembly source
Andre Przywara [Thu, 19 Sep 2013 16:06:39 +0000 (18:06 +0200)]
ARM: prepare armv7.h to be included from assembly source

armv7.h contains some useful constants, but also C prototypes.
To include it also in assembly files, protect the non-assembly
part appropriately.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
11 years agoMerge branch 'u-boot-imx/master' into 'u-boot-arm/master'
Albert ARIBAUD [Wed, 2 Oct 2013 12:53:27 +0000 (14:53 +0200)]
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'

11 years agoMerge branch 'u-boot-ti/master' into 'u-boot-arm/master'
Albert ARIBAUD [Wed, 2 Oct 2013 06:10:36 +0000 (08:10 +0200)]
Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'

11 years agoi.MX6DQ/DLS: Add pad MX6_PAD_GPIO_1__USB_OTG_ID
Eric Nelson [Wed, 25 Sep 2013 15:37:44 +0000 (08:37 -0700)]
i.MX6DQ/DLS: Add pad MX6_PAD_GPIO_1__USB_OTG_ID

This patch adds the pad to i.MX6DQ and changes the i.MX6DLS
declaration to match the Linux kernel declaration.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Acked-by: Marek Vasut <marex@denx.de>
11 years agomx6: Fix use of improper value in enable_ipu_clock
Pierre Aubert [Mon, 23 Sep 2013 11:37:20 +0000 (13:37 +0200)]
mx6: Fix use of improper value in enable_ipu_clock

The value MXC_CCM_CCGR3_IPU1_IPU_DI0_OFFSET that was used to initialize
the CCGR3 register caused an undefined value for CG0.

Signed-off-by: Pierre Aubert <p.aubert@staubli.com>
CC: Stefano Babic <sbabic@denx.de>
Acked-by: Eric Nelson <eric.nelson@boundarydevices.com>
11 years agomx35pdk: Fix error handling in board_late_init()
Fabio Estevam [Fri, 20 Sep 2013 19:30:50 +0000 (16:30 -0300)]
mx35pdk: Fix error handling in board_late_init()

If smc911x_initialize() fails we should return the error immediately.

While at it, also check the error from cpu_eth_init().

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
11 years agomx28evk: Propagate the error if cpu_eth_init() fails
Fabio Estevam [Fri, 20 Sep 2013 19:30:49 +0000 (16:30 -0300)]
mx28evk: Propagate the error if cpu_eth_init() fails

If cpu_eth_init() fails we should return the error immediately.

Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
11 years agomx28evk: Propagate the error if cpu_eth_init() fails
Fabio Estevam [Fri, 20 Sep 2013 19:30:48 +0000 (16:30 -0300)]
mx28evk: Propagate the error if cpu_eth_init() fails

If cpu_eth_init() fails we should return the error immediately.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agotools/imximage.c: Fix compiling warning
York Sun [Fri, 20 Sep 2013 19:24:44 +0000 (12:24 -0700)]
tools/imximage.c: Fix compiling warning

Convert set_hdr_func(struct imx_header *imxhdr) to set_hdr_func(void)
to get rid of the warning

warning: ‘imxhdr’ is used uninitialized in this function

Signed-off-by: York Sun <yorksun@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
11 years agoREADME: update ARM register usage
Jeroen Hofstee [Sat, 21 Sep 2013 12:04:42 +0000 (14:04 +0200)]
README: update ARM register usage

Besides the change of this patchset it also updates the
README to reflect that GOT-generated relocations are no
longer supported on ARM.

cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
11 years agoARM: use r9 for gd
Jeroen Hofstee [Sat, 21 Sep 2013 12:04:41 +0000 (14:04 +0200)]
ARM: use r9 for gd

To be more EABI compliant and as a preparation for building
with clang, use the platform-specific r9 register for gd
instead of r8.

note: The FIQ is not updated since it is not used in u-boot,
and under discussion for the time being.

The following checkpatch warning is ignored:
WARNING: Use of volatile is usually wrong: see
Documentation/volatile-considered-harmful.txt

Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
cc: Albert ARIBAUD <albert.u.boot@aribaud.net>

11 years agoARM,relocate: do not use r9
Jeroen Hofstee [Sat, 21 Sep 2013 12:04:40 +0000 (14:04 +0200)]
ARM,relocate: do not use r9

r9 is a platform-specific register in ARM EABI and not per
definition a general purpose register. Do not use it while
relocating so it can be used for gd.

cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
11 years agoARM: refactor compiler options in config.mk
Masahiro Yamada [Sat, 7 Sep 2013 08:42:37 +0000 (17:42 +0900)]
ARM: refactor compiler options in config.mk

Every ARM cpu config.mk (arch/arm/cpu/{CPUDIR}/config.mk) defines:

PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float

So, this patch moves the common compiler options to arch/arm/config.mk.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
11 years agoarm: zynq: Fix timer loadaddress
Michal Simek [Wed, 28 Aug 2013 05:36:31 +0000 (07:36 +0200)]
arm: zynq: Fix timer loadaddress

Reload address was written to the counter register
instead of load register.
The problem happens when timer expires but never
reload to ~0UL (it is downcount timer).

Reported-by: Stephen MacMahon <stephenm@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: prevent using movt/movw address loads
Jeroen Hofstee [Sat, 24 Aug 2013 11:55:38 +0000 (13:55 +0200)]
arm: prevent using movt/movw address loads

The movt/movw instruction can be used to hardcode an
memory location in the instruction itself. The linker
starts complaining about this if the compiler decides
to do so: "relocation R_ARM_MOVW_ABS_NC against `a local
symbol' can not be used" and it is not support by U-boot
as well. Prevent their use by requiring word relocations.
This allows u-boot to be build at other optimalization
levels then -Os.

Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
Cc: TigerLiu@viatech.com.cn
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Acked-by: Simon Glass <sjg@chromium.org>
11 years agoam335x_evm.h: If mmcdev and bootpart switch to mmcdev 1, so should mmcroot.
Robert P. J. Day [Mon, 9 Sep 2013 16:27:25 +0000 (12:27 -0400)]
am335x_evm.h: If mmcdev and bootpart switch to mmcdev 1, so should mmcroot.

If, in CONFIG_BOOTCOMMAND, the environment switches both the mmcdev
and bootpart variables to refer to MMC device 1, it would make sense
that the mmcroot env variable should switch to that device as well.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
11 years agonet, phy, cpsw: fix NULL pointer deference
Heiko Schocher [Thu, 5 Sep 2013 09:50:41 +0000 (11:50 +0200)]
net, phy, cpsw: fix NULL pointer deference

if phy_connect() did not find a phy, phydev is NULL and
following code in cpsw_phy_init() crashes. Fix this.

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Cc: Tom Rini <trini@ti.com>
Acked-by: Mugunthan V N <mugunthanvnm@ti.com>
11 years agoARM: OMAP5: Avoid writing into LDO SRAM bits
Lokesh Vutla [Fri, 23 Aug 2013 12:04:17 +0000 (17:34 +0530)]
ARM: OMAP5: Avoid writing into LDO SRAM bits

Writing magic bits into LDO SRAM was suggested only for OMAP5432
ES1.0. Now these are no longer applicable. Moreover these bits should
not be overwritten as they are loaded from EFUSE. So avoid
writing into these registers.

Boot tested on OMAP5432 ES2.0

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
11 years agoARM: DRA7: Enable saveenv command
Lokesh Vutla [Fri, 23 Aug 2013 11:57:04 +0000 (17:27 +0530)]
ARM: DRA7: Enable saveenv command

dra7xx_evm has eMMC and the default environment can be stored in it.
So enabling saveenv command and the configs to store environment in eMMC.

Tested on DRA752 ES1.0

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
11 years agoam335x:Handle worst case scenario for Errata 1.0.24
Steve Kipisz [Wed, 14 Aug 2013 14:51:31 +0000 (10:51 -0400)]
am335x:Handle worst case scenario for Errata 1.0.24

In Errata 1.0.24, if the board is running at OPP50 and has a warm reset,
the boot ROM sets the frequencies for OPP100. This patch attempts to
drop the frequencies back to OPP50 as soon as possible in the SPL. Then
later the voltages and frequencies up set higher.

Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Cc: Lars Poeschel <poeschel@lemonage.de>
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
[trini: Adapt to current framework]
Signed-off-by: Tom Rini <trini@ti.com>
11 years agoam335x_evm: am33xx_spl_board_init function and scale core frequency
Tom Rini [Fri, 30 Aug 2013 20:28:46 +0000 (16:28 -0400)]
am335x_evm: am33xx_spl_board_init function and scale core frequency

Add a am33xx_spl_board_init (and enable the PMICs) that we may see,
depending on the board we are running on.  In all cases, we see if we
can rely on the efuse_sma register to tell us the maximum speed.  In the
case of Beaglebone White, we need to make sure we are on AC power, and
are on later than rev A1, and then we can ramp up to the PG1.0 maximum
of 720Mhz.  In the case of Beaglebone Black, we are either on PG2.0 that
supports 1GHz or PG2.1.  As PG2.0 may or may not have efuse_sma set, we
cannot rely on this probe.  In the case of the GP EVM, EVM SK and IDK we
need to rely on the efuse_sma if we are on PG2.1, and the defaults for
PG1.0/2.0.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agonet: fec_mxc: Fix timeouts during tftp transfer
Fabio Estevam [Wed, 18 Sep 2013 02:13:10 +0000 (23:13 -0300)]
net: fec_mxc: Fix timeouts during tftp transfer

Performing tftp transfers on mx28 results in random timeouts.

Hector Palacios and Robert Hodaszi analyzed the root cause being related to the
wrong alignment of the 'buff' buffer inside fec_recv().

Benoît Thébaudeau provided an excellent analysis of the alignment bug that is
present on older versions, such as GCC 4.5.4:

http://marc.info/?l=u-boot&m=137942904906131&w=2

Use ALLOC_CACHE_ALIGN_BUFFER() to avoid alignment issues from older GCC
versions.

Reported-by: Hector Palacios <hector.palacios@digi.com>
Tested-by: Oliver Metz <oliver@freetz.org>
Tested-by: Hector Palacios <hector.palacios@digi.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
Tested-by: Marek Vasut <marex@denx.de>
11 years agomx6sabresd: Fix the fdt file for the mx6dl version
Fabio Estevam [Wed, 18 Sep 2013 01:55:59 +0000 (22:55 -0300)]
mx6sabresd: Fix the fdt file for the mx6dl version

We need to load 'imx6dl-sabresd.dtb' in the mx6dl version.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
11 years agodoc: README.mxs: Add instruction to install 'libssl-dev'
Fabio Estevam [Mon, 16 Sep 2013 14:25:55 +0000 (11:25 -0300)]
doc: README.mxs: Add instruction to install 'libssl-dev'

Since commit bce883707 (ARM: mxs: tools: Add mkimage support for MXS bootstream)
the following build error is seen when doing a MAKEALL build:

$ ./MAKEALL mx28evk
Configuring for mx28evk - Board: mx28evk, Options: ENV_IS_IN_MMC
mxsimage.c:18:25: fatal error: openssl/evp.h: No such file or directory

Add an entry about the need of installing the 'libssl-dev' package.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
11 years agomx28evk: Fix checkpatch warning
Fabio Estevam [Sat, 14 Sep 2013 22:34:17 +0000 (19:34 -0300)]
mx28evk: Fix checkpatch warning

Fix the following checkpatch warning:

$ ./tools/checkpatch.pl -F board/freescale/mx28evk/mx28evk.c
CHECK: Alignment should match open parenthesis
#109: FILE: freescale/mx28evk/mx28evk.c:109:
+ writel(CLKCTRL_ENET_TIME_SEL_RMII_CLK | CLKCTRL_ENET_CLK_OUT_EN,
+ &clkctrl_regs->hw_clkctrl_enet);

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agoi.MX6DL/S: add drive-strength back to pads DISP0_DAT2/DAT10
Eric Nelson [Fri, 13 Sep 2013 16:19:21 +0000 (09:19 -0700)]
i.MX6DL/S: add drive-strength back to pads DISP0_DAT2/DAT10

This patch fixes a regression introduced by commit 87d720e0.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
11 years agomx6slevk: Add Ethernet support
Fabio Estevam [Fri, 13 Sep 2013 03:36:28 +0000 (00:36 -0300)]
mx6slevk: Add Ethernet support

mx6slevk has a SMSC8720 connected in RMII mode.

Add support for it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agonet: fec_mxc: Add support for mx6 solo-lite
Fabio Estevam [Fri, 13 Sep 2013 03:36:27 +0000 (00:36 -0300)]
net: fec_mxc: Add support for mx6 solo-lite

Similarly as mx25 and mx53, mx6solo-lite needs to setup the MII gasket for RMII
mode.

Add support for mx6solo-lite.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agomx6qsabreauto: Return error if cpu_eth_init() fails
Fabio Estevam [Fri, 13 Sep 2013 01:03:23 +0000 (22:03 -0300)]
mx6qsabreauto: Return error if cpu_eth_init() fails

Currently board_eth_init() always return 0, but we should propagate the error
when cpu_eth_init() fails.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agomx6sabresd: Return error if cpu_eth_init() fails
Fabio Estevam [Fri, 13 Sep 2013 01:03:22 +0000 (22:03 -0300)]
mx6sabresd: Return error if cpu_eth_init() fails

Currently board_eth_init() always return 0, but we should propagate the error
when cpu_eth_init() fails.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agomx35pdk: Remove CONFIG_SYS_CACHELINE_SIZE
Fabio Estevam [Thu, 12 Sep 2013 19:56:34 +0000 (16:56 -0300)]
mx35pdk: Remove CONFIG_SYS_CACHELINE_SIZE

In arch/arm/cpu/arm1136/cpu.c we have:

#ifndef CONFIG_SYS_CACHELINE_SIZE
#define CONFIG_SYS_CACHELINE_SIZE 32
#endif

,so there is no need to define 'CONFIG_SYS_CACHELINE_SIZE' with the default
size in the board config file.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agommc: fsl_esdhc: Check the result from malloc()
Fabio Estevam [Thu, 12 Sep 2013 13:35:52 +0000 (10:35 -0300)]
mmc: fsl_esdhc: Check the result from malloc()

malloc can fail, so we should better check its return value before using it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agomx6sabresd: Reset counter to prevent error message
Fabio Estevam [Wed, 11 Sep 2013 21:14:30 +0000 (18:14 -0300)]
mx6sabresd: Reset counter to prevent error message

If a HDMI cable is not connected, the following message is seen on boot:

CPU:   Freescale i.MX6Q rev1.1 at 792 MHz
Reset cause: POR
Board: MX6-SabreSD
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
No panel detected: default to HDMI
unsupported panel HDMI

Reset the 'i' variable to fix the 'unsupported panel' message.

This follows the same idea of commit 47ac53d7ae (imx: nitrogen6x/mx6qsabrelite:
Fix bug in board_video_skip).

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agomx6sabresd: Avoid hang when HDMI cable is not connected
Fabio Estevam [Wed, 11 Sep 2013 21:14:29 +0000 (18:14 -0300)]
mx6sabresd: Avoid hang when HDMI cable is not connected

Since commit d9b894603 (mx6sabresd: Add LVDS splash screen support) the
following hang happens if the HDMI cable is not connected or the 'panel'
variable is not set:

U-Boot 2013.10-rc2-12978-g47ac53d-dirty (Sep 11 2013 - 15:07:38)

CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: MX6-SabreSD
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
...

Provide a check to 'dev->detect' in order to prevent the hang.

Reported-by: Pardeep Kumar Singla <b45784@freescale.com>
Suggested-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agoARM: arch-mx6: fix PLL2_PFD2_FREQ
Markus Niebel [Wed, 11 Sep 2013 13:30:14 +0000 (15:30 +0200)]
ARM: arch-mx6: fix PLL2_PFD2_FREQ

according to the manual frequency of PLL2 PFD2 is 396.000.000
instead of 400.000.000

Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
Acked-by: Stefano Babic <sbabic@denx.de>
11 years agowandboard: Use imx6dl-wandboard.dtb for the solo version
Fabio Estevam [Mon, 9 Sep 2013 21:28:07 +0000 (18:28 -0300)]
wandboard: Use imx6dl-wandboard.dtb for the solo version

The wandboard solo version should boot the 'imx6dl-wandboard.dtb' file, since
dual-lite and solo variants are the same SoC with only the number of cores being
different.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agoam33xx: Add the efuse_sma CONTROL_MODULE register
Tom Rini [Fri, 30 Aug 2013 20:28:45 +0000 (16:28 -0400)]
am33xx: Add the efuse_sma CONTROL_MODULE register

Starting with PG2.1 we have a register in the CONTROL_MODULE that is set
with the package type and maximum supported frequency.  Add this, and
the relevant mask/values.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoam33xx: Add am33xx_spl_board_init function, call
Tom Rini [Fri, 30 Aug 2013 20:28:44 +0000 (16:28 -0400)]
am33xx: Add am33xx_spl_board_init function, call

We need to allow for a further call-out in spl_board_init.  Call this
am33xx_spl_board_init and add a __weak version.  This function may be
used to scale the MPU frequency up, depending on board needs.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agodrivers/power/pmic: Add tps65910 driver
Philip, Avinash [Fri, 30 Aug 2013 20:28:43 +0000 (16:28 -0400)]
drivers/power/pmic: Add tps65910 driver

Add a driver for the TPS65910 PMIC that is found in the AM335x GP EVM,
AM335x EVM SK and others.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
[trini: Split and rework Avinash's changes into new drivers/power
framework]
Signed-off-by: Tom Rini <trini@ti.com>
11 years agodrivers/power/pmic: Add tps65217 driver
Greg Guyotte [Fri, 30 Aug 2013 20:28:42 +0000 (16:28 -0400)]
drivers/power/pmic: Add tps65217 driver

Add a driver for the TPS65217 PMIC that is found in the Beaglebone
family of boards.

Signed-off-by: Greg Guyotte <gguyotte@ti.com>
[trini: Split and rework Greg's changes into new drivers/power
framework]
Signed-off-by: Tom Rini <trini@ti.com>
11 years agospl/Makefile: Add drivers/power/pmic/libpmic to CONFIG_SPL_POWER_SUPPORT
Tom Rini [Fri, 30 Aug 2013 20:28:41 +0000 (16:28 -0400)]
spl/Makefile: Add drivers/power/pmic/libpmic to CONFIG_SPL_POWER_SUPPORT

We may need to access the PMIC code in SPL, when we have power set.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoMerge branch 'u-boot-atmel/master' into 'u-boot-arm/master'
Albert ARIBAUD [Thu, 19 Sep 2013 16:01:55 +0000 (18:01 +0200)]
Merge branch 'u-boot-atmel/master' into 'u-boot-arm/master'

11 years agoarm: atmel: cpux9k2: increase malloc space to fix crash on start u-boot
Jens Scharsig (BuS Elektronik) [Thu, 19 Sep 2013 06:00:41 +0000 (08:00 +0200)]
arm: atmel: cpux9k2: increase malloc space to fix crash on start u-boot

Since UBIFS is enabled for cpux9k2, more malloc space is needed.
For the current uboot 2013.10-rcX the size is to small, this will fix the
startup problems by increasing the malloc space to 4MiB.

Signed-off-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
11 years agodrivers: s3c44b0_rtc: delete an unused driver
Masahiro Yamada [Mon, 19 Aug 2013 06:01:25 +0000 (15:01 +0900)]
drivers: s3c44b0_rtc: delete an unused driver

Since commit 5dc5f36 removed B2 board support,
there are no boards enabling s3c44b0_rtc.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Andrea Scian <andrea.scian@dave-tech.it>
11 years agodrivers: serial_s3c44b0: delete an unused driver
Masahiro Yamada [Mon, 19 Aug 2013 06:01:24 +0000 (15:01 +0900)]
drivers: serial_s3c44b0: delete an unused driver

Since commit 5dc5f36 removed B2 board support,
there are no boards enabling serial_s3c44b0.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Andrea Scian <andrea.scian@dave-tech.it>
11 years agodrivers: s3c44b0_i2c: delete an unused driver
Masahiro Yamada [Mon, 19 Aug 2013 06:01:23 +0000 (15:01 +0900)]
drivers: s3c44b0_i2c: delete an unused driver

Since commit 5dc5f36 removed B2 board support,
there are no boards enabling s3c44b0_i2c.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Andrea Scian <andrea.scian@dave-tech.it>
Acked-by: Heiko Schocher <hs@denx.de>
11 years agoARM: s3c44b0: remove remainders of dead board
Masahiro Yamada [Mon, 19 Aug 2013 06:01:22 +0000 (15:01 +0900)]
ARM: s3c44b0: remove remainders of dead board

Because commit 5dc5f36 removed B2 board support,
arch/arm/cpu/s3c44b0/* and arch/arm/include/asm/arch-s3c44b0/*
are not necessary anymore.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Andrea Scian <andrea.scian@dave-tech.it>
11 years agoarm: dma_alloc_coherent: malloc() -> memalign()
Kuo-Jung Su [Mon, 29 Jul 2013 05:51:43 +0000 (13:51 +0800)]
arm: dma_alloc_coherent: malloc() -> memalign()

Even though the MMU/D-cache is off, some DMA engines still
expect strict address alignment.

For example, the incoming Faraday FTMAC110 & FTGMAC100 ethernet
controllers expect the tx/rx descriptors should always be aligned
to 16-bytes boundary.

Signed-off-by: Kuo-Jung Su <dantesu@faraday-tech.com>
CC: Albert ARIBAUD <albert.u.boot@aribaud.net>
11 years agoarm: spl: Do not set the stack pointer twice
Masahiro Yamada [Wed, 17 Jul 2013 11:35:55 +0000 (20:35 +0900)]
arm: spl: Do not set the stack pointer twice

Because the stack pointer is already set in arch/arm/lib/crt0.S,
we do not need to set it in arch/arm/lib/spl.c.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Stefano Babic [Fri, 13 Sep 2013 10:04:54 +0000 (12:04 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

Conflicts:
MAINTAINERS
boards.cfg

Signed-off-by: Stefano Babic <sbabic@denx.de>
11 years agoRevert "standalone-examples: support custom GCC lib"
Tom Rini [Tue, 10 Sep 2013 13:51:44 +0000 (09:51 -0400)]
Revert "standalone-examples: support custom GCC lib"

After further testing, this patch has two problems.  First,
examples/standalone/Makefile was already inherting PLATFORM_LIBS from
the top-level Makefile so this lead to duplicating the private libgcc.
Second, currently the private libgcc has a reference to 'hang' that is
not being fulfilled.

This reverts commit 4412db46468d5965da736d06f84d13e68a6e0b51.

Signed-off-by: Tom Rini <trini@ti.com>
11 years agoMerge and reformat boards.cfg and MAINTAINERS
Albert ARIBAUD [Wed, 11 Sep 2013 13:52:51 +0000 (15:52 +0200)]
Merge and reformat boards.cfg and MAINTAINERS

Put all informations about targets, including state (active or
orphan) and maintainers, in boards.cfg; remove MAINTAINERS;
adjust the build system accordingly.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Tom Rini [Thu, 12 Sep 2013 13:08:24 +0000 (09:08 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

11 years agoMerge branch 'u-boot-samsung/master' into 'u-boot-arm/master'
Albert ARIBAUD [Wed, 11 Sep 2013 07:59:27 +0000 (09:59 +0200)]
Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'

Conflicts:
tools/Makefile

11 years agoapf27: add FPGA support for the apf27 board
trem [Tue, 10 Sep 2013 20:08:40 +0000 (22:08 +0200)]
apf27: add FPGA support for the apf27 board

Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
Signed-off-by: Eric Jarrige <eric.jarrige@armadeus.org>
Acked-by: Stefano Babic <sbabic@denx.de>
11 years agoapf27: add support for the armadeus APF27 board
trem [Tue, 10 Sep 2013 20:08:39 +0000 (22:08 +0200)]
apf27: add support for the armadeus APF27 board

Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
Signed-off-by: Eric Jarrige <eric.jarrige@armadeus.org>
Signed-off-by: Nicolas Colombain <nicolas.colombain@armadeus.com>
11 years agomxs_nand: Fix ECC strength for NAND flash with OOB size of 224
Elie De Brauwer [Sat, 24 Aug 2013 14:51:24 +0000 (16:51 +0200)]
mxs_nand: Fix ECC strength for NAND flash with OOB size of 224

On a board with an i.mx28 and a Micron MT29F4G08ABAEAH4, Linux says:

NAND device: Manufacturer ID: 0x2c, Chip ID: 0xdc (Micron MT29F4G08ABAEAH4),
512MiB, page size: 4096, OOB size: 224) the ECC strength is 16.

root@(none):/sys/devices/virtual/mtd/mtd0# for i in ecc_strength oobsize subpagesize; do echo $i = `cat $i`; done
ecc_strength = 16
oobsize = 224
subpagesize = 4096

The ECC strength was not properly discovered by U-Boot causing the data
written by Linux to return an -74 (EBADMSG) when read from U-Boot. This
patch fixes mxs_nand_get_ecc_strength() to function in case of a NAND
flash with page_data_size = 4096 and page_oob_size= 224.

Signed-off-by: Elie De Brauwer <eliedebrauwer@gmail.com>
Acked-by: Scott Wood <scottwood@freescale.com>
11 years agoarm:goni:mmc: Add sd card detection and initialization.
Przemyslaw Marczak [Tue, 10 Sep 2013 09:34:49 +0000 (11:34 +0200)]
arm:goni:mmc: Add sd card detection and initialization.

This change allow to use sd card on Goni the same like mmc 0.
SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2".
SD card is inited even if eMMC initialization fails.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
11 years agoarm:mmc:goni/exynos: Fix wrong mmc base register devices offset.
Przemyslaw Marczak [Tue, 3 Sep 2013 12:57:52 +0000 (14:57 +0200)]
arm:mmc:goni/exynos: Fix wrong mmc base register devices offset.

On s5pc1xx mmc devices offset is multiply of 0x100000,
wrong value was 0x10000. Register offset always points
to mmc 0 before this change.

Add macro definition of mmc dev register offset to s5pc1xx and
exynos mmc.

Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
Acked-by: Jaehoon Chung <jh80.chung at samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
11 years agodts: samsung: arndale: Fix include path
Chander Kashyap [Tue, 10 Sep 2013 08:11:36 +0000 (13:41 +0530)]
dts: samsung: arndale: Fix include path

As per new convention ARCH_CPU_DTS is not defined in "dtc/Makefile".
Hence Arndale comilation is failing. Fix this by adding proper include
file in "board/samsung/dts/exynos5250-arndale.dts".

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
11 years agoimx: nitrogen6x/mx6qsabrelite: Fix bug in board_video_skip
Robert Winkler [Thu, 13 Jun 2013 18:32:22 +0000 (11:32 -0700)]
imx: nitrogen6x/mx6qsabrelite: Fix bug in board_video_skip

Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
11 years agoARM: mxs: Add SanDisk Sansa Fuze+ board
Marek Vasut [Sat, 31 Aug 2013 13:53:46 +0000 (15:53 +0200)]
ARM: mxs: Add SanDisk Sansa Fuze+ board

Add STMP3780-based Sansa Fuze+ board. This board is a small PMP
device sporting a CPU which was later rebranded to i.MX233 .
Currently supported is USB gadget mode and MMC .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
11 years agoARM: mxs: Add Creative ZEN XFi3 board
Marek Vasut [Sat, 31 Aug 2013 13:53:45 +0000 (15:53 +0200)]
ARM: mxs: Add Creative ZEN XFi3 board

Add STMP3780-based XFi3 board. This board is a small PMP device
sporting a CPU which was later rebranded to i.MX233 . Currently
supported is USB gadget mode and both external SD and internal
Phison SD-NAND bridge .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
11 years agomx27: add missing constant for mx27
trem [Fri, 6 Sep 2013 15:33:45 +0000 (17:33 +0200)]
mx27: add missing constant for mx27

Add some missing constant (chip select, ...)

Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
Signed-off-by: Eric Jarrige <eric.jarrige@armadeus.org>
Acked-by: Stefano Babic <sbabic@denx.de>
11 years agomx6sabresd: Add LVDS splash screen support
Fabio Estevam [Wed, 4 Sep 2013 18:12:38 +0000 (15:12 -0300)]
mx6sabresd: Add LVDS splash screen support

mx6sabresd boards can be connected to a Hannstar XGA LVDS panel.

Add support for displaying U-boot splashscreen on it.

By default, HDMI splash is selected.

In order to use splash via LVDS, do the following in the U-boot prompt:

setenv panel Hannstar-XGA
save

and reboot.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
11 years agoARM: mxs: Receive r0 and r1 passed from BootROM
Marek Vasut [Sat, 31 Aug 2013 13:53:44 +0000 (15:53 +0200)]
ARM: mxs: Receive r0 and r1 passed from BootROM

Make sure value in register r0 and r1 is preserved and passed to
the board_init_ll() and mxs_common_spl_init() where it can be
processed further. The value in r0 can be configured during the
BootStream generation to arbitary value, r1 contains pointer to
return value from CALL'd function.

This patch also clears the value in r0 before returning to BootROM
to make sure the BootROM is not confused by this value.

Finally, this patch cleans up some comments in the start.S file.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
11 years agoARM: mxs: Document the power block initialization
Marek Vasut [Sat, 31 Aug 2013 13:53:43 +0000 (15:53 +0200)]
ARM: mxs: Document the power block initialization

This patch adds documentation for the functions used during the
initialization of MXS power block.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
11 years agoARM: mxs: Sort the mx23evk and mx23_olinuxino
Marek Vasut [Sat, 31 Aug 2013 13:53:42 +0000 (15:53 +0200)]
ARM: mxs: Sort the mx23evk and mx23_olinuxino

These boards were not sortes in the boards.cfg, fix this.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
11 years agotools: mxsboot: Mark the FCB pages as valid
Marek Vasut [Tue, 27 Aug 2013 21:32:38 +0000 (23:32 +0200)]
tools: mxsboot: Mark the FCB pages as valid

Without this marker, Linux will complain that the NAND pages with
FCB are invalid.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
11 years agomx6: Fix calculation of emi_slow clock rate
Andrew Gabbasov [Thu, 4 Jul 2013 11:27:32 +0000 (06:27 -0500)]
mx6: Fix calculation of emi_slow clock rate

This is porting of Freescale's patch from version imx_v2009.08_3.0.35_4.0.0,
that fixes the obvious mistype of bits offset macro name (ACLK_EMI_PODF_OFFSET
was used instead of ACLK_EMI_SLOW_PODF_OFFSET).

Using the occasion, change the variable name 'emi_slow_pof' to more consistent
'emi_slow_podf'.

Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Acked-by: Dirk Behme <dirk.behme@de.bosch.com>
11 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-ppc4xx
Tom Rini [Mon, 9 Sep 2013 13:59:30 +0000 (09:59 -0400)]
Merge branch 'master' of git://denx.de/git/u-boot-ppc4xx

11 years agoMerge branch 'master' of git://git.denx.de/u-boot-i2c
Tom Rini [Mon, 9 Sep 2013 13:35:38 +0000 (09:35 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-i2c

11 years agopowerpc/mpc85xx: Fix the I2C bus speed error on p1022
Tang Yuantian [Fri, 6 Sep 2013 02:45:40 +0000 (10:45 +0800)]
powerpc/mpc85xx: Fix the I2C bus speed error on p1022

The source clock frequency of I2C bus on p1022 is the platform(CCB)
clock, not CCB/2. The wrong source clock frequency leads to wrong
I2C bus speed setting. so, fixed it.

Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
11 years agoSPL: P1022DS: switch to new multibus/multiadapter support
Ying Zhang [Wed, 4 Sep 2013 09:03:45 +0000 (17:03 +0800)]
SPL: P1022DS: switch to new multibus/multiadapter support

- Added section "u_boot_list" in arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
- Use the function i2c_init_all instead of i2c_init

Signed-off-by: Ying Zhang <b40530@freescale.com>
11 years agoppc4xx: Fix GPIO handling in lwmon5 and lcd4_lwmon5 BSP
Stefan Roese [Mon, 26 Aug 2013 10:08:48 +0000 (12:08 +0200)]
ppc4xx: Fix GPIO handling in lwmon5 and lcd4_lwmon5 BSP

LCD4 needs a slightly different GPIO configuration than the
original LWMON5 variant. GPIO49 needs to be configured to a
default output value of 0 (permanent voltage supply).

Additionally lcd4 also needs to enable the LSB transmitter.

Signed-off-by: Stefan Roese <sr@denx.de>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Tom Rini [Sat, 7 Sep 2013 00:25:35 +0000 (20:25 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

11 years agocam_enc_4xx: Move CONFIG_SPL_PAD_TO to a config header
Masahiro Yamada [Sun, 1 Sep 2013 06:04:27 +0000 (15:04 +0900)]
cam_enc_4xx: Move CONFIG_SPL_PAD_TO to a config header

For most boards which define CONFIG_SPL_PAD_TO,
it is defined in config header files.
Currently, there exists only one exception, cam_enc_4xx board.

This patch moves CONFIG_SPL_PAD_TO definition
from board/ait/cam_enc_4xx/config.mk
to include/configs/cam_enc_4xx.h.

With this modification, we can delete a glue code
in the top level config.mk:

ifneq ($(CONFIG_SPL_PAD_TO),)
CPPFLAGS += -DCONFIG_SPL_PAD_TO=$(CONFIG_SPL_PAD_TO)
endif

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Heiko Schocher <hs@denx.de>
11 years agoconfig.mk: Delete unnecessary code
Masahiro Yamada [Sun, 1 Sep 2013 06:04:26 +0000 (15:04 +0900)]
config.mk: Delete unnecessary code

Currently no makefiles (board-specific config.mk)
set the following variables:

CONFIG_SPL_TEXT_BASE
CONFIG_UBOOT_PAD_TO
CONFIG_RESET_VECTOR_ADDRESS
CONFIG_TPL_PAD_TO

For all target boards using above macros
they are set in header files (include/configs/*.h),
so we do not need to set them as CPPFLAGS.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
11 years agofw_env: fix writing environment for mtd devices
Oliver Metz [Thu, 29 Aug 2013 22:56:02 +0000 (00:56 +0200)]
fw_env: fix writing environment for mtd devices

Signed-off-by: Oliver Metz <oliver@freetz.org>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agofw_env: add redundant env support for MTD_ABSENT
Oliver Metz [Thu, 29 Aug 2013 22:56:01 +0000 (00:56 +0200)]
fw_env: add redundant env support for MTD_ABSENT

Signed-off-by: Oliver Metz <oliver@freetz.org>
Tested-by: Luka Perkov <luka@openwrt.org>
11 years agomail: Fix email address
Marek Vasut [Tue, 27 Aug 2013 21:32:11 +0000 (23:32 +0200)]
mail: Fix email address

Fix my email address.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@ti.com>
11 years agoAlways build u-boot.img when using CONFIG_SPL_FRAMEWORK
Henrik Nordström [Mon, 26 Aug 2013 22:37:22 +0000 (00:37 +0200)]
Always build u-boot.img when using CONFIG_SPL_FRAMEWORK

Use of uImage formatted u-boot have long been preferred, and recent
changes to better support Falcon mode on MMC now enforces it on MMC.

Signed-off-by: Henrik Nordstrom <henrik@henriknordstrom.net>
11 years agoahci: convert to use libata functions and definitions
Rob Herring [Sat, 24 Aug 2013 15:10:54 +0000 (10:10 -0500)]
ahci: convert to use libata functions and definitions

libata already has similar functions as implemented in the ahci code.
Refactor the code to use the libata variants and remove the dependency on
ata.h. Convert some defines to use the version from libata.h. Also, remove
some unnecessary memset's of bss data.

This is a step toward hopefully merging ahci.c and dw_ahsata.c which are
essentially the same driver.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agoahci: increase spin-up timeout to 20 sec
Rob Herring [Sat, 24 Aug 2013 15:10:53 +0000 (10:10 -0500)]
ahci: increase spin-up timeout to 20 sec

Based on Linux libata code, most drives are less than 10 sec, but some
need up to 20 sec.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agoahci: handle COMINIT received during spin-up
Rob Herring [Sat, 24 Aug 2013 15:10:52 +0000 (10:10 -0500)]
ahci: handle COMINIT received during spin-up

Some Intel SSDs can send a COMINIT after the initial COMRESET. This causes
the link to go down and we need to re-initialize the link.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agoahci: move link bring-up handling to separate function
Rob Herring [Sat, 24 Aug 2013 15:10:51 +0000 (10:10 -0500)]
ahci: move link bring-up handling to separate function

Move the link bring-up handling to a separate weak function in order to
allow platforms to override it. This is needed on highbank platform which
needs special phy handling.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agoahci: add defines for PORT_SCR_STAT register bits
Rob Herring [Sat, 24 Aug 2013 15:10:50 +0000 (10:10 -0500)]
ahci: add defines for PORT_SCR_STAT register bits

Replace hard-coded register values with proper defines for PORT_SCR_STAT
register.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
11 years agoahci: fix memory leak in ata_scsiop_inquiry
Rob Herring [Sat, 24 Aug 2013 15:10:49 +0000 (10:10 -0500)]
ahci: fix memory leak in ata_scsiop_inquiry

This fixes a memory leak when scsi inquiry fails.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agoahci: fix unaligned access
Rob Herring [Sat, 24 Aug 2013 15:10:48 +0000 (10:10 -0500)]
ahci: fix unaligned access

gcc 4.7 will generate unaligned accesses to local char arrays, so make
them static to avoid that.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agoahci: use ports implemented map instead of num_ports
Richard Gibbs [Sat, 24 Aug 2013 15:10:47 +0000 (10:10 -0500)]
ahci: use ports implemented map instead of num_ports

The AHCI driver was incorrectly using the Capabilities register NP (number
of ports) field to determine which ports to activate. This commit changes
it to correctly use the PORTS_IMPL register as a port map.

Signed-off-by: Richard Gibbs <richard.gibbs@calxeda.com>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agostandalone-examples: support custom GCC lib
Jack Mitchell [Tue, 16 Jul 2013 13:44:23 +0000 (14:44 +0100)]
standalone-examples: support custom GCC lib

Add support for defining the gcc lib in standalone examples as is
done in the main u-boot Makefile

Signed-off-by: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk>
11 years agofs: fat: don't call disk_write with zero sector num
Wu, Josh [Wed, 24 Jul 2013 09:55:30 +0000 (17:55 +0800)]
fs: fat: don't call disk_write with zero sector num

In the set_cluster() function, it will convert the buffer size to sector
numbers. Then call disk_write() to write by sector.
For remaining buffer, the size is less than a sector, call disk_write()
again to write them in one sector.

But if the total buffer size is less then one sector, the original code
will call disk_write() with zero sector number. It is unnecessary.
So this patch fix this. Now it will not call disk_write() if total buffer size
is less than one sector.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
11 years agocompiler_gcc: do not redefine __gnu_attributes
Jeroen Hofstee [Sat, 10 Aug 2013 15:16:50 +0000 (17:16 +0200)]
compiler_gcc: do not redefine __gnu_attributes

gcc allows extensions to be non compiler specific by defining
__* macros for the attributes supported by gcc. Having a
different definition causes many warnings during the build
(cdefs.h on FreeBSD uses __attribute((__pure__)) where u-boot
uses __attribute__((pure)) for example). Do not redefine
these macros to suppress these warnings.

This patch ignores the checkpatch warning:
WARNING: __packed is preferred over __attribute__((packed))

Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>