+ last_port = (robo.devid == ROBO_DEVICE_ID_5398) ?
+ ROBO_PORT6_CTRL : ROBO_PORT3_CTRL;
+ for (i = ROBO_PORT0_CTRL; i < last_port + 1; i++)
+ robo_write16(ROBO_CTRL_PAGE, i, 0);
+ }
+
+ /* WAN port LED */
+ robo_write16(ROBO_CTRL_PAGE, 0x16, 0x1F);
+
+ return 0;
+}
+
+static void robo_switch_reset(void)
+{
+ if ((robo.devid == ROBO_DEVICE_ID_5395) ||
+ (robo.devid == ROBO_DEVICE_ID_5397) ||
+ (robo.devid == ROBO_DEVICE_ID_5398)) {
+ /* Trigger a software reset. */
+ robo_write16(ROBO_CTRL_PAGE, 0x79, 0x83);
+ robo_write16(ROBO_CTRL_PAGE, 0x79, 0);
+ }
+}