Initial support for IGEP v2
Subsystems (4)
v3 cover Initial support for IGEP v2
Hello,
These are the third version and apply on top of u-boot-arm repository.
- Fixed date/time configuration
The IGEP v2 board is a low-cost, fan-less and industrial temperature range single board computer that unleashes laptop-like performance and expandability without the bulk, expense, or noise of typical desktop machines. Its architecture shares much in common with other OMAP3 boards
These patch series adds initial support for IGEP v2
PATCH v3 1/3 OMAP3:SDRC: Introduce Numonyx DDR type
From: Enric Balletbo i Serra <[email protected]>
Introduce Numoyx DDR timings and provideCONFIG_OMAP3_NUMONYX_DDR config options to allow
for platform files to setup their timings.
--- include/asm-arm/arch-omap3/mem.h | 42 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-)
include/asm-arm/arch-omap3/mem.h +42 -0
@@ -128,6 +128,44 @@ enum { (MICRON_XSR_165 << 0) | (MICRON_TXP_165 << 8) | \ (MICRON_TWTR_165 << 16)) +/* NUMONYX part of IGEP v2 (165MHz optimized) 6.06ns +* ACTIMA +* TDAL = Twr/Tck + Trp/tck = 15/6 + 18/6 = 2.5 + 3 = 5.5 -> 6 +* TDPL (Twr) = 15/6 = 2.5 -> 3 +* TRRD = 12/6 = 2 +* TRCD = 22.5/6 = 3.75 -> 4 +* TRP = 18/6 = 3 +* TRAS = 42/6 = 7 +* TRC = 60/6 = 10 +* TRFC = 140/6 = 23.3 -> 24 +* ACTIMB +* TWTR = 2 +* TCKE = 2 +* TXSR = 200/6 = 33.3 -> 34 +* TXP = 1.0 + 1.1 = 2.1 -> 3 +*/ +#define NUMONYX_TDAL_165 6 +#define NUMONYX_TDPL_165 3 +#define NUMONYX_TRRD_165 2 +#define NUMONYX_TRCD_165 4 +#define NUMONYX_TRP_165 3 +#define NUMONYX_TRAS_165 7 +#define NUMONYX_TRC_165 10 +#define NUMONYX_TRFC_165 24 +#define NUMONYX_V_ACTIMA_165 ((NUMONYX_TRFC_165 << 27) | \ + (NUMONYX_TRC_165 << 22) | (NUMONYX_TRAS_165 << 18) | \ + (NUMONYX_TRP_165 << 15) | (NUMONYX_TRCD_165 << 12) | \ + (NUMONYX_TRRD_165 << 9) | (NUMONYX_TDPL_165 << 6) | \ + (NUMONYX_TDAL_165)) + +#define NUMONYX_TWTR_165 2 +#define NUMONYX_TCKE_165 2 +#define NUMONYX_TXP_165 3 +#define NUMONYX_XSR_165 34 +#define NUMONYX_V_ACTIMB_165 ((NUMONYX_TCKE_165 << 12) | \ + (NUMONYX_XSR_165 << 0)) | (NUMONYX_TXP_165 << 8) | \ + (NUMONYX_TWTR_165 << 16) +#ifdef CONFIG_OMAP3_INFINEON_DDR #define V_ACTIMA_165 INFINEON_V_ACTIMA_165#define V_ACTIMB_165 INFINEON_V_ACTIMB_165
@@ -136,6 +174,10 @@ enum {#define V_ACTIMA_165 MICRON_V_ACTIMA_165#define V_ACTIMB_165 MICRON_V_ACTIMB_165#endif +#ifdef CONFIG_OMAP3_NUMONYX_DDR +#define V_ACTIMA_165 NUMONYX_V_ACTIMA_165 +#define V_ACTIMB_165 NUMONYX_V_ACTIMB_165 +#endif #if !defined(V_ACTIMA_165 ) || !defined(V_ACTIMB_165 )#error "Please choose the right DDR type in config header"
Signature · 1 line
1.5.4.3
PATCH v3 2/3 OneNAND: Add support for Numonyx part
From: Enric Balletbo i Serra <[email protected]>
--- drivers/mtd/onenand/onenand_base.c | 1 + include/linux/mtd/onenand.h | 1 + 2 files changed, 2 insertions(+), 0 deletions(-)
drivers/mtd/onenand/onenand_base.c +1 -0
@@ -2214,6 +2214,7 @@ char *onenand_print_device_info(int device, int version)static const struct onenand_manufacturers onenand_manuf_ids[] = { {ONENAND_MFR_SAMSUNG ,"Samsung" }, + {ONENAND_MFR_NUMONYX ,"Numonyx" }, };/**
include/linux/mtd/onenand.h +1 -0
@@ -155,6 +155,7 @@ struct onenand_chip {* OneNAND Flash Manufacturer ID Codes */ #define ONENAND_MFR_SAMSUNG 0xec +#define ONENAND_MFR_NUMONYX 0x20/** * struct nand_manufacturers - NAND Flash Manufacturer ID Structure
Signature · 1 line
1.5.4.3
PATCH v3 3/3 IGEP v2 support
From: Enric Balletbo i Serra <[email protected]>
This patch adds support for the IGEP v2 board.
The IGEP v2 board is a low-cost, fan-less and industrial temperature range single board computer that unleashes laptop-like performance and expandability without the bulk, expense, or noise of typical desktop machines. Its architecture shares much in common with other OMAP3 boards.
--- MAINTAINERS | 4 + Makefile | 3 + board/isee/igep0020/Makefile | 49 +++++ board/isee/igep0020/config.mk | 34 ++++ board/isee/igep0020/igep0020.c | 134 +++++++++++++ board/isee/igep0020/igep0020.h | 399 ++++++++++++++++++++++++++++++++++++++ include/configs/omap3_igep0020.h | 245 +++++++++++++++++++++++ 7 files changed, 868 insertions(+), 0 deletions(-) create mode 100644 board/isee/igep0020/Makefile create mode 100644 board/isee/igep0020/config.mk create mode 100644 board/isee/igep0020/igep0020.c create mode 100644 board/isee/igep0020/igep0020.h create mode 100644 include/configs/omap3_igep0020.h
MAINTAINERS +4 -0
@@ -525,6 +525,10 @@ Stefano Babic <[email protected]> polaris xscale trizepsiv xscale +Enric Balletbo i Serra <[email protected]> + + omap3_igep0020 ARM CORTEX-A8 (OMAP3530 SoC) + Dirk Behme <[email protected]> omap3_beagle ARM CORTEX-A8 (OMAP3530 SoC)
Makefile +3 -0
@@ -3161,6 +3161,9 @@ omap3_overo_config : unconfig omap3_evm_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 evm ti omap3 +omap3_igep0020_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 igep0020 isee omap3 + omap3_pandora_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 pandora NULL omap3
board/isee/igep0020/Makefile new file +49 -0
49 lines not on this page · raw message
board/isee/igep0020/config.mk new file +34 -0
@@ -0,0 +1,34 @@ +# +# (C) Copyright 2009 +# Integration Software and Electronics Engineering, <www.iseebcn.com> +# +# IGEP0020 uses OMAP3 (ARM-CortexA8) cpu +# see http://www.ti.com/ for more information on Texas Instruments +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# Physical Address: +# 8000'0000 (bank0) +# A000/0000 (bank1) +# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000 +# (mem base + reserved) + +# For use with external or internal boots. +TEXT_BASE = 0x8ff00000 +
board/isee/igep0020/igep0020.c new file +134 -0
134 lines not on this page · raw message
board/isee/igep0020/igep0020.h new file +399 -0
399 lines not on this page · raw message
include/configs/omap3_igep0020.h new file +245 -0
245 lines not on this page · raw message
Signature · 1 line
1.5.4.3
PATCH v3 3/3 IGEP v2 support
Dear Enric Balletbo i Serra,
Quoted 10 lines · In message <[email protected]> you wrote:
From: Enric Balletbo i Serra <[email protected]>
This patch adds support for the IGEP v2 board.
The IGEP v2 board is a low-cost, fan-less and industrial temperature range single board computer that unleashes laptop-like performance and expandability without the bulk, expense, or noise of typical desktop machines. Its architecture shares much in common with other OMAP3 boards.
Signed-off-by Enric Balletbo i Serra <[email protected]>
Quoted 14 lines
--- MAINTAINERS | 4 + Makefile | 3 + board/isee/igep0020/Makefile | 49 +++++ board/isee/igep0020/config.mk | 34 ++++ board/isee/igep0020/igep0020.c | 134 +++++++++++++ board/isee/igep0020/igep0020.h | 399 ++++++++++++++++++++++++++++++++++++++ include/configs/omap3_igep0020.h | 245 +++++++++++++++++++++++ 7 files changed, 868 insertions(+), 0 deletions(-) create mode 100644 board/isee/igep0020/Makefile create mode 100644 board/isee/igep0020/config.mk create mode 100644 board/isee/igep0020/igep0020.c create mode 100644 board/isee/igep0020/igep0020.h create mode 100644 include/configs/omap3_igep0020.h
MAKEALL entry missing.
Quoted 20 lines
MAINTAINERS +4
-0@@ -525,6 +525,10 @@ Stefano Babic <[email protected]> polaris xscale trizepsiv xscale +Enric Balletbo i Serra <[email protected]> + + omap3_igep0020 ARM CORTEX-A8 (OMAP3530 SoC) + Dirk Behme <[email protected]> omap3_beagle ARM CORTEX-A8 (OMAP3530 SoC)Makefile +0
-0
Makefile omap3_overo_config : unconfig · line 3168
Quoted 8 lines
Makefile +3
-0@@ -3161,6 +3161,9 @@ omap3_overo_config : unconfig omap3_evm_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 evm ti omap3 +omap3_igep0020_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 igep0020 isee omap3 + omap3_pandora_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 pandora NULL omap3
Make target names shall be identical to board names. Please use "igep0020_config" here. [Yes, I know, bad examples exist. Please ignore these.]
Quoted 5 lines
board/isee/igep0020/config.mk new file +0
-0
...
board/isee/igep0020/config.mk line 34
Quoted 3 lines
board/isee/igep0020/config.mk new file +3
-0+# For use with external or internal boots. +TEXT_BASE = 0x8ff00000 +
No trailing empty lines, please.
Quoted 6 lines
board/isee/igep0020/igep0020.c new file +0
-0@@ -0,0 +1,134 @@
...
board/isee/igep0020/igep0020.c line 47
Quoted 7 lines
board/isee/igep0020/igep0020.c new file +7
-0+/* +* Routine: board_init +* Description: Early hardware init. +*/ +int board_init (void ) +{ +DECLARE_GLOBAL_DATA_PTR ;
This will not work. DECLARE_GLOBAL_DATA_PTR must be on file levcel, not on function level.
Quoted 5 lines
board/isee/igep0020/igep0020.h new file +0
-0
...
Quoted 9 lines
+/*
MUX_VAL(CP(MMC2_DAT3), (IEN | PTD | DIS | M4))GPIO_135(GPIO-Based CS) */\
+ \+ MUX_VAL(CP(CAM_HS), (IDIS | PTD | DIS | M4)) /* GPIO_94 - PDN (Rev. B) */\ + MUX_VAL(CP(CAM_VS), (IDIS | PTD | DIS | M4)) /* GPIO_95 - RESET_N_W (Rev. B) */\ + \ + MUX_VAL(CP(MMC2_DAT4), (IDIS | PTD | DIS | M4)) /* GPIO_136 */\ + MUX_VAL(CP(MMC2_DAT5), (IDIS | PTD | DIS | M4)) /* GPIO_137 - RESET_N_B */\ + MUX_VAL(CP(MMC2_DAT6), (IDIS | PTD | DIS | M4)) /* GPIO_138 - PDN (Rev. C) */\ + MUX_VAL(CP(MMC2_DAT7), (IDIS | PTD | DIS | M4)) /* GPIO_139 - RESET_N_W (Rev. C) */\
Lines too long. Please fix globally.
include/configs/omap3_igep0020.h
Quoted 5 lines
include/configs/omap3_igep0020.h new file +0
-0
File name should be include/configs/igep0020.h
include/configs/omap3_igep0020.h line 46
Quoted 5 lines
include/configs/omap3_igep0020.h new file +5
-0+/* Clock Defines */ +#define V_OSCK 26000000/* Clock output from T2 */ +#define V_SCLK (V_OSCK >> 1) + +#undef CONFIG_USE_IRQ/* no support for IRQs */
Please do not #undef what is not defined anyway.
include/configs/omap3_igep0020.h line 107
Quoted 9 lines
include/configs/omap3_igep0020.h new file +9
-0+#define CONFIG_CMD_EXT2 /* EXT2 Support */ +#define CONFIG_CMD_FAT /* FAT support */ +#define CONFIG_CMD_I2C /* I2C serial bus support */ +#define CONFIG_CMD_MMC /* MMC support */ +#define CONFIG_CMD_ONENAND /* ONENAND support */ +#define CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */ +#define CONFIG_CMD_DHCP +#define CONFIG_CMD_PING +#define CONFIG_CMD_NFS /* NFS support */
Maybe you want to sort the list?
include/configs/omap3_igep0020.h line 114
Quoted 6 lines
include/configs/omap3_igep0020.h new file +6
-0+#undef CONFIG_CMD_FLASH/* flinfo, erase, protect */ +#undef CONFIG_CMD_FPGA/* FPGA configuration Support */ +#undef CONFIG_CMD_IMI/* iminfo */ +#undef CONFIG_CMD_IMLS/* List all found images */ +#undef CONFIG_CMD_JFFS2/* JFFS2 Support */ +#undef CONFIG_CMD_NAND/* NAND support */
iminfo is a very useful command. Are you sure you want to disablke it?
Is there neither NOR nor NAND flash on your board? What are you booting from?
include/configs/omap3_igep0020.h line 131
Quoted 3 lines
include/configs/omap3_igep0020.h new file +3
-0+/* Environment information */ +#define CONFIG_BOOTDELAY 3 +#define CONFIG_EXTRA_ENV_SETTINGS "\0"
That's bogus. Please delete.
include/configs/omap3_igep0020.h line 197
Quoted 7 lines
include/configs/omap3_igep0020.h new file +7
-0+/* +* FLASH and environment organization +*/ + +#define PISMO1_ONEN_SIZE GPMC_SIZE_128M/* Configure the PISMO */ + +#define CONFIG_SYS_FLASH_BASE boot_flash_base
Hm... FLASH_BASE when there is no flash there?
Quoted 1 line
+#define
CONFIG_ENV_SIZE(512 << 10) /* 512 KiB */
Do you really need that much? That will make CRC caclulation slow...
include/configs/omap3_igep0020.h
Quoted 2 lines
include/configs/omap3_igep0020.h new file +2
-0+/* Monitor at start of flash */ +#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
Without flash? Really?
include/configs/omap3_igep0020.h line 242
Quoted 8 lines
include/configs/omap3_igep0020.h new file +8
-0+#ifndef __ASSEMBLY__ +extern struct gpmc *gpmc_cfg; +extern unsigned int boot_flash_base; +extern volatile unsigned int boot_flash_env_addr; +extern unsigned int boot_flash_off; +extern unsigned int boot_flash_sec; +extern unsigned int boot_flash_type; +#endif
This has no place in the board config file. Please move elsewhere.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Fools ignore complexity. Pragmatists suffer it. Some can avoid it.
Geniuses remove it.
- Perlis's Programming Proverb #58, SIGPLAN Notices, Sept. 1982