OMAP3: Add support for OMAP3 based Pandora board
cover OMAP3: Add support for OMAP3 based Pandora board
Pandora is open handheld gaming console, which uses Texas Instruments OMAP 3530 SoC. More information can be found at http://openpandora.org/.
The following two patches are to be applied on u-boot-arm/omap3 branch, and should match style currently used there.
PATCH 1/2 OMAP3: Add Pandora board files
This patch adds support for OMAP3 based Pandora board.
--- MAINTAINERS | 4 + MAKEALL | 1 + Makefile | 3 + board/omap3/pandora/Makefile | 49 +++++ board/omap3/pandora/config.mk | 33 +++ board/omap3/pandora/pandora.c | 124 ++++++++++++ board/omap3/pandora/pandora.h | 420 ++++++++++++++++++++++++++++++++++++++++ board/omap3/pandora/u-boot.lds | 63 ++++++ doc/README.omap3 | 17 ++- 9 files changed, 711 insertions(+), 3 deletions(-) create mode 100644 board/omap3/pandora/Makefile create mode 100644 board/omap3/pandora/config.mk create mode 100644 board/omap3/pandora/pandora.c create mode 100644 board/omap3/pandora/pandora.h create mode 100644 board/omap3/pandora/u-boot.lds
MAINTAINERS +4 -0
@@ -521,6 +521,10 @@ Sascha Hauer <[email protected]> imx31_litekit i.MX31 imx31_phycore i.MX31 +Grazvydas Ignotas <[email protected]> + + omap3_pandora ARM CORTEX-A8 (OMAP3xx SoC) + Gary Jennejohn <[email protected]> smdk2400 ARM920T
MAKEALL +1 -0
@@ -509,6 +509,7 @@ LIST_ARM9=" \ omap3_beagle \ omap3_evm \ omap3_overo \ + omap3_pandora \ " #########################################################################
Makefile +3 -0
@@ -2765,6 +2765,9 @@ omap3_evm_config : unconfig omap3_overo_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 overo omap3 omap3 +omap3_pandora_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 pandora omap3 omap3 + ######################################################################### ## XScale Systems #########################################################################
board/omap3/pandora/Makefile new file +49 -0
49 lines not on this page · raw message
board/omap3/pandora/config.mk new file +33 -0
@@ -0,0 +1,33 @@ +# +# (C) Copyright 2006 +# Texas Instruments, <www.ti.com> +# +# Pandora 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 = 0x80e80000
board/omap3/pandora/pandora.c new file +124 -0
124 lines not on this page · raw message
board/omap3/pandora/pandora.h new file +420 -0
420 lines not on this page · raw message
board/omap3/pandora/u-boot.lds new file +63 -0
63 lines not on this page · raw message
doc/README.omap3 +14 -3
@@ -16,6 +16,8 @@ Currently the following boards are supported: * TI/DigiKey BeagleBoard [4] +* OpenPandora Ltd. Pandora [5] + Toolchain =========
@@ -41,6 +43,11 @@ make make omap3_beagle_config make +* Pandora: + +make omap3_pandora_config +make + Custom commands ===============
@@ -67,7 +74,7 @@ help Acknowledgements ================ -OMAP3 U-Boot is based on U-Boot tar ball [5] for BeagleBoard and EVM done by +OMAP3 U-Boot is based on U-Boot tar ball [6] for BeagleBoard and EVM done by several TI employees. Links
@@ -89,6 +96,10 @@ http://www.gumstix.net/Overo/ http://beagleboard.org/ -[5] TI OMAP3 U-Boot: +[5] OpenPandora Ltd. Pandora: + +http://openpandora.org/ + +[6] TI OMAP3 U-Boot: -http://beagleboard.googlecode.com/files/u-boot_beagle_revb.tar.gz +http://beagleboard.googlecode.com/files/u-boot_beagle_revb.tar.gz
Signature · 1 line
1.5.4.3
PATCH 2/2 OMAP3: Add Pandora configuration
This patch adds configuration file for OMAP3 Pandora.
--- include/configs/omap3_pandora.h | 302 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 302 insertions(+), 0 deletions(-) create mode 100644 include/configs/omap3_pandora.h
include/configs/omap3_pandora.h new file +302 -0
@@ -0,0 +1,302 @@ +/* +* Configuration settings for the OMAP3 Pandora. +* +* 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 +*/ + +#ifndef __CONFIG_H +#define __CONFIG_H +#include <asm/sizes.h> + +/* +* High Level Configuration Options +*/ +#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_PANDORA 1/* working with pandora */ + +#include <asm/arch/cpu.h> /* get chip and board defs */ +#include <asm/arch/omap3.h> + +/* Clock Defines */ +#define V_OSCK 26000000/* Clock output from T2 */ +#define V_SCLK (V_OSCK >> 1) + +#undef CONFIG_USE_IRQ/* no support for IRQs */ +#define CONFIG_MISC_INIT_R + +#define CONFIG_CMDLINE_TAG 1/* enable passing of ATAGs */ +#define CONFIG_SETUP_MEMORY_TAGS 1 +#define CONFIG_INITRD_TAG 1 +#define CONFIG_REVISION_TAG 1 + +/* +* Size of malloc() pool +*/ +#define CONFIG_ENV_SIZE SZ_128K/* Total Size Environment */ +/* Sector */ +#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + SZ_128K) +#define CONFIG_SYS_GBL_DATA_SIZE 128/* bytes reserved for */ +/* initial data */ + +/* +* Hardware drivers +*/ + +/* +* NS16550 Configuration +*/ +#define V_NS16550_CLK 48000000/* 48MHz (APLL96/2) */ + +#define CONFIG_SYS_NS16550 +#define CONFIG_SYS_NS16550_SERIAL +#define CONFIG_SYS_NS16550_REG_SIZE (-4) +#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK + +/* +* select serial console configuration +*/ +#define CONFIG_CONS_INDEX 3 +#define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 +#define CONFIG_SERIAL3 3 + +/* allow to overwrite serial and ethaddr */ +#define CONFIG_ENV_OVERWRITE +#define CONFIG_BAUDRATE 115200 +#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, \ + 115200} +#define CONFIG_MMC 1 +#define CONFIG_OMAP3_MMC 1 +#define CONFIG_SYS_MMC_BASE 0xF0000000 +#define CONFIG_DOS_PARTITION 1 + +/* commands to include */ + +#define CONFIG_CMD_EXT2 /* EXT2 Support */ +#define CONFIG_CMD_FAT /* FAT support */ +#define CONFIG_CMD_JFFS2 /* JFFS2 Support */ + +#define CONFIG_CMD_I2C /* I2C serial bus support */ +#define CONFIG_CMD_MMC /* MMC support */ +#define CONFIG_CMD_NAND /* NAND support */ + +#define CONFIG_CMD_AUTOSCRIPT /* autoscript support */ +#define CONFIG_CMD_BDI /* bdinfo */ +#define CONFIG_CMD_BOOTD /* bootd */ +#define CONFIG_CMD_CONSOLE /* coninfo */ +#define CONFIG_CMD_ECHO /* echo arguments */ +#define CONFIG_CMD_ENV /* saveenv */ +#define CONFIG_CMD_ITEST /* Integer (and string) test */ +#define CONFIG_CMD_LOADB /* loadb */ +#define CONFIG_CMD_MEMORY /* md mm nm mw cp cmp crc base loop mtest */ +#define CONFIG_CMD_MISC /* misc functions like sleep etc*/ +#define CONFIG_CMD_RUN /* run command in env variable */ + +#define CONFIG_SYS_NO_FLASH +#define CONFIG_SYS_I2C_SPEED 100000 +#define CONFIG_SYS_I2C_SLAVE 1 +#define CONFIG_SYS_I2C_BUS 0 +#define CONFIG_SYS_I2C_BUS_SELECT 1 +#define CONFIG_DRIVER_OMAP34XX_I2C 1 + +/* +* Board NAND Info. +*/ +#define CONFIG_NAND_OMAP_GPMC +#define CONFIG_SYS_NAND_ADDR NAND_BASE/* physical address */ +/* to access nand */ +#define CONFIG_SYS_NAND_BASE NAND_BASE/* physical address */ +/* to access nand */ +/* at CS0 */ +#define GPMC_NAND_ECC_LP_x16_LAYOUT 1 + +#define CONFIG_SYS_MAX_NAND_DEVICE 1/* Max number of NAND */ +/* devices */ +#define SECTORSIZE 512 + +#define NAND_ALLOW_ERASE_ALL +#define ADDR_COLUMN 1 +#define ADDR_PAGE 2 +#define ADDR_COLUMN_PAGE 3 + +#define NAND_ChipID_UNKNOWN 0x00 +#define NAND_MAX_FLOORS 1 +#define NAND_MAX_CHIPS 1 +#define NAND_NO_RB 1 +#define CONFIG_SYS_NAND_WP + +#define CONFIG_JFFS2_NAND +/* nand device jffs2 lives on */ +#define CONFIG_JFFS2_DEV "nand0" +/* start of jffs2 partition */ +#define CONFIG_JFFS2_PART_OFFSET 0x680000 +#define CONFIG_JFFS2_PART_SIZE 0xf980000/* size of jffs2 */ +/* partition */ + +/* Environment information */ +#define CONFIG_BOOTDELAY 1 + +#define CONFIG_BOOTCOMMAND "nand read 80200000 280000 400000 ; " \ + "bootm 80200000" + +#define CONFIG_BOOTARGS "console=ttyS0,115200n8 noinitrd " \ + "root=/dev/mtdblock4 rw rootfstype=jffs2" + +#define CONFIG_NETMASK 255.255.254.0 +#define CONFIG_BOOTFILE "uImage" +#define CONFIG_AUTO_COMPLETE 1 +/* +* Miscellaneous configurable options +*/ +#define V_PROMPT "Pandora # " + +#define CONFIG_SYS_LONGHELP /* undef to save memory */ +#define CONFIG_SYS_PROMPT V_PROMPT +#define CONFIG_SYS_CBSIZE 256/* Console I/O Buffer Size */ +/* Print Buffer Size */ +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ + sizeof(CONFIG_SYS_PROMPT)+16) +#define CONFIG_SYS_MAXARGS 16/* max number of command */ +/* args */ +/* Boot Argument Buffer Size */ +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE +/* memtest works on */ +#define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) +#define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ + 0x01F00000)/* 31MB */ + +#undef CONFIG_SYS_CLKS_IN_HZ/* everything, incl board info, */ +/* in Hz */ + +#define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0)/* default load */ +/* address */ + +/* +* 2430 has 12 GP timers, they can be driven by the SysClk (12/13/19.2) or by +* 32KHz clk, or from external sig. This rate is divided by a local divisor. +*/ +#define V_PVT 7 + +#define CONFIG_SYS_TIMERBASE (OMAP34XX_GPT2) +#define CONFIG_SYS_PVT V_PVT/* 2^(pvt+1) */ +#define CONFIG_SYS_HZ ((V_SCLK) / (2 << CONFIG_SYS_PVT)) + +/*----------------------------------------------------------------------- +* Stack sizes +* +* The stack sizes are set up in start.S using the settings below +*/ +#define CONFIG_STACKSIZE SZ_128K/* regular stack */ +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ SZ_4K/* IRQ stack */ +#define CONFIG_STACKSIZE_FIQ SZ_4K/* FIQ stack */ +#endif + +/*----------------------------------------------------------------------- +* Physical Memory Map +*/ +#define CONFIG_NR_DRAM_BANKS 2/* CS1 may or may not be populated */ +#define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0 +#define PHYS_SDRAM_1_SIZE SZ_32M/* at least 32 meg */ +#define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1 + +/* SDRAM Bank Allocation method */ +#define SDRC_R_B_C 1 + +/*----------------------------------------------------------------------- +* FLASH and environment organization +*/ + +/* **** PISMO SUPPORT *** */ + +/* Configure the PISMO */ +#define PISMO1_NOR_SIZE_SDPV2 GPMC_SIZE_128M +#define PISMO1_NOR_SIZE GPMC_SIZE_64M + +#define PISMO1_NAND_SIZE GPMC_SIZE_128M +#define PISMO1_ONEN_SIZE GPMC_SIZE_128M +#define DBG_MPDB_SIZE GPMC_SIZE_16M +#define PISMO2_SIZE 0 + +#define CONFIG_SYS_MAX_FLASH_SECT 520/* max number of sectors on */ +/* one chip */ +#define CONFIG_SYS_MAX_FLASH_BANKS 2/* max number of flash banks */ +#define CONFIG_SYS_MONITOR_LEN SZ_256K/* Reserve 2 sectors */ + +#define PHYS_FLASH_SIZE_SDPV2 SZ_128M +#define PHYS_FLASH_SIZE SZ_32M + +#define CONFIG_SYS_FLASH_BASE boot_flash_base +#define PHYS_FLASH_SECT_SIZE boot_flash_sec +/* Dummy declaration of flash banks to get compilation right */ +#define CONFIG_SYS_FLASH_BANKS_LIST {0, 0} + +/* Monitor@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 0x240000/* environment starts here */ +#define SMNAND_ENV_OFFSET 0x240000/* environment starts here */ + +#define CONFIG_SYS_ENV_SECT_SIZE boot_flash_sec +#define CONFIG_ENV_OFFSET boot_flash_off +#define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET + +/*----------------------------------------------------------------------- +* CFI FLASH driver setup +*/ +/* timeout values are in ticks */ +#define CONFIG_SYS_FLASH_ERASE_TOUT (100 * CONFIG_SYS_HZ) +#define CONFIG_SYS_FLASH_WRITE_TOUT (100 * CONFIG_SYS_HZ) + +/* Flash banks JFFS2 should use */ +#define CONFIG_SYS_MAX_MTD_BANKS (CONFIG_SYS_MAX_FLASH_BANKS + \ + CONFIG_SYS_MAX_NAND_DEVICE) +#define CONFIG_SYS_JFFS2_MEM_NAND +/* use flash_info[2] */ +#define CONFIG_SYS_JFFS2_FIRST_BANK CONFIG_SYS_MAX_FLASH_BANKS +#define CONFIG_SYS_JFFS2_NUM_BANKS 1 + +#define ENV_IS_VARIABLE 1 + +#ifndef __ASSEMBLY__ +extern unsigned int *nand_cs_base; +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 + + +#define WRITE_NAND_COMMAND (d, adr)\ + writel(d, (nand_cs_base + OFFS(GPMC_NAND_CMD))) +#define WRITE_NAND_ADDRESS (d, adr)\ + writel(d, (nand_cs_base + OFFS(GPMC_NAND_ADR))) +#define WRITE_NAND (d, adr) writew(d, (nand_cs_base + OFFS(GPMC_NAND_DAT))) +#define READ_NAND (adr) readl((nand_cs_base + OFFS(GPMC_NAND_DAT))) + +/* Other NAND Access APIs */ +#define NAND_WP_OFF () do {readl(GPMC_CONFIG_REG) |= GPMC_CONFIG_WP; } while (0) +#define NAND_WP_ON () do {readl(GPMC_CONFIG_REG) &= ~GPMC_CONFIG_WP; } while (0) +#define NAND_DISABLE_CE (nand) +#define NAND_ENABLE_CE (nand) +#define NAND_WAIT_READY (nand) udelay(10) + +#endif /* __CONFIG_H */
Signature · 1 line
1.5.4.3
PATCH 2/2 OMAP3: Add Pandora configuration
Quoted 14 lines · Grazvydas Ignotas
This patch adds configuration file for OMAP3 Pandora.
Signed-off-by Grazvydas Ignotas <[email protected]>--- include/configs/omap3_pandora.h | 302 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 302 insertions(+), 0 deletions(-) create mode 100644 include/configs/omap3_pandora.hinclude/configs/omap3_pandora.h new file +0
-0
include/configs/omap3_pandora.h line 1
Quoted 1 line
include/configs/omap3_pandora.h new file +1
-0@@ -0,0 +1,302 @@ +/*
Copyright?
Quoted 31 lines
include/configs/omap3_pandora.h new file +31
-0+* Configuration settings for the OMAP3 Pandora. +* +* 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 +*/ + +#ifndef __CONFIG_H +#define __CONFIG_H +#include <asm/sizes.h> + +/* +* High Level Configuration Options +*/ +#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_PANDORA 1/* working with pandora */ +
....
include/configs/omap3_pandora.h line 88
Quoted 10 lines
include/configs/omap3_pandora.h new file +10
-0+#define CONFIG_ENV_OVERWRITE +#define CONFIG_BAUDRATE 115200 +#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, \ + 115200} +#define CONFIG_MMC 1 +#define CONFIG_OMAP3_MMC 1 +#define CONFIG_SYS_MMC_BASE 0xF0000000 +#define CONFIG_DOS_PARTITION 1 + +/* commands to include */
please include <config_cmd_default.h>
Quoted 62 lines
include/configs/omap3_pandora.h new file +62
-0+ +#define CONFIG_CMD_EXT2 /* EXT2 Support */ +#define CONFIG_CMD_FAT /* FAT support */ +#define CONFIG_CMD_JFFS2 /* JFFS2 Support */ + +#define CONFIG_CMD_I2C /* I2C serial bus support */ +#define CONFIG_CMD_MMC /* MMC support */ +#define CONFIG_CMD_NAND /* NAND support */ + +#define CONFIG_CMD_AUTOSCRIPT /* autoscript support */ +#define CONFIG_CMD_BDI /* bdinfo */ +#define CONFIG_CMD_BOOTD /* bootd */ +#define CONFIG_CMD_CONSOLE /* coninfo */ +#define CONFIG_CMD_ECHO /* echo arguments */ +#define CONFIG_CMD_ENV /* saveenv */ +#define CONFIG_CMD_ITEST /* Integer (and string) test */ +#define CONFIG_CMD_LOADB /* loadb */ +#define CONFIG_CMD_MEMORY /* md mm nm mw cp cmp crc base loop mtest */ +#define CONFIG_CMD_MISC /* misc functions like sleep etc*/ +#define CONFIG_CMD_RUN /* run command in env variable */ + +#define CONFIG_SYS_NO_FLASH +#define CONFIG_SYS_I2C_SPEED 100000 +#define CONFIG_SYS_I2C_SLAVE 1 +#define CONFIG_SYS_I2C_BUS 0 +#define CONFIG_SYS_I2C_BUS_SELECT 1 +#define CONFIG_DRIVER_OMAP34XX_I2C 1 + +/* +* Board NAND Info. +*/ +#define CONFIG_NAND_OMAP_GPMC +#define CONFIG_SYS_NAND_ADDR NAND_BASE/* physical address */ +/* to access nand */ +#define CONFIG_SYS_NAND_BASE NAND_BASE/* physical address */ +/* to access nand */ +/* at CS0 */ +#define GPMC_NAND_ECC_LP_x16_LAYOUT 1 + +#define CONFIG_SYS_MAX_NAND_DEVICE 1/* Max number of NAND */ +/* devices */ +#define SECTORSIZE 512 + +#define NAND_ALLOW_ERASE_ALL +#define ADDR_COLUMN 1 +#define ADDR_PAGE 2 +#define ADDR_COLUMN_PAGE 3 + +#define NAND_ChipID_UNKNOWN 0x00 +#define NAND_MAX_FLOORS 1 +#define NAND_MAX_CHIPS 1 +#define NAND_NO_RB 1 +#define CONFIG_SYS_NAND_WP + +#define CONFIG_JFFS2_NAND +/* nand device jffs2 lives on */ +#define CONFIG_JFFS2_DEV "nand0" +/* start of jffs2 partition */ +#define CONFIG_JFFS2_PART_OFFSET 0x680000 +#define CONFIG_JFFS2_PART_SIZE 0xf980000/* size of jffs2 */ +/* partition */ +
include/configs/omap3_pandora.h line 160
Quoted 10 lines
include/configs/omap3_pandora.h new file +10
-0+/* Environment information */ +#define CONFIG_BOOTDELAY 1 + +#define CONFIG_BOOTCOMMAND "nand read 80200000 280000 400000 ; " \ + "bootm 80200000" + +#define CONFIG_BOOTARGS "console=ttyS0,115200n8 noinitrd " \ + "root=/dev/mtdblock4 rw rootfstype=jffs2" + +#define CONFIG_NETMASK 255.255.254.0
please no network config
include/configs/omap3_pandora.h line 173
Quoted 13 lines
include/configs/omap3_pandora.h new file +13
-0+#define CONFIG_BOOTFILE "uImage" +#define CONFIG_AUTO_COMPLETE 1 +/* +* Miscellaneous configurable options +*/ +#define V_PROMPT "Pandora # " + +#define CONFIG_SYS_LONGHELP /* undef to save memory */ +#define CONFIG_SYS_PROMPT V_PROMPT +#define CONFIG_SYS_CBSIZE 256/* Console I/O Buffer Size */ +/* Print Buffer Size */ +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ + sizeof(CONFIG_SYS_PROMPT)+16)
please add space before and after "+"
Quoted 64 lines
include/configs/omap3_pandora.h new file +64
-0+#define CONFIG_SYS_MAXARGS 16/* max number of command */ +/* args */ +/* Boot Argument Buffer Size */ +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE +/* memtest works on */ +#define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) +#define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ + 0x01F00000)/* 31MB */ + +#undef CONFIG_SYS_CLKS_IN_HZ/* everything, incl board info, */ +/* in Hz */ + +#define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0)/* default load */ +/* address */ + +/* +* 2430 has 12 GP timers, they can be driven by the SysClk (12/13/19.2) or by +* 32KHz clk, or from external sig. This rate is divided by a local divisor. +*/ +#define V_PVT 7 + +#define CONFIG_SYS_TIMERBASE (OMAP34XX_GPT2) +#define CONFIG_SYS_PVT V_PVT/* 2^(pvt+1) */ +#define CONFIG_SYS_HZ ((V_SCLK) / (2 << CONFIG_SYS_PVT)) + +/*----------------------------------------------------------------------- +* Stack sizes +* +* The stack sizes are set up in start.S using the settings below +*/ +#define CONFIG_STACKSIZE SZ_128K/* regular stack */ +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ SZ_4K/* IRQ stack */ +#define CONFIG_STACKSIZE_FIQ SZ_4K/* FIQ stack */ +#endif + +/*----------------------------------------------------------------------- +* Physical Memory Map +*/ +#define CONFIG_NR_DRAM_BANKS 2/* CS1 may or may not be populated */ +#define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0 +#define PHYS_SDRAM_1_SIZE SZ_32M/* at least 32 meg */ +#define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1 + +/* SDRAM Bank Allocation method */ +#define SDRC_R_B_C 1 + +/*----------------------------------------------------------------------- +* FLASH and environment organization +*/ + +/* **** PISMO SUPPORT *** */ + +/* Configure the PISMO */ +#define PISMO1_NOR_SIZE_SDPV2 GPMC_SIZE_128M +#define PISMO1_NOR_SIZE GPMC_SIZE_64M + +#define PISMO1_NAND_SIZE GPMC_SIZE_128M +#define PISMO1_ONEN_SIZE GPMC_SIZE_128M +#define DBG_MPDB_SIZE GPMC_SIZE_16M +#define PISMO2_SIZE 0 + +#define CONFIG_SYS_MAX_FLASH_SECT 520/* max number of sectors on */ +/* one chip */
include/configs/omap3_pandora.h line 247
Quoted 10 lines
include/configs/omap3_pandora.h new file +10
-0+#define CONFIG_SYS_MAX_FLASH_BANKS 2/* max number of flash banks */ +#define CONFIG_SYS_MONITOR_LEN SZ_256K/* Reserve 2 sectors */ + +#define PHYS_FLASH_SIZE_SDPV2 SZ_128M +#define PHYS_FLASH_SIZE SZ_32M + +#define CONFIG_SYS_FLASH_BASE boot_flash_base +#define PHYS_FLASH_SECT_SIZE boot_flash_sec +/* Dummy declaration of flash banks to get compilation right */ +#define CONFIG_SYS_FLASH_BANKS_LIST {0, 0}
????
why do you do this?
Quoted 19 lines
include/configs/omap3_pandora.h new file +19
-0+ +/* 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 0x240000/* environment starts here */ +#define SMNAND_ENV_OFFSET 0x240000/* environment starts here */ + +#define CONFIG_SYS_ENV_SECT_SIZE boot_flash_sec +#define CONFIG_ENV_OFFSET boot_flash_off +#define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET + +/*----------------------------------------------------------------------- +* CFI FLASH driver setup +*/ +/* timeout values are in ticks */ +#define CONFIG_SYS_FLASH_ERASE_TOUT (100 * CONFIG_SYS_HZ) +#define CONFIG_SYS_FLASH_WRITE_TOUT (100 * CONFIG_SYS_HZ)
include/configs/omap3_pandora.h line 276
Quoted 10 lines
include/configs/omap3_pandora.h new file +10
-0+ +/* Flash banks JFFS2 should use */ +#define CONFIG_SYS_MAX_MTD_BANKS (CONFIG_SYS_MAX_FLASH_BANKS + \ + CONFIG_SYS_MAX_NAND_DEVICE) +#define CONFIG_SYS_JFFS2_MEM_NAND +/* use flash_info[2] */ +#define CONFIG_SYS_JFFS2_FIRST_BANK CONFIG_SYS_MAX_FLASH_BANKS +#define CONFIG_SYS_JFFS2_NUM_BANKS 1 + +#define ENV_IS_VARIABLE 1
what is this?
Quoted 1 line
+
Best Regards,
J.
PATCH 1/2 OMAP3: Add Pandora board files
In reply to Grazvydas Ignotasboard/omap3/pandora/pandora.c line 1
Quoted 7 lines
board/omap3/pandora/pandora.c new file +1
-0@@ -0,0 +1,124 @@ +/*
Copyright?
Quoted 83 lines
board/omap3/pandora/pandora.c new file +83
-0+* Maintainer : Grazvydas Ignotas <[email protected]> +* +* Derived from Beagle Board, 3430 SDP, and OMAP3EVM code by +* Richard Woodruff <[email protected]> +* Syed Mohammed Khasim <[email protected]> +* Sunil Kumar <[email protected]> +* Shashi Ranjan <[email protected]> +* +* (C) Copyright 2004-2008 +* Texas Instruments, <www.ti.com> +* +* 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 +*/ +#include <common.h> +#include <asm/io.h> +#include <asm/arch/mux.h> +#include <asm/arch/sys_proto.h> +#include <i2c.h> +#include <asm/mach-types.h> +#include "pandora.h" + +/****************************************************************************** +* Routine: board_init +* Description: Early hardware init. +*****************************************************************************/ +int board_init (void ) +{ +DECLARE_GLOBAL_DATA_PTR ; + +gpmc_init ();/* in SRAM or SDRAM, finish GPMC */ +/* board id for Linux */ + gd->bd->bi_arch_number =MACH_TYPE_OMAP3_PANDORA ; +/* boot param addr */ + gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 +0x100 ); + +return 0 ; +} + +/****************************************************************************** +* Routine: misc_init_r +* Description: Configure power supply +*****************************************************************************/ +int misc_init_r (void ) +{ + +unsigned char byte; +unsigned int *gpio1_base = (unsigned int *)OMAP34XX_GPIO1_BASE ; +unsigned int *gpio4_base = (unsigned int *)OMAP34XX_GPIO4_BASE ; +unsigned int *gpio5_base = (unsigned int *)OMAP34XX_GPIO5_BASE ; +unsigned int *gpio6_base = (unsigned int *)OMAP34XX_GPIO6_BASE ; + +#ifdef CONFIG_DRIVER_OMAP34XX_I2C +i2c_init (CONFIG_SYS_I2C_SPEED ,CONFIG_SYS_I2C_SLAVE ); +#endif + +/* +* Configure OMAP3 supply voltages in power management +* companion chip. +*/ + +/* set VAUX3 to 2.8V */ + byte =DEV_GRP_P1 ; +i2c_write (PWRMGT_ADDR_ID4 ,VAUX3_DEV_GRP ,1 , &byte,1 ); + byte =VAUX3_VSEL_28 ; +i2c_write (PWRMGT_ADDR_ID4 ,VAUX3_DEDICATED ,1 , &byte,1 ); + +/* set VPLL2 to 1.8V */
board/omap3/pandora/pandora.c line 94
Quoted 10 lines
board/omap3/pandora/pandora.c new file +10
-0+ byte =DEV_GRP_ALL ; +i2c_write (PWRMGT_ADDR_ID4 ,VPLL2_DEV_GRP ,1 , &byte,1 ); + byte =VPLL2_VSEL_18 ; +i2c_write (PWRMGT_ADDR_ID4 ,VPLL2_DEDICATED ,1 , &byte,1 ); + +/* set VDAC to 1.8V */ + byte =DEV_GRP_P1 ; +i2c_write (PWRMGT_ADDR_ID4 ,VDAC_DEV_GRP ,1 , &byte,1 ); + byte =VDAC_VSEL_18 ; +i2c_write (PWRMGT_ADDR_ID4 ,VDAC_DEDICATED ,1 , &byte,1 );
is it possible to reduce duplicate code?
this block is also use in the Beagle
Quoted 61 lines
board/omap3/pandora/pandora.c new file +30
-0+ +/* enable LED */ + byte =LEDBPWM |LEDAPWM |LEDBON |LEDAON ; +i2c_write (PWRMGT_ADDR_ID3 ,LEDEN ,1 , &byte,1 ); + +/* Configure GPIOs to output */ +writel (~(GPIO14 |GPIO15 |GPIO16 |GPIO23 ), + gpio1_base +OFFS (GPIO_OE )); +writel (~GPIO22 , gpio4_base +OFFS (GPIO_OE ));/* 118 */ +writel (~(GPIO0 |GPIO1 |GPIO28 |GPIO29 |GPIO30 |GPIO31 ), + gpio5_base +OFFS (GPIO_OE ));/* 128, 129, 156-159 */ +writel (~GPIO4 , gpio6_base +OFFS (GPIO_OE ));/* 164 */ + +/* Set GPIOs */ +writel (GPIO28 , gpio5_base +OFFS (GPIO_SETDATAOUT )); +writel (GPIO4 , gpio6_base +OFFS (GPIO_SETDATAOUT )); + +return 0 ; +} + +/****************************************************************************** +* Routine: set_muxconf_regs +* Description: Setting up the configuration Mux registers specific to the +* hardware. Many pins need to be moved from protect to primary +* mode. +*****************************************************************************/ +void set_muxconf_regs (void ) +{ +MUX_PANDORA (); +}board/omap3/pandora/u-boot.lds new file +25
-0@@ -0,0 +1,63 @@ +/* + * January 2004 - Changed to support H4 device + * Copyright (c) 2004 Texas Instruments + * + * (C) Copyright 2002 + * Gary Jennejohn, DENX Software Engineering, <[email protected]> + * + * 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 + */
board/omap3/pandora/u-boot.lds line 35
Quoted 10 lines
board/omap3/pandora/u-boot.lds new file +10
-0+ +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +ENTRY(_start) +SECTIONS +{ + . = 0x00000000; + + . = ALIGN(4); + .text :
^^^^^^
board/omap3/pandora/u-boot.lds line 37
Quoted 2 lines
board/omap3/pandora/u-boot.lds new file +2
-0+ { + cpu/arm_cortexa8/start.o (.text)
^^
board/omap3/pandora/u-boot.lds line 39
Quoted 2 lines
board/omap3/pandora/u-boot.lds new file +2
-0+ { + *(.text)
^^
board/omap3/pandora/u-boot.lds line 44
Quoted 7 lines
board/omap3/pandora/u-boot.lds new file +7
-0+ { + } + + . = ALIGN(4); + .rodata : { *(.rodata) } + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
^^^
board/omap3/pandora/u-boot.lds line 46
Quoted 3 lines
board/omap3/pandora/u-boot.lds new file +3
-0+ { + __exidx_start = .; + .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
^^^
Quoted 8 lines
board/omap3/pandora/u-boot.lds new file +8
-0+ { + __exidx_end = .; + + . = ALIGN(4); + .data : { *(.data) } + + . = ALIGN(4); + .got : { *(.got) }
board/omap3/pandora/u-boot.lds line 63
Quoted 10 lines
board/omap3/pandora/u-boot.lds new file +10
-0+ + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; + + . = ALIGN(4); + __bss_start = .; + .bss : { *(.bss) } + _end = .; +}
Best Regards,
J.
cover OMAP3: Add support for OMAP3 based Pandora board
In reply to Grazvydas IgnotasQuoted 7 lines · Grazvydas Ignotas
Pandora is open handheld gaming console, which uses Texas Instruments OMAP 3530 SoC. More information can be found at http://openpandora.org/.
The following two patches are to be applied on u-boot-arm/omap3 branch, and should match style currently used there.
Both patches
It's nice to see that it is possible now to add a new board by simply introducing a new board directory :)
Dirk