diff --git a/cmd/eeprom.c b/cmd/eeprom.c
index 4052cf4..9136630 100644
--- a/cmd/eeprom.c
+++ b/cmd/eeprom.c
@@ -66,11 +66,6 @@
 
 void eeprom_init(int bus)
 {
-	/* SPI EEPROM */
-#if defined(CONFIG_MPC8XX_SPI) && !defined(CONFIG_ENV_EEPROM_IS_ON_I2C)
-	spi_init_f();
-#endif
-
 	/* I2C EEPROM */
 #if defined(CONFIG_SYS_I2C)
 	if (bus >= 0)
@@ -129,14 +124,6 @@
 {
 	int ret = 0;
 
-	/* SPI */
-#if defined(CONFIG_MPC8XX_SPI) && !defined(CONFIG_ENV_EEPROM_IS_ON_I2C)
-	if (read)
-		spi_read(addr, alen, buffer, len);
-	else
-		spi_write(addr, alen, buffer, len);
-#else	/* I2C */
-
 #if defined(CONFIG_SYS_I2C_EEPROM_BUS)
 	i2c_set_bus_num(CONFIG_SYS_I2C_EEPROM_BUS);
 #endif
@@ -148,7 +135,7 @@
 
 	if (ret)
 		ret = 1;
-#endif
+
 	return ret;
 }
 
diff --git a/common/board_r.c b/common/board_r.c
index c55e33e..3ccef54 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -382,13 +382,6 @@
 #if defined(CONFIG_PPC) && !defined(CONFIG_DM_SPI)
 static int initr_spi(void)
 {
-	/* MPC8xx does this here */
-#ifdef CONFIG_MPC8XX_SPI
-#if !defined(CONFIG_ENV_IS_IN_EEPROM)
-	spi_init_f();
-#endif
-	spi_init_r();
-#endif
 	return 0;
 }
 #endif
diff --git a/include/common.h b/include/common.h
index 3f69943..cfbdf7e 100644
--- a/include/common.h
+++ b/include/common.h
@@ -276,13 +276,6 @@
 # define CONFIG_SYS_DEF_EEPROM_ADDR CONFIG_SYS_I2C_EEPROM_ADDR
 #endif
 
-#if defined(CONFIG_MPC8XX_SPI)
-extern void spi_init_f (void);
-extern void spi_init_r (void);
-extern ssize_t spi_read	 (uchar *, int, uchar *, int);
-extern ssize_t spi_write (uchar *, int, uchar *, int);
-#endif
-
 /* $(BOARD)/$(BOARD).c */
 int board_early_init_f (void);
 int board_fix_fdt (void *rw_fdt_blob); /* manipulate the U-Boot fdt before its relocation */
