oweals/u-boot.git
9 years agoimx:mx6 set normal APS and standby PFM mode
Peng Fan [Tue, 27 Jan 2015 02:14:04 +0000 (10:14 +0800)]
imx:mx6 set normal APS and standby PFM mode

To normal mode, use APS switching mode.
To standy mode, use PFM switching mode.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Acked-by: Przemyslaw Marczak <p.marczak@samsung.com>
9 years agopmic: fix missing SWITCH_SIZE
Stefano Babic [Wed, 11 Feb 2015 11:35:46 +0000 (12:35 +0100)]
pmic: fix missing SWITCH_SIZE

Applying ccbb18713b279f1326479cc10664d247206e9e76,
the define disappeared. Fix it.

Signed-off-by: Stefano Babic <sbabic@denx.de>
9 years agopmic:pfuze implement pmic_mode_init
Peng Fan [Tue, 27 Jan 2015 02:14:03 +0000 (10:14 +0800)]
pmic:pfuze implement pmic_mode_init

This patch is to implement pmic_mode_init function, and add prototype
in header file.

This function is to set switching mode for pmic buck regulators to
improve system efficiency.

Mode:
OFF: The regulator is switched off and the output voltage is discharged.
PFM: In this mode, the regulator is always in PFM mode, which
     is useful at light loads for optimized efficiency.
PWM: In this mode, the regulator is always in PWM mode operation
     regardless of load conditions.
APS: In this mode, the regulator moves automatically between
     pulse skipping mode and PWM mode depending on load conditions.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Acked-by: Przemyslaw Marczak <p.marczak@samsung.com>
9 years agomx53loco: Fix boot hang during reboot stress test
Fabio Estevam [Mon, 9 Feb 2015 09:29:33 +0000 (07:29 -0200)]
mx53loco: Fix boot hang during reboot stress test

Currently by running the following test:

=> setenv bootcmd reset
=> save
=> reset

, we observe a hang after approximately 20-30 minutes of stress reboot test.

Investigation of this issue revealed that when a single DDR chip select is used,
the hang does not happen. It only happens when the two chip selects are active.

MX53 reference manual states at "28.6.2 Memory ZQ calibration sequence":

"The controller must keep the memory lines quiet (except for CK) for the ZQ
calibration time as defined in the Jedec (512 cycles for ZQCL after reset, 256
for other ZQCL and 64 for ZQCS)."

According to the SDE_0 and SDE_1 bit descriptions from register ESDCTL_ESDCTL:

"Writing 1 to SDE0 or SDE1 will initiate power up delays as JEDEC defines.
Power up delays are a function of the configured memory type (DDR2/DDR3/LPDDR2)"

So make sure to activate one chip select at time (CS0 first and then CS1 later),
so that the required JEDEC delay is respected for each chip select.

With this change applied the board has gone through three days of reboot stress
test without any hang.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
9 years agoarm: mxs: Add 'Wait for JTAG user' if booted in JTAG mode
Graeme Russ [Sun, 25 Jan 2015 01:07:53 +0000 (12:07 +1100)]
arm: mxs: Add 'Wait for JTAG user' if booted in JTAG mode

When booting in JTAG mode, there is no way to use soft break-points, and
no way of knowing when SPL has finished executing (so the user can issue
a 'halt' command to load u-boot.bin for example)

Add a debug output and simple loop to stop execution at the completion of
the SPL initialisation as a pseudo break-point when booting in JTAG mode

Signed-off-by: Graeme Russ <gruss@tss-engineering.com>
9 years agoarm: mxs: Enable booting of mx28 without battery
Graeme Russ [Sun, 25 Jan 2015 01:07:52 +0000 (12:07 +1100)]
arm: mxs: Enable booting of mx28 without battery

Section 4.1.2 of Freescale Application Note AN4199 describes the
configuration required to operate the mx28 from a 5V source without a
battery.

This patch changes the behaviour of the dropout control of the DC-DC
converter (refer to section 11.12.9 of the mx28 Application Processor
Reference Manual - Document Number: MCIMX28RM, Rev 2, 08/2013) to the
following:
 - Always use 4P2 Linear Regulator if CONFIG_SYS_MXS_VDD5V_ONLY is defined
 - Switch between 4P2 Linear Regulator and Battery, using whichever has
   the highest voltage if CONFIG_SYS_MXS_VDD5V_ONLY isnot set (this is
   the same as the pre-patch behaviour)

Signed-off-by: Graeme Russ <gruss@tss-engineering.com>
Signed-off-by: Damien Gotfroi <dgotfroi@greenwatch.be>
9 years agoarm: mxs: Add debug outputs and comments to mxs SPL source files
Graeme Russ [Sun, 25 Jan 2015 01:07:51 +0000 (12:07 +1100)]
arm: mxs: Add debug outputs and comments to mxs SPL source files

It is difficult to track down fail to boot issues in the mxs SPL.
Implement the following to make it easier:
 - Add debug outputs to allow tracing of SPL progress in order to track
where failure to boot occurs. DEUBUG and CONFIG_SPL_SERIAL_SUPPORT must
be defined to enable debug output in SPL
 - Add TODO comments where it is not clear if the code is doing what it
is meant to be doing, even tough the board boots properly (these comments
refer to existing code, not to any code added by this patch)

Signed-off-by: Graeme Russ <gruss@tss-engineering.com>
9 years agoimx: mx6: Fixed AIPS3 base address issue
Ye.Li [Wed, 14 Jan 2015 09:18:12 +0000 (17:18 +0800)]
imx: mx6: Fixed AIPS3 base address issue

Should use AIPS3 configuration address 0x0227C000 to set AIPS3,
not the AIPS3 base address.
Additional, replace AIPS1_BASE_ADDR to AIPS3_ARB_BASE_ADDR to align with
AIPS1 and AIPS2, and resolve the AIPS3_ARB_BASE_ADDR undefine problem.

Signed-off-by: Ye.Li <B37916@freescale.com>
9 years agoimx: imximage: Add QuadSPI boot support
Ye.Li [Tue, 13 Jan 2015 07:53:06 +0000 (15:53 +0800)]
imx: imximage: Add QuadSPI boot support

Add QuadSPI boot support to imximage tool.

Note: The QuadSPI configuration parameters at offset 0x400 are not
included in this patch. Need other tools to generate the parameters
part.

Signed-off-by: Ye.Li <B37916@freescale.com>
9 years agoimx: mx6qsabreauto: Change to use common GPMI IO clock function
Ye.Li [Mon, 12 Jan 2015 09:37:13 +0000 (17:37 +0800)]
imx: mx6qsabreauto: Change to use common GPMI IO clock function

Since a clock function setup_gpmi_io_clk is implemented for GPMI
IO clock settings, change to use this common function in GPMI setup.

Signed-off-by: Ye.Li <B37916@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
9 years agopmic:pfuz100 add switch mode and more registers
Peng Fan [Thu, 8 Jan 2015 13:00:36 +0000 (21:00 +0800)]
pmic:pfuz100 add switch mode and more registers

Add more pfuze register offset.
And switch mode definition.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
9 years agopmic:pfuze add macro for setting voltage
Peng Fan [Fri, 9 Jan 2015 08:59:41 +0000 (16:59 +0800)]
pmic:pfuze add macro for setting voltage

"#define PFUZE100_SW1ABC_SETP(x) ((x - 3000) / 250)"
This macro is for configuring SW1A/B/C Output Voltage easily.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
9 years agoimx:mx6 update fuse_bank0_regs
Peng Fan [Fri, 9 Jan 2015 08:59:40 +0000 (16:59 +0800)]
imx:mx6 update fuse_bank0_regs

Update fuse_bank0_regs structure according reference mannual.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
9 years agoarm, imx6, aristainetos: board updates
Heiko Schocher [Tue, 20 Jan 2015 09:06:18 +0000 (10:06 +0100)]
arm, imx6, aristainetos: board updates

- use linux display timing settings
- change backlight duty cycle 500ns
- some defaultenvironment changes
- change fit_addr_r to 0x14000000 as needed if
  MAX_LOCKDEP_SUBCLASSES in linux gets increased.
- Environment now at 0xd0000 in nand flash

Signed-off-by: Heiko Schocher <hs@denx.de>
9 years agocommon: convert compulab splash load code to common code
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:54 +0000 (10:42 +0200)]
common: convert compulab splash load code to common code

Move board/compulab/common/splash.c code to
common/splash_source.c to make it available for everybody. This move
renames cl_splash_screen_prepare() to splash_source_load(), and
the compilation of this code is conditional on CONFIG_SPLASH_SOURCE.

splash_source features:
* Provide a standardized way for declaring board specific splash screen
  locations
* Provide existing routines for auto loading the splash image from the
  locations as declared by the board
* Introduce the "splashsource" environment variable, which makes it
  possible to select the splash image source.

cm-t35 and cm-fx6 are updated to use the modified version.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Tom Rini <trini@ti.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoarm: mx6: cm-fx6: add splash screen support
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:53 +0000 (10:42 +0200)]
arm: mx6: cm-fx6: add splash screen support

Add support for splash screen.
The splash screen is loaded from the SPI flash and is displayed on the
HDMI display.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
[grinberg@compulab.co.il: minor code and commit message updates]
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
9 years agocompulab: splash: support loading splash from sf
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:52 +0000 (10:42 +0200)]
compulab: splash: support loading splash from sf

Add support for loading splash from sf.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
[grinberg@compulab.co.il: staticize the sf global variable]
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
9 years agocompulab: splash: support multiple splash sources
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:51 +0000 (10:42 +0200)]
compulab: splash: support multiple splash sources

Define a generic way for boards to define splash image locations:
- introduce struct splash_location
- introduce enum splash_storage
- update cl_splash_screen_prepare() to take an array of above struct
  and select the appropriate one based on the splashsource environment
  variable (if it is not defined- use the first splash location as default).

cm-t35 is updated to work with the new interface.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agocompulab: splash: refactor splash.c
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:50 +0000 (10:42 +0200)]
compulab: splash: refactor splash.c

Move storage device specific code into its own function instead of
calling it directly from an otherwise storage device independent
function (cl_splash_screen_prepare).

This is a preparation for supporting multiple splash locations.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agocompulab: splash: use errno values
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:49 +0000 (10:42 +0200)]
compulab: splash: use errno values

Use errno values to improve return reporting.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoarm: mx6: cm-fx6: add support for usb keyboard
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:48 +0000 (10:42 +0200)]
arm: mx6: cm-fx6: add support for usb keyboard

Add support for usb keyboard for cm_fx6.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoarm: mx6: cm-fx6: display compulab logo
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:47 +0000 (10:42 +0200)]
arm: mx6: cm-fx6: display compulab logo

Add compulab logo and display it on boot.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoarm: mx6: cm-fx6: add hdmi console support
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:46 +0000 (10:42 +0200)]
arm: mx6: cm-fx6: add hdmi console support

Add support for hdmi console.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoarm: mx6: cm-fx6: increase size of malloc area
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:45 +0000 (10:42 +0200)]
arm: mx6: cm-fx6: increase size of malloc area

Increase size of malloc area to make room for framebuffer
and other such big allocations.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
9 years agoarm: mx6: cm-fx6: pass 2nd nic mac addr to Linux
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:44 +0000 (10:42 +0200)]
arm: mx6: cm-fx6: pass 2nd nic mac addr to Linux

Obtain 2nd NIC MAC address from baseboard EEPROM and pass it to Linux.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agocompulab: eeprom: allow reading mac address from multiple eeproms
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:43 +0000 (10:42 +0200)]
compulab: eeprom: allow reading mac address from multiple eeproms

Implement the option to select the eeprom i2c bus when reading mac
address.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Ilya Ledvich <ilya@compulab.co.il>
Cc: Dmitry Lifshitz <lifshitz@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoarm: mx6: cm-fx6: change dtb node for ethaddr
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:42 +0000 (10:42 +0200)]
arm: mx6: cm-fx6: change dtb node for ethaddr

When passing eth address to Linux via dtb, the "local-mac-address"
property should be set for "/soc/aips-bus@02100000/ethernet@02188000",
not "/fec".

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoarm: mx6: cm-fx6: expand boot sequence
Nikita Kiryanov [Wed, 14 Jan 2015 08:42:41 +0000 (10:42 +0200)]
arm: mx6: cm-fx6: expand boot sequence

Expand boot sequence to the following order:
1) mmc boot: mmc boot script, then mmc bootm, then mmc bootz.
2) usb boot: usb boot script.
3) sata boot: sata boot script, sata bootm, sata bootz.
4) nand boot: nand bootm, then nand bootz.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoot1200: add ot1200_spl_defconfig file
Christian Gmeiner [Mon, 19 Jan 2015 16:26:50 +0000 (17:26 +0100)]
ot1200: add ot1200_spl_defconfig file

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Stefano Babic <sbabic@denx.de>#
9 years agoot1200: add basic SPL support
Christian Gmeiner [Mon, 19 Jan 2015 16:26:49 +0000 (17:26 +0100)]
ot1200: add basic SPL support

Currently we only support the Micron MT41K128M16JT-125 ddr3 chip.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
9 years agoot1200: add SPL configuration
Christian Gmeiner [Mon, 19 Jan 2015 16:26:48 +0000 (17:26 +0100)]
ot1200: add SPL configuration

We will only support loading u-boot.img from SPI flash stored
at the offset of 64k.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
9 years agoot1200: enable spi clock directly in ccgr_init(..)
Christian Gmeiner [Mon, 19 Jan 2015 16:26:47 +0000 (17:26 +0100)]
ot1200: enable spi clock directly in ccgr_init(..)

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
9 years agoot1200: move ccgr and gpr init to c functions
Christian Gmeiner [Mon, 19 Jan 2015 16:26:46 +0000 (17:26 +0100)]
ot1200: move ccgr and gpr init to c functions

We need this way for SPL boot.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
9 years agoot1200: make use of imx_ddr_size(..)
Christian Gmeiner [Mon, 19 Jan 2015 16:26:45 +0000 (17:26 +0100)]
ot1200: make use of imx_ddr_size(..)

To support different ddr3 memory sizes we should start using
imx_ddr_size(..) instead of the define PHYS_SDRAM_SIZE.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
9 years agoot1200: select SUPPORT_SPL
Christian Gmeiner [Mon, 19 Jan 2015 16:26:44 +0000 (17:26 +0100)]
ot1200: select SUPPORT_SPL

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
9 years agomx6: fix warning in platinum board
Stefano Babic [Thu, 22 Jan 2015 09:09:00 +0000 (10:09 +0100)]
mx6: fix warning in platinum board

Fix warning due to missing prototype for writel

Signed-off-by: Stefano Babic <sbabic@denx.de>
Acked-by: Stefan Roese <sr@denx.de>
9 years agoimx: mx6: Change ENV offset to 512K bytes for larger u-boot image
Ye.Li [Fri, 16 Jan 2015 08:47:44 +0000 (16:47 +0800)]
imx: mx6: Change ENV offset to 512K bytes for larger u-boot image

To align with other mx6 boards, change ENV offset from 384KB to
512KB position to fit a larger u-boot image.

Signed-off-by: Ye.Li <B37916@freescale.com>
9 years agoimx:mx6sxsabresd board spl support
Peng Fan [Tue, 30 Dec 2014 09:24:03 +0000 (17:24 +0800)]
imx:mx6sxsabresd board spl support

Add board level spl support for mx6sxsabresd board.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
9 years agoimx:mx6 add mx6sx in imx spl header file
Peng Fan [Tue, 30 Dec 2014 09:24:02 +0000 (17:24 +0800)]
imx:mx6 add mx6sx in imx spl header file

Since mx6sx's memory space is different to mx6dq, redefine the SPL
related macro for mx6sx chip.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
9 years agoimx:mx6sx add dram io configure for mx6sx
Peng Fan [Tue, 30 Dec 2014 09:24:01 +0000 (17:24 +0800)]
imx:mx6sx add dram io configure for mx6sx

Define two structure mx6sx_iomux_ddr_regs and mx6sx_iomux_grp_regs.
Add a new function mx6sx_dram_iocfg to configure dram io.

Since mx6sx only have one channel mmdc0, define a new empty macro MMDC1
to replace mmdc1->entry=value for mx6sx. And to other mx6 soc, MMDC1
effects as "mmdc1->entry=value".

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
9 years agoimx:mx6sxsabresd spl support in header file
Peng Fan [Tue, 30 Dec 2014 09:24:00 +0000 (17:24 +0800)]
imx:mx6sxsabresd spl support in header file

Add SPL support in mx6sxsabresd header file.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
9 years agoimx:mx6sxsabresd select SUPPORT_SPL
Peng Fan [Tue, 30 Dec 2014 09:23:59 +0000 (17:23 +0800)]
imx:mx6sxsabresd select SUPPORT_SPL

select SUPPORT_SPL for mx6sxsabresd.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
9 years agoimx:mx6sxsabresd add spl config file
Peng Fan [Tue, 30 Dec 2014 09:23:58 +0000 (17:23 +0800)]
imx:mx6sxsabresd add spl config file

Add a SPL default configuration file for mx6sxsabresd board.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
9 years agomxsboot : Support of 224-bytes OOB area length
Alexandre Coffignal [Thu, 8 Jan 2015 16:14:42 +0000 (17:14 +0100)]
mxsboot : Support of 224-bytes OOB area length

Add support for the NAND Flash chip with page size of 4096+224-bytes OOB area length

For example Micron MT29F4G08 NAND flash device defines a OOB area which is
224 bytes long (oobsize).

Signed-off-by: Alexandre Coffignal <acoffignal@geral.com>
9 years agoarm: mx6: Add Barco platinum-picon and platinum-titanium
Stefan Roese [Wed, 10 Dec 2014 09:15:23 +0000 (10:15 +0100)]
arm: mx6: Add Barco platinum-picon and platinum-titanium

This patch adds the new Barco platinum platform. It currently
includes those two boards:

platinum-titanium
-----------------
This is the same board as the titanium that is already supported in
mainline U-Boot. But its now moved to this new platform to support
multiple "flavors" of imx6 boards in one directory. Its also moved
to support SPL booting. And with this we use the run-time DDR
configuration of this SPL support. The board is equipped with the
Micron MT41J128M16JT-125 DDR chips. We now can remove the DDR
related registers tuples from the imximage.cfg file. As all this
is done in the SPL at run-time.

platinum-picon
--------------
This board is new and based on the MX6DL with 1GiB DDR using the
Micron MT41K256M16HA DDR3 chips. Its also equipped with 2 NAND
chips (each 512MiB).

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Pieter Ronsijn <pieter.ronsijn@barco.com>
9 years agomx6sxsabresd: Remove unneeded board_late_init()
Fabio Estevam [Mon, 29 Dec 2014 18:23:17 +0000 (16:23 -0200)]
mx6sxsabresd: Remove unneeded board_late_init()

Since commit 1f98e31bc0b2c37a ("imx: mx6sxsabresd: Use the pfuze common init
function") board_late_init() became empty, so we can safely remove this unneeded
function.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
9 years agowandboard: Use 32bit color depth for Fusion LCD
Otavio Salvador [Thu, 15 Jan 2015 15:32:29 +0000 (13:32 -0200)]
wandboard: Use 32bit color depth for Fusion LCD

The Fusion LCD needs the 32bit color depth to properly work; the
default is different on the 3.10.17 kernels and it is better to ensure
it work out of box using proper default color setting.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-ti
Tom Rini [Thu, 15 Jan 2015 19:05:31 +0000 (14:05 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-ti

9 years agopowerpc: 74xx_7xx: remove 74xx_7xx cpu support
Masahiro Yamada [Thu, 15 Jan 2015 08:13:24 +0000 (17:13 +0900)]
powerpc: 74xx_7xx: remove 74xx_7xx cpu support

All the 74xx_7xx boards are still non-generic boards:
P3G4, ZUMA, ppmc7xx, ELPPC, mpc7448hpc2

Acked-by: Marek Vasut <marex@denx.de>
Acked-by: Stefan Roese <sr@denx.de>
Acked-by: York Sun <yorksun@freescale.com>
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Nye Liu <nyet@zumanetworks.com>
Cc: Roy Zang <tie-fei.zang@freescale.com>
9 years agompc8xx: remove unused linker script
Masahiro Yamada [Thu, 15 Jan 2015 08:12:19 +0000 (17:12 +0900)]
mpc8xx: remove unused linker script

Now TQM8xx is the only remaining board family of mpc8xx.
It uses its own linker script, board/tqc/tqm8xx/u-boot.lds.

arch/powerpc/cpu/mpc8xx/u-boot.lds is not used by any boards.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
9 years agoppc4xx: remove dead code
Masahiro Yamada [Thu, 15 Jan 2015 08:10:56 +0000 (17:10 +0900)]
ppc4xx: remove dead code

Since commit 843125daebd7 (ppc4xx: remove HH405 board), CONFIG_HH405
is not defined.

Since commit d52633047913 (ppc4xx: remove PMC405), CONFIG_PMC405
is not defined.

Acked-by: Stefan Roese <sr@denx.de>
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Matthias Fuchs <matthias.fuchs@esd.eu>
9 years agoMerge branch 'buildman' of git://git.denx.de/u-boot-x86
Tom Rini [Thu, 15 Jan 2015 15:18:05 +0000 (10:18 -0500)]
Merge branch 'buildman' of git://git.denx.de/u-boot-x86

9 years agobuildman: Add an option to write the full build output
Simon Glass [Tue, 2 Dec 2014 00:34:07 +0000 (17:34 -0700)]
buildman: Add an option to write the full build output

Normally buildman runs with 'make -s' meaning that only errors and warnings
appear in the log file. Add a -V option to run make in verbose mode, and
with V=1, causing a full build log to be created.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Add the option to download toolchains from kernel.org
Simon Glass [Tue, 2 Dec 2014 00:34:06 +0000 (17:34 -0700)]
buildman: Add the option to download toolchains from 

The site at https://www.kernel.org/pub/tools/crosstool/ is a convenient
repository of toolchains which can be used for U-Boot. Add a feature to
download and install a toolchain for a selected architecture automatically.

It isn't clear how long this site will stay in the current place and
format, but we should be able to rely on bug reports if it changes.

Suggested-by: Marek Vašut <marex@denx.de>
Suggested-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Allow architecture to alias to multiple toolchains
Simon Glass [Tue, 2 Dec 2014 00:34:05 +0000 (17:34 -0700)]
buildman: Allow architecture to alias to multiple toolchains

Some archs have need than one alias, so support a list of alises in the
..buildman file.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Don't use the local settings when running tests
Simon Glass [Tue, 2 Dec 2014 00:34:04 +0000 (17:34 -0700)]
buildman: Don't use the local settings when running tests

We should create a test setting file when running testes, not use whatever
happens to be on the local machine.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Don't complain about missing sections in ~/.buildman
Simon Glass [Tue, 2 Dec 2014 00:34:03 +0000 (17:34 -0700)]
buildman: Don't complain about missing sections in ~/.buildman

Silently ignore this since it is valid to have missing sections.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Add documentation about the .buildman file
Simon Glass [Tue, 2 Dec 2014 00:34:02 +0000 (17:34 -0700)]
buildman: Add documentation about the .buildman file

This file is only partially documented. Add some more details.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Wolfgang Denk <wd@denx.de>
9 years agobuildman: Add a note about Python pre-requisites
Simon Glass [Tue, 2 Dec 2014 00:34:01 +0000 (17:34 -0700)]
buildman: Add a note about Python pre-requisites

Since we need a few modules which might not be available in a bare-bones
distribution, add a note about that to the README.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Wolfgang Denk <wd@denx.de>
9 years agobuildman: Add an option to use the full tool chain path
Simon Glass [Tue, 2 Dec 2014 00:34:00 +0000 (17:34 -0700)]
buildman: Add an option to use the full tool chain path

In some cases there may be multiple toolchains with the same name in the
path. Provide an option to use the full path in the CROSS_COMPILE
environment variable.

Note: Wolfgang mentioned that this is dangerous since in some cases there
may be other tools on the path that are needed. So this is set up as an
option, not the default. I will need test confirmation (i.e. that this
commit fixes a real problem) before merging it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Steve Rae <srae@broadcom.com>
9 years agobuildman: Put the toolchain path first instead of last in PATH
Simon Glass [Tue, 2 Dec 2014 00:33:59 +0000 (17:33 -0700)]
buildman: Put the toolchain path first instead of last in PATH

If:

1. Toolchains A and B have the same filename
2. Toolchain A is in the PATH
3. Toolchain B is given in ~/.buildman and buildman uses it to build

then buildman will add toolchain B to the end of its path but will not
necessarily use it since U-Boot will find toolchain A first in the PATH.

Try to fix this by putting the toolchain first in the path instead of
last.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Try to avoid hard-coded string parsing
Simon Glass [Tue, 2 Dec 2014 00:33:58 +0000 (17:33 -0700)]
buildman: Try to avoid hard-coded string parsing

The assumption that the compiler name will always end in gcc is incorrect
for clang and apparently on BSD.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Allow specifying a range of commits to build
Simon Glass [Tue, 2 Dec 2014 00:33:57 +0000 (17:33 -0700)]
buildman: Allow specifying a range of commits to build

Adjust the -b flag to permit a range expression as well as a branch.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
9 years agobuildman: Don't remove entire output directory when testing
Simon Glass [Tue, 2 Dec 2014 00:33:56 +0000 (17:33 -0700)]
buildman: Don't remove entire output directory when testing

When running tests the output directory is often wiped. This is only safe if
a branch is being built. The output directory may contain other things
besides the buildman test output.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Add an option to flatten output directory trees
Simon Glass [Tue, 2 Dec 2014 00:33:55 +0000 (17:33 -0700)]
buildman: Add an option to flatten output directory trees

When building current source for a single board, buildman puts the output
in <output_dir>/current/current/<board>. Add an option to make it use
<output_dir>/<board> instead. This removes the unnecessary directories
in that case, controlled by the --no-subdirs/-N option.

Suggested-by: Tom Rini <trini@ti.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Try to guess the upstream commit
Simon Glass [Tue, 2 Dec 2014 00:33:54 +0000 (17:33 -0700)]
buildman: Try to guess the upstream commit

Buildman normally obtains the upstream commit by asking git. Provided that
the branch was created with 'git checkout -b <branch> <some_upstream>' then
this normally works.

When there is no upstream, we can try to guess one, by looking up through
the commits until we find a branch. Add a function to try this and print
a warning if buildman ends up relying on it.

Also update the documentation to match.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Wolfgang Denk <wd@denx.de>
9 years agobuildman: Don't prune output space for 'current source' build
Simon Glass [Tue, 2 Dec 2014 00:33:53 +0000 (17:33 -0700)]
buildman: Don't prune output space for 'current source' build

This is not needed since we always do a full (non-incremental) build. Also
it might be dangerous since it will try to delete everything below the
base directory.

Fix this potentially nasty bug.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Put build in 'current', not 'current/current'
Simon Glass [Tue, 2 Dec 2014 00:33:52 +0000 (17:33 -0700)]
buildman: Put build in 'current', not 'current/current'

Buildman currently puts current-source builds in a current/current
subdirectory, but there is no need for the extra depth.

Suggested-by: Albert Aribaud <albert.u.boot@aribaud.net>
Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobuildman: Add tests that check the correct output directory is used
Simon Glass [Tue, 2 Dec 2014 00:33:51 +0000 (17:33 -0700)]
buildman: Add tests that check the correct output directory is used

Add a few tests of the output directory logic.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoMerge branch 'next' of git://git.denx.de/u-boot-video
Tom Rini [Wed, 14 Jan 2015 21:26:15 +0000 (16:26 -0500)]
Merge branch 'next' of git://git.denx.de/u-boot-video

9 years agonet: Declare physical address as phys_addr_t unsigned type
Michal Simek [Wed, 14 Jan 2015 15:00:39 +0000 (16:00 +0100)]
net: Declare physical address as phys_addr_t unsigned type

Use phys_addr_t instead of int for addresses.
Addresses can't be < 0.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agoARM: armv8: Fix typo in commentary
Michal Simek [Wed, 14 Jan 2015 14:36:35 +0000 (15:36 +0100)]
ARM: armv8: Fix typo in commentary

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agodoc: ARM: Use the right function name
Michal Simek [Wed, 14 Jan 2015 14:36:34 +0000 (15:36 +0100)]
doc: ARM: Use the right function name

Trivial fix.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agoKconfig: move CONFIG_SYS_CLK_FREQ to Kconfig
Alexey Brodkin [Tue, 13 Jan 2015 15:49:01 +0000 (18:49 +0300)]
Kconfig: move CONFIG_SYS_CLK_FREQ to Kconfig

It makes sense to specify CONFIG_SYS_CLK_FREQ in "configs/xx_defconfig"
instead of "include/configs/xxx.h" because then header will be reusable
across boards with different CPU clocks.

Also this nice to have an ability for end user to tune this value
himself via "menuconfig".

For now I'm only applying this change to all ARC configs because
otherwise scope of change will be huge.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Tom Rini <trini@ti.com>
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Hans de Goede <hdegoede@redhat.com>
cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
9 years agospl: spl_nor: surround Linux-load code with #ifdef CONFIG_SPL_OS_BOOT
Masahiro Yamada [Thu, 8 Jan 2015 10:23:35 +0000 (19:23 +0900)]
spl: spl_nor: surround Linux-load code with #ifdef CONFIG_SPL_OS_BOOT

If CONFIG_SPL_NOR_SUPPORT is defined, spl_nor_load_image() requires
spl_start_uboot(), CONFIG_SYS_OS_BASE, CONFIG_SYS_SPL_ARGS_ADDR,
CONFIG_SYS_FDT_BASE to be defined even if users just want to run
U-Boot, not Linux.  This is inconvenient.

This patch is following the codying style of common/spl/spl_nand.c.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
9 years agoimage: Enable OpenRTOS booting via fitImage
Marek Vasut [Tue, 16 Dec 2014 13:07:22 +0000 (14:07 +0100)]
image: Enable OpenRTOS booting via fitImage

Allow booting the OpenRTOS payloads via fitImage image type.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoimage: bootm: Add OpenRTOS image type
Marek Vasut [Tue, 16 Dec 2014 13:07:21 +0000 (14:07 +0100)]
image: bootm: Add OpenRTOS image type

Add separate image type for the Wittenstein OpenRTOS .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agoAdd support for Seagate BlackArmor NAS220
Evgeni Dobrev [Mon, 8 Dec 2014 16:49:42 +0000 (17:49 +0100)]
Add support for Seagate BlackArmor NAS220

Add support for Seagate BlackArmor NAS220

Signed-off-by: Evgeni Dobrev <evgeni@studio-punkt.com>
9 years agoarm: vf610: Remove duplicate MTD defines.
Bill Pringlemeir [Wed, 3 Dec 2014 18:40:58 +0000 (13:40 -0500)]
arm: vf610: Remove duplicate MTD defines.

Some MTD defines are repeated twice; once with UBI and then with MTD.
Remove the duplicate MTD defines from the UBI grouping.

Signed-off-by: Bill Pringlemeir <bpringlemeir@nbsps.com>
9 years agolzo: Update dst_len even on error
Simon Glass [Tue, 2 Dec 2014 20:17:40 +0000 (13:17 -0700)]
lzo: Update dst_len even on error

This allows the caller to easily detect how much of the destination buffer
has been used.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agogunzip: Update lenp even on error
Simon Glass [Tue, 2 Dec 2014 20:17:39 +0000 (13:17 -0700)]
gunzip: Update lenp even on error

This allows the caller to easily detect how much of the destination buffer
has been used.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobzlib: Update destLen even on error
Simon Glass [Tue, 2 Dec 2014 20:17:38 +0000 (13:17 -0700)]
bzlib: Update destLen even on error

This allows the caller to easily detect how much of the destination buffer
has been used.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobootm: Factor out common parts of image decompression code
Simon Glass [Tue, 2 Dec 2014 20:17:37 +0000 (13:17 -0700)]
bootm: Factor out common parts of image decompression code

Adjust the code so that the error reporting can all be done at the end,
and is the same for each decompression method. Try to detect when
decompression fails due to lack of space. Keep the behaviour of
resetting on failure even though there should be no memory corruption
now.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobootm: Use print_decomp_msg() in all cases
Simon Glass [Tue, 2 Dec 2014 20:17:36 +0000 (13:17 -0700)]
bootm: Use print_decomp_msg() in all cases

Refactor to allow this function to be used to announce the image being
loaded regardless of compression type and even when there is no
decompression.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agotest: Add unit tests for bootm image decompression
Simon Glass [Tue, 2 Dec 2014 20:17:35 +0000 (13:17 -0700)]
test: Add unit tests for bootm image decompression

Use each compression method (including uncompressed). Test for normal
operation, insufficient space and corrupted data.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agotest: Rename test_compression to ut_compression
Simon Glass [Tue, 2 Dec 2014 20:17:34 +0000 (13:17 -0700)]
test: Rename test_compression to ut_compression

Try to keep the names of the unit test commands consistent.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobootm: Export bootm_decomp_image()
Simon Glass [Tue, 2 Dec 2014 20:17:33 +0000 (13:17 -0700)]
bootm: Export bootm_decomp_image()

Export this function for testing. Also add a parameter so that values other
than CONFIG_SYS_BOOTM_LEN can be used for the maximum uncompressed size.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agotest: Add DEBUG output option to test-fit.py
Simon Glass [Tue, 2 Dec 2014 20:17:32 +0000 (13:17 -0700)]
test: Add DEBUG output option to test-fit.py

Sometimes it is useful to see the output from U-Boot, so add an option to
make this easier.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agosandbox: Correct ordering of 'sb save' commands
Simon Glass [Tue, 2 Dec 2014 20:17:31 +0000 (13:17 -0700)]
sandbox: Correct ordering of 'sb save' commands

Prior to commit d455d87 there was an inconsistency between the position of
the 'address' parameter in 'sb load' and 'sb save'. This was corrected but
it broke some tests. Fix the tests and also the help for 'sb save'.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agobootm: Move compression progress/error messages into a function
Simon Glass [Tue, 2 Dec 2014 20:17:30 +0000 (13:17 -0700)]
bootm: Move compression progress/error messages into a function

This code is repeated in several places, and does not detect a common
fault where the image is too large. Move it into its own function and
provide a more helpful messages in this case, for compression schemes
which support this.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agolzma: fix buffer bound check error further
Simon Glass [Tue, 2 Dec 2014 20:17:29 +0000 (13:17 -0700)]
lzma: fix buffer bound check error further

Commit 4d3b8a0d fixed a problem with lzma decompress where it would
run out of bytes to decompress. The algorithm needs to know how many
uncompressed bytes it is expected to produce.

However, the fix introduced a potential buffer overrun, and causes
the compression test to fail (test_compression command in sandbox).

The correct fix seems to be to use the minimum of the expected number
of uncompressed bytes and the amount of output space available. That
way things work normally when there is enough space, and return an
error (without overrunning available space) when there is not.

Signed-off-by: Antonios Vamporakis <ant@area128.com>
CC: Kees Cook <keescook@chromium.org>
CC: Simon Glass <sjg@chromium.org>
CC: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
CC: Luka Perkov <luka@openwrt.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agocommon/memsize.c: Coding style cleanup
Wolfgang Denk [Tue, 21 Oct 2014 20:14:10 +0000 (22:14 +0200)]
common/memsize.c: Coding style cleanup

Prepare code to make later modifications checkpatch-clean.

Signed-off-by: Wolfgang Denk <wd@denx.de>
9 years ago.travis.yml: build u-boot on travis-ci
Meier, Roger [Wed, 19 Nov 2014 14:26:18 +0000 (15:26 +0100)]
.travis.yml: build u-boot on travis-ci

Goal:
  - building all variants of U-Boot with multiple configurations
  - code quality checks and metrics
  - https://travis-ci.org/u-boot/u-boot/builds

9 years agoMerge branch 'buildman' of git://git.denx.de/u-boot-x86
Tom Rini [Wed, 14 Jan 2015 16:00:38 +0000 (11:00 -0500)]
Merge branch 'buildman' of git://git.denx.de/u-boot-x86

Conflicts:
tools/buildman/control.py

Signed-off-by: Tom Rini <trini@ti.com>
9 years agoREADME.scrapyard: fill commit and date fields
Masahiro Yamada [Wed, 14 Jan 2015 03:35:24 +0000 (12:35 +0900)]
README.scrapyard: fill commit and date fields

This commit was generated by the following command:

    scripts/fill_scrapyard.py

The commit-ID of CPCIISER4 removal has been fixed by hand because
the board was removed by commit 370572601027 (ppc4xx: remove CPCIISER4
board), but it was added to README.scrapyard by commit 9a4018e09a2f
(ppc4xx: remove DP405 board).

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
9 years agoscripts: add a utility to fill blank fields of doc/README.scrapyard
Masahiro Yamada [Wed, 14 Jan 2015 03:35:23 +0000 (12:35 +0900)]
scripts: add a utility to fill blank fields of doc/README.scrapyard

We are removing bunch of non-generic boards these days.

Updating doc/README.scrapyard is a really tedious task, but it can
be automated.  I hope this tool will make our life easier.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 years agosunxi: usbc: Add support for usb-vbus0 controller by axp drivebus pin
Hans de Goede [Sun, 11 Jan 2015 18:33:35 +0000 (19:33 +0100)]
sunxi: usbc: Add support for usb-vbus0 controller by axp drivebus pin

The axp221 / axp223's N_VBUSEN pin can be configured as an output rather
then an input, and this is used on some boards to control usb-vbus0, add
support for this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: usbc: Add support for usb0 to the common usbc code
Hans de Goede [Wed, 7 Jan 2015 14:26:06 +0000 (15:26 +0100)]
sunxi: usbc: Add support for usb0 to the common usbc code

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: Move usb-controller init code out of ehci-sunxi.c for reuse for otg
Hans de Goede [Wed, 7 Jan 2015 14:08:43 +0000 (15:08 +0100)]
sunxi: Move usb-controller init code out of ehci-sunxi.c for reuse for otg

Most of the usb-controller init code found in ehci-sunxi.c also is necessary
to init the otg usb controller, so move it to a common place.

While at it also update various #ifdefs / defines for sun8i support.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
9 years agosunxi: axp221: Add support for controlling the drivebus pin
Hans de Goede [Sun, 11 Jan 2015 18:58:03 +0000 (19:58 +0100)]
sunxi: axp221: Add support for controlling the drivebus pin

The axp221 / axp223's N_VBUSEN pin can be configured as an output rather
then an input, add axp_drivebus_enable() and _disable() functions to set
the pin in output mode and control it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>