board: gdsys: Make gdsys osd hardware detection more robust
Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
diff --git a/board/gdsys/405ep/iocon.c b/board/gdsys/405ep/iocon.c
index 079dfb2..6ae15e1 100644
--- a/board/gdsys/405ep/iocon.c
+++ b/board/gdsys/405ep/iocon.c
@@ -15,7 +15,6 @@
#include "405ep.h"
#include <gdsys_fpga.h>
-#include "../common/dp501.h"
#include "../common/osd.h"
#include "../common/mclink.h"
@@ -99,8 +98,6 @@
unsigned int mclink_fpgacount;
struct ihs_fpga *fpga_ptr[] = CONFIG_SYS_FPGA_PTR;
-int dp501_i2c[] = CONFIG_SYS_DP501_I2C;
-
static int setup_88e1518(const char *bus, unsigned char addr);
int fpga_set_reg(u32 fpga, u16 *reg, off_t regoff, u16 data)
@@ -374,20 +371,16 @@
u16 fpga_features;
int feature_carrier_speed = fpga_features & (1<<4);
bool ch0_rgmii2_present = false;
- int old_bus = i2c_get_bus_num();
FPGA_GET_REG(0, fpga_features, &fpga_features);
- /* Turn on Parade DP501 */
- pca9698_direction_output(0x20, 9, 1);
- udelay(500000);
+ if (!legacy) {
+ /* Turn on Parade DP501 */
+ pca9698_direction_output(0x20, 9, 1);
+ udelay(500000);
- i2c_set_bus_num(dp501_i2c[0]);
- dp501_powerup(0x08);
- i2c_set_bus_num(old_bus);
-
- if (!legacy)
ch0_rgmii2_present = !pca9698_get_value(0x20, 30);
+ }
print_fpga_info(0, ch0_rgmii2_present);
osd_probe(0);