[oe-commits] org.oe.dev merge of '1a130f677a5150a067c580db5a25b619d936b441'

cbrake commit openembedded-commits at lists.openembedded.org
Mon Oct 8 21:40:07 UTC 2007


merge of '1a130f677a5150a067c580db5a25b619d936b441'
     and 'b6719256c07784e7f380e4fade8dd9c293214e44'

Author: cbrake at openembedded.org
Branch: org.openembedded.dev
Revision: 16ef7e010f669266539951f43abdc37a983c762a
ViewMTN: http://monotone.openembedded.org/revision/info/16ef7e010f669266539951f43abdc37a983c762a
Files:
1
conf/machine/cm-x270.conf
contrib/mtn2git
packages/linux/linux-bd-neon-2.6-2.6.22
packages/tslib/tslib-1.0/bd-neon
conf/machine/bd-neon.conf
packages/linux/linux-bd-neon-2.6-2.6.22/neon-jffs2-config.patch
packages/linux/linux-bd-neon-2.6_2.6.22.bb
packages/tslib/tslib-1.0/bd-neon/ts.conf
packages/tslib/tslib-1.0/bd-neon/tslib.sh
packages/uboot/u-boot-1.1.2/u-boot-1.1.2-neon.patch
classes/insane.bbclass
packages/gpephone/gpe-session-scripts-phone/phonesession
packages/gpephone/gpe-session-scripts-phone_0.67.bb
packages/linux/linux.inc
packages/tslib/tslib_1.0.bb
packages/uboot/u-boot_1.1.2.bb
Diffs:

#
# mt diff -r1a130f677a5150a067c580db5a25b619d936b441 -r16ef7e010f669266539951f43abdc37a983c762a
#
# 
# 
# patch "conf/machine/cm-x270.conf"
#  from [f9429eb200a306ada78b0ff137d01a378b020fbb]
#    to [2a70298c7212dd87450a676741e84bcee83257a2]
# 
============================================================
--- conf/machine/cm-x270.conf	f9429eb200a306ada78b0ff137d01a378b020fbb
+++ conf/machine/cm-x270.conf	2a70298c7212dd87450a676741e84bcee83257a2
@@ -17,6 +17,13 @@ require conf/machine/include/tune-xscale
 # the following line to your local.conf:
 #   CMX270_CONSOLE_SERIAL_PORT = "ttyS0"
 
+# NAND flash eraseblock size
+# most of the older cm-x270 modules are populated with NAND flash
+# that have 128KiB eraseblocks.  Recently, a user encounted
+# a device that has 16KiB eraseblocks.  The following define
+# can be overridden in local.conf if you have one of these devices.
+CMX270_NAND_ERASEBLOCK_SIZE ?= "0x20000"
+
 # the following is for the cm-x270 L module
 CMX270_CONSOLE_SERIAL_PORT ?= "ttyS1"
 
@@ -32,10 +39,10 @@ ROOT_FLASH_SIZE ?= "32"
 ROOT_FLASH_SIZE ?= "32"
 
 # for NAND flash.
-EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pad --no-cleanmarkers;\
+EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=${CMX270_NAND_ERASEBLOCK_SIZE} --pad --no-cleanmarkers;\
 	sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
 	-o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \
-	-e 0x20000 -p; \
+	-e ${CMX270_NAND_ERASEBLOCK_SIZE} -p; \
 	cd ${DEPLOY_DIR_IMAGE}; \
 	rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs-summary.jffs2; \
 	ln -s ${IMAGE_NAME}.rootfs-summary.jffs2 ${IMAGE_LINK_NAME}.rootfs-summary.jffs2 \


#
# mt diff -rb6719256c07784e7f380e4fade8dd9c293214e44 -r16ef7e010f669266539951f43abdc37a983c762a
#
# 
# 
# add_dir "contrib/mtn2git"
# 
# add_dir "packages/linux/linux-bd-neon-2.6-2.6.22"
# 
# add_dir "packages/tslib/tslib-1.0/bd-neon"
# 
# add_file "conf/machine/bd-neon.conf"
#  content [8163d0993343ccd839b0f5feeae78282aea520b0]
# 
# add_file "packages/linux/linux-bd-neon-2.6-2.6.22/neon-jffs2-config.patch"
#  content [9c1160071f85c85e2cc81e2a8163a637bc90f8ff]
# 
# add_file "packages/linux/linux-bd-neon-2.6_2.6.22.bb"
#  content [7414432e92b9ffbb6e75fa61df919f18e6d010ad]
# 
# add_file "packages/tslib/tslib-1.0/bd-neon/ts.conf"
#  content [4b9e32da7b1b5a703348cc9d4fc2800494e9fb98]
# 
# add_file "packages/tslib/tslib-1.0/bd-neon/tslib.sh"
#  content [55378aa435aa3143b8ec06e7343ccbadfe5c6c45]
# 
# add_file "packages/uboot/u-boot-1.1.2/u-boot-1.1.2-neon.patch"
#  content [5bdc13848fb9c2d6730679aa4337a3e05d20ab64]
# 
# patch "classes/insane.bbclass"
#  from [49f1740d9ecf1927b4c66368e1d312c78bac9f7d]
#    to [2b43994e2dd8ae85f612788e116ce44c9b31619d]
# 
# patch "packages/gpephone/gpe-session-scripts-phone/phonesession"
#  from [64cdd2bae43bf05a507bec4930e2fd64095d273e]
#    to [4a57d7093e2a128e9de634fe2a22cb0b2d9f1b7b]
# 
# patch "packages/gpephone/gpe-session-scripts-phone_0.67.bb"
#  from [c0fb30d8f7a34358f19b89a40b169e9c37801963]
#    to [53bb2662f41f3af3b69cf88557d94838e20409b2]
# 
# patch "packages/linux/linux.inc"
#  from [f2839da09edfd537b53bf525e01839ea27f5767a]
#    to [83d195d472ddda5713c305337cc8ff84620bb56c]
# 
# patch "packages/tslib/tslib_1.0.bb"
#  from [1c4fb53d13e4113521fe14d479e43b12dbfa9478]
#    to [5d5d2fe05b80425f25473bfe084177b902b207f9]
# 
# patch "packages/uboot/u-boot_1.1.2.bb"
#  from [92cf95f3cb2183350d8652417e5b8c2a831c602c]
#    to [1665c20c3e71e8c616a87744bdb4af3b2d8a45fb]
# 
============================================================
--- conf/machine/bd-neon.conf	8163d0993343ccd839b0f5feeae78282aea520b0
+++ conf/machine/bd-neon.conf	8163d0993343ccd839b0f5feeae78282aea520b0
@@ -0,0 +1,56 @@
+#@TYPE: Machine
+#@NAME: Boundary Devices NEON
+#@DESCRIPTION: Machine configuration for the Boundary Devices NEON board
+
+#
+# Hardware-based properties
+#
+TARGET_ARCH = "arm"
+PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te"
+
+# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
+require conf/machine/include/tune-xscale.conf
+
+# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first
+#require conf/machine/include/tune-iwmmxt.conf
+
+ROOT_FLASH_SIZE = "60"
+VOLATILE_STORAGE_SIZE = "128"
+GUI_MACHINE_CLASS = "bigscreen"
+MACHINE_FEATURES = "kernel26 touchscreen apm alsa usbgadget screen uboot"
+
+#
+# Software/packages selection
+#
+PREFERRED_PROVIDER_virtual/kernel = "linux-bd-neon-2.6"
+MODUTILS = "26"	
+XSERVER = "xserver-kdrive-fbdev"
+MACHINE_TASK_PROVIDER = "task-base"
+
+PREFERRED_VERSION_u-boot = "1.1.2"
+
+EXTRA_IMAGEDEPENDS =" mtd-utils"
+
+MACHINE_EXTRA_RDEPENDS = " mtd-utils"
+MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-module-nls-cp437 \
+				kernel-module-nls-iso8859-1 \
+				kernel-module-nls-utf8 \
+				kernel-module-af-key \
+				kernel-module-i2c-pxa"
+
+EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 -n"
+EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x40000 --pad=32243712; sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+			  -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \
+			  -e 128KiB -p"
+
+#
+# Modules autoload and other boot properties
+#
+module_autoload_evdev = "evdev"
+module_autoload_mmc_block = "mmc_block"
+module_autoload_snd-pcm-oss = "snd-pcm-oss"
+module_autoload_snd-mixer-oss = "snd-mixer-oss"
+
+#module_autoload_g_ether = "g_ether"
+
+SERIAL_CONSOLE = "115200 ttyS0"
============================================================
--- packages/linux/linux-bd-neon-2.6-2.6.22/neon-jffs2-config.patch	9c1160071f85c85e2cc81e2a8163a637bc90f8ff
+++ packages/linux/linux-bd-neon-2.6-2.6.22/neon-jffs2-config.patch	9c1160071f85c85e2cc81e2a8163a637bc90f8ff
@@ -0,0 +1,33 @@
+--- linux-2.6.22/arch/arm/configs/neon_defconfig-o	2007-08-23 19:49:52.000000000 +0200
++++ linux-2.6.22/arch/arm/configs/neon_defconfig	2007-08-23 19:50:16.000000000 +0200
+@@ -171,7 +171,8 @@
+ # CONFIG_PREEMPT is not set
+ # CONFIG_NO_IDLE_HZ is not set
+ CONFIG_HZ=100
+-# CONFIG_AEABI is not set
++CONFIG_AEABI=y
++CONFIG_OABI_COMPAT=y
+ # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+ CONFIG_SELECT_MEMORY_MODEL=y
+ CONFIG_FLATMEM_MANUAL=y
+@@ -1131,7 +1132,7 @@
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_SYSCTL=y
+ CONFIG_SYSFS=y
+-# CONFIG_TMPFS is not set
++CONFIG_TMPFS=y
+ # CONFIG_HUGETLB_PAGE is not set
+ CONFIG_RAMFS=y
+ # CONFIG_CONFIGFS_FS is not set
+@@ -1147,7 +1148,10 @@
+ # CONFIG_BFS_FS is not set
+ # CONFIG_EFS_FS is not set
+ # CONFIG_JFFS_FS is not set
+-# CONFIG_JFFS2_FS is not set
++CONFIG_JFFS2_FS=y
++CONFIG_JFFS2_FS_DEBUG=0
++CONFIG_JFFS2_FS_WRITEBUFFER=y
++CONFIG_JFFS2_SUMMARY=y
+ CONFIG_CRAMFS=y
+ # CONFIG_VXFS_FS is not set
+ # CONFIG_HPFS_FS is not set
============================================================
--- packages/linux/linux-bd-neon-2.6_2.6.22.bb	7414432e92b9ffbb6e75fa61df919f18e6d010ad
+++ packages/linux/linux-bd-neon-2.6_2.6.22.bb	7414432e92b9ffbb6e75fa61df919f18e6d010ad
@@ -0,0 +1,48 @@
+DESCRIPTION = "2.6 Linux Kernel for Boundary Devices NEON Board"
+SECTION = "kernel"
+HOMEPAGE = "N/A"
+LICENSE = "GPL"
+DEPENDS += "uboot-utils"
+
+PR = "r1"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2 \
+           http://www.boundarydevices.com/boundary-2.6.22-2007-07-22.patch.bz2;patch=1 \
+           file://neon-jffs2-config.patch;patch=1"
+
+S = "${WORKDIR}/linux-2.6.22"
+
+inherit kernel
+
+KERNEL_IMAGETYPE = "zImage"
+FILES_kernel-image = ""
+ALLOW_EMPTY = "1"
+
+do_configure() {
+        cp arch/arm/configs/neon_defconfig .config || die "No default configuration for ${MACHINE} available."
+
+#        if [ "${TARGET_OS}" == "linux-gnueabi" -o  "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
+#                echo "CONFIG_AEABI=y"                   >> ${S}/.config
+#                echo "CONFIG_OABI_COMPAT=y"             >> ${S}/.config
+#        else
+#                echo "# CONFIG_AEABI is not set"        >> ${S}/.config
+#                echo "# CONFIG_OABI_COMPAT is not set"  >> ${S}/.config
+#        fi
+
+        yes '' | oe_runmake oldconfig
+}
+
+do_deploy() {
+        install -d ${DEPLOY_DIR_IMAGE}
+        install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}.bin
+        tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib
+        ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
+        rm -f linux.bin.gz
+        gzip -9 linux.bin
+        ${STAGING_BINDIR_NATIVE}/mkimage -A arm -O linux -T kernel -C gzip -a a0008000 -e a0008000 -n "Boundary Devices NEON" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}.bin
+        rm -f linux.bin.gz
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_package after do_install
============================================================
--- packages/tslib/tslib-1.0/bd-neon/ts.conf	4b9e32da7b1b5a703348cc9d4fc2800494e9fb98
+++ packages/tslib/tslib-1.0/bd-neon/ts.conf	4b9e32da7b1b5a703348cc9d4fc2800494e9fb98
@@ -0,0 +1,5 @@
+module_raw ucb1x00
+module pthres pmin=1
+module variance delta=500
+module dejitter delta=10000
+module linear
============================================================
--- packages/tslib/tslib-1.0/bd-neon/tslib.sh	55378aa435aa3143b8ec06e7343ccbadfe5c6c45
+++ packages/tslib/tslib-1.0/bd-neon/tslib.sh	55378aa435aa3143b8ec06e7343ccbadfe5c6c45
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=/dev/touch_ucb1x00
+
+export TSLIB_TSDEVICE
+
============================================================
--- packages/uboot/u-boot-1.1.2/u-boot-1.1.2-neon.patch	5bdc13848fb9c2d6730679aa4337a3e05d20ab64
+++ packages/uboot/u-boot-1.1.2/u-boot-1.1.2-neon.patch	5bdc13848fb9c2d6730679aa4337a3e05d20ab64
@@ -0,0 +1,19204 @@
+diff -u -r --new-file u-boot-1.1.2/board/bd2003/bd2003.c u-boot-1.1.2-neon/board/bd2003/bd2003.c
+--- u-boot-1.1.2/board/bd2003/bd2003.c	1970-01-01 01:00:00.000000000 +0100
++++ u-boot-1.1.2-neon/board/bd2003/bd2003.c	2007-08-11 21:07:19.000000000 +0200
+@@ -0,0 +1,94 @@
++/*
++ * (C) Copyright 2002
++ * Kyle Harris, Nexus Technologies, Inc. kharris at nexus-tech.net
++ *
++ * (C) Copyright 2002
++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
++ * Marius Groeger <mgroeger at sysgo.de>
++ *
++ * 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 <config.h>
++#include <common.h>
++#include <version.h>
++#include <stdarg.h>
++#include <linux/types.h>
++#include <devices.h>
++#include <lcd.h>
++#include <lcd_panels.h>
++
++/* ------------------------------------------------------------------------- */
++/*
++ * LCD panel declarations
++ */
++
++vidinfo_t panel_info = {
++	vl_col:		1024,		//this is corrected in SetPanelInfo
++	vl_row:		768,
++	vl_bpix:    LCD_BPP,
++	vl_lcd_line_length: (320 * NBITS(LCD_BPP) ) >> 3
++};
++
++void disable_lcd_panel( void )
++{
++}
++
++
++/* ------------------------------------------------------------------------- */
++
++
++/*
++ * Miscelaneous platform dependent initialisations
++ */
++
++int board_init (void)
++{
++	DECLARE_GLOBAL_DATA_PTR;
++
++	/* memory and cpu-speed are setup before relocation */
++	/* so we do _nothing_ here */
++
++	/* arch number of Neon Board */
++	gd->bd->bi_arch_number = MACH_TYPE_BD2003 ;
++
++	/* adress of boot parameters */
++	gd->bd->bi_boot_params = 0xa0000100;
++
++	return 0;
++}
++
++int board_late_init(void)
++{
++	setenv("stdout", "serial");
++	setenv("stderr", "serial");
++	return 0;
++}
++
++
++int dram_init (void)
++{
++	DECLARE_GLOBAL_DATA_PTR;
++
++	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
++	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
++
++	return 0;
++}
+diff -u -r --new-file u-boot-1.1.2/board/bd2003/config.mk u-boot-1.1.2-neon/board/bd2003/config.mk
+--- u-boot-1.1.2/board/bd2003/config.mk	1970-01-01 01:00:00.000000000 +0100
++++ u-boot-1.1.2-neon/board/bd2003/config.mk	2007-08-11 21:07:19.000000000 +0200
+@@ -0,0 +1,4 @@
++#TEXT_BASE = 0xa1700000
++TEXT_BASE = 0xA1F00000
++#TEXT_BASE = 0
++PXALCD = 1
+diff -u -r --new-file u-boot-1.1.2/board/bd2003/.cvsignore u-boot-1.1.2-neon/board/bd2003/.cvsignore
+--- u-boot-1.1.2/board/bd2003/.cvsignore	1970-01-01 01:00:00.000000000 +0100
++++ u-boot-1.1.2-neon/board/bd2003/.cvsignore	2007-08-11 21:07:19.000000000 +0200
+@@ -0,0 +1,2 @@
++.depend
++
+diff -u -r --new-file u-boot-1.1.2/board/bd2003/flash.c u-boot-1.1.2-neon/board/bd2003/flash.c
+--- u-boot-1.1.2/board/bd2003/flash.c	1970-01-01 01:00:00.000000000 +0100
++++ u-boot-1.1.2-neon/board/bd2003/flash.c	2007-08-11 21:07:19.000000000 +0200
+@@ -0,0 +1,477 @@
++/*
++ * (C) Copyright 2001
++ * Kyle Harris, Nexus Technologies, Inc. kharris at nexus-tech.net
++ *
++ * (C) Copyright 2001
++ * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
++ *
++ * 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 <linux/byteorder/swab.h>
++#include <asm/arch/pxa250Base.h>
++#include <asm/arch/pxaHardware.h>
++#include "lcd.h"
++
++flash_info_t flash_info[CFG_MAX_FLASH_BANKS];	/* info for FLASH chips    */
++
++/* Board support for 1 or 2 flash devices */
++#define FLASH_PORT_WIDTH32
++#undef FLASH_PORT_WIDTH16
++
++#ifdef FLASH_PORT_WIDTH16
++#define FLASH_PORT_WIDTH		ushort
++#define FLASH_PORT_WIDTHV		vu_short
++#define SWAP(x)               __swab16(x)
++#else
++#define FLASH_PORT_WIDTH		ulong
++#define FLASH_PORT_WIDTHV		vu_long
++#define SWAP(x)               __swab32(x)
++#endif
++
++#define FPW	   FLASH_PORT_WIDTH
++#define FPWV   FLASH_PORT_WIDTHV
++
++#define mb() __asm__ __volatile__ ("" : : : "memory")
++
++/*-----------------------------------------------------------------------
++ * Functions
++ */
++static ulong flash_get_size (FPW *addr, flash_info_t *info);
++static int write_data (flash_info_t *info, ulong dest, FPW data);
++static void flash_get_offsets (ulong base, flash_info_t *info);
++void inline spin_wheel_init(ulong addr, ulong cnt);
++void inline spin_wheel_done( int worked );
++void inline spin_wheel (ulong numleft);
++
++/*-----------------------------------------------------------------------
++ */
++ulong bases[] = {PHYS_FLASH_1,PHYS_FLASH_2,1};
++unsigned long flash_init (void)
++{
++	int i=0;
++	int j=0;
++	ulong size = 0;
++	ulong base;
++
++   while (i < CFG_MAX_FLASH_BANKS) {
++		base = bases[j++];
++		flash_info[i].start[0] = 0;
++		if (base & 1) break;
++		if (flash_get_size ((FPW *) base, &flash_info[i])) {
++			flash_get_offsets (base, &flash_info[i]);
++			size += flash_info[i].size;
++			i++;
++		}
++      else {
++printf( "error reading flash size\n" );
++      }
++	}
++	if (size>0) {
++		base = flash_info[0].start[0];
++		// Protect monitor and environment sectors
++		flash_protect ( FLAG_PROTECT_SET,
++			base,
++			base + monitor_flash_len - 1,
++			&flash_info[0] );
++
++		flash_protect ( FLAG_PROTECT_SET,
++			base+CFG_ENV_OFFSET,
++			base+CFG_ENV_OFFSET + CFG_ENV_SIZE - 1, &flash_info[0] );
++	}
++
++	return size;
++}
++
++/*-----------------------------------------------------------------------
++ */
++static void flash_get_offsets (ulong base, flash_info_t *info)
++{
++	int i;
++
++	if (info->flash_id == FLASH_UNKNOWN) {
++		return;
++	}
++
++	if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL) {
++		for (i = 0; i < info->sector_count; i++) {
++			info->start[i] = base + (i * PHYS_FLASH_SECT_SIZE);
++			info->protect[i] = 0;
++		}
++	}
++}
++
++/*-----------------------------------------------------------------------
++ */
++void flash_print_info (flash_info_t *info)
++{
++	int i;
++
++	if (info->flash_id == FLASH_UNKNOWN) {
++		printf ("missing or unknown FLASH type\n");
++		return;
++	}
++
++	switch (info->flash_id & FLASH_VENDMASK) {
++	case FLASH_MAN_INTEL:
++		printf ("INTEL ");
++		break;
++	default:
++		printf ("Unknown Vendor ");
++		break;
++	}
++
++	switch (info->flash_id & FLASH_TYPEMASK) {
++	case FLASH_28F128J3A:
++		printf ("28F128J3A\n");
++		break;
++	default:
++		printf ("Unknown Chip Type\n");
++		break;
++	}
++
++	printf ("  Size: %ld MB in %d Sectors\n",
++			info->size >> 20, info->sector_count);
++
++	printf ("  Sector Start Addresses:");
++	for (i = 0; i < info->sector_count; ++i) {
++		if ((i % 5) == 0)
++			printf ("\n   ");
++		printf (" %08lX%s",
++			info->start[i],
++			info->protect[i] ? " (RO)" : "     ");
++	}
++	printf ("\n");
++	return;
++}
++
++/*
++ * The following code cannot be run from FLASH!
++ */
++static ulong flash_get_size (FPW *addr, flash_info_t *info)
++{
++	volatile FPW value;
++	volatile unsigned long *mc = (unsigned long *)MEMORY_CONTROL_BASE%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list