platform/kernel/u-boot.git
13 years agoenv: make import/export optional
Mike Frysinger [Mon, 27 Dec 2010 04:09:45 +0000 (23:09 -0500)]
env: make import/export optional

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agodisk/part.c: fix potential stack overflow bug
Lei Wen [Tue, 15 Feb 2011 08:56:40 +0000 (16:56 +0800)]
disk/part.c: fix potential stack overflow bug

If the param pass to get_dev is not the one defined in the block_drvr,
it could make uboot becomes unstable, for it would continue run after
search complete the block_drvr table.

Signed-off-by: Lei Wen <leiwen@marvell.com>
13 years agoAdd support for dataflash to U-boot environment settings tool.
Remy Bohmer [Sat, 12 Feb 2011 18:06:26 +0000 (19:06 +0100)]
Add support for dataflash to U-boot environment settings tool.

* The sector size for SPI-dataflash (like AT45 flashes) are not always
  a power-of-2. So, the sector calculations are rewritten such that it
  works for either power-of-2 as any size sectors.
* Make the flash sector size optional in case it is the same value as
  the environment size.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
13 years agomkimage: add "-V" option to print version information
Wolfgang Denk [Sat, 12 Feb 2011 09:37:11 +0000 (10:37 +0100)]
mkimage: add "-V" option to print version information

Signed-off-by: Wolfgang Denk <wd@denx.de>
13 years agoftwdt010_wdt: move header to include/faraday and enhance
Macpaul Lin [Tue, 12 Apr 2011 05:04:02 +0000 (13:04 +0800)]
ftwdt010_wdt: move header to include/faraday and enhance

1. Move header to include/faraday
2. Fix include path in ftwdt010_wdt.c
3. Fix function prototype and declaration to
  - ftwdt010_wdt_settimeout
  - ftwdt010_wdt_reset
  - ftwdt010_wdt_disable
4. Add "#if definde (CONFIG_HW_WATCHDOG)" let user have flexibilty
  to choose which better to his product.

Signed-off-by: Macpaul Lin <macpaul@andestech.com>
13 years agocommon/cmd_bdinfo.c: fix do_bdinfo() for AVR32
Andreas Bießmann [Wed, 9 Feb 2011 14:10:31 +0000 (15:10 +0100)]
common/cmd_bdinfo.c: fix do_bdinfo() for AVR32

This patch fixes following warning message:

---8<---
cmd_bdinfo.c:458: warning: initialization from incompatible pointer type
--->8---

There was a prototype change in 54841ab50c20d6fa6c9cc3eb826989da3a22d934 for
argv[] pointer type to const. This change was not made for AVR32 cause this
code came in later by a merge.

Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
13 years agocmd_nvedit: use explicit typecast for printf
Andreas Bießmann [Wed, 9 Feb 2011 14:10:29 +0000 (15:10 +0100)]
cmd_nvedit: use explicit typecast for printf

This patch fixes warnings in MAKEALL for avr32:

---8<---
cmd_nvedit.c: In function 'do_env_export':
cmd_nvedit.c:663: warning: format '%zX' expects type 'size_t', but argument 3 has type 'ssize_t'
--->8---

Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
13 years agoMake STANDALONE_LOAD_ADDR configurable per board
Wolfgang Denk [Fri, 4 Feb 2011 13:25:17 +0000 (14:25 +0100)]
Make STANDALONE_LOAD_ADDR configurable per board

Rename STANDALONE_LOAD_ADDR into CONFIG_STANDALONE_LOAD_ADDR
and allow that the architecture-specific default value gets
overwritten by defining the value in the board header file.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Cc: Daniel Hellstrom <daniel@gaisler.com>
Cc: Tsi Chung Liew <tsi-chung.liew@freescale.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
13 years agoDrop config.h include in tools/imximage.h
Loïc Minier [Thu, 3 Feb 2011 14:07:01 +0000 (15:07 +0100)]
Drop config.h include in tools/imximage.h

"make tools-all" should allow building tools such as mkimage and the new
imximage without any config, but imximage.c currently fails to build
with:
imximage.h:27:20: error: config.h: No such file or directory

config.h is not needed in imximage.h nor in imximage.c, and imximage.h
is only included from imximage.c, so drop this include to fix the build.

Signed-off-by: Loïc Minier <loic.minier@linaro.org>
13 years agoFix misc spelling errors found by lintian
Loïc Minier [Thu, 3 Feb 2011 21:04:26 +0000 (22:04 +0100)]
Fix misc spelling errors found by lintian

Signed-off-by: Loïc Minier <loic.minier@linaro.org>
13 years agoFix gunzip to work for any gziped uImage size
Catalin Radu [Fri, 4 Feb 2011 12:35:47 +0000 (14:35 +0200)]
Fix gunzip to work for any gziped uImage size

Signed-off-by: Catalin Radu <Catalin@VirtualMetrix.com>
13 years agoFix min/max macros in include/common.h
Aaron Williams [Tue, 1 Feb 2011 03:55:50 +0000 (19:55 -0800)]
Fix min/max macros in include/common.h

There is a bug in the min and max macros in common.h which occurs if
Y is a larger type than X. For example, if Y is a 64-bit value and X
is a 32-bit value then Y will be truncated to 32-bits.  This fix
matches what is done in the Linux kernel but without the additional
type checking present in the kernel version.

Signed-off-by: Aaron Williams <aaron.williams@caviumnetworks.com>
13 years agoftwdt010_wdt: support faraday ftwdt010 watchdog
Macpaul Lin [Wed, 26 Jan 2011 10:46:28 +0000 (18:46 +0800)]
ftwdt010_wdt: support faraday ftwdt010 watchdog

Faraday ftwdt010 watchdog is an architecture independant
watchdog. It is usually used in SoC chip design.

Signed-off-by: Macpaul Lin <macpaul@andestech.com>
Signed-off-by: Wolfgang Denk <wd@denx.de>
13 years agomp2usb: remove board support
Eric Bénard [Tue, 25 Jan 2011 22:31:23 +0000 (23:31 +0100)]
mp2usb: remove board support

this board was cancelled long time ago so remove it as it won't
be maintained anymore

Signed-off-by: Eric Bénard <eric@eukrea.com>
13 years agoppc, mgcoge: add DIP switch detection
Andreas Huber [Tue, 25 Jan 2011 10:26:15 +0000 (11:26 +0100)]
ppc, mgcoge: add DIP switch detection

This reads the DIP switch on mgcoge. The DIP switch is connected to
the BFTICU (0x40000089) FPGA. If the DIP switch is set the environment
variable 'actual_bank' is set to 0 and starts the SW in bank0.

Signed-off-by: Andreas Huber <andreas.huber@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
13 years agoarm, keymile: remove unneeded code
Holger Brunck [Tue, 25 Jan 2011 08:57:19 +0000 (09:57 +0100)]
arm, keymile: remove unneeded code

On first HW versions the BOCO FPGA was behind a MUX device. These
HW versions are not supported anymore. And therefore this code can
be removed, it is already unused.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
13 years agoNet: Add Intel E1000 82574L PCIe card support
Roy Zang [Fri, 21 Jan 2011 03:29:38 +0000 (11:29 +0800)]
Net: Add Intel E1000 82574L PCIe card support

Add Intel E1000 82574L PCIe card support. Test on MPC8544DS
and MPC8572 board.
Add the missing contact information for future support.

Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
13 years agoPowerPC: Add support for -msingle-pic-base
Joakim Tjernlund [Mon, 6 Dec 2010 17:35:37 +0000 (18:35 +0100)]
PowerPC: Add support for -msingle-pic-base

-msingle-pic-base is a new gcc option for ppc and
it reduces the size of my u-boot with 6-8 KB.
While at it, add -fno-jump-tables too to save a
few more bytes.

-msingle-pic-base will be in gcc 4.6, however
backported patches are available at
http://bugs.gentoo.org/show_bug.cgi?id=347281

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
13 years agoPowerPC: Move -fPIC flag to common place
Joakim Tjernlund [Mon, 6 Dec 2010 13:36:46 +0000 (14:36 +0100)]
PowerPC: Move -fPIC flag to common place

The -fPIC flag belongs with -mrelocatable, move it there.
Also change -fPIC to -fpic as this produces smaller
binaries.
However, currently -mrelocatable promotes -fpic to -fPIC, a
fix for this is in upcoming gcc 4.6 or you can apply this small
patch to gcc:

diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 8da8410..e4b8280 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -227,7 +227,8 @@ do { \
     } \
  \
   else if (TARGET_RELOCATABLE) \
-    flag_pic = 2; \
+    if (!flag_pic) \
+      flag_pic = 2; \
 } while (0)

 #ifndef RS6000_BI_ARCH
--

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
13 years agoea20: fix undefined PHY_* errors
Ben Gardiner [Tue, 11 Jan 2011 19:48:17 +0000 (14:48 -0500)]
ea20: fix undefined PHY_* errors

This patch fixes ea20 after 8ef583a0351590a91394499eb5ca2ab8a703d959 where
the u-boot custom PHY_ macros were replaced with those of linux/mii.h MII_
definitions except in the RMII support for davinci_emac. Probably also due to
the merge path of changes in 2010.12.

Signed-off-by: Ben Gardiner<bengardiner@nanometrics.ca>
CC: Mike Frysinger <vapier@gentoo.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
13 years agoea20: fix libea20.o not found
Ben Gardiner [Tue, 11 Jan 2011 19:48:16 +0000 (14:48 -0500)]
ea20: fix libea20.o not found

This patch fixes ea20 after commit 6d8962e814c15807dd6ac5757904be2a02d187b8
where $(obj)lib$(BOARD).a was changed to $(obj)lib$(BOARD).o in almost all the
Makefiles except ea20, probably due to merge path of the changes in 2010.12.

Signed-off-by: Ben Gardiner<bengardiner@nanometrics.ca>
CC: Sebastien Carlier <sebastien.carlier@gmail.com>
Acked-by : Stefano Babic <sbabic@denx.de>

13 years agobootm: replace blob_start with image_start
Lei Wen [Mon, 10 Jan 2011 10:21:15 +0000 (18:21 +0800)]
bootm: replace blob_start with image_start

For uImage always has a 64 bytes header, we couldn't expect to do
the xip from the header but should xip from the image start.

The latter logic in that section is also move the image from image_start
to the load address, so sync this logic to the xip operation.

Signed-off-by: Lei Wen <leiwen@marvell.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
13 years agosf: unify read functions
Mike Frysinger [Mon, 10 Jan 2011 07:20:14 +0000 (02:20 -0500)]
sf: unify read functions

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agosf: unify erase functions
Mike Frysinger [Mon, 10 Jan 2011 07:20:13 +0000 (02:20 -0500)]
sf: unify erase functions

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agosf: unify status polling for ready bit
Mike Frysinger [Mon, 10 Jan 2011 07:20:12 +0000 (02:20 -0500)]
sf: unify status polling for ready bit

All of the spi flash drivers implement the status register polling for
detecting the device ready state, so unify them all in a new helper
function -- spi_flash_wait_ready.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agosf: unify read/write helpers
Mike Frysinger [Mon, 10 Jan 2011 07:20:11 +0000 (02:20 -0500)]
sf: unify read/write helpers

These functions largely do the same exact thing, so unify them all
into one basic function.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Wolfgang Denk [Sun, 10 Apr 2011 19:24:40 +0000 (21:24 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

13 years agoMerge branch 'next' of git://git.denx.de/u-boot-nios
Wolfgang Denk [Sun, 10 Apr 2011 19:20:28 +0000 (21:20 +0200)]
Merge branch 'next' of git://git.denx.de/u-boot-nios

13 years agoMerge branch 'master' of git://git.denx.de/u-boot-blackfin
Wolfgang Denk [Sun, 10 Apr 2011 19:06:27 +0000 (21:06 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-blackfin

13 years agopowerpc/85xx: Removed clearing of L2-as-SRAM
Fabian Cenedese [Mon, 14 Feb 2011 11:59:33 +0000 (12:59 +0100)]
powerpc/85xx: Removed clearing of L2-as-SRAM

Removed clearing of L2 cache as SRAM as it is not necessary without ECC.
This also speeds up the booting process.

Signed-off-by: Fabian Cenedese <cenedese@indel.ch>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agofsl_esdhc: Deal with watermark level register related changes
Priyanka Jain [Wed, 9 Feb 2011 03:54:10 +0000 (09:24 +0530)]
fsl_esdhc: Deal with watermark level register related changes

P1010 and P1014 has v2.3 version of FSL eSDHC controller in which watermark
level register description has been changed:

9-15 bits represent WR_WML[0:6], Max value = 128 represented by 0x00
25-31 bits represent RD_WML[0:6], Max value = 128 represented by 0x00

Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Signed-off-by: Poonam Aggrwal <Poonam.Aggrwal@freescale.com>
Tested-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Add PBL boot from SPI flash support on P4080DS
Shaohui Xie [Wed, 16 Mar 2011 02:10:32 +0000 (10:10 +0800)]
powerpc/85xx: Add PBL boot from SPI flash support on P4080DS

PBL(pre-boot loader): SPI flash used as RCW(Reset Configuration Word) and
PBI(pre-boot initialization) source, CPC(CoreNet Platform Cache) used as
1M SRAM where PBL will copy whole U-BOOT image to, U-boot can boot from
CPC after PBL completes RCW and PBI phases.

Signed-off-by: Chunhe Lan <b25806@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
Signed-off-by: Shaohui Xie <b21989@freescale.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Update default hwconfig on P1022DS
Jiang Yutang [Thu, 24 Feb 2011 08:11:55 +0000 (16:11 +0800)]
powerpc/85xx: Update default hwconfig on P1022DS

Set default configuration to have SDHC controller enabled,
AUDIO enabled(codec clock sources is 12MHz) and disable TDM.

Signed-off-by: Jiang Yutang <b14898@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Add support usb2/etsec and tdm/audio pin multiplex on P1022DS
Jiang Yutang [Fri, 4 Mar 2011 02:25:54 +0000 (10:25 +0800)]
powerpc/85xx: Add support usb2/etsec and tdm/audio pin multiplex on P1022DS

For soc which have pin multiplex relation, some of them can't enable
simultaneously. This patch add environment var 'hwconfig' content
defination for them. you can enable some one function by setting
environment var 'hwconfig' content and reset board. Detail setting
please refer doc/README.p1022ds

Signed-off-by: Jiang Yutang <b14898@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Enable support for ATI graphics cards on P1022DS
Jiang Yutang [Mon, 24 Jan 2011 10:21:19 +0000 (18:21 +0800)]
powerpc/85xx: Enable support for ATI graphics cards on P1022DS

Make the support for ATI graphics cards mutually exclusive with DIU.

Signed-off-by: Jiang Yutang <b14898@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agop4080ds: remove rev1-specific code for the SERDES8 erratum
Timur Tabi [Fri, 25 Mar 2011 20:10:00 +0000 (15:10 -0500)]
p4080ds: remove rev1-specific code for the SERDES8 erratum

Remove the SERDES8 erratum work-around code that only applied to P4080
rev1, which is not supported by this version of U-Boot.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agop4080ds: add README.p4080ds which documents the "serdes" hwconfig option
Timur Tabi [Fri, 25 Mar 2011 19:11:48 +0000 (14:11 -0500)]
p4080ds: add README.p4080ds which documents the "serdes" hwconfig option

Add documentation for the "serdes" hwconfig option, which is used to
specify the status of SerDes banks two and three for the SERDES8 erratum
work-around.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Drop CONFIG_VIDEO support on corenet_ds boards
Kumar Gala [Fri, 8 Apr 2011 07:46:39 +0000 (02:46 -0500)]
powerpc/85xx: Drop CONFIG_VIDEO support on corenet_ds boards

We don't really ever use Video cards on corenet_ds style boards and its
bloating our image which is close the its max size.  Drop support and
also kill some defines for non-PNP PCI which we never use.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agonios2: reset cfi flash before reading env
Thomas Chou [Tue, 18 Jan 2011 03:13:56 +0000 (11:13 +0800)]
nios2: reset cfi flash before reading env

Flash might be in unknown state when u-boot is started with jtag.
And got wrong env data. So reset it in board early init.

We cannot use generic cfi flash routines, because flash_init() is
not run yet.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
13 years agopowerpc/85xx: rename NAND prefixes to CONFIG_SYS
Matthew McClintock [Tue, 5 Apr 2011 19:39:33 +0000 (14:39 -0500)]
powerpc/85xx: rename NAND prefixes to CONFIG_SYS

renaming 85xx define CONFIG_NAND_OR_PRELIM to CONFIG_SYS_NAND_OR_PRELIM
and CONFIG_NAND_BR_PRELIM to CONFIG_SYS_NAND_BR_PRELIM to use the more
appropriate CONFIG_SYS prefix as well as be consistent with 83xx.

Signed-off-by: Matthew McClintock <msm@freescale.com>
cc: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agoBlackfin: bf526-ezbrd: get MAC from flash
Mike Frysinger [Thu, 17 Mar 2011 21:32:51 +0000 (17:32 -0400)]
Blackfin: bf526-ezbrd: get MAC from flash

The MAC address is stored in the last flash sector rather than OTP.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf518f-ezbrd: get MAC from flash
Mike Frysinger [Thu, 17 Mar 2011 21:14:14 +0000 (17:14 -0400)]
Blackfin: bf518f-ezbrd: get MAC from flash

The MAC address is stored in the last flash sector rather than OTP.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf548-ezkit: move env sector
Mike Frysinger [Thu, 17 Mar 2011 21:07:47 +0000 (17:07 -0400)]
Blackfin: bf548-ezkit: move env sector

U-Boot itself takes up more than 0x40000 bytes, so we can't use that
sector for the environment.  Move it down a page.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: replace "bfin_reset_or_hang()" with "panic()"
Kyle Moffett [Mon, 7 Mar 2011 17:37:30 +0000 (12:37 -0500)]
Blackfin: replace "bfin_reset_or_hang()" with "panic()"

The bfin_reset_or_hang function unnecessarily duplicates the panic()
logic based on CONFIG_PANIC_HANG.

This patch deletes 20 lines of code and just calls panic() instead.
This also makes the following generic-restart conversion patch simpler.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: adi boards: enable CONFIG_MONITOR_IS_IN_RAM
Mike Frysinger [Mon, 10 Jan 2011 05:19:47 +0000 (00:19 -0500)]
Blackfin: adi boards: enable CONFIG_MONITOR_IS_IN_RAM

Our monitor is always in RAM, so enable this define for the CFI layer.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bfin_sdh: add support for multiblock operations
Sonic Zhang [Thu, 30 Dec 2010 08:38:00 +0000 (08:38 +0000)]
Blackfin: bfin_sdh: add support for multiblock operations

Don't forget to count full data size for the multiblock operation request.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bfin_sdh: set all timer bits before transfer
Cliff Cai [Mon, 7 Dec 2009 06:12:11 +0000 (06:12 +0000)]
Blackfin: bfin_sdh: set all timer bits before transfer

The timer register is 32bits, not 16bit, so 0xFFFF won't fill it.
Write out -1 to make sure to fill the whole thing.

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: adi boards: enable ldrinfo
Mike Frysinger [Sun, 26 Dec 2010 17:35:21 +0000 (12:35 -0500)]
Blackfin: adi boards: enable ldrinfo

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: ldrinfo: new command
Mike Frysinger [Sun, 26 Dec 2010 17:34:49 +0000 (12:34 -0500)]
Blackfin: ldrinfo: new command

Simple command to decode/check an LDR image before we try to boot it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bootldr: use common defines
Mike Frysinger [Sun, 26 Dec 2010 17:34:08 +0000 (12:34 -0500)]
Blackfin: bootldr: use common defines

Now that the common bootrom.h sets up defines for us, switch to them
rather than our own local set.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bootrom.h: sync with toolchain
Mike Frysinger [Sun, 26 Dec 2010 17:33:35 +0000 (12:33 -0500)]
Blackfin: bootrom.h: sync with toolchain

We need the updated LDR bit defines for our LDR utils.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: adi boards: drop old ELF define
Mike Frysinger [Sun, 26 Dec 2010 17:26:09 +0000 (12:26 -0500)]
Blackfin: adi boards: drop old ELF define

This define isn't used anywhere anymore, so punt it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf506f-ezkit: new board port
Mike Frysinger [Fri, 17 Dec 2010 20:28:43 +0000 (15:28 -0500)]
Blackfin: bf506f-ezkit: new board port

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: default to L1 bank A when L1 bank B does not exist
Mike Frysinger [Sat, 25 Dec 2010 00:31:55 +0000 (19:31 -0500)]
Blackfin: default to L1 bank A when L1 bank B does not exist

Some parts lack Bank B in L1 data, so have the linker script fall back to
Bank A when that happens.  This way we can still leverage L1 data.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: turn off caches when self initializing
Mike Frysinger [Fri, 24 Dec 2010 19:46:12 +0000 (14:46 -0500)]
Blackfin: turn off caches when self initializing

When bootstrapping ourselves on the fly at runtime (via "go"), we need to
turn off the caches to avoid taking software exceptions.  Since caches
need CPLBs and CPLBs need exception handlers, but we're about to rewrite
the code in memory where those exception handlers live, we need to turn
off caches first.

This new code also encourages a slight code optimization by storing the
MMR bases in dedicated registers so we don't have to fully load up the
pointer regs multiple times.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: only check for os log when we have external memory
Mike Frysinger [Fri, 24 Dec 2010 18:19:25 +0000 (13:19 -0500)]
Blackfin: only check for os log when we have external memory

If the part has no external memory configured, then there will be no os
log for us to check, and any attempt to access that memory will trigger
hardware errors.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: BF537: unify duplicated headers
Mike Frysinger [Fri, 24 Dec 2010 23:28:31 +0000 (18:28 -0500)]
Blackfin: BF537: unify duplicated headers

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: BF52x: unify duplicated headers
Mike Frysinger [Fri, 24 Dec 2010 23:28:27 +0000 (18:28 -0500)]
Blackfin: BF52x: unify duplicated headers

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: drop duplicate system mmr and L1 scratch defines
Mike Frysinger [Fri, 24 Dec 2010 23:21:53 +0000 (18:21 -0500)]
Blackfin: drop duplicate system mmr and L1 scratch defines

Common code already takes care of setting up these defines when a port
hasn't specified them, so punt the duplicate values.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: BF50x: new processor port
Mike Frysinger [Fri, 17 Dec 2010 20:25:09 +0000 (15:25 -0500)]
Blackfin: BF50x: new processor port

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: fix bd_t handling
Mike Frysinger [Fri, 24 Dec 2010 17:48:16 +0000 (12:48 -0500)]
Blackfin: fix bd_t handling

The recent global data changes (making the size autogenerated) broke the
board info handling on Blackfin ports as we were lying and lumping the
bd_t size in with the gd_t size.  So use the new dedicated bd_t size to
setup its own address in memory.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf561-ezkit/ibf-dsp561: invert env offset/addr logic
Mike Frysinger [Thu, 23 Dec 2010 23:07:01 +0000 (18:07 -0500)]
Blackfin: bf561-ezkit/ibf-dsp561: invert env offset/addr logic

Have CONFIG_ENV_ADDR be based on CONFIG_ENV_OFFSET rather than the other
way around so that we can use CONFIG_ENV_OFFSET during build.  It also
avoids a little address duplication.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf537: fix L1 data defines
Mike Frysinger [Thu, 23 Dec 2010 20:30:14 +0000 (15:30 -0500)]
Blackfin: bf537: fix L1 data defines

The __BFIN_DEF_ADSP_BF537_proc__ define isn't setup anymore, so use
the one coming from the compiler.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf537-minotaur/bf537-srv1: undefine nfs when net is disabled
Mike Frysinger [Thu, 23 Dec 2010 04:26:08 +0000 (23:26 -0500)]
Blackfin: bf537-minotaur/bf537-srv1: undefine nfs when net is disabled

Fixes a build error due to new partial linking logic.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: serial: clean up muxing a bit
Mike Frysinger [Fri, 17 Dec 2010 21:23:59 +0000 (16:23 -0500)]
Blackfin: serial: clean up muxing a bit

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf525-ucr2: new board port
Chong Huang [Tue, 30 Nov 2010 08:36:23 +0000 (03:36 -0500)]
Blackfin: bf525-ucr2: new board port

Signed-off-by: Chong Huang <chuang@ucrobotics.com>
Signed-off-by: Haitao Zhang <minipanda@linuxrobot.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: dnp5370: new board port
Andreas Schallenberg [Wed, 17 Nov 2010 18:51:33 +0000 (13:51 -0500)]
Blackfin: dnp5370: new board port

Info about the hardware can be found here:
http://www.dilnetpc.com/dnp0086.htm

Signed-off-by: Andreas Schallenberg <Andreas.Schallenberg@3alitydigital.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf537-pnav/blackstamp/blackvme: drop empty config.mk files
Mike Frysinger [Thu, 23 Dec 2010 20:04:55 +0000 (15:04 -0500)]
Blackfin: bf537-pnav/blackstamp/blackvme: drop empty config.mk files

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf527-sdp: update custom CFLAGS paths
Mike Frysinger [Thu, 23 Dec 2010 20:03:53 +0000 (15:03 -0500)]
Blackfin: bf527-sdp: update custom CFLAGS paths

Looks like the filesystem shuffling missed the SDP board.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: move CONFIG_BFIN_CPU back to board config.h
Mike Frysinger [Thu, 23 Dec 2010 19:58:37 +0000 (14:58 -0500)]
Blackfin: move CONFIG_BFIN_CPU back to board config.h

This is a revert of 821ad16fa9900c as Wolfgang doesn't like the new code.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: unify bootmode based LDR_FLAGS setup
Mike Frysinger [Thu, 23 Dec 2010 19:19:23 +0000 (14:19 -0500)]
Blackfin: unify bootmode based LDR_FLAGS setup

Unify this convention for all Blackfin boards.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: drop CONFIG_SYS_TEXT_BASE from boards
Mike Frysinger [Thu, 23 Dec 2010 19:13:41 +0000 (14:13 -0500)]
Blackfin: drop CONFIG_SYS_TEXT_BASE from boards

We don't want/use this value for Blackfin boards, so punt it and have the
common code error out when people try to use it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: skip RAM display for 0 mem systems
Mike Frysinger [Mon, 20 Dec 2010 10:18:55 +0000 (05:18 -0500)]
Blackfin: skip RAM display for 0 mem systems

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: bf518f-ezbrd: don't require SPI logic all the time
Mike Frysinger [Fri, 3 Dec 2010 05:31:48 +0000 (00:31 -0500)]
Blackfin: bf518f-ezbrd: don't require SPI logic all the time

Only the first run of boards had a ksz switch on it, so if building for a
newer silicon rev or SPI is disabled, don't bother checking for the ksz.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agomtd, cfi: introduce void flash_protect_default(void)
Heiko Schocher [Mon, 4 Apr 2011 06:10:21 +0000 (08:10 +0200)]
mtd, cfi: introduce void flash_protect_default(void)

collect code which protects default sectors in a function, called
flash_protect_default. So boardspecific code can call it too.

Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
13 years agocfi_flash: use AMD fixups for AMIC (e.g. A29L160A series) too
Mario Schuknecht [Mon, 21 Feb 2011 12:13:14 +0000 (13:13 +0100)]
cfi_flash: use AMD fixups for AMIC (e.g. A29L160A series) too

Signed-off-by: Mario Schuknecht <m.schuknecht@dresearch.de>
Signed-off-by: Steffen Sledz <sledz@dresearch.de>
Signed-off-by: Stefan Roese <sr@denx.de>
13 years agopowerpc/85xx: Add some defines & registers in immap_85xx.h
Zhao Chenhui [Thu, 27 Jan 2011 11:02:47 +0000 (19:02 +0800)]
powerpc/85xx: Add some defines & registers in immap_85xx.h

* Added SDHCDCR register to GUR struct
* Added SDHCDCR_CD_INV define related to SDHCDCR
* Added Pin Muxing define related to TDM on P102x

Signed-off-by: Zhao Chenhui <b35336@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Add P1021 specific QE and UEC support
Haiying Wang [Fri, 11 Feb 2011 07:25:30 +0000 (01:25 -0600)]
powerpc/85xx: Add P1021 specific QE and UEC support

P1021 has some QE pins which need to be set in pmuxcr register before
using QE functions. In this patch, pin QE0 and QE3 are set for UCC1 and
UCC5 in Eth mode.  QE9 and QE12 are set for MII management. QE12 needs to
be released after MII access because QE12 pin is muxed with LBCTL signal.

Also added relevant QE support defines unique to P1021.

The P1021 QE is shared on P1012, P1016, and P1025.

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: don't init SDRAM when CONFIG_SYS_RAMBOOT
Zhao Chenhui [Fri, 28 Jan 2011 09:58:37 +0000 (17:58 +0800)]
powerpc/85xx: don't init SDRAM when CONFIG_SYS_RAMBOOT

Signed-off-by: Zhao Chenhui <b35336@freescale.com>
Acked-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Wolfgang Denk [Tue, 5 Apr 2011 10:24:20 +0000 (12:24 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

Conflicts:
drivers/usb/host/ehci-pci.c

Signed-off-by: Wolfgang Denk <wd@denx.de>
13 years agoMerge branch 'master' of git://git.denx.de/u-boot-mips
Wolfgang Denk [Tue, 5 Apr 2011 10:17:38 +0000 (12:17 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-mips

13 years agopowerpc: clean up DIU macro definitions for Freescale reference boards
Timur Tabi [Tue, 15 Feb 2011 23:09:19 +0000 (17:09 -0600)]
powerpc: clean up DIU macro definitions for Freescale reference boards

Clean up the macro defintions used to enable DIU (video) support on the
MPC8610HPCD and the MPC5121ADS so that they look more like the P1022DS,
which is newer.  Add software cursor support to all three boards.

Also document the CONFIG_FSL_DIU_FB in the README.

Signed-off-by: Timur Tabi <timur@freescale.com>
Acked-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Enable eSDHC boot support on P2020 DS
Jerry Huang [Mon, 24 Jan 2011 17:09:54 +0000 (17:09 +0000)]
powerpc/85xx: Enable eSDHC boot support on P2020 DS

We implement our own mmc_get_env_addr since the environment variables are
written to just after the u-boot image on SDCard, so we must read the MBR
to get the start address and code length of the u-boot image, then
calculate the address of the env.

Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
Signed-off-by: Zhao Chenhui <b35336@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agoenv_mmc: Allow board code to override the environment address
Mingkai Hu [Mon, 24 Jan 2011 17:09:55 +0000 (17:09 +0000)]
env_mmc: Allow board code to override the environment address

On some boards the environment may not be located at a fixed address in
the MMC/SDHC card.  This allows those boards to implement their own
means to report what address the environment is located at.

Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
Signed-off-by: Zhao Chenhui <b35336@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/8xxx: Fix typo for address hashing message
Kumar Gala [Fri, 18 Mar 2011 16:53:06 +0000 (11:53 -0500)]
powerpc/8xxx: Fix typo for address hashing message

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agompc8xxx: DDR2/DDR3: Clean up DIMM-type switch statements
Kyle Moffett [Mon, 28 Mar 2011 15:35:48 +0000 (11:35 -0400)]
mpc8xxx: DDR2/DDR3: Clean up DIMM-type switch statements

The numeric constants in the switch statements are replaced by #defines
added to the common ddr_spd.h header.  This dramatically improves the
readability of the switch statments.

In addition, a few of the longer lines were cleaned up, and the DDR2
type for an SO-RDIMM module was added to the DDR2 switch statement.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Cc: Andy Fleming <afleming@gmail.com>
Cc: Kim Phillips <kim.phillips@freescale.com>
Acked-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agofsl_ddr: Don't use full 64-bit divides on 32-bit PowerPC
Kyle Moffett [Tue, 15 Mar 2011 15:23:47 +0000 (11:23 -0400)]
fsl_ddr: Don't use full 64-bit divides on 32-bit PowerPC

The current FreeScale MPC-8xxx DDR SPD interpreter is using full 64-bit
integer divide operations to convert between nanoseconds and DDR clock
cycles given arbitrary DDR clock frequencies.

Since all of the inputs to this are 32-bit (nanoseconds, clock cycles,
and DDR frequencies), we can easily restructure the computation to use
the "do_div()" function to perform 64-bit/32-bit divide operations.

On 64-bit this change is basically a no-op, because do_div is
implemented as a literal 64-bit divide operation and the instruction
scheduling works out almost the same.

On 32-bit PowerPC a fully accurate 64/64 divide (__udivdi3 in libgcc) is
over 1.1kB of code and thousands of heavily dependent cycles to compute,
all of which is linked from libgcc.  Another 1.2kB of code comes in for
the function __umoddi3.

It should be noted that nothing else in U-Boot or the Linux kernel seems
to require a full 64-bit divide on my 32-bit PowerPC.

Build-and-boot-tested on the HWW-1U-1A board using DDR2 SPD detection.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Acked-by: York Sun <yorksun@freescale.com>
Cc: Andy Fleming <afleming@gmail.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Fix setting of LIODN prop in PCIe nodes on P3041/P5020
Laurentiu TUDOR [Tue, 15 Mar 2011 14:37:36 +0000 (16:37 +0200)]
powerpc/85xx: Fix setting of LIODN prop in PCIe nodes on P3041/P5020

We utilize the compatible string to find the node to add fsl,liodn
property to.  However P3041 & P5020 don't have "fsl,p4080-pcie"
compatible for their PCIe controllers as they aren't backwards compatible.

Allow the macro's to specify the PCIe compatible to use to allow SoC
uniqueness.  On P3041 & P5020 we utilize "fsl,qoriq-pcie-v2.2" for the
PCIe controllers.

Signed-off-by: Laurentiu TUDOR <Laurentiu.Tudor@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Add 36-bit address map support to P1022DS
Jiang Yutang [Mon, 24 Jan 2011 10:21:15 +0000 (18:21 +0800)]
powerpc/85xx: Add 36-bit address map support to P1022DS

Signed-off-by: Jiang Yutang <b14898@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agotsec: add AR8021 PHY support
Li Yang [Thu, 27 Jan 2011 11:02:50 +0000 (19:02 +0800)]
tsec: add AR8021 PHY support

Signed-off-by: Li Yang <leoli@freescale.com>
13 years agopowerpc/85xx: Update timer-frequency prop in ptp_timer node of device tree
bhaskar upadhaya [Wed, 2 Feb 2011 14:44:28 +0000 (14:44 +0000)]
powerpc/85xx: Update timer-frequency prop in ptp_timer node of device tree

Fix up the device tree property associated with the IEEE 1588 timer
source frequency.  Currently we only support the IEEE 1588 timer source
being the internal eTSEC system clock (for those SoCs with IEEE 1588
support).  The eTSEC clock is ccb_clk/2.

Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Fix determining Fman freq on P1023
Kumar Gala [Thu, 10 Mar 2011 12:09:20 +0000 (06:09 -0600)]
powerpc/85xx: Fix determining Fman freq on P1023

On the P1023 the Fman freq is equivalent to the system bus freq, not 1/2
of it.  Also we only have one Fman so no need for the code to deal with
a second.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Fixup determining PME, FMan freq
Kumar Gala [Wed, 16 Feb 2011 08:03:29 +0000 (02:03 -0600)]
powerpc/85xx: Fixup determining PME, FMan freq

On CoreNet based SoCs (P2040, P3041, P4080, P5020) we have some
additional rules to determining the various frequencies that PME & FMan
IP blocks run at.

We need to take into account:
* Reduced number of Core Complex PLL clusters
* HWA_ASYNC_DIV (allows for /2 or /4 options)

On P2040/P3041/P5020 we only have 2 Core Complex PLLs and in such SoCs
the PME & FMan blocks utilize the second Core Complex PLL.  On SoCs
like p4080 with 4 Core Complex PLLs we utilize the third Core Complex
PLL for PME & FMan blocks.

On P2040/P3041/P5020 we have the added feature that we can divide the
PLL down further by either /2 or /4 based on HWA_ASYNC_DIV.  On P4080
this options doesn't exist, however HWA_ASYNC_DIV field in RCW should be
set to 0 and this gets a backward compatiable /2 behavior.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Add support for ULI1575 PCI EHCI module on MPC8572DS
Zhao Chenhui [Fri, 4 Mar 2011 08:31:41 +0000 (16:31 +0800)]
powerpc/85xx: Add support for ULI1575 PCI EHCI module on MPC8572DS

MPC8572DS provides 2 USB ports with ULI1575. We enable USB storage
device support using PCI EHCI module.

Signed-off-by: Zhao Chenhui <b35336@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Disable ECC in considering performance on MPC8572DS
Zhao Chenhui [Wed, 2 Mar 2011 08:44:52 +0000 (16:44 +0800)]
powerpc/85xx: Disable ECC in considering performance on MPC8572DS

Signed-off-by: Zhao Chenhui <b35336@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Replace memctl_intlv_ctl with hwconfig on MPC8572DS
Zhao Chenhui [Wed, 2 Mar 2011 08:44:36 +0000 (16:44 +0800)]
powerpc/85xx: Replace memctl_intlv_ctl with hwconfig on MPC8572DS

Signed-off-by: Zhao Chenhui <b35336@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Add 36-bit physical addressing support for P1_P2_RDB
Poonam Aggrwal [Wed, 9 Feb 2011 20:05:29 +0000 (20:05 +0000)]
powerpc/85xx: Add 36-bit physical addressing support for P1_P2_RDB

Add support for 36-bit address map for NOR, SD, and SPI boot cfgs.

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Priyanka Jain <priyanka.jain@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Optimized DDR settings for 800MT/s on P1/P2 RDB
Poonam Aggrwal [Mon, 7 Feb 2011 11:47:28 +0000 (17:17 +0530)]
powerpc/85xx: Optimized DDR settings for 800MT/s on P1/P2 RDB

Changed the following DDR timing parameters for 800Mt/s:
tRRT    BL/2+1 to  BL/2
tWWT    BL/2+1 to  BL/2
tWRT    BL/2+1 to  BL/2
tRWT    BL/2+1 to  BL/2
REFINT  6500ns to  7800ns

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Removed P1/P2 RDB RevB support
Poonam Aggrwal [Wed, 9 Feb 2011 17:54:11 +0000 (23:24 +0530)]
powerpc/85xx: Removed P1/P2 RDB RevB support

RevB boards never really made it outside of Freescale and have been
replaced with RevC & RevD which had various board bug fixes.

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Read board switch settings on p1_p2_rdb
Priyanka Jain [Tue, 8 Feb 2011 07:48:34 +0000 (13:18 +0530)]
powerpc/85xx: Read board switch settings on p1_p2_rdb

PCA9557 is parallel I/O expansion device on I2C bus which stores various
board switch settings like NOR Flash-Bank selection, SD Data width.

On board:
switch SW5[6] is to select width for eSDHC
        ON  - 4-bit [Enable eSPI]
        OFF - 8-bit [Disable eSPI]

switch SW4[8] is to select NOR Flash Bank for Booting
        OFF - Primary Bank
        ON  - Secondary Bank

Read board switch settings on p1_p2_rdb and configure corresponding
eSDHC width.

Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Signed-off-by: Dipen Dudhat <dipen.dudhat@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>