Commit Graph

8833 Commits

Author SHA1 Message Date
Sourav Poddar f2dcae2f9e configs: dra7_evm: Resize qspi uboot and kernel partition size
Resize the uboot to 1 MB, as that will be sufficient.
Increase the kernel size from 5MB to 8MB, as android kernel build images
are more than 5MB.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2014-02-10 15:43:13 -05:00
Sourav Poddar 00c053d7d2 configs: am43x-epos-evm: Resize qspi uboot and kernel partition size
Resize the uboot to 1 MB, as that will be sufficient.
Increase the kernel size from 5MB to 8MB, as android kernel build images
are more than 5MB.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2014-02-10 15:43:13 -05:00
Tom Rini aa25212298 ti_armv7_common.h: Correct partition names in nandboot
Signed-off-by: Tom Rini <trini@ti.com>
2014-02-06 15:49:29 -05:00
Pekon Gupta 81cd7dba60 configs: dra7_evm: fix NAND.u-boot-spl-os partition size
NAND.u-boot-spl-os partition is sized for 2 x NAND_BLOCK_SIZE, so that
in future it can:
 - split into redundant partitions "u-boot-spl-os" and "u-boot-spl-os.backup1"
 - store large DTB(s)

Signed-off-by: Pekon Gupta <pekon@ti.com>
2014-02-06 12:02:03 -05:00
Pekon Gupta af74337197 configs: am335x_evm: fix NAND.u-boot-spl-os partition size
NAND.u-boot-spl-os partition is sized for 2 x NAND_BLOCK_SIZE, so that
in future it can:
 - split into redundant partitions "u-boot-spl-os" and "u-boot-spl-os.backup1"
 - store large DTB(s)

Signed-off-by: Pekon Gupta <pekon@ti.com>
2014-02-06 12:02:03 -05:00
Tom Rini ab011b4e33 ti_armv7_common.h: Resync ubi.mtd name again with the kernel
Signed-off-by: Tom Rini <trini@ti.com>
2014-02-04 09:01:42 -05:00
Pekon Gupta d793f301fd configs: am43xx_evm: match NAND MTD partition table with linux-kernel
- update NAND partition offsets and relevant CONFIG_xx
 - prefix NAND partition names with "NAND."

Signed-off-by: Pekon Gupta <pekon@ti.com>
2014-02-04 09:01:19 -05:00
Pekon Gupta fe93251abd configs: am335x_evm: match NAND MTD partition table with linux-kernel
- update NAND partition offsets and relevant CONFIG_xx
 - prefix NAND partition names with "NAND."

Signed-off-by: Pekon Gupta <pekon@ti.com>
2014-02-04 09:00:57 -05:00
Pekon Gupta dfc47eb54a configs: dra7xx_evm: match NAND MTD partition table with linux-kernel
- update NAND partition offsets and relevant CONFIG_xx
 - prefix NAND partition names with "NAND."

Signed-off-by: Pekon Gupta <pekon@ti.com>
2014-02-04 09:00:26 -05:00
Tom Rini 85f3a4c6c3 ti_armv7_common.h: Specify correct partition name..
Signed-off-by: Tom Rini <trini@ti.com>
2014-01-31 15:17:59 -05:00
Tom Rini a9863aa25f ti_armv7_common: For UBI, pass in name not number
Depending on the number of partitions available (say if QSPI also has a
table, or not) '9' is not the correct spot for the UBI image.  It is
however put on the "file-system" partition, so use that.

Signed-off-by: Tom Rini <trini@ti.com>
2014-01-31 09:46:12 -05:00
Tom Rini 848e2404de am335x/am43xx/dra7xx: Change mtdparts name for consistency with kernel
Signed-off-by: Tom Rini <trini@ti.com>
2014-01-31 09:45:50 -05:00
Sourav Poddar aa153dbdc2 am43xx_evm_qspiboot: Disable MMC/USB in SPL for size
The following commit[1] defined CPSW for CONFIG_QSPI_BOOT, but for other
configs CPSW remains disabled. Hence, doing a undef of CPSW whereever
required rather than defining it for only QSPI_BOOT.

[1] c812c28 configs: am43x-evm: change uboot offset

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
2014-01-30 10:53:47 -05:00
Sourav Poddar 6a914b7df8 configs: am43x-evm: change uboot offset
Change uboot offset in accordance with the partition formed.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2014-01-27 09:26:34 -05:00
Sourav Poddar 110ea2c838 configs: am43x-evm: Add mtd parts info for qspi.
Add MTD partition info for qspi on am43x epos evm

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2014-01-27 09:26:31 -05:00
Sourav Poddar 9769033b54 configs: dra7-evm: change uboot offset
Change uboot offset in accordance with the partition formed.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2014-01-27 09:20:18 -05:00
Sourav Poddar 9ed700b15b configs: dra7-evm: Add mtd parts info for qspi.
Add MTD partition info for qspi on am43x epos evm

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2014-01-27 09:20:18 -05:00
Tom Rini 379e456ee7 dra7xx/am335x_evm/am43xx_evm: Enable GPT support by default
Signed-off-by: Tom Rini <trini@ti.com>
2014-01-21 16:14:29 -05:00
Tom Rini 2fc1125c3c am43xx_evm.h: Correct SPL max size
Upon further inspection of relevant parts of the architecture, the
maximum SPL binary size is 220KiB.

Cc: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
2014-01-20 10:10:51 -05:00
Tom Rini ae92bf32bc ti_armv7_common.h: Correct ubi parameters
We do not support sub-page on NAND on any of these parts so we must
always provide the location of the VID header offset and this is always
our page size.

Signed-off-by: Tom Rini <trini@ti.com>
2014-01-17 09:41:18 -05:00
Dan Murphy 91861598eb arm: am43xx/am335/omap5: Add usb root and args
Adding the usbargs macro for OMAP5, AM43xx and the AM335
As well as add the usbroot to be sda2

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2014-01-16 16:30:25 -05:00
Afzal Mohammed 562aa88643 ARM: AM43xx: relocate dtb
It has been observed that with default Kernel and dtd load address, if
dtb is not relocated on AM43x, Kernel doesn't boot - probably due to
Kernel image getting overwritten by dtb.

Fix it by relocating dtb as is done for other platforms so that defaults
will make AM43x boot.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
2013-12-17 08:46:43 -05:00
Dan Murphy 4c677486ec arm: ti-armv7-common: Fix NAND and MMC boot command
When porting the NAND and MMC boot CMD it was developer
error not porting over the contents of the NAND and MMC
boot commands as they existed in the tree.

Therefore need to update the common boot commands to what
was already available for the platforms.

Also removed the NANDARGS from the platform files so that
they do not cause confusion.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
[trini: Add omap5_common.h change]
Signed-off-by: Tom Rini <trini@ti.com>
2013-12-11 10:23:39 -05:00
Dan Murphy f5d5782636 arm: am437x: Adopt the am437 config file to boot order
Adopt the am437x evm config to the common boot script.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2013-12-10 12:33:32 -05:00
Dan Murphy 1ef9df10b7 TI: configs: Commonize the boot of different devices
Commonize in the ti_armv7_common.h the boot scripts for
USB, MMC and NAND.

Each board file can then select which BOOT_TARGETS are applicable
for the target board.
And any parameters based on that.

Finally removed the findfdt from the common file and made this more board
specific as omap4_common should not reference panda.

This implemenation was adopted from the tegra-common-post.h file.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2013-12-10 12:33:32 -05:00
Dan Murphy 001419954b arm: am437x: Enable the USB boot device
Enable the USB host boot support for the AM437 evm

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2013-12-10 12:33:32 -05:00
Dan Murphy e71e70bf45 common: spl: add USB mass storage as a boot device
Add the ability to load a u-boot off a USB mass storage device
from the SPL

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2013-12-10 12:33:31 -05:00
Pekon Gupta 8e636ad2a2 dra7xx_evm: remove unused MTD partitions
removed u-boot.backup1 and u-boot-spl-os.backup1 partitions

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-10 12:15:26 -05:00
Pekon Gupta 670d917a05 am43xx_evm: remove unused MTD partitions
removed u-boot.backup1 and u-boot-spl-os.backup1 partitions

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-10 12:15:26 -05:00
Pekon Gupta a4b006efe3 am335x_evm: remove unused MTD partitions
removed u-boot.backup1 and u-boot-os-spl.backup1 partitions

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-10 12:15:26 -05:00
Tom Rini b42972acef am335x/omap3_beagle/omap4/omap5: Re-enable fdt_high relocation
The fdt_high variable controls how high into memory the FDT can be moved
as part of booting the kernel.  We had been disabling this feature as by
default we move to the very top of memory which can often be part of
highmem and so not visible to the kernel yet.  However, in other cases
the kernel BSS can overwrite the FDT at the location we use, and we
wouldn't detect this case.  The answer is to re-enable relocation, but
ensure it will be in kernel-visible memory still.

Signed-off-by: Tom Rini <trini@ti.com>
2013-12-10 08:54:47 -05:00
Pekon Gupta 9e6155b923 mtd: nand: omap: add CONFIG_SPL_NAND_DEVICE_WIDTH to determine NAND device bus-width
This patch adds CONFIG_SPL_NAND_DEVICE_WIDTH to specify bus-width of NAND device
  CONFIG_SPL_NAND_DEVICE_WIDTH == 16: NAND device with x16 bus-width
  CONFIG_SPL_NAND_DEVICE_WIDTH == 8:  NAND device with x8 bus-width

Need for a separate CONFIG_xx arise from following situations.
(1) SPL NAND drivers does not have framework to parse ONFI parameter page.

(2) if !defined(CONFIG_SYS_NAND_SELF_INIT)
         |- board_nand_init()
         |- nand_scan()
               |- nand_scan_ident()
               |- nand_scan_tail()
   This means board_nand_init() is called before nand_scan_ident(). So NAND
   controller is initialized before the actual probing of NAND device.
   However some controller (like GPMC) need to be specifically configured for
   bus-width of NAND device.
   In such cases, bus-width of the NAND device should be known in advance
   of actual device probing. Hence, CONFIG_SPL_NAND_DEVICE_WIDTH is useful.

(3) Non-ONFI compliant devices need some mechanism to specify device bus-width
   to driver.

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-06 15:17:15 -05:00
Pekon Gupta 1a59ceb159 dra7xx_evm: add support for parallel NAND
This patch
 - Adds pin-mux for x16 parallel NAND device (MT29F2G16AAD) present on DRA7xx_EVM
 - Populate MTD partition table which needs same as kernel DTS for DRA7xx_EVM.
 - Populate other CONFIG_xx parameters required for NAND Boot on DRA7xx

Important: NAND device on DRA7xx_EVM board (MT29F2G16AAD) is a x16 device.
  To support NAND device with bus-width=16 bits, GPMC driver needs additional
  hack as following

diff --git a/arch/arm/cpu/armv7/omap-common/mem-common.c b/arch/arm/cpu/armv7/omap-common/mem-common.c
index 8e7352b..9b14927 100644
--- a/arch/arm/cpu/armv7/omap-common/mem-common.c
+++ b/arch/arm/cpu/armv7/omap-common/mem-common.c
@@ -91,7 +91,7 @@ void gpmc_init(void)
        u32 base = CONFIG_SYS_FLASH_BASE;
 #elif defined(CONFIG_NAND)
 /* configure GPMC for NAND */
-       const u32  gpmc_regs[GPMC_MAX_REG] = {  M_NAND_GPMC_CONFIG1,
+       const u32  gpmc_regs[GPMC_MAX_REG] = {  M_NAND_GPMC_CONFIG1 | 0x1000,
                                                M_NAND_GPMC_CONFIG2,
                                                M_NAND_GPMC_CONFIG3,
                                                M_NAND_GPMC_CONFIG4,

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-03 23:01:56 +05:30
Pekon Gupta 7304e05470 am43xx_evm: add support for parallel NAND
This patch
 - Adds pin-mux for x8 parallel NAND device (MT29F4G08AB) present on AM43xx_EVM

 - As above NAND device has blocksize=256k, pagesize=4k, oobsize=224, so by
   design ROM code expects SPL to be flashed using BCH16 ECC scheme. Hence
   CONFIG_NAND_OMAP_ECCSCHEME = OMAP_ECC_BCH16_CODE_HW is enabled.

 - Specifies MTD partition table which needs same as kernel DTS for AM43xx_EVM.

 - Populates other CONFIG_xx parameters required for NAND Boot on AM43xx

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-03 16:37:50 +05:30
Pekon Gupta 3ecf32a72c am335x_evm: update NAND related CONFIG_xx and MTD partitions
This patch
 - Groups all CONFIG_xx required for enabling parallel NAND on AM335x_EVM
   into single file include/configs/am335x_evm.h
 - Updates MTD partition table to include backup partitions for
   u-boot, environment and u-boot-spl-os.
 - Aligns MTD partitions (except for SPL partitions) such that partition offsets
   and sizes remain constant for all NAND devices with blocksize=128k or 256k.
   (because MTD partitions need to be aligned with blocksize boundary)

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-03 15:47:01 +05:30
Pekon Gupta 7a0845728b mtd: nand: omap: add support for BCH16_ECC - NAND driver updates
With increase in NAND flash densities occurence of bit-flips has increased.
Thus stronger ECC schemes are required for detecting and correcting multiple
simultaneous bit-flips in same NAND page. But stronger ECC schemes have large
ECC syndrome which require more space in OOB/Spare.
This patch add support for BCH16_ECC:
(a) BCH16_ECC can correct 16 bit-flips per 512Bytes of data.
(b) BCH16_ECC generates 26-bytes of ECC syndrome / 512B.

Due to (b) this scheme can only be used with NAND devices which have enough
OOB to satisfy following equation:
OOBsize per page >= 26 * (page-size / 512)

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-03 14:30:43 +05:30
Pekon Gupta a72c2ee835 mtd: nand: omap: add support for BCH16_ECC in ELM driver
With increase in NAND flash densities occurence of bit-flips has increased.
Thus stronger ECC schemes are required for detecting and correcting multiple
simultaneous bit-flips in same NAND page. But stronger ECC schemes have large
ECC syndrome which require more space in OOB/Spare.
This patch add support for BCH16_ECC:
(a) BCH16_ECC can correct 16 bit-flips per 512Bytes of data.
(b) BCH16_ECC generates 26-bytes of ECC syndrome / 512B.

Due to (b) this scheme can only be used with NAND devices which have enough
OOB to satisfy following equation:
OOBsize per page >= 26 * (page-size / 512)

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-03 14:30:42 +05:30
Mugunthan V N 726c782423 ARM: AM43xx: Add Ethernet boot support to SPL
Add Ethernet Boot support to SPL

Acked-by: Tom Rini <trini@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
2013-12-02 12:02:18 -05:00
Mugunthan V N 5e7ae95a3d ARM: AM43xx: increase ro segment size
Increase read only segment size so that more peheripheral support can be
added to SPL like Ethernet or USB. The OCMC ram size is 256K, so allocating
~220K for read only segment.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
2013-12-02 12:02:18 -05:00
pekon gupta cad434fe2e mtd: nand: omap: move omap_elm.h from arch/arm/include/asm to drivers/mtd/nand
omap_elm.h is a generic header used by OMAP ELM driver for all TI platfoms.
Hence this file should be present in generic folder instead of architecture
specific include folder.
Build tested using: ./MAKEALL -s am33xx -s omap3 -s omap4 -s omap5

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-11-26 09:09:55 -05:00
pekon gupta e05f81d3eb mtd: nand: omap: move omap_gpmc.h from arch/arm/include/asm to drivers/mtd/nand
omap_gpmc.h is a generic header used by OMAP NAND driver for all TI platfoms.
Hence this file should be present in generic folder instead of architecture
specific include folder.
Build tested using: ./MAKEALL -s am33xx -s omap3 -s omap4 -s omap5

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-11-26 09:09:55 -05:00
pekon gupta 65c69b22ed mtd: nand: omap: remove unused #defines from common omap_gpmc.h
OMAP NAND driver can detect Page-size and OOB-size of NAND device from ONFI
params or nand_id[] table. And based on that it defines ECC layout.
This patch
1) removes following board configs used for defining NAND ECC layout
	- GPMC_NAND_ECC_LP_x16_LAYOUT (for large page x16 NAND)
	- GPMC_NAND_ECC_LP_x8_LAYOUT  (for large page x8 NAND)
	- GPMC_NAND_ECC_SP_x16_LAYOUT (for small page x16 NAND)
	- GPMC_NAND_ECC_SP_x8_LAYOUT  (for small page x8 NAND)

2) removes unused #defines in common omap_gpmc.h depending on above configs

Build tested using: ./MAKEALL -s am33xx -s omap3 -s omap4 -s omap5

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-11-26 09:09:54 -05:00
pekon gupta 8e2517339b mtd: nand: omap: add CONFIG_NAND_OMAP_ECCSCHEME for selection of ecc-scheme
This patch adds new CONFIG_NAND_OMAP_ECCSCHEME, replacing other distributed
CONFIG_xx used for selecting NAND ecc-schemes.
This patch aims at solving following issues.

1) Currently ecc-scheme is tied to SoC platform, which prevents user to select
   other ecc-schemes also supported in hardware. like;
 - most of OMAP3 SoC platforms use only 1-bit Hamming ecc-scheme, inspite
   the fact that they can use higher ecc-schemes like 8-bit ecc-schemes with
   software based error detection (OMAP_ECC_BCH4_CODE_HW_DETECTION_SW).
 - most of AM33xx SoC plaforms use 8-bit BCH ecc-scheme for now, but hardware
   supports BCH16 ecc-scheme also.

2) Different platforms use different CONFIG_xx to select ecc-schemes, which
   adds confusion for user while migrating platforms.
 - *CONFIG_NAND_OMAP_ELM* which enables ELM hardware engine, selects only
    8-bit BCH ecc-scheme with h/w based error-correction (OMAP_ECC_BCH8_CODE_HW)
    whereas ELM hardware engine supports other ecc-schemes also like; BCH4,
    and BCH16 (in future).
 - *CONFIG_NAND_OMAP_BCH8* selects 8-bit BCH ecc-scheme with s/w based error
    correction (OMAP_ECC_BCH8_CODE_HW_DETECTION_SW).
 - *CONFIG_SPL_NAND_SOFTECC* selects 1-bit Hamming ecc-scheme using s/w library

Thus adding new *CONFIG_NAND_OMAP_ECCSCHEME* de-couples ecc-scheme dependency
on SoC platform and NAND driver. And user can select ecc-scheme independently
foreach board.
However, selection some hardware based ecc-schemes (OMAP_ECC_BCHx_CODE_HW) still
depends on presence of ELM hardware engine on SoC. (Refer doc/README.nand)

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-11-26 09:09:17 -05:00
pekon gupta c413424f74 mtd: nand: omap: make am33xx/elm.c as common driver for all OMAPx and AMxxxx platforms
ELM hardware engine which is used for ECC error detection, is present on all
latest OMAP SoC (like OMAP4xxx, OMAP5xxx, DRA7xxx, AM33xx, AM43xx). Thus ELM
driver should be moved to common drivers/mtd/nand/ folder so that all SoC
having on-chip ELM hardware engine can re-use it.
This patch has following changes:
- mv arch/arm/include/asm/arch-am33xx/elm.h arch/arm/include/asm/omap_elm.h
- mv arch/arm/cpu/armv7/am33xx/elm.c drivers/mtd/nand/omap_elm.c
- update Makefiles
- update #include <asm/elm.h>
- add CONFIG_NAND_OMAP_ELM to compile driver/mtd/nand/omap_elm.c
	and include in all board configs using AM33xx SoC platform.

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-11-26 08:54:43 -05:00
Carlos Leija c3a7f32060 omapimage: Add QSPI CH support for DRA7xx
Introduce the usage of QSPI CH for DRA7xx instead of the default and
dummy CHSETTINGS. This CH is only valid for DRA7xx based devices and
is intended to speed up the boot for QSPI_1 device.

Change-Id: I9ab902f0597a758a48732b4dac18adc2e840f7ab
Signed-off-by: Carlos Leija <cileija@ti.com>
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2013-11-25 12:54:05 -05:00
Tom Rini 996f0c426b am335x_evm: Update nandboot to use partitions and DT
Signed-off-by: Tom Rini <trini@ti.com>
2013-11-18 10:17:03 -05:00
Roger Quadros eef40eae2d ARM: dra7_evm: Add SATA support
The evm has a SATA port. Enable SATA configuration and
inititialize the SATA controller.

Signed-off-by: Roger Quadros <rogerq@ti.com>
2013-11-15 09:08:48 -05:00
Roger Quadros 6ff8bcd82a ARM: omap5_uevm: Add SATA support
The uevm has a SATA port. Inititialize the SATA controller.

Signed-off-by: Roger Quadros <rogerq@ti.com>
2013-11-15 09:08:48 -05:00
Tom Rini c40e69db5c am43xx_evm: Add netboot and related to environment
Signed-off-by: Tom Rini <trini@ti.com>
2013-11-14 11:01:25 -05:00
Sourav Poddar 51ec66c154 config: dra7_evm: Add Bank Address Register(BAR) config
Add config to support bank address register.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2013-11-14 10:05:29 -05:00