/***************************************************************************** * Terastation Pro 2/Live Info
****************************************************************************/
/* * Terastation Pro 2 hardware : * - Marvell 88F5281-D0 * - Marvell 88SX6042 SATA controller (PCI) * - Marvell 88E1118 Gigabit Ethernet PHY * - 256KB NOR flash * - 128MB of DDR RAM * - PCIe port (not equipped)
*/
/* * 256K NOR flash Device bus boot chip select
*/
/***************************************************************************** * 256KB NOR Flash on BOOT Device
****************************************************************************/
/***************************************************************************** * RTC 5C372a on I2C bus
****************************************************************************/
/***************************************************************************** * Terastation Pro II specific power off method via UART1-attached * microcontroller
****************************************************************************/
/* checksum Check */ if ((recv_buf[0] + recv_buf[1] + recv_buf[2] +
recv_buf[3]) & 0xFF) {
printk(KERN_ERR ">%s: Checksum Error : " "Received data[%02x, %02x, %02x, %02x]" "\n", __func__, recv_buf[0],
recv_buf[1], recv_buf[2], recv_buf[3]);
} else { /* Check Received Data */ if (correct_ack[0] == recv_buf[0] &&
correct_ack[1] == recv_buf[1] &&
correct_ack[2] == recv_buf[2]) { /* Interval for next command */
mdelay(10);
/* Receive ACK */ return 0;
}
} /* Received NAK or illegal Data */
printk(KERN_ERR ">%s: Error : NAK or Illegal Data " "Received\n", __func__);
}
} while (retry--);
/* Send the commands to shutdown the Terastation Pro II */
tsp2_miconsend(watchdogkill, sizeof(watchdogkill)) ;
tsp2_miconsend(shutdownwait, sizeof(shutdownwait)) ;
tsp2_miconsend(poweroff, sizeof(poweroff));
}
/* Get RTC IRQ and register the chip */ if (gpio_request(TSP2_RTC_GPIO, "rtc") == 0) { if (gpio_direction_input(TSP2_RTC_GPIO) == 0)
tsp2_i2c_rtc.irq = gpio_to_irq(TSP2_RTC_GPIO); else
gpio_free(TSP2_RTC_GPIO);
} if (tsp2_i2c_rtc.irq == 0)
pr_warn("tsp2_init: failed to get RTC IRQ\n");
i2c_register_board_info(0, &tsp2_i2c_rtc, 1);
/* register Terastation Pro II specific power-off method */
register_platform_power_off(tsp2_power_off);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.