strider: Add DP501 support for cpu model

Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
Signed-off-by: Stefan Roese <sr@denx.de>
diff --git a/board/gdsys/common/dp501.c b/board/gdsys/common/dp501.c
index d35aee0..54e7f63 100644
--- a/board/gdsys/common/dp501.c
+++ b/board/gdsys/common/dp501.c
@@ -12,6 +12,16 @@
 #include <errno.h>
 #include <i2c.h>
 
+#define DP501_I2C_ADDR 0x08
+
+#ifdef CONFIG_SYS_DP501_I2C
+int dp501_i2c[] = CONFIG_SYS_DP501_I2C;
+#endif
+
+#ifdef CONFIG_SYS_DP501_BASE
+int dp501_base[] = CONFIG_SYS_DP501_BASE;
+#endif
+
 static void dp501_setbits(u8 addr, u8 reg, u8 mask)
 {
 	u8 val;
@@ -125,3 +135,24 @@
 {
 	dp501_setbits(addr, 0x0a, 0x30); /* power down encoder, standby mode */
 }
+
+
+int dp501_probe(unsigned screen, bool power)
+{
+#ifdef CONFIG_SYS_DP501_BASE
+	uint8_t dp501_addr = dp501_base[screen];
+#else
+	uint8_t dp501_addr = DP501_I2C_ADDR;
+#endif
+
+#ifdef CONFIG_SYS_DP501_I2C
+	i2c_set_bus_num(dp501_i2c[screen]);
+#endif
+
+	if (i2c_probe(dp501_addr))
+		return -1;
+
+	dp501_powerup(dp501_addr);
+
+	return 0;
+}
diff --git a/board/gdsys/common/dp501.h b/board/gdsys/common/dp501.h
index 8dc3215..b98b54e 100644
--- a/board/gdsys/common/dp501.h
+++ b/board/gdsys/common/dp501.h
@@ -26,5 +26,6 @@
 
 void dp501_powerup(u8 addr);
 void dp501_powerdown(u8 addr);
+int dp501_probe(unsigned screen, bool power);
 
 #endif
diff --git a/board/gdsys/common/osd.c b/board/gdsys/common/osd.c
index 7444bee..4e292f5 100644
--- a/board/gdsys/common/osd.c
+++ b/board/gdsys/common/osd.c
@@ -24,8 +24,6 @@
 #define SIL1178_MASTER_I2C_ADDRESS 0x38
 #define SIL1178_SLAVE_I2C_ADDRESS 0x39
 
-#define DP501_I2C_ADDR 0x08
-
 #define PIXCLK_640_480_60 25180000
 #define MAX_X_CHARS 53
 #define MAX_Y_CHARS 26
@@ -78,14 +76,6 @@
 int sil1178_i2c[] = CONFIG_SYS_SIL1178_I2C;
 #endif
 
-#ifdef CONFIG_SYS_DP501_I2C
-int dp501_i2c[] = CONFIG_SYS_DP501_I2C;
-#endif
-
-#ifdef CONFIG_SYS_DP501_BASE
-int dp501_base[] = CONFIG_SYS_DP501_BASE;
-#endif
-
 #ifdef CONFIG_SYS_MPC92469AC
 static void mpc92469ac_calc_parameters(unsigned int fout,
 	unsigned int *post_div, unsigned int *feedback_div)
@@ -317,13 +307,6 @@
 	int old_bus = i2c_get_bus_num();
 	bool pixclock_present = false;
 	bool output_driver_present = false;
-#ifdef CONFIG_SYS_DP501_I2C
-#ifdef CONFIG_SYS_DP501_BASE
-	uint8_t dp501_addr = dp501_base[screen];
-#else
-	uint8_t dp501_addr = DP501_I2C_ADDR;
-#endif
-#endif
 
 	OSD_GET_REG(0, version, &version);
 	OSD_GET_REG(0, features, &features);
@@ -393,11 +376,8 @@
 #endif
 
 #ifdef CONFIG_SYS_DP501_I2C
-	i2c_set_bus_num(dp501_i2c[screen]);
-	if (!i2c_probe(dp501_addr)) {
-		dp501_powerup(dp501_addr);
+	if (!dp501_probe(screen, true))
 		output_driver_present = true;
-	}
 #endif
 
 	if (!output_driver_present)