project/bcm63xx/u-boot.git
12 years agoMAKEALL: Report boards with errors vs warnings
Joe Hershberger [Mon, 21 May 2012 04:49:38 +0000 (04:49 +0000)]
MAKEALL: Report boards with errors vs warnings

In the summary, indicate which boards errored and which boards merely
warned.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Andy Fleming <afleming@freescale.com>
12 years agoMAKEALL: Fix error reporting for BUILD_NBUILDS==1
Joe Hershberger [Mon, 21 May 2012 04:49:37 +0000 (04:49 +0000)]
MAKEALL: Fix error reporting for BUILD_NBUILDS==1

This was broken by f588bb034d5d3a0417f45965f1aba4d4cf8a2893

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Andy Fleming <afleming@freescale.com>
12 years agocommon/cmd_nand.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sun, 20 May 2012 11:52:47 +0000 (11:52 +0000)]
common/cmd_nand.c: Fix GCC 4.6 warning

cmd_nand.c: In function 'raw_access':
cmd_nand.c:397:9: warning: variable 'rwsize' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Scott Wood <scottwood@freescale.com>
12 years agocommon/cmd_nvedit.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sun, 20 May 2012 11:52:39 +0000 (11:52 +0000)]
common/cmd_nvedit.c: Fix GCC 4.6 warning

cmd_nvedit.c: In function '_do_env_set':
cmd_nvedit.c:207:9: warning: unused variable 'bd' [-Wunused-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoinclude/part.h: fix indentation of lba
Anatolij Gustschin [Sat, 19 May 2012 07:25:27 +0000 (07:25 +0000)]
include/part.h: fix indentation of lba

Indent at the same level as other struct members.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agofat: fix FAT sector offsets overflow on large FAT partitions
Aaron Williams [Sat, 19 May 2012 07:20:40 +0000 (07:20 +0000)]
fat: fix FAT sector offsets overflow on large FAT partitions

This patch fixes several issues where sector offsets can overflow due
to being limited to 16-bits. The cases where an overflow can happen
when accessing large FAT32 partitions are:

 - length of FAT in sectors
 - start sector of root directory
 - the sector of the first cluster

These issues were observed when reading files from a 64GB FAT32
filesystem.

Signed-off-by: Aaron Williams <aaron.williams@caviumnetworks.com>
Tested-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agocommon/cmd_bootm.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sat, 19 May 2012 05:38:19 +0000 (05:38 +0000)]
common/cmd_bootm.c: Fix GCC 4.6 warning

cmd_bootm.c: In function 'do_bootz':
cmd_bootm.c:1590:9: warning: variable 'iflag' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Wolfgang Denk [Sun, 20 May 2012 20:51:41 +0000 (22:51 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

* 'master' of git://git.denx.de/u-boot-usb:
  USB: S5P: Add ehci support
  usb:udc:samsung Add functions for storing private gadget data in UDC driver
  usb:gadget:composite: Support for composite at gadget.h
  usb:gadget:composite USB composite gadget support
  usb:udc:samsung:cleanup Replace DEBUG_* macros with debug_cond() calls
  usb:udc: Remove duplicated USB definitions from include/linux/usb/ch9.h file
  USB: Document the QH and qTD antics in EHCI-HCD
  USB: Drop cache flush bloat in EHCI-HCD
  USB: Drop ehci_alloc/ehci_free in ehci-hcd
  USB: Align buffers at cacheline
  usb: use noinline define

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-nand-flash
Wolfgang Denk [Sun, 20 May 2012 20:47:40 +0000 (22:47 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-nand-flash

* 'master' of git://git.denx.de/u-boot-nand-flash:
  NAND: Remove ONFI detection message to from bootup log
  driver/mtd:IFC: Fix possible memory leak
  driver/mtd: IFC NAND: Add support of ONFI NAND flash
  mtd, nand: move some printfs to debug output.
  nand_util: correct YAFFS image write function
  powerpc/85xx: fix NAND boot linker scripts for -fpic
  nand: extend .raw accesses to work on multiple pages

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Wolfgang Denk [Sun, 20 May 2012 20:33:44 +0000 (22:33 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-net

* 'master' of git://git.denx.de/u-boot-net:
  net: move bootfile init into eth_initialize
  net: punt bd->bi_ip_addr
  net: cosmetic: netconsole.c checkpatch compliance
  net: cosmetic: tftp.* checkpatch compliance
  net: cosmetic: sntp.* checkpatch compliance
  net: cosmetic: rarp.* checkpatch compliance
  net: cosmetic: nfs.* checkpatch compliance
  net: cosmetic: net.c checkpatch compliance
  net: cosmetic: eth.c checkpatch compliance
  net: cosmetic: bootp.* checkpatch compliance
  net: cosmetic: net.h checkpatch compliance
  net: Remove volatile from net API

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Sun, 20 May 2012 19:31:26 +0000 (21:31 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

* 'master' of git://git.denx.de/u-boot-arm: (167 commits)
  OMAP4/5: Change omap4_sdp, omap4_panda, omap5_evm maintainer
  ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT
  ARM: omap3: Set SPL stack size to 8KB, image to 54KB.
  arm, omap3: fix warm reset serial output on OMAP36xx/AM/DM37xx
  OMAP4: Set fdt_high for OMAP4 devices to enable booting with Device Tree
  omap4: do not enable auxiliary cores
  omap4: do not enable fs-usb module
  omap4: panda: disable uart2 pads during boot
  igep00x0: change mpurate from 500 to auto
  igep00x0: enable the use of a plain text file
  tegra2: trivially enable 13 mhz crystal frequency
  tegra: Enable keyboard for Seaboard
  tegra: Switch on console mux and use environment for console
  tegra: Add tegra keyboard driver
  tegra: fdt: Add keyboard definitions for Seaboard
  tegra: fdt: Add keyboard controller definition
  tegra: Add keyboard support to funcmux
  input: Add support for keyboard matrix decoding from an fdt
  input: Add generic keyboard input handler
  input: Add linux/input.h for key code support
  fdt: Add fdtdec functions to read byte array
  tegra: Enable LP0 on Seaboard
  tegra: fdt: Add EMC data for Tegra2 Seaboard
  tegra: i2c: Add function to find DVC bus
  fdt: tegra: Add EMC node to device tree
  tegra: Add EMC settings for Seaboard
  tegra: Turn off power detect in board init
  tegra: Set up warmboot code on Nvidia boards
  tegra: Setup PMC scratch info from ap20 setup
  tegra: Add warmboot implementation
  tegra: Set up PMU for Nvidia boards
  tegra: Add PMU to manage power supplies
  tegra: Add EMC support for optimal memory timings
  tegra: Add header file for APB_MISC register
  tegra: Add tegra_get_chip_type() to detect SKU
  tegra: Add flow, gp_padctl, fuse, sdram headers
  tegra: Add crypto library for warmboot code
  tegra: Add functions to access low-level Osc/PLL details
  tegra: Move ap20.h header into arch location
  Add AES crypto library
  i2c: Add TPS6586X driver
  Add abs() macro to return absolute value
  fdt: Add function to return next compatible subnode
  fdt: Add function to locate an array in the device tree
  i.MX28: Avoid redefining serial_put[cs]()
  i.MX28: Check if WP detection is implemented at all
  i.MX28: Add battery boot components to SPL
  i.MX28: Reorder battery status functions in SPL
  i.MX28: Add LRADC init to i.MX28 SPL
  i.MX28: Add LRADC register definitions
  i.MX28: Shut down the LCD controller before reset
  i.MX28: Add LCDIF register definitions
  i.MX28: Implement boot pads sampling and reporting
  i.MX28: Improve passing of data from SPL to U-Boot
  M28EVK: Add SD update command
  M28EVK: Implement support for new board V2.0
  FEC: Abstract out register setup
  MX5: PAD_CTL_DRV_VOT_LOW and PAD_CTL_DRV_VOT_HIGH exchanged
  i.MX28: Add delay after CPU bypass is cleared
  spi: mxs: Allow other chip selects to work
  spi: mxs: Introduce spi_cs_is_valid()
  mx53loco: Remove unneeded gpio_set_value()
  mx53loco: Add CONFIG_REVISION_TAG
  mx53loco: Turn on VUSB regulator
  mx53loco: Add mc34708 support and set mx53 frequency at 1GHz
  pmic: dialog: Avoid name conflicts
  imx: Add u-boot.imx as target for ARM9 i.MX SOCs
  i.MX2: Include asm/types.h in arch-mx25/imx-regs.h
  imx: usb: There is no such register
  i.MX25: usb: Set PORTSCx register
  imx: nand: Support flash based BBT
  i.MX25: This architecture has a GPIO4 too
  i.MX25: esdhc: Add mxc_get_clock infrastructure
  i.MX6: mx6q_sabrelite: add SATA bindings
  i.MX6: add enable_sata_clock()
  i.MX6: Add ANATOP regulator init
  mx28evk: add NAND support
  USB: ehci-mx6: Fix broken IO access
  M28: Scan only first 512 MB of DRAM to avoid memory wraparound
  Revert "i.MX28: Enable additional DRAM address bits"
  M28: Enable FDT support
  mx53loco: Add support for 1GHz operation for DA9053-based boards
  mx53loco: Allow to print CPU information at a later stage
  mx5: Add clock config interface
  imx-common: Factor out get_ahb_clk()
  i.MX6Q: mx6qsabrelite: Add keypress support to alter boot flow
  mx31pdk: Allow booting a zImage kernel
  mx6qarm2: Allow booting a zImage kernel
  mx6qsabrelite: Allow booting a zImage kernel
  mx28evk: Allow booting a zImage kernel
  m28evk: Allow to booting a dt kernel
  mx28evk: Allow to booting a dt kernel
  mx6qsabrelite: No need to set the direction for GPIO3_23 again
  pmic: Add support for the Dialog DA9053 PMIC
  MX53: mx53loco: Add SATA support
  MX53: Add support to ESG ima3 board
  SATA: add driver for MX5 / MX6 SOCs
  MX53: add function to set SATA clock to internal
  SATA: check for return value from sata functions
  MX5: Add definitions for SATA controller
  NET: fec_mxc.c: Add a way to disable auto negotiation
  Define UART4 and UART5 base addresses
  EXYNOS: Change bits per pixel value proper for u-boot.
  EXYNOS: support TRATS board display function
  LCD: support S6E8AX0 amoled driver based on EXYNOS MIPI DSI
  EXYNOS: support EXYNOS MIPI DSI interface driver.
  EXYNOS: support EXYNOS framebuffer and FIMD display drivers.
  LCD: add data structure for EXYNOS display driver
  EXYNOS: add LCD and MIPI DSI clock interface.
  EXYNOS: definitions of system resgister and power management registers.
  SMDK5250: fix compiler warning
  misc:pmic:samsung Convert TRATS target to use MAX8997 instead of MAX8998
  misc:pmic:max8997 MAX8997 support for PMIC driver
  TRATS: modify the trats's configuration
  ARM: Exynos4: ADC: Universal_C210: Enable LDO4 power line for ADC measurement
  EXYNOS: Rename exynos5_tzpc structure to exynos_tzpc
  arm: ea20: Change macro from BOARD_LATE_INIT to CONFIG_BOARD_LATE_INIT
  arm: cam_enc_4xx: Change macro from BOARD_LATE_INIT to CONFIG_BOARD_LATE_INIT
  cm-t35: add I2C multi-bus support
  include/configs: Remove CONFIG_SYS_64BIT_STRTOUL
  include/configs: Remove CONFIG_SYS_64BIT_VSPRINTF
  omap3: Introduce weak misc_init_r
  omap730p2: Remove empty misc_init_r
  omap5912osk: Remove empty misc_init_r
  omap4+: Remove CONFIG_ARCH_CPU_INIT
  omap4: Remove CONFIG_SYS_MMC_SET_DEV
  OMAP3: pandora: drop console kernel argument
  OMAP3: pandora: revise GPIO configuration
  ...

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-mmc
Wolfgang Denk [Sun, 20 May 2012 19:20:50 +0000 (21:20 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-mmc

* 'master' of git://git.denx.de/u-boot-mmc:
  ARM: SAMSUNG: support sdhci controller
  mmc: support the sdhci instead of s5p_mmc for samsung-soc
  mmc: add the quirk to use the sdhci for samsung-soc
  mmc: sdhci: add the quirk for broken r1b response
  i.MX28: Lower the amount of blocks transfered in one DMA cycle
  mmc: fsl_esdhc: Poll until card is not busy anymore
  include/mmc.h: remove struct mmc_csd
  mmc: omap: handle controller errors properly
  mmc: omap: improve stat wait message
  mmc: omap: follow TRM procedure to power on cards
  mmc:fix: Set mmc width according to MMC host capabilities

12 years agoUSB: S5P: Add ehci support
Rajeshwari Shinde [Wed, 2 May 2012 13:48:51 +0000 (19:18 +0530)]
USB: S5P: Add ehci support

This patch adds ehci driver support for s5p.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
12 years agousb:udc:samsung Add functions for storing private gadget data in UDC driver
Lukasz Majewski [Wed, 2 May 2012 11:11:38 +0000 (13:11 +0200)]
usb:udc:samsung Add functions for storing private gadget data in UDC driver

This commit adds support for storing private data to Samsung's UDC
driver. This data is afterward used by usb gadget.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Vasut <marex@denx.de>
12 years agousb:gadget:composite: Support for composite at gadget.h
Lukasz Majewski [Wed, 2 May 2012 11:11:37 +0000 (13:11 +0200)]
usb:gadget:composite: Support for composite at gadget.h

Add device data pointer to the USB gadget's device struct.
Wrapper for extracting usb_gadget from Linux's usb device

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Vasut <marex@denx.de>
12 years agousb:gadget:composite USB composite gadget support
Lukasz Majewski [Wed, 2 May 2012 15:47:02 +0000 (17:47 +0200)]
usb:gadget:composite USB composite gadget support

USB Composite gadget implementation for u-boot. It builds on top
of USB UDC drivers.

This commit is based on following files from Linux Kernel v2.6.36:

./include/linux/usb/composite.h
./drivers/usb/gadget/composite.c

SHA1: d187abb9a83e6c6b6e9f2ca17962bdeafb4bc903

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Vasut <marex@denx.de>
12 years agousb:udc:samsung:cleanup Replace DEBUG_* macros with debug_cond() calls
Lukasz Majewski [Wed, 2 May 2012 11:11:35 +0000 (13:11 +0200)]
usb:udc:samsung:cleanup Replace DEBUG_* macros with debug_cond() calls

This patch cleans up the Samsung's UDC driver. It replaces several
DEBUG_* macros with debug_cond().

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Vasut <marex@denx.de>
12 years agousb:udc: Remove duplicated USB definitions from include/linux/usb/ch9.h file
Lukasz Majewski [Wed, 2 May 2012 11:11:34 +0000 (13:11 +0200)]
usb:udc: Remove duplicated USB definitions from include/linux/usb/ch9.h file

Remove the repeated USB descriptor code and use usbdescriptors.h file.
ch9.h file has been copied from linux and is needed for USB gadget
related work.
Now usbdescriptors.h and ch9.h shall be used together.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Vasut <marex@denx.de>
12 years agoUSB: Document the QH and qTD antics in EHCI-HCD
Marek Vasut [Mon, 9 Apr 2012 02:13:00 +0000 (04:13 +0200)]
USB: Document the QH and qTD antics in EHCI-HCD

The construction of QH and qTD lists in ehci_submit_async() call is cryptic
business, add at least a bit of comments so if someone is reading it, he can at
least reference the intel ehci manual (ehci-r10.pdf).

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
12 years agoUSB: Drop cache flush bloat in EHCI-HCD
Marek Vasut [Mon, 9 Apr 2012 02:07:46 +0000 (04:07 +0200)]
USB: Drop cache flush bloat in EHCI-HCD

Discard the creepy cache flushing mechanisms in ehci-hcd.c and replace them with
more straightforward flushing. In the new approach, the flushing takes place
directly in ehci_submit_async() call instead of going through the QH list and
flushing all members and buffers. This discards a lot of weird bit operations
on the members of QH and qTD structures.

NOTE: Certainly, this flushes even qTDs which are possibly unused in some
transactions, though the overhead of the previous code was much higher than is
the overhead of flushing two more cache lines (which most probably aren't even
cached).

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
12 years agoUSB: Drop ehci_alloc/ehci_free in ehci-hcd
Marek Vasut [Sun, 8 Apr 2012 21:32:05 +0000 (23:32 +0200)]
USB: Drop ehci_alloc/ehci_free in ehci-hcd

These two functions were called only from ehci_submit_async(), therefore
dissolve them as part of ehci_submit_async() to get rid of all those static
variables.

Signed-off-by: Marek Vasut <marex@denx.de>
12 years agoUSB: Align buffers at cacheline
Puneet Saxena [Tue, 3 Apr 2012 09:26:06 +0000 (14:56 +0530)]
USB: Align buffers at cacheline

This avoids cache-alignment warnings shown in console
when a usb command is entered.

Whenever X bytes of unaligned buffer is invalidated, arm core
invalidates X + Y bytes as per the cache line size and throws
these warnings.

Signed-off-by: Puneet Saxena <puneets@nvidia.com>
Signed-off-by: Marek Vasut <marex@denx.de>
12 years agousb: use noinline define
Mike Frysinger [Wed, 4 Apr 2012 18:44:53 +0000 (18:44 +0000)]
usb: use noinline define

Building usb for Blackfin boards fails as we get linux/compiler.h
included which expands the "noinline" inside of the attribute and
we get attribute(attribute(noinline)).

Explicitly use the helper define to avoid this.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoNAND: Remove ONFI detection message to from bootup log
Stefan Roese [Mon, 7 May 2012 21:29:30 +0000 (21:29 +0000)]
NAND: Remove ONFI detection message to from bootup log

Without this patch, boot shows this messages upon NAND detection:

NAND:  ONFI flash detected
ONFI param page 0 valid
ONFI flash detected
ONFI param page 0 valid
128 MiB

With this patch, its back to the U-Boot "standard":

NAND:  128 MiB

Tested on x600 (SPEAr600).

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Amit Virdi <amit.virdi@st.com>
Cc: Vipin Kumar <vipin.kumar@st.com>
Cc: Scott Wood <scottwood@freescale.com>
Acked-by: Amit Virdi <amit.virdi@st.com>
Signed-off-by: Scott Wood <scott@tyr.buserror.net>
12 years agodriver/mtd:IFC: Fix possible memory leak
Prabhakar Kushwaha [Tue, 10 Apr 2012 22:48:27 +0000 (22:48 +0000)]
driver/mtd:IFC: Fix possible memory leak

if priv->bank >= MAX_BANK, priv should be freed before returning ENODEV.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Scott Wood <scott@tyr.buserror.net>
12 years agodriver/mtd: IFC NAND: Add support of ONFI NAND flash
Prabhakar Kushwaha [Sun, 8 Apr 2012 18:57:18 +0000 (18:57 +0000)]
driver/mtd: IFC NAND: Add support of ONFI NAND flash

- Fix NAND_CMD_READID command for ONFI detect.
  - Add NAND_CMD_PARAM command to read the ONFI parameter page.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Scott Wood <scott@tyr.buserror.net>
12 years agomtd, nand: move some printfs to debug output.
Heiko Schocher [Tue, 14 Feb 2012 22:34:05 +0000 (22:34 +0000)]
mtd, nand: move some printfs to debug output.

current U-Boot shows on startup (for example on the enbw_cmc
board) the following printfs from the nand subsystem:

Flash: 2 MiB
NAND:  Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
nand_read_bbt: Bad block at 0x000002980000
nand_read_bbt: Bad block at 0x000003240000
128 MiB
MMC:   davinci: 0

remove them to debug output, so it shows with this patch:

Flash: 2 MiB
NAND:  128 MiB
MMC:   davinci: 0

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Scott Wood <scottwood@freescale.com>
Signed-off-by: Scott Wood <scott@tyr.buserror.net>
12 years agonand_util: correct YAFFS image write function
Liu, Wentao [Tue, 17 Jan 2012 19:55:02 +0000 (19:55 +0000)]
nand_util: correct YAFFS image write function

In function nand_write_skip_bad(),for YAFFS filesystem part,
write_oob() will return 0 when success, so when rval equals 0,
it should continue to write the next page, and no break.

Signed-off-by: Wentao, Liu <wentao.liu@intel.com>
Acked-by: Lei Wen <leiwen@marvell.com>
Signed-off-by: Scott Wood <scott@tyr.buserror.net>
12 years agopowerpc/85xx: fix NAND boot linker scripts for -fpic
Scott Wood [Tue, 1 May 2012 21:37:57 +0000 (16:37 -0500)]
powerpc/85xx: fix NAND boot linker scripts for -fpic

GOT is now handled the way the main u-boot.lds does it.  Without this,
the boot hangs when built with newer GCC (since 4.6).  Older toolchains
hid the issue by converting -fpic to -fPIC.

Signed-off-by: Scott Wood <scottwood@freescale.com>
12 years agonand: extend .raw accesses to work on multiple pages
Scott Wood [Fri, 2 Mar 2012 20:01:57 +0000 (14:01 -0600)]
nand: extend .raw accesses to work on multiple pages

A use for this is to read, modify, erase, and write an entire block as a
single unit, as a replacement for the biterr command.  This way gives
more flexibility in that you can also test multiple bit errors, errors
in the ECC, etc.

Signed-off-by: Scott Wood <scottwood@freescale.com>
12 years agoImprove MAKEALL parallel builds
Andy Fleming [Wed, 9 May 2012 20:36:28 +0000 (20:36 +0000)]
Improve MAKEALL parallel builds

The patch that added parallel builds broke MAKEALL -l, so this
fixes that. At the same time, it improves the termination so
that it shuts down the build threads if you cancel the build.
Lastly, it removes a bunch of debug code.

Signed-off-by: Andy Fleming <afleming@freescale.com>
Tested-by: Wolfgang Denk <wd@denx.de>
12 years agoRemove extra boards from LIST_ixp
Andy Fleming [Wed, 25 Apr 2012 09:36:13 +0000 (09:36 +0000)]
Remove extra boards from LIST_ixp

pdnb3 and scpu are explicitly on LIST_ixp, even though they are
also specified in boards.cfg as having cpu ixp. This means that
they will be built twice when doing ./MAKEALL ixp, or ./MAKEALL arm.

This was pointless before, but actually breaks things if you launch
both builds at the same time, as they overwrite each other.

Signed-off-by: Andy Fleming <afleming@freescale.com>
12 years agonet: move bootfile init into eth_initialize
Mike Frysinger [Wed, 4 Apr 2012 18:53:41 +0000 (18:53 +0000)]
net: move bootfile init into eth_initialize

All arches init this the same way, so move the logic into the core
net code to avoid duplicating it everywhere else.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: punt bd->bi_ip_addr
Mike Frysinger [Wed, 4 Apr 2012 18:53:40 +0000 (18:53 +0000)]
net: punt bd->bi_ip_addr

This field gets read in one place (by "bdinfo"), and we can replace
that with getenv("ipaddr").  After all, the bi_ip_addr field is kept
up-to-date implicitly with the value of the ipaddr env var.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: netconsole.c checkpatch compliance
Joe Hershberger [Tue, 15 May 2012 08:59:13 +0000 (08:59 +0000)]
net: cosmetic: netconsole.c checkpatch compliance

Requires:
--ignore CONSIDER_KSTRTO

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: tftp.* checkpatch compliance
Joe Hershberger [Tue, 15 May 2012 08:59:12 +0000 (08:59 +0000)]
net: cosmetic: tftp.* checkpatch compliance

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: sntp.* checkpatch compliance
Joe Hershberger [Tue, 15 May 2012 08:59:11 +0000 (08:59 +0000)]
net: cosmetic: sntp.* checkpatch compliance

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: rarp.* checkpatch compliance
Joe Hershberger [Tue, 15 May 2012 08:59:10 +0000 (08:59 +0000)]
net: cosmetic: rarp.* checkpatch compliance

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: nfs.* checkpatch compliance
Joe Hershberger [Tue, 15 May 2012 08:59:09 +0000 (08:59 +0000)]
net: cosmetic: nfs.* checkpatch compliance

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: net.c checkpatch compliance
Joe Hershberger [Tue, 15 May 2012 08:59:08 +0000 (08:59 +0000)]
net: cosmetic: net.c checkpatch compliance

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: eth.c checkpatch compliance
Joe Hershberger [Tue, 15 May 2012 08:59:07 +0000 (08:59 +0000)]
net: cosmetic: eth.c checkpatch compliance

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: bootp.* checkpatch compliance
Joe Hershberger [Tue, 15 May 2012 08:59:06 +0000 (08:59 +0000)]
net: cosmetic: bootp.* checkpatch compliance

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: net.h checkpatch compliance
Joe Hershberger [Tue, 15 May 2012 08:59:05 +0000 (08:59 +0000)]
net: cosmetic: net.h checkpatch compliance

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Remove volatile from net API
Joe Hershberger [Tue, 15 May 2012 08:59:04 +0000 (08:59 +0000)]
net: Remove volatile from net API

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agoOMAP4/5: Change omap4_sdp, omap4_panda, omap5_evm maintainer
SRICHARAN R [Tue, 8 May 2012 19:16:35 +0000 (19:16 +0000)]
OMAP4/5: Change omap4_sdp, omap4_panda, omap5_evm maintainer

Signed-off-by: R Sricharan <r.sricharan@ti.com>
CC: Aneesh V <aneesh@ti.com>
CC: Tom Rini <trini@ti.com>
Acked-by: Aneesh V <aneesh@ti.com>
12 years agoARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT
Tom Rini [Tue, 8 May 2012 07:29:32 +0000 (07:29 +0000)]
ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT

As originally reported against beagleboard we currently have the
following error message reported in SPL:

U-Boot SPL 2012.04-00020-gb8310b9-dirty (Apr 25 2012 - 18:49:57)
Texas Instruments Revision detection unimplemented
OMAP SD/MMC: 0
timed out in wait_for_bb: I2C_STAT=1000
reading u-boot.img
....

The reason for above message is that when booting from MMC, I2C needs to
be initialized to talk with the TWL4030.  On OMAP3 I2C is only
initalized in SPL if CONFIG_SPL_BOARD_INIT is set.

Cc: Thomas Weber <weber@corscience.de>
Cc: Steve Sakoman <sakoman@gmail.com>
Original patch for Beagleboard is:
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Extended to cover all other boards:
Signed-off-by: Tom Rini <trini@ti.com>
12 years agoARM: omap3: Set SPL stack size to 8KB, image to 54KB.
Tom Rini [Tue, 8 May 2012 07:29:31 +0000 (07:29 +0000)]
ARM: omap3: Set SPL stack size to 8KB, image to 54KB.

With older toolchains it is possible to not fit entirely into the 45KB
that we had assigned to SPL.  Adjust to allow for 8KB of stack (which
should be more than required) and 54KB of text/data.

Cc: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Nagendra T S <nagendra@mistralsolutions.com>
Cc: Thomas Weber <weber@corscience.de>
Cc: Ilya Yanok <yanok@emcraft.com>
Cc: Steve Sakoman <sakoman@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: Stefano Babic <sbabic@denx.de>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm, omap3: fix warm reset serial output on OMAP36xx/AM/DM37xx
Matt Porter [Mon, 7 May 2012 16:49:21 +0000 (16:49 +0000)]
arm, omap3: fix warm reset serial output on OMAP36xx/AM/DM37xx

In warm reset conditions on OMAP36xx/AM/DM37xx the rom code
incorrectly sets the DPLL4 clock input divider to /6.5 which
is an invalid value unless the input clock is 13MHz. When a JTAG
emulator is attached, a warm reset is necessary after the emulator
gains control of the process. This results in a loss of serial
output due to the invalid DPLL4 settings.

This patch fixes the issue by resetting the DPLL4 clock input
divider to /1 when the input clock is not 13MHz. AM/DM37x TRM
section 3.5.3.3.3.2.1 specifies that the /6.5 setting is only
used when the input clock is 13MHz.

Signed-off-by: Matt Porter <mporter@ti.com>
12 years agoOMAP4: Set fdt_high for OMAP4 devices to enable booting with Device Tree
Jon Hunter [Tue, 1 May 2012 10:05:08 +0000 (10:05 +0000)]
OMAP4: Set fdt_high for OMAP4 devices to enable booting with Device Tree

For OMAP4 boards, such as the panda-es, that have 1GB of memory the linux
kernel fails to locate the device tree blob on boot. The reason being is that
u-boot is copying the DT blob to the upper part of RAM when booting the kernel
and the kernel is unable to access the blob. By setting the fdt_high variable
to either 0xffffffff (to prevent the copy) or 0xac000000 (704MB boundary
of memory for OMAP4) the kernel is able to locate the DT blob and boot.

Based upon following patch by Dirk Behme set the fdt_high variable to allow
booting with device tree on OMAP4 boards.

"7e9603e i.mx6q: configs: Add fdt_high and initrd_high variables"

Cc: Sricharan R <r.sricharan@ti.com>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
Cc: Tom Rini <trini@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
12 years agoomap4: do not enable auxiliary cores
Tero Kristo [Wed, 25 Apr 2012 06:05:21 +0000 (06:05 +0000)]
omap4: do not enable auxiliary cores

Booting up these cores (dsp / ivahd / cortex-m3) is bad without
firmware running on them, and they will hang preventing any kind
of sleep transitions later on with the kernel.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: R Sricharan <r.sricharan@ti.com>
12 years agoomap4: do not enable fs-usb module
Tero Kristo [Wed, 25 Apr 2012 06:05:20 +0000 (06:05 +0000)]
omap4: do not enable fs-usb module

If this is done in the bootloader, the FS-USB will later be stuck into
intransition state, which will prevent the device from entering idle.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
12 years agoomap4: panda: disable uart2 pads during boot
Tero Kristo [Wed, 25 Apr 2012 06:05:19 +0000 (06:05 +0000)]
omap4: panda: disable uart2 pads during boot

If uart2 is enabled during boot, spurious wifi chip transmission will
hang the module and it is impossible to recover from this situation
without hard reset. This will prevent any l4_per domain idle
transitions.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
12 years agoigep00x0: change mpurate from 500 to auto
Enric Balletbo i Serra [Wed, 25 Apr 2012 02:34:31 +0000 (02:34 +0000)]
igep00x0: change mpurate from 500 to auto

This patch changes the default mpurate variable from 500 to auto on
all IGEP boards, with this the default rate is autoselected.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoigep00x0: enable the use of a plain text file
Enric Balletbo i Serra [Wed, 25 Apr 2012 02:33:50 +0000 (02:33 +0000)]
igep00x0: enable the use of a plain text file

Based on commit cf073e49bc3502be1b48a0e3faf0cde9edbb89db for beagleboard

Using the new env import command it is possible to use plain text files instead
of script-images. Plain text files are much easier to handle.

E.g. If your boot.scr contains the following:
 -----------------------------------
setenv dvimode 1024x768-16@60
run loaduimage
run mmcboot
-----------------------------------
you could create a file named uEnv.txt and use that instead of boot.scr:
 -----------------------------------
dvimode=1024x768-16@60
uenvcmd=run loaduimage; run mmcboot
-----------------------------------
The variable uenvcmd (if existent) will be executed (using run) after uEnv.txt
was loaded. If uenvcmd doesn't exist the default boot sequence will be started,
therefore you could just use
-----------------------------------
dvimode=1024x768-16@60
-----------------------------------
as uEnv.txt because loaduimage and mmcboot is part of the default boot sequence

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agotegra2: trivially enable 13 mhz crystal frequency
Lucas Stach [Tue, 1 May 2012 12:50:05 +0000 (12:50 +0000)]
tegra2: trivially enable 13 mhz crystal frequency

This is needed for upcoming Toradex Colibri T20 upstream support.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Enable keyboard for Seaboard
Simon Glass [Tue, 17 Apr 2012 09:01:37 +0000 (09:01 +0000)]
tegra: Enable keyboard for Seaboard

This enables the standard keyboard on Seaboard.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Switch on console mux and use environment for console
Simon Glass [Tue, 17 Apr 2012 09:01:36 +0000 (09:01 +0000)]
tegra: Switch on console mux and use environment for console

All tegra boards will use these options by default.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add tegra keyboard driver
Rakesh Iyer [Tue, 17 Apr 2012 09:01:35 +0000 (09:01 +0000)]
tegra: Add tegra keyboard driver

Add support for internal matrix keyboard controller for Nvidia Tegra
platforms. This driver uses the fdt decode function to obtain its key
codes.

Support for the Ctrl modifier is provided. The left and right ctrl keys are
dealt with in the same way.

This uses the new keyboard input library (drivers/input/input.c) to decode
keys and handle most of the common input logic. The new key matrix library
is also used to decode (row, column) key positions into key codes.

The intent is to make this driver purely about dealing with the hardware.

Key detection before the driver is loaded is supported. This key will be
picked up when the keyboard driver is initialized.

Modified by Bernie Thompson <bhthompson@chromium.org> and
Simon Glass <sjg@chromium.org> for device tree, input layer, key matrix
and various other things.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: fdt: Add keyboard definitions for Seaboard
Anton Staff [Tue, 17 Apr 2012 09:01:34 +0000 (09:01 +0000)]
tegra: fdt: Add keyboard definitions for Seaboard

Seaboard uses a QUERTY keyboard. We add key codes for this to
enable key scanning to work.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: fdt: Add keyboard controller definition
Anton Staff [Tue, 17 Apr 2012 09:01:33 +0000 (09:01 +0000)]
tegra: fdt: Add keyboard controller definition

The Tegra keyboard controller provides a simple interface to a matrix
keyboard.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add keyboard support to funcmux
Simon Glass [Tue, 17 Apr 2012 09:01:32 +0000 (09:01 +0000)]
tegra: Add keyboard support to funcmux

Add funcmux support for the default keyboard mapping.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoinput: Add support for keyboard matrix decoding from an fdt
Bernie Thompson [Tue, 17 Apr 2012 09:01:31 +0000 (09:01 +0000)]
input: Add support for keyboard matrix decoding from an fdt

Matrix keyboards require a key map to be set up, and must also deal with
key ghosting.

Create a keyboard matrix management implementation which can be leveraged
by various keyboard drivers. This includes code to read the keymap from
the FDT and perform debouncing.

Signed-off-by: Bernie Thompson <bhthompson@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoinput: Add generic keyboard input handler
Simon Glass [Tue, 17 Apr 2012 09:01:30 +0000 (09:01 +0000)]
input: Add generic keyboard input handler

Add a module which understands converting key codes (or scan codes)
to ASCII characters. It includes FIFO support and can call back to
drivers to read new characters when its FIFO is empty.

Keycode maps are provided for un-modified, shift and ctrl keys.

The plan is to use this module where such mapping is required.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoinput: Add linux/input.h for key code support
Simon Glass [Tue, 17 Apr 2012 09:01:29 +0000 (09:01 +0000)]
input: Add linux/input.h for key code support

We want to able to decode Linux fdt keymaps, so bring part of this
enormous header file over to U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agofdt: Add fdtdec functions to read byte array
Anton Staff [Tue, 17 Apr 2012 09:01:28 +0000 (09:01 +0000)]
fdt: Add fdtdec functions to read byte array

Sometimes we don't need a full cell for each value. This provides
a simple function to read a byte array, both with and without
copying it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Enable LP0 on Seaboard
Simon Glass [Mon, 2 Apr 2012 13:19:03 +0000 (13:19 +0000)]
tegra: Enable LP0 on Seaboard

This enables LP0 to support suspend / resume on Seaboard.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: fdt: Add EMC data for Tegra2 Seaboard
Simon Glass [Thu, 5 Apr 2012 11:55:15 +0000 (11:55 +0000)]
tegra: fdt: Add EMC data for Tegra2 Seaboard

This adds timings for T20 and T25 Seaboards, using the bindings found here:

http://patchwork.ozlabs.org/patch/132928/

We supply both full speed options for normal running, and half speed options
for testing / development.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: i2c: Add function to find DVC bus
Simon Glass [Mon, 2 Apr 2012 13:19:01 +0000 (13:19 +0000)]
tegra: i2c: Add function to find DVC bus

Add tegra_i2c_get_dvc_bus_num() to obtain the I2C bus number of DVC bus.
This allows us to talk to the PMU.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agofdt: tegra: Add EMC node to device tree
Simon Glass [Mon, 2 Apr 2012 13:19:00 +0000 (13:19 +0000)]
fdt: tegra: Add EMC node to device tree

Add a definition of the memory controller node according to the bindings
here:

http://patchwork.ozlabs.org/patch/132928/

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add EMC settings for Seaboard
Jimmy Zhang [Tue, 10 Apr 2012 05:17:06 +0000 (05:17 +0000)]
tegra: Add EMC settings for Seaboard

Set Seaboard to optimal memory settings based on the SOC in use (T20 or T25).

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Turn off power detect in board init
Wei Ni [Mon, 2 Apr 2012 13:18:58 +0000 (13:18 +0000)]
tegra: Turn off power detect in board init

Tegra core power rail has leakage voltage around 0.2V while system in
suspend mode. The source of the leakage should be coming from PMC power
detect logic for IO rails power detection.
That can be disabled by writing a '0' to PWR_DET_LATCH followed by writing '0'
to PWR_DET (APBDEV_PMC_PWR_DET_0).

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Set up warmboot code on Nvidia boards
Simon Glass [Mon, 2 Apr 2012 13:18:57 +0000 (13:18 +0000)]
tegra: Set up warmboot code on Nvidia boards

Call the function to put warmboot boot in a suitable place for resume.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Setup PMC scratch info from ap20 setup
Yen Lin [Mon, 2 Apr 2012 13:18:56 +0000 (13:18 +0000)]
tegra: Setup PMC scratch info from ap20 setup

Save SDRAM parameters into the warmboot scratch registers

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Yen Lin <yelin@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add warmboot implementation
Yen Lin [Tue, 10 Apr 2012 05:17:02 +0000 (05:17 +0000)]
tegra: Add warmboot implementation

Add code to set up the warm boot area in the Tegra CPU ready for a
resume after suspend.

Signed-off-by: Yen Lin <yelin@nvidia.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Set up PMU for Nvidia boards
Simon Glass [Mon, 2 Apr 2012 13:18:54 +0000 (13:18 +0000)]
tegra: Set up PMU for Nvidia boards

Adjust PMU to permit maximum frequency operation.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add PMU to manage power supplies
Jimmy Zhang [Mon, 2 Apr 2012 13:18:53 +0000 (13:18 +0000)]
tegra: Add PMU to manage power supplies

Power supplies must be adjusted in line with clock frequency. This code
provides a simple routine to set the voltage to allow operation at maximum
frequency.

- Split PMU code into separate TPS6586X driver

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add EMC support for optimal memory timings
Jimmy Zhang [Mon, 2 Apr 2012 13:18:52 +0000 (13:18 +0000)]
tegra: Add EMC support for optimal memory timings

Add support for setting up the memory controller parameters. Boards
can set up an appropriate table in the device tree.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add header file for APB_MISC register
Simon Glass [Mon, 2 Apr 2012 13:18:51 +0000 (13:18 +0000)]
tegra: Add header file for APB_MISC register

Add a basic header file for this register, to be filled in as needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add tegra_get_chip_type() to detect SKU
Simon Glass [Mon, 2 Apr 2012 13:18:50 +0000 (13:18 +0000)]
tegra: Add tegra_get_chip_type() to detect SKU

We want to know which type of chip we are running on - the Tegra
family has several SKUs. This can be determined by reading a
fuse register, so add this function to ap20.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add flow, gp_padctl, fuse, sdram headers
Yen Lin [Mon, 2 Apr 2012 13:18:49 +0000 (13:18 +0000)]
tegra: Add flow, gp_padctl, fuse, sdram headers

These headers provide access to additional Tegra features.

flow - start/stop CPUs
sdram - parameters for SDRAM
fuse - access to on-chip fuses / security settings
gp_padctl - pad control and general purpose registers

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Yen Lin <yelin@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add crypto library for warmboot code
Yen Lin [Mon, 2 Apr 2012 13:18:48 +0000 (13:18 +0000)]
tegra: Add crypto library for warmboot code

Provides an interface to aes.c for the warmboot code.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Yen Lin <yelin@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add functions to access low-level Osc/PLL details
Simon Glass [Mon, 2 Apr 2012 13:18:47 +0000 (13:18 +0000)]
tegra: Add functions to access low-level Osc/PLL details

Add clock_ll_read_pll() to read PLL parameters and clock_get_osc_bypass()
to find out if the Oscillator is bypassed. These are needed by warmboot.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Move ap20.h header into arch location
Simon Glass [Mon, 2 Apr 2012 13:18:46 +0000 (13:18 +0000)]
tegra: Move ap20.h header into arch location

We want to include this from board code, so move the header into
an easily-accessible location.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoAdd AES crypto library
Yen Lin [Thu, 5 Apr 2012 11:54:58 +0000 (11:54 +0000)]
Add AES crypto library

Add support for AES using an implementation from Karl Malbrain.
This offers small code size (around 5KB on ARM) and supports 128-bit
AES only.

Signed-off-by: Yen Lin <yelin@nvidia.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoi2c: Add TPS6586X driver
Simon Glass [Mon, 2 Apr 2012 13:18:44 +0000 (13:18 +0000)]
i2c: Add TPS6586X driver

This power management chip supports battery charging and a large number
of power supplies. This initial driver only provides the ability to adjust
the two synchronous buck converters SM0 and SM1 in a stepwise manner.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoAdd abs() macro to return absolute value
Simon Glass [Thu, 10 May 2012 11:37:35 +0000 (11:37 +0000)]
Add abs() macro to return absolute value

This macro is generally useful to make it available in common.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Acked-by: Tom Rini <trini@ti.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agofdt: Add function to return next compatible subnode
Simon Glass [Mon, 2 Apr 2012 13:18:42 +0000 (13:18 +0000)]
fdt: Add function to return next compatible subnode

We need to iterate through subnodes of a parent, looking only at
compatible nodes. Add a utility function to do this for us.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agofdt: Add function to locate an array in the device tree
Simon Glass [Mon, 2 Apr 2012 13:18:41 +0000 (13:18 +0000)]
fdt: Add function to locate an array in the device tree

fdtdec_locate_array() locates an integer array but does not copy it. This
saves the caller having to allocated wasted space.

Access to array elements should be through the fdt32_to_cpu() macro.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoi.MX28: Avoid redefining serial_put[cs]()
Marek Vasut [Tue, 1 May 2012 11:09:53 +0000 (11:09 +0000)]
i.MX28: Avoid redefining serial_put[cs]()

Do not define serial_putc() and serial_puts() calls if
CONFIG_SPL_SERIAL_SUPPORT is set.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
12 years agoi.MX28: Check if WP detection is implemented at all
Marek Vasut [Tue, 1 May 2012 11:09:52 +0000 (11:09 +0000)]
i.MX28: Check if WP detection is implemented at all

If the WP function is NULL, simply assume the card is always RW.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
12 years agoi.MX28: Add battery boot components to SPL
Marek Vasut [Tue, 1 May 2012 11:09:51 +0000 (11:09 +0000)]
i.MX28: Add battery boot components to SPL

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
12 years agoi.MX28: Reorder battery status functions in SPL
Marek Vasut [Tue, 1 May 2012 11:09:50 +0000 (11:09 +0000)]
i.MX28: Reorder battery status functions in SPL

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
12 years agoi.MX28: Add LRADC init to i.MX28 SPL
Marek Vasut [Tue, 1 May 2012 11:09:49 +0000 (11:09 +0000)]
i.MX28: Add LRADC init to i.MX28 SPL

This code is part of battery boot support for i.MX28.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
12 years agoi.MX28: Add LRADC register definitions
Marek Vasut [Tue, 1 May 2012 11:09:48 +0000 (11:09 +0000)]
i.MX28: Add LRADC register definitions

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
12 years agoi.MX28: Shut down the LCD controller before reset
Marek Vasut [Tue, 1 May 2012 11:09:47 +0000 (11:09 +0000)]
i.MX28: Shut down the LCD controller before reset

If the LCD controller is on before the CPU goes into reset, the traffic on LCDIF
data pins interferes with the BootROM's boot mode sampling. So shut the
controller down.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
12 years agoi.MX28: Add LCDIF register definitions
Marek Vasut [Tue, 1 May 2012 11:09:46 +0000 (11:09 +0000)]
i.MX28: Add LCDIF register definitions

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
12 years agoi.MX28: Implement boot pads sampling and reporting
Marek Vasut [Tue, 1 May 2012 11:09:45 +0000 (11:09 +0000)]
i.MX28: Implement boot pads sampling and reporting

This patch implements code that samples i.MX28 boot pads and reports boot mode
accordingly.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
12 years agoi.MX28: Improve passing of data from SPL to U-Boot
Marek Vasut [Tue, 1 May 2012 11:09:44 +0000 (11:09 +0000)]
i.MX28: Improve passing of data from SPL to U-Boot

Pass memory size from SPL via structure located in SRAM instead of SCRATCH
registers. This allows passing more data about boot from SPL to U-Boot, like the
boot mode pads configuration.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
12 years agoM28EVK: Add SD update command
Marek Vasut [Tue, 1 May 2012 11:09:43 +0000 (11:09 +0000)]
M28EVK: Add SD update command

Add "update_sd_firmware" command to easily reload the SD card of
m28evk kit. This comes handy when the board boots from SD card.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
12 years agoM28EVK: Implement support for new board V2.0
Marek Vasut [Tue, 1 May 2012 11:09:42 +0000 (11:09 +0000)]
M28EVK: Implement support for new board V2.0

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Wolfgang Denk <wd@denx.de>