From 32a9f5f2160a034ea87ea651b233ef7c635e55cf Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 4 Feb 2008 19:26:54 -0500 Subject: make smc91111_eeprom managment simpler by depending on the board configuration file rather than a hardcoded list of boards Signed-off-by: Mike Frysinger --- examples/smc91111_eeprom.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'examples/smc91111_eeprom.c') diff --git a/examples/smc91111_eeprom.c b/examples/smc91111_eeprom.c index b8a3594..1e1129a 100644 --- a/examples/smc91111_eeprom.c +++ b/examples/smc91111_eeprom.c @@ -31,6 +31,8 @@ #include #include "../drivers/net/smc91111.h" +#ifdef CONFIG_DRIVER_SMC91111 + #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE #define EEPROM 0x1; #define MAC 0x2; @@ -387,3 +389,13 @@ void dump_reg (void) printf ("\n"); } } + +#else + +int smc91111_eeprom (int argc, char *argv[]) +{ + printf("Not supported for this board\n"); + return 1; +} + +#endif -- cgit v1.1 From 6b9097e5e7490aa7b828c6f1a1c7a0e875df8464 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 4 Feb 2008 19:26:56 -0500 Subject: use C code rather than inline assembly Signed-off-by: Mike Frysinger --- examples/smc91111_eeprom.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'examples/smc91111_eeprom.c') diff --git a/examples/smc91111_eeprom.c b/examples/smc91111_eeprom.c index 1e1129a..f5d8c6a 100644 --- a/examples/smc91111_eeprom.c +++ b/examples/smc91111_eeprom.c @@ -33,6 +33,11 @@ #ifdef CONFIG_DRIVER_SMC91111 +#ifdef pFIO0_DIR +# define pFIO_DIR pFIO0_DIR +# define pFIO_FLAG_S pFIO0_FLAG_S +#endif + #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE #define EEPROM 0x1; #define MAC 0x2; @@ -61,17 +66,9 @@ int smc91111_eeprom (int argc, char *argv[]) return (0); } - asm ("p2.h = 0xFFC0;"); - asm ("p2.l = 0x0730;"); - asm ("r0 = 0x01;"); - asm ("w[p2] = r0;"); - asm ("ssync;"); - - asm ("p2.h = 0xffc0;"); - asm ("p2.l = 0x0708;"); - asm ("r0 = 0x01;"); - asm ("w[p2] = r0;"); - asm ("ssync;"); + *pFIO_DIR = 0x01; + *pFIO_FLAG_S = 0x01; + SSYNC(); if ((SMC_inw (BANK_SELECT) & 0xFF00) != 0x3300) { printf ("Can't find SMSC91111\n"); -- cgit v1.1