summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2007-08-23 10:20:40 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2007-08-23 10:20:40 +0000
commit51582f282ba230178aec0226ec6098460a2a25da (patch)
treebbb6f4bfdbaa94a46047f0774f3bc009b3214547
parent966dc20cc330ba90a8e51e52c70303e41045ff9e (diff)
downloadast2050-flashrom-51582f282ba230178aec0226ec6098460a2a25da.zip
ast2050-flashrom-51582f282ba230178aec0226ec6098460a2a25da.tar.gz
Move code into *.c files, there's no reason to have it in header files
Corresponding to flashrom svn r127 and coreboot v2 svn r2745. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Stefan Reinauer <stepan@coresystems.de>
-rw-r--r--82802ab.c40
-rw-r--r--82802ab.h41
-rw-r--r--jedec.c52
-rw-r--r--jedec.h58
-rw-r--r--m29f400bt.c63
-rw-r--r--m29f400bt.h71
-rw-r--r--sharplhf00l04.c40
-rw-r--r--sharplhf00l04.h43
8 files changed, 208 insertions, 200 deletions
diff --git a/82802ab.c b/82802ab.c
index 53930ee..dc6ffbe 100644
--- a/82802ab.c
+++ b/82802ab.c
@@ -30,6 +30,46 @@
#include "82802ab.h"
#include "debug.h"
+void toggle_ready_82802ab(volatile uint8_t *dst)
+{
+ unsigned int i = 0;
+ uint8_t tmp1, tmp2;
+
+ tmp1 = *dst & 0x40;
+
+ while (i++ < 0xFFFFFF) {
+ tmp2 = *dst & 0x40;
+ if (tmp1 == tmp2) {
+ break;
+ }
+ tmp1 = tmp2;
+ }
+}
+
+void data_polling_82802ab(volatile uint8_t *dst, uint8_t data)
+{
+ unsigned int i = 0;
+ uint8_t tmp;
+
+ data &= 0x80;
+
+ while (i++ < 0xFFFFFF) {
+ tmp = *dst & 0x80;
+ if (tmp == data) {
+ break;
+ }
+ }
+}
+
+void protect_82802ab(volatile uint8_t *bios)
+{
+ *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
+ *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
+ *(volatile uint8_t *)(bios + 0x5555) = 0xA0;
+
+ usleep(200);
+}
+
// I need that Berkeley bit-map printer
void print_82802ab_status(uint8_t status)
{
diff --git a/82802ab.h b/82802ab.h
index f71f180..cc7eb50 100644
--- a/82802ab.h
+++ b/82802ab.h
@@ -5,45 +5,4 @@ extern int probe_82802ab(struct flashchip *flash);
extern int erase_82802ab(struct flashchip *flash);
extern int write_82802ab(struct flashchip *flash, uint8_t *buf);
-extern __inline__ void toggle_ready_82802ab(volatile uint8_t *dst)
-{
- unsigned int i = 0;
- uint8_t tmp1, tmp2;
-
- tmp1 = *dst & 0x40;
-
- while (i++ < 0xFFFFFF) {
- tmp2 = *dst & 0x40;
- if (tmp1 == tmp2) {
- break;
- }
- tmp1 = tmp2;
- }
-}
-
-extern __inline__ void data_polling_82802ab(volatile uint8_t *dst,
- uint8_t data)
-{
- unsigned int i = 0;
- uint8_t tmp;
-
- data &= 0x80;
-
- while (i++ < 0xFFFFFF) {
- tmp = *dst & 0x80;
- if (tmp == data) {
- break;
- }
- }
-}
-
-extern __inline__ void protect_82802ab(volatile uint8_t *bios)
-{
- *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
- *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
- *(volatile uint8_t *)(bios + 0x5555) = 0xA0;
-
- usleep(200);
-}
-
#endif /* !__82802AB_H__ */
diff --git a/jedec.c b/jedec.c
index c4afadf..0c34e17 100644
--- a/jedec.c
+++ b/jedec.c
@@ -33,6 +33,58 @@
#define MAX_REFLASH_TRIES 0x10
+void toggle_ready_jedec(volatile uint8_t *dst)
+{
+ unsigned int i = 0;
+ uint8_t tmp1, tmp2;
+
+ tmp1 = *dst & 0x40;
+
+ while (i++ < 0xFFFFFFF) {
+ tmp2 = *dst & 0x40;
+ if (tmp1 == tmp2) {
+ break;
+ }
+ tmp1 = tmp2;
+ }
+}
+
+void data_polling_jedec(volatile uint8_t *dst, uint8_t data)
+{
+ unsigned int i = 0;
+ uint8_t tmp;
+
+ data &= 0x80;
+
+ while (i++ < 0xFFFFFFF) {
+ tmp = *dst & 0x80;
+ if (tmp == data) {
+ break;
+ }
+ }
+}
+
+void unprotect_jedec(volatile uint8_t *bios)
+{
+ *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
+ *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
+ *(volatile uint8_t *)(bios + 0x5555) = 0x80;
+ *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
+ *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
+ *(volatile uint8_t *)(bios + 0x5555) = 0x20;
+
+ usleep(200);
+}
+
+void protect_jedec(volatile uint8_t *bios)
+{
+ *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
+ *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
+ *(volatile uint8_t *)(bios + 0x5555) = 0xA0;
+
+ usleep(200);
+}
+
int probe_jedec(struct flashchip *flash)
{
volatile uint8_t *bios = flash->virtual_memory;
diff --git a/jedec.h b/jedec.h
index c5c5c64..53135a5 100644
--- a/jedec.h
+++ b/jedec.h
@@ -1,8 +1,12 @@
#ifndef __JEDEC_H__
#define __JEDEC_H__ 1
+
+extern void toggle_ready_jedec(volatile uint8_t *dst);
+extern void data_polling_jedec(volatile uint8_t *dst, uint8_t data);
+extern void unprotect_jedec(volatile uint8_t *bios);
+extern void protect_jedec(volatile uint8_t *bios);
int write_byte_program_jedec(volatile uint8_t *bios, uint8_t *src,
volatile uint8_t *dst);
-
extern int probe_jedec(struct flashchip *flash);
extern int erase_chip_jedec(struct flashchip *flash);
extern int write_jedec(struct flashchip *flash, uint8_t *buf);
@@ -11,56 +15,4 @@ extern int erase_block_jedec(volatile uint8_t *bios, unsigned int page);
extern int write_sector_jedec(volatile uint8_t *bios, uint8_t *src,
volatile uint8_t *dst, unsigned int page_size);
-extern __inline__ void toggle_ready_jedec(volatile uint8_t *dst)
-{
- unsigned int i = 0;
- uint8_t tmp1, tmp2;
-
- tmp1 = *dst & 0x40;
-
- while (i++ < 0xFFFFFFF) {
- tmp2 = *dst & 0x40;
- if (tmp1 == tmp2) {
- break;
- }
- tmp1 = tmp2;
- }
-}
-
-extern __inline__ void data_polling_jedec(volatile uint8_t *dst, uint8_t data)
-{
- unsigned int i = 0;
- uint8_t tmp;
-
- data &= 0x80;
-
- while (i++ < 0xFFFFFFF) {
- tmp = *dst & 0x80;
- if (tmp == data) {
- break;
- }
- }
-}
-
-extern __inline__ void unprotect_jedec(volatile uint8_t *bios)
-{
- *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
- *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
- *(volatile uint8_t *)(bios + 0x5555) = 0x80;
- *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
- *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
- *(volatile uint8_t *)(bios + 0x5555) = 0x20;
-
- usleep(200);
-}
-
-extern __inline__ void protect_jedec(volatile uint8_t *bios)
-{
- *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
- *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
- *(volatile uint8_t *)(bios + 0x5555) = 0xA0;
-
- usleep(200);
-}
-
#endif /* !__JEDEC_H__ */
diff --git a/m29f400bt.c b/m29f400bt.c
index 86f9f96..809f33c 100644
--- a/m29f400bt.c
+++ b/m29f400bt.c
@@ -27,6 +27,69 @@
#include "m29f400bt.h"
#include "debug.h"
+void toggle_ready_m29f400bt(volatile uint8_t *dst)
+{
+ unsigned int i = 0;
+ uint8_t tmp1, tmp2;
+
+ tmp1 = *dst & 0x40;
+
+ while (i++ < 0xFFFFFF) {
+ tmp2 = *dst & 0x40;
+ if (tmp1 == tmp2) {
+ break;
+ }
+ tmp1 = tmp2;
+ }
+}
+
+void data_polling_m29f400bt(volatile uint8_t *dst, uint8_t data)
+{
+ unsigned int i = 0;
+ uint8_t tmp;
+
+ data &= 0x80;
+
+ while (i++ < 0xFFFFFF) {
+ tmp = *dst & 0x80;
+ if (tmp == data) {
+ break;
+ }
+ }
+}
+
+void protect_m29f400bt(volatile uint8_t *bios)
+{
+ *(volatile uint8_t *)(bios + 0xAAA) = 0xAA;
+ *(volatile uint8_t *)(bios + 0x555) = 0x55;
+ *(volatile uint8_t *)(bios + 0xAAA) = 0xA0;
+
+ usleep(200);
+}
+
+void write_page_m29f400bt(volatile uint8_t *bios, uint8_t *src,
+ volatile uint8_t *dst, int page_size)
+{
+ int i;
+
+ for (i = 0; i < page_size; i++) {
+ *(volatile uint8_t *)(bios + 0xAAA) = 0xAA;
+ *(volatile uint8_t *)(bios + 0x555) = 0x55;
+ *(volatile uint8_t *)(bios + 0xAAA) = 0xA0;
+
+ /* transfer data from source to destination */
+ *dst = *src;
+ //*(volatile char *) (bios) = 0xF0;
+ //usleep(5);
+ toggle_ready_m29f400bt(dst);
+ printf
+ ("Value in the flash at address %p = %#x, want %#x\n",
+ (uint8_t *) (dst - bios), *dst, *src);
+ dst++;
+ src++;
+ }
+}
+
int probe_m29f400bt(struct flashchip *flash)
{
volatile uint8_t *bios = flash->virtual_memory;
diff --git a/m29f400bt.h b/m29f400bt.h
index 965f731..04589bb 100644
--- a/m29f400bt.h
+++ b/m29f400bt.h
@@ -10,71 +10,10 @@ extern int block_erase_m29f400bt(volatile uint8_t *bios,
extern int write_m29f400bt(struct flashchip *flash, uint8_t *buf);
extern int write_linuxbios_m29f400bt(struct flashchip *flash, uint8_t *buf);
-extern __inline__ void toggle_ready_m29f400bt(volatile uint8_t *dst)
-{
- unsigned int i = 0;
- uint8_t tmp1, tmp2;
-
- tmp1 = *dst & 0x40;
-
- while (i++ < 0xFFFFFF) {
- tmp2 = *dst & 0x40;
- if (tmp1 == tmp2) {
- break;
- }
- tmp1 = tmp2;
- }
-}
-
-extern __inline__ void data_polling_m29f400bt(volatile uint8_t *dst,
- uint8_t data)
-{
- unsigned int i = 0;
- uint8_t tmp;
-
- data &= 0x80;
-
- while (i++ < 0xFFFFFF) {
- tmp = *dst & 0x80;
- if (tmp == data) {
- break;
- }
- }
-}
-
-extern __inline__ void protect_m29f400bt(volatile uint8_t *bios)
-{
- *(volatile uint8_t *)(bios + 0xAAA) = 0xAA;
- *(volatile uint8_t *)(bios + 0x555) = 0x55;
- *(volatile uint8_t *)(bios + 0xAAA) = 0xA0;
-
- usleep(200);
-}
-
-extern __inline__ void write_page_m29f400bt(volatile uint8_t *bios,
- uint8_t *src,
- volatile uint8_t *dst,
- int page_size)
-{
- int i;
-
- for (i = 0; i < page_size; i++) {
- *(volatile uint8_t *)(bios + 0xAAA) = 0xAA;
- *(volatile uint8_t *)(bios + 0x555) = 0x55;
- *(volatile uint8_t *)(bios + 0xAAA) = 0xA0;
-
- /* transfer data from source to destination */
- *dst = *src;
- //*(volatile char *) (bios) = 0xF0;
- //usleep(5);
- toggle_ready_m29f400bt(dst);
- printf
- ("Value in the flash at address %p = %#x, want %#x\n",
- (uint8_t *) (dst - bios), *dst, *src);
- dst++;
- src++;
- }
-
-}
+extern void toggle_ready_m29f400bt(volatile uint8_t *dst);
+extern void data_polling_m29f400bt(volatile uint8_t *dst, uint8_t data);
+extern void protect_m29f400bt(volatile uint8_t *bios);
+extern void write_page_m29f400bt(volatile uint8_t *bios, uint8_t *src,
+ volatile uint8_t *dst, int page_size);
#endif /* !__M29F400BT_H__ */
diff --git a/sharplhf00l04.c b/sharplhf00l04.c
index 61021d3..660142d 100644
--- a/sharplhf00l04.c
+++ b/sharplhf00l04.c
@@ -29,6 +29,46 @@
#include "sharplhf00l04.h"
#include "debug.h"
+void toggle_ready_lhf00l04(volatile uint8_t *dst)
+{
+ unsigned int i = 0;
+ uint8_t tmp1, tmp2;
+
+ tmp1 = *dst & 0x40;
+
+ while (i++ < 0xFFFFFF) {
+ tmp2 = *dst & 0x40;
+ if (tmp1 == tmp2) {
+ break;
+ }
+ tmp1 = tmp2;
+ }
+}
+
+void data_polling_lhf00l04(volatile uint8_t *dst, uint8_t data)
+{
+ unsigned int i = 0;
+ uint8_t tmp;
+
+ data &= 0x80;
+
+ while (i++ < 0xFFFFFF) {
+ tmp = *dst & 0x80;
+ if (tmp == data) {
+ break;
+ }
+ }
+}
+
+void protect_lhf00l04(volatile uint8_t *bios)
+{
+ *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
+ *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
+ *(volatile uint8_t *)(bios + 0x5555) = 0xA0;
+
+ usleep(200);
+}
+
// I need that Berkeley bit-map printer
void print_lhf00l04_status(uint8_t status)
{
diff --git a/sharplhf00l04.h b/sharplhf00l04.h
index e2352a0..b76b4ae 100644
--- a/sharplhf00l04.h
+++ b/sharplhf00l04.h
@@ -4,45 +4,8 @@
extern int probe_lhf00l04(struct flashchip *flash);
extern int erase_lhf00l04(struct flashchip *flash);
extern int write_lhf00l04(struct flashchip *flash, uint8_t *buf);
-extern __inline__ void toggle_ready_lhf00l04(volatile uint8_t *dst)
-{
- unsigned int i = 0;
- uint8_t tmp1, tmp2;
-
- tmp1 = *dst & 0x40;
-
- while (i++ < 0xFFFFFF) {
- tmp2 = *dst & 0x40;
- if (tmp1 == tmp2) {
- break;
- }
- tmp1 = tmp2;
- }
-}
-
-extern __inline__ void data_polling_lhf00l04(volatile uint8_t *dst,
- uint8_t data)
-{
- unsigned int i = 0;
- uint8_t tmp;
-
- data &= 0x80;
-
- while (i++ < 0xFFFFFF) {
- tmp = *dst & 0x80;
- if (tmp == data) {
- break;
- }
- }
-}
-
-extern __inline__ void protect_lhf00l04(volatile uint8_t *bios)
-{
- *(volatile uint8_t *)(bios + 0x5555) = 0xAA;
- *(volatile uint8_t *)(bios + 0x2AAA) = 0x55;
- *(volatile uint8_t *)(bios + 0x5555) = 0xA0;
-
- usleep(200);
-}
+extern void toggle_ready_lhf00l04(volatile uint8_t *dst);
+extern void data_polling_lhf00l04(volatile uint8_t *dst, uint8_t data);
+extern void protect_lhf00l04(volatile uint8_t *bios);
#endif /* !__SHARPLHF00L04_H__ */
OpenPOWER on IntegriCloud