summaryrefslogtreecommitdiff
path: root/recipes/u-boot/u-boot-git/omap3evm/0007-OMAP3517TEB-validated-on-OMAP3517TEB-board.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/u-boot/u-boot-git/omap3evm/0007-OMAP3517TEB-validated-on-OMAP3517TEB-board.patch')
-rw-r--r--recipes/u-boot/u-boot-git/omap3evm/0007-OMAP3517TEB-validated-on-OMAP3517TEB-board.patch403
1 files changed, 0 insertions, 403 deletions
diff --git a/recipes/u-boot/u-boot-git/omap3evm/0007-OMAP3517TEB-validated-on-OMAP3517TEB-board.patch b/recipes/u-boot/u-boot-git/omap3evm/0007-OMAP3517TEB-validated-on-OMAP3517TEB-board.patch
deleted file mode 100644
index 3c79755d42..0000000000
--- a/recipes/u-boot/u-boot-git/omap3evm/0007-OMAP3517TEB-validated-on-OMAP3517TEB-board.patch
+++ /dev/null
@@ -1,403 +0,0 @@
-From ba560965c5fc7671545cd4eed5d57be69958941d Mon Sep 17 00:00:00 2001
-From: Vaibhav Hiremath <hvaibhav@ti.com>
-Date: Sat, 13 Jun 2009 00:58:06 +0530
-Subject: [PATCH 07/16] OMAP3517TEB: validated on OMAP3517TEB board
-
-OMAP3517TEB board is being used as a pre-silicon development
-platform, below are the details -
-
-Validation -
- - PLL conifguration
- - NAND 8-bit micron part (x-loader, u-boot)
- - USB Host* (Linux)
- - MMC1 (x-loader, u-boot, Linux)
- - Video (TV out, LCD (Toshiba part))
- - MMC boot from x-loader
-
-Changes -
- - GPMC timing parameters for NAND interface
- - omap3517evm.h config file cleanup
- - commented out "smi" instruction
-
-Issues -
- - USB host support has been validated by commenting the
- mux configuration in u-boot. Was not able to conclude on
- muxing part of it.
- - NAND 16-bit is not working, found out to be daughter card issue
- Daughter card is not designed for 16bit micron part.
- - LCD is validated based on AVV panel initialization, since it was SPI
- based LCD panel.
----
- board/omap3/omap3517evm/omap3517evm.h | 20 +++++++-------
- cpu/arm_cortexa8/omap3/board.c | 19 ++++++++-----
- cpu/arm_cortexa8/omap3/mem.c | 48 ++++++++++++++++++++++----------
- cpu/arm_cortexa8/start.S | 2 +-
- drivers/i2c/omap24xx_i2c.c | 9 ++++--
- drivers/mmc/omap3_mmc.c | 6 +++-
- include/asm-arm/arch-omap3/mem.h | 18 ++++++++++++
- include/asm-arm/arch-omap3/mux.h | 4 +-
- include/configs/omap3517evm.h | 10 +++----
- 9 files changed, 90 insertions(+), 46 deletions(-)
-
-diff --git a/board/omap3/omap3517evm/omap3517evm.h b/board/omap3/omap3517evm/omap3517evm.h
-index aba53bf..d817e93 100644
---- a/board/omap3/omap3517evm/omap3517evm.h
-+++ b/board/omap3/omap3517evm/omap3517evm.h
-@@ -190,16 +190,16 @@ static void setup_net_chip(void);
- MUX_VAL(CP(MCBSP2_DR), (IEN | PTD | DIS | M0)) /*McBSP2_DR*/\
- MUX_VAL(CP(MCBSP2_DX), (IDIS | PTD | DIS | M0)) /*McBSP2_DX*/\
- /*Expansion card */\
-- MUX_VAL(CP(MMC1_CLK), (IDIS | PTU | EN | M0)) /*MMC1_CLK*/\
-- MUX_VAL(CP(MMC1_CMD), (IEN | PTU | EN | M0)) /*MMC1_CMD*/\
-- MUX_VAL(CP(MMC1_DAT0), (IEN | PTU | EN | M0)) /*MMC1_DAT0*/\
-- MUX_VAL(CP(MMC1_DAT1), (IEN | PTU | EN | M0)) /*MMC1_DAT1*/\
-- MUX_VAL(CP(MMC1_DAT2), (IEN | PTU | EN | M0)) /*MMC1_DAT2*/\
-- MUX_VAL(CP(MMC1_DAT3), (IEN | PTU | EN | M0)) /*MMC1_DAT3*/\
-- MUX_VAL(CP(MMC1_DAT4), (IEN | PTU | EN | M0)) /*MMC1_DAT4*/\
-- MUX_VAL(CP(MMC1_DAT5), (IEN | PTU | EN | M0)) /*MMC1_DAT5*/\
-- MUX_VAL(CP(MMC1_DAT6), (IEN | PTU | EN | M0)) /*MMC1_DAT6*/\
-- MUX_VAL(CP(MMC1_DAT7), (IEN | PTU | EN | M0)) /*MMC1_DAT7*/\
-+ MUX_VAL(CP(MMC1_CLK), (IEN | PTU | EN | M0)) /*MMC1_CLK*/\
-+ MUX_VAL(CP(MMC1_CMD), (IEN | PTU | DIS | M0)) /*MMC1_CMD*/\
-+ MUX_VAL(CP(MMC1_DAT0), (IEN | PTU | DIS | M0)) /*MMC1_DAT0*/\
-+ MUX_VAL(CP(MMC1_DAT1), (IEN | PTU | DIS | M0)) /*MMC1_DAT1*/\
-+ MUX_VAL(CP(MMC1_DAT2), (IEN | PTU | DIS | M0)) /*MMC1_DAT2*/\
-+ MUX_VAL(CP(MMC1_DAT3), (IEN | PTU | DIS | M0)) /*MMC1_DAT3*/\
-+ MUX_VAL(CP(MMC1_DAT4), (IEN | PTU | DIS | M0)) /*MMC1_DAT4*/\
-+ MUX_VAL(CP(MMC1_DAT5), (IEN | PTU | DIS | M0)) /*MMC1_DAT5*/\
-+ MUX_VAL(CP(MMC1_DAT6), (IEN | PTU | DIS | M0)) /*MMC1_DAT6*/\
-+ MUX_VAL(CP(MMC1_DAT7), (IEN | PTU | DIS | M0)) /*MMC1_DAT7*/\
- /*Wireless LAN */\
- MUX_VAL(CP(MMC2_CLK), (IEN | PTD | DIS | M0)) /*MMC2_CLK*/\
- MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\
-diff --git a/cpu/arm_cortexa8/omap3/board.c b/cpu/arm_cortexa8/omap3/board.c
-index a0c2d05..15834fd 100644
---- a/cpu/arm_cortexa8/omap3/board.c
-+++ b/cpu/arm_cortexa8/omap3/board.c
-@@ -224,9 +224,9 @@ void s_init(void)
- per_clocks_enable();
-
- if (!in_sdram)
--#ifdef CONFIG_OMAP3_OMAP3517EVM
-+#if defined (CONFIG_OMAP35XX)
- emif4_init();
--#else
-+#elif defined (CONFIG_OMAP34XX)
- sdrc_init();
- #endif
- }
-@@ -288,17 +288,22 @@ int dram_init(void)
- * memory on CS0.
- */
- if ((sysinfo.mtype == DDR_COMBO) || (sysinfo.mtype == DDR_STACKED)) {
--#ifdef CONFIG_OMAP3_OMAP3517EVM
-+#if defined (CONFIG_OMAP35XX)
- emif4_init();
--#else
-+ /*
-+ * TODO: Need to implement function to calculate
-+ * DDR size depending on row and coloum size
-+ */
-+ size0 = 128 * 1024 * 1024;
-+#elif defined (CONFIG_OMAP34XX)
- do_sdrc_init(CS1, NOT_EARLY);
- make_cs1_contiguous();
-+
-+ size0 = get_sdr_cs_size(CS0);
-+ size1 = get_sdr_cs_size(CS1);
- #endif
- }
-
-- size0 = get_sdr_cs_size(CS0);
-- size1 = get_sdr_cs_size(CS1);
--
- gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
- gd->bd->bi_dram[0].size = size0;
- gd->bd->bi_dram[1].start = PHYS_SDRAM_1 + get_sdr_cs_offset(CS1);
-diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c
-index 1badb34..7fb05eb 100644
---- a/cpu/arm_cortexa8/omap3/mem.c
-+++ b/cpu/arm_cortexa8/omap3/mem.c
-@@ -32,23 +32,23 @@
- #include <command.h>
-
- /* Definitions for EMIF4 configuration values */
--#define EMIF4_TIM1_T_RP 0x4
--#define EMIF4_TIM1_T_RCD 0x4
--#define EMIF4_TIM1_T_WR 0x2
-+#define EMIF4_TIM1_T_RP 0x3
-+#define EMIF4_TIM1_T_RCD 0x3
-+#define EMIF4_TIM1_T_WR 0x3
- #define EMIF4_TIM1_T_RAS 0x8
--#define EMIF4_TIM1_T_RC 13
-+#define EMIF4_TIM1_T_RC 0xA
- #define EMIF4_TIM1_T_RRD 0x2
- #define EMIF4_TIM1_T_WTR 0x2
-
- #define EMIF4_TIM2_T_XP 0x2
- #define EMIF4_TIM2_T_ODT 0x0
--#define EMIF4_TIM2_T_XSNR 28
--#define EMIF4_TIM2_T_XSRD 200
--#define EMIF4_TIM2_T_RTP 0x2
--#define EMIF4_TIM2_T_CKE 0x3
-+#define EMIF4_TIM2_T_XSNR 0x1C
-+#define EMIF4_TIM2_T_XSRD 0xC8
-+#define EMIF4_TIM2_T_RTP 0x1
-+#define EMIF4_TIM2_T_CKE 0x2
-
- #define EMIF4_TIM3_T_TDQSCKMAX 0x0
--#define EMIF4_TIM3_T_RFC 33
-+#define EMIF4_TIM3_T_RFC 0x25
- #define EMIF4_TIM3_T_RAS_MAX 0x7
-
- #define EMIF4_PWR_IDLE 0x2
-@@ -58,7 +58,7 @@
-
- #define EMIF4_INITREF_DIS 0x0
- #define EMIF4_PASR 0x0
--#define EMIF4_REFRESH_RATE 1295
-+#define EMIF4_REFRESH_RATE 0x50F
-
- #define EMIF4_CFG_SDRAM_TYP 0x2
- #define EMIF4_CFG_IBANK_POS 0x0
-@@ -69,14 +69,21 @@
- #define EMIF4_CFG_SDR_DRV 0x0
- #define EMIF4_CFG_CWL 0x0
- #define EMIF4_CFG_NARROW_MD 0x0
--#define EMIF4_CFG_CL 0x3
--#define EMIF4_CFG_ROWSIZE 0x3
-+#define EMIF4_CFG_CL 0x5
-+#define EMIF4_CFG_ROWSIZE 0x0
- #define EMIF4_CFG_IBANK 0x3
- #define EMIF4_CFG_EBANK 0x0
- #define EMIF4_CFG_PGSIZE 0x2
-
--#define EMIF4_DDR1_READ_LAT 0x3
-+/*
-+ * EMIF4 PHY Control 1 register configuration
-+ */
-+#define EMIF4_DDR1_READ_LAT 0x6
-+#define EMIF4_DDR1_PWRDN_DIS 0x1
-+#define EMIF4_DDR1_STRBEN_EXT 0x1
-+#define EMIF4_DDR1_DLL_MODE 0x0
- #define EMIF4_DDR1_VTP_DYN 0x1
-+#define EMIF4_DDR1_LB_CK_SEL 0x0
-
- /*
- * Only One NAND allowed on board at a time.
-@@ -101,11 +108,15 @@ static u32 gpmc_m_nand[GPMC_MAX_REG] = {
- gpmc_csx_t *nand_cs_base;
- gpmc_t *gpmc_cfg_base;
-
-+#if !defined (CONFIG_OMAP3_OMAP3517TEB)
- #if defined(CONFIG_ENV_IS_IN_NAND)
- #define GPMC_CS 0
- #else
- #define GPMC_CS 1
- #endif
-+#else
-+#define GPMC_CS 2
-+#endif
-
- #endif
-
-@@ -252,7 +263,9 @@ void emif4_init(void)
- {
- unsigned int regval;
- /* Set the DDR PHY parameters in PHY ctrl registers */
-- regval = (EMIF4_DDR1_READ_LAT | (EMIF4_DDR1_VTP_DYN << 15));
-+ regval = (EMIF4_DDR1_READ_LAT | (EMIF4_DDR1_VTP_DYN << 15) |
-+ (EMIF4_DDR1_STRBEN_EXT << 7) | (EMIF4_DDR1_DLL_MODE << 12) |
-+ (EMIF4_DDR1_VTP_DYN << 15) | (EMIF4_DDR1_LB_CK_SEL << 23));
- writel(regval, &emif4_base->ddr_phyctrl1);
- writel(regval, &emif4_base->ddr_phyctrl1_shdw);
- writel(0, &emif4_base->ddr_phyctrl2);
-@@ -261,8 +274,13 @@ void emif4_init(void)
- regval = readl(&emif4_base->sdram_iodft_tlgc);
- regval |= (1<<10);
- writel(regval, &emif4_base->sdram_iodft_tlgc);
-- while ((readl(&emif4_base->sdram_sts) & (1<<10)) == 0x0);
-+ /*Wait till that bit clears*/
-+ while ((readl(&emif4_base->sdram_iodft_tlgc) & (1<<10)) == 0x1);
-+ /*Re-verify the DDR PHY status*/
-+ while ((readl(&emif4_base->sdram_sts) & (1<<2)) == 0x0);
-
-+ regval |= (1<<0);
-+ writel(regval, &emif4_base->sdram_iodft_tlgc);
- /* Set SDR timing registers */
- regval = (EMIF4_TIM1_T_WTR | (EMIF4_TIM1_T_RRD << 3) |
- (EMIF4_TIM1_T_RC << 6) | (EMIF4_TIM1_T_RAS << 12) |
-diff --git a/cpu/arm_cortexa8/start.S b/cpu/arm_cortexa8/start.S
-index 07acdbd..81961ad 100644
---- a/cpu/arm_cortexa8/start.S
-+++ b/cpu/arm_cortexa8/start.S
-@@ -108,7 +108,7 @@ reset:
- orr r0, r0, #0xd3
- msr cpsr,r0
-
--#if (CONFIG_OMAP34XX)
-+#if defined (CONFIG_OMAP34XX) || (CONFIG_OMAP35XX)
- /* Copy vectors to mask ROM indirect addr */
- adr r0, _start @ r0 <- current position of code
- add r0, r0, #4 @ skip reset vector
-diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
-index 6784603..9f7d3e8 100644
---- a/drivers/i2c/omap24xx_i2c.c
-+++ b/drivers/i2c/omap24xx_i2c.c
-@@ -109,7 +109,8 @@ static int i2c_read_byte (u8 devaddr, u8 regoffset, u8 * value)
-
- status = wait_for_pin ();
- if (status & I2C_STAT_RRDY) {
--#if defined(CONFIG_OMAP243X) || defined(CONFIG_OMAP34XX)
-+#if defined(CONFIG_OMAP243X) || defined(CONFIG_OMAP34XX) \
-+ || defined(CONFIG_OMAP35XX)
- *value = readb (I2C_DATA);
- #else
- *value = readw (I2C_DATA);
-@@ -154,7 +155,8 @@ static int i2c_write_byte (u8 devaddr, u8 regoffset, u8 value)
- status = wait_for_pin ();
-
- if (status & I2C_STAT_XRDY) {
--#if defined(CONFIG_OMAP243X) || defined(CONFIG_OMAP34XX)
-+#if defined(CONFIG_OMAP243X) || defined(CONFIG_OMAP34XX) \
-+ || defined(CONFIG_OMAP35XX)
- /* send out 1 byte */
- writeb (regoffset, I2C_DATA);
- writew (I2C_STAT_XRDY, I2C_STAT);
-@@ -207,7 +209,8 @@ static void flush_fifo(void)
- while(1){
- stat = readw(I2C_STAT);
- if(stat == I2C_STAT_RRDY){
--#if defined(CONFIG_OMAP243X) || defined(CONFIG_OMAP34XX)
-+#if defined(CONFIG_OMAP243X) || defined(CONFIG_OMAP34XX) \
-+ || defined(CONFIG_OMAP35XX)
- readb(I2C_DATA);
- #else
- readw(I2C_DATA);
-diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c
-index e90db7e..2d9ec5e 100644
---- a/drivers/mmc/omap3_mmc.c
-+++ b/drivers/mmc/omap3_mmc.c
-@@ -57,7 +57,7 @@ block_dev_desc_t *mmc_get_dev(int dev)
- {
- return (block_dev_desc_t *) &mmc_blk_dev;
- }
--
-+#if defined (CONFIG_OMAP3_EVM)
- void twl4030_mmc_config(void)
- {
- unsigned char data;
-@@ -67,12 +67,14 @@ void twl4030_mmc_config(void)
- data = VMMC1_VSEL_30;
- i2c_write(PWRMGT_ADDR_ID4, VMMC1_DEDICATED, 1, &data, 1);
- }
--
-+#endif
- unsigned char mmc_board_init(void)
- {
- t2_t *t2_base = (t2_t *)T2_BASE;
-
-+#if defined (CONFIG_OMAP3_EVM)
- twl4030_mmc_config();
-+#endif
-
- writel(readl(&t2_base->pbias_lite) | PBIASLITEPWRDNZ1 |
- PBIASSPEEDCTRL0 | PBIASLITEPWRDNZ0,
-diff --git a/include/asm-arm/arch-omap3/mem.h b/include/asm-arm/arch-omap3/mem.h
-index 6f0f90b..261f246 100644
---- a/include/asm-arm/arch-omap3/mem.h
-+++ b/include/asm-arm/arch-omap3/mem.h
-@@ -145,6 +145,22 @@ typedef enum {
- #define SMNAND_GPMC_CONFIG6 0x1F0F0A80
- #define SMNAND_GPMC_CONFIG7 0x00000C44
-
-+#if defined (CONFIG_OMAP3_OMAP3517TEB) || defined (CONFIG_OMAP3_OMAP3517EVM)
-+
-+#ifdef GPMC_NAND_ECC_LP_x16_LAYOUT
-+#define M_NAND_GPMC_CONFIG1 0x00001800
-+#else
-+#define M_NAND_GPMC_CONFIG1 0x00000800
-+#endif
-+#define M_NAND_GPMC_CONFIG2 0x00061000
-+#define M_NAND_GPMC_CONFIG3 0x00060600
-+#define M_NAND_GPMC_CONFIG4 0x03000602
-+#define M_NAND_GPMC_CONFIG5 0x00080610
-+#define M_NAND_GPMC_CONFIG6 0x04000D80
-+#define M_NAND_GPMC_CONFIG7 0x00000C48
-+
-+#else
-+
- #define M_NAND_GPMC_CONFIG1 0x00001800
- #define M_NAND_GPMC_CONFIG2 0x00141400
- #define M_NAND_GPMC_CONFIG3 0x00141400
-@@ -153,6 +169,8 @@ typedef enum {
- #define M_NAND_GPMC_CONFIG6 0x1f0f0A80
- #define M_NAND_GPMC_CONFIG7 0x00000C44
-
-+#endif
-+
- #define STNOR_GPMC_CONFIG1 0x3
- #define STNOR_GPMC_CONFIG2 0x00151501
- #define STNOR_GPMC_CONFIG3 0x00060602
-diff --git a/include/asm-arm/arch-omap3/mux.h b/include/asm-arm/arch-omap3/mux.h
-index 5a241cb..d94eb2d 100644
---- a/include/asm-arm/arch-omap3/mux.h
-+++ b/include/asm-arm/arch-omap3/mux.h
-@@ -337,7 +337,7 @@
- #define CONTROL_PADCONF_ETK_D14_ES2 0x05F8
- #define CONTROL_PADCONF_ETK_D15_ES2 0x05FA
- /*Die to Die */
--#ifndef CONFIG_OMAP3_OMAP3517EVM
-+#if defined (CONFIG_OMAP34XX)
-
- #define CONTROL_PADCONF_D2D_MCAD0 0x01E4
- #define CONTROL_PADCONF_D2D_MCAD1 0x01E6
-@@ -374,7 +374,7 @@
- #define CONTROL_PADCONF_D2D_MCAD32 0x0224
- #define CONTROL_PADCONF_D2D_MCAD33 0x0226
-
--#else
-+#elif defined (CONFIG_OMAP35XX)
-
- #define CONTROL_PADCONF_CCDC_PCLK 0x01E4
- #define CONTROL_PADCONF_CCDC_FIELD 0x01E6
-diff --git a/include/configs/omap3517evm.h b/include/configs/omap3517evm.h
-index 28e3d15..f6f4be1 100644
---- a/include/configs/omap3517evm.h
-+++ b/include/configs/omap3517evm.h
-@@ -38,9 +38,9 @@
- */
- #define CONFIG_ARMCORTEXA8 1 /* This is an ARM V7 CPU core */
- #define CONFIG_OMAP 1 /* in a TI OMAP core */
--#define CONFIG_OMAP34XX 1 /* which is a 34XX */
--#define CONFIG_OMAP3430 1 /* which is in a 3430 */
--#define CONFIG_OMAP3_OMAP3517EVM 1 /* working with EVM */
-+#define CONFIG_OMAP35XX 1 /* which is a 34XX */
-+//#define CONFIG_OMAP3_OMAP3517EVM 1 /* working with EVM */
-+#define CONFIG_OMAP3_OMAP3517TEB 1 /* working with TEB */
-
- #include <asm/arch/cpu.h> /* get chip and board defs */
- #include <asm/arch/omap3.h>
-@@ -176,7 +176,7 @@
- "bootm ${loadaddr}\0" \
- "nandboot=echo Booting from nand ...; " \
- "run nandargs; " \
-- "onenand read ${loadaddr} 280000 400000; " \
-+ "nand read ${loadaddr} 80000 40000; " \
- "bootm ${loadaddr}\0" \
-
- #define CONFIG_BOOTCOMMAND \
-@@ -270,10 +270,8 @@
-
- /* Monitor at start of flash */
- #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
--#define CONFIG_SYS_ONENAND_BASE ONENAND_MAP
-
- #define CONFIG_ENV_IS_IN_NAND 1
--#define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */
- #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */
-
- #define CONFIG_SYS_ENV_SECT_SIZE boot_flash_sec
---
-1.6.2.4
-