Drop 82802ab.c as it is identical to sharplhf00l04.c

Corresponding to flashrom svn r201 and coreboot v2 svn r3137.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
diff --git a/82802ab.c b/82802ab.c
deleted file mode 100644
index 38a5ce2..0000000
--- a/82802ab.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * This file is part of the flashrom project.
- *
- * Copyright (C) 2000 Silicon Integrated System Corporation
- *
- * 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
- */
-
-/*
- * Datasheet:
- *  - Name: Intel 82802AB/82802AC Firmware Hub (FWH)
- *  - URL: http://www.intel.com/design/chipsets/datashts/290658.htm
- *  - PDF: http://download.intel.com/design/chipsets/datashts/29065804.pdf
- *  - Order number: 290658-004
- */
-
-#include <stdio.h>
-#include <stdint.h>
-#include "flash.h"
-
-// I need that Berkeley bit-map printer
-void print_82802ab_status(uint8_t status)
-{
-	printf("%s", status & 0x80 ? "Ready:" : "Busy:");
-	printf("%s", status & 0x40 ? "BE SUSPEND:" : "BE RUN/FINISH:");
-	printf("%s", status & 0x20 ? "BE ERROR:" : "BE OK:");
-	printf("%s", status & 0x10 ? "PROG ERR:" : "PROG OK:");
-	printf("%s", status & 0x8 ? "VP ERR:" : "VPP OK:");
-	printf("%s", status & 0x4 ? "PROG SUSPEND:" : "PROG RUN/FINISH:");
-	printf("%s", status & 0x2 ? "WP|TBL#|WP#,ABORT:" : "UNLOCK:");
-}
-
-int probe_82802ab(struct flashchip *flash)
-{
-	volatile uint8_t *bios = flash->virtual_memory;
-	uint8_t id1, id2;
-
-#if 0
-	*(volatile uint8_t *)(bios + 0x5555) = 0xAA;
-	*(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
-	*(volatile uint8_t *)(bios + 0x5555) = 0x90;
-#endif
-
-	*bios = 0xff;
-	myusec_delay(10);
-	*bios = 0x90;
-	myusec_delay(10);
-
-	id1 = *(volatile uint8_t *)bios;
-	id2 = *(volatile uint8_t *)(bios + 0x01);
-
-	/* Leave ID mode */
-	*(volatile uint8_t *)(bios + 0x5555) = 0xAA;
-	*(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
-	*(volatile uint8_t *)(bios + 0x5555) = 0xF0;
-
-	myusec_delay(10);
-
-	printf_debug("%s: id1 0x%x, id2 0x%x\n", __FUNCTION__, id1, id2);
-
-	if (id1 != flash->manufacture_id || id2 != flash->model_id)
-		return 0;
-
-	map_flash_registers(flash);
-
-	return 1;
-}
-
-uint8_t wait_82802ab(volatile uint8_t *bios)
-{
-	uint8_t status;
-	uint8_t id1, id2;
-
-	*bios = 0x70;
-	if ((*bios & 0x80) == 0) {	// it's busy
-		while ((*bios & 0x80) == 0) ;
-	}
-
-	status = *bios;
-
-	// put another command to get out of status register mode
-
-	*bios = 0x90;
-	myusec_delay(10);
-
-	id1 = *(volatile uint8_t *)bios;
-	id2 = *(volatile uint8_t *)(bios + 0x01);
-
-	// this is needed to jam it out of "read id" mode
-	*(volatile uint8_t *)(bios + 0x5555) = 0xAA;
-	*(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
-	*(volatile uint8_t *)(bios + 0x5555) = 0xF0;
-
-	return status;
-}
-
-int erase_82802ab_block(struct flashchip *flash, int offset)
-{
-	volatile uint8_t *bios = flash->virtual_memory + offset;
-	volatile uint8_t *wrprotect = flash->virtual_registers + offset + 2;
-	uint8_t status;
-
-	// clear status register
-	*bios = 0x50;
-	//printf("Erase at %p\n", bios);
-	// clear write protect
-	//printf("write protect is at %p\n", (wrprotect));
-	//printf("write protect is 0x%x\n", *(wrprotect));
-	*(wrprotect) = 0;
-	//printf("write protect is 0x%x\n", *(wrprotect));
-
-	// now start it
-	*(volatile uint8_t *)(bios) = 0x20;
-	*(volatile uint8_t *)(bios) = 0xd0;
-	myusec_delay(10);
-	// now let's see what the register is
-	status = wait_82802ab(flash->virtual_memory);
-	//print_82802ab_status(status);
-	printf("DONE BLOCK 0x%x\n", offset);
-
-	return 0;
-}
-
-int erase_82802ab(struct flashchip *flash)
-{
-	int i;
-	unsigned int total_size = flash->total_size * 1024;
-
-	printf("total_size is %d; flash->page_size is %d\n",
-	       total_size, flash->page_size);
-	for (i = 0; i < total_size; i += flash->page_size)
-		erase_82802ab_block(flash, i);
-	printf("DONE ERASE\n");
-
-	return 0;
-}
-
-void write_page_82802ab(volatile uint8_t *bios, uint8_t *src,
-			volatile uint8_t *dst, int page_size)
-{
-	int i;
-
-	for (i = 0; i < page_size; i++) {
-		/* transfer data from source to destination */
-		*dst = 0x40;
-		*dst++ = *src++;
-		wait_82802ab(bios);
-	}
-}
-
-int write_82802ab(struct flashchip *flash, uint8_t *buf)
-{
-	int i;
-	int total_size = flash->total_size * 1024;
-	int page_size = flash->page_size;
-	volatile uint8_t *bios = flash->virtual_memory;
-
-	erase_82802ab(flash);
-	if (*bios != 0xff) {
-		printf("ERASE FAILED\n");
-		return -1;
-	}
-	printf("Programming page: ");
-	for (i = 0; i < total_size / page_size; i++) {
-		printf("%04d at address: 0x%08x", i, i * page_size);
-		write_page_82802ab(bios, buf + i * page_size,
-				   bios + i * page_size, page_size);
-		printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
-	}
-	printf("\n");
-	protect_jedec(bios);
-
-	return 0;
-}
diff --git a/Makefile b/Makefile
index 57c9686..424a5c4 100644
--- a/Makefile
+++ b/Makefile
@@ -22,7 +22,7 @@
 
 OBJS = chipset_enable.o board_enable.o udelay.o jedec.o sst28sf040.o \
 	am29f040b.o mx29f002.o sst39sf020.o m29f400bt.o w49f002u.o \
-	82802ab.o msys_doc.o pm49fl004.o sst49lf040.o sst49lfxxxc.o \
+	msys_doc.o pm49fl004.o sst49lf040.o sst49lfxxxc.o \
 	sst_fwhub.o layout.o cbtable.o flashchips.o flashrom.o \
 	sharplhf00l04.o w29ee011.o spi.o
 
diff --git a/flashchips.c b/flashchips.c
index 89a3753..a46e009 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -192,10 +192,10 @@
 	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write, generic_spi_chip_read},
 	{"M25P128",	ST_ID,		ST_M25P128,	16384,	256,
 	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write, generic_spi_chip_read},
-	{"82802ab",	137,		173,		512, 64 * 1024,
-	 probe_82802ab, erase_82802ab,	write_82802ab},
-	{"82802ac",	137,		172,		1024, 64 * 1024,
-	 probe_82802ab, erase_82802ab,	write_82802ab},
+	{"82802ab",	INTEL_ID,	173,		512, 64 * 1024,
+	 probe_lhf00l04, erase_lhf00l04,	write_lhf00l04},
+	{"82802ac",	INTEL_ID,	172,		1024, 64 * 1024,
+	 probe_lhf00l04, erase_lhf00l04,	write_lhf00l04},
 	{"F49B002UA",   EMST_ID,        EMST_F49B002UA, 256, 4096,
          probe_jedec,   erase_chip_jedec, write_49f002},
 #ifndef DISABLE_DOC
diff --git a/sharplhf00l04.c b/sharplhf00l04.c
index da7dc3f..e2257d4 100644
--- a/sharplhf00l04.c
+++ b/sharplhf00l04.c
@@ -18,6 +18,14 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
+/*
+ * Datasheet:
+ *  - Name: Intel 82802AB/82802AC Firmware Hub (FWH)
+ *  - URL: http://www.intel.com/design/chipsets/datashts/290658.htm
+ *  - PDF: http://download.intel.com/design/chipsets/datashts/29065804.pdf
+ *  - Order number: 290658-004
+ */
+
 #include <stdio.h>
 #include <stdlib.h>
 #include "flash.h"