forked from Minki/linux
Kirkwood: Add support for 6282 based QNAP devices
Add support for the QNAP NAS devices based on Marvell's 6282 Kirkwood chip (TS-119P+, TS-219P+ and TS-419P+). The differences to the 6281 based devices are: - Ethernet PHY address - GPIOs used for buttons (TS-119P+/TS-219P+) Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Acked-by: Saeed Bishara <saeed.bishara@gmail.com> Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
This commit is contained in:
parent
4bba1c34e0
commit
ce56d16997
@ -45,18 +45,18 @@ config MACH_GURUPLUG
|
|||||||
Marvell GuruPlug Reference Board.
|
Marvell GuruPlug Reference Board.
|
||||||
|
|
||||||
config MACH_TS219
|
config MACH_TS219
|
||||||
bool "QNAP TS-110, TS-119, TS-210, TS-219 and TS-219P Turbo NAS"
|
bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS"
|
||||||
help
|
help
|
||||||
Say 'Y' here if you want your kernel to support the
|
Say 'Y' here if you want your kernel to support the
|
||||||
QNAP TS-110, TS-119, TS-210, TS-219 and TS-219P Turbo NAS
|
QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and
|
||||||
devices.
|
TS-219P+ Turbo NAS devices.
|
||||||
|
|
||||||
config MACH_TS41X
|
config MACH_TS41X
|
||||||
bool "QNAP TS-410, TS-410U, TS-419P and TS-419U Turbo NAS"
|
bool "QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo NAS"
|
||||||
help
|
help
|
||||||
Say 'Y' here if you want your kernel to support the
|
Say 'Y' here if you want your kernel to support the
|
||||||
QNAP TS-410, TS-410U, TS-419P and TS-419U Turbo NAS
|
QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo
|
||||||
devices.
|
NAS devices.
|
||||||
|
|
||||||
config MACH_DOCKSTAR
|
config MACH_DOCKSTAR
|
||||||
bool "Seagate FreeAgent DockStar"
|
bool "Seagate FreeAgent DockStar"
|
||||||
|
@ -80,15 +80,19 @@ static unsigned int qnap_ts219_mpp_config[] __initdata = {
|
|||||||
MPP11_UART0_RXD,
|
MPP11_UART0_RXD,
|
||||||
MPP13_UART1_TXD, /* PIC controller */
|
MPP13_UART1_TXD, /* PIC controller */
|
||||||
MPP14_UART1_RXD, /* PIC controller */
|
MPP14_UART1_RXD, /* PIC controller */
|
||||||
MPP15_GPIO, /* USB Copy button */
|
MPP15_GPIO, /* USB Copy button (on devices with 88F6281) */
|
||||||
MPP16_GPIO, /* Reset button */
|
MPP16_GPIO, /* Reset button (on devices with 88F6281) */
|
||||||
MPP36_GPIO, /* RAM: 0: 256 MB, 1: 512 MB */
|
MPP36_GPIO, /* RAM: 0: 256 MB, 1: 512 MB */
|
||||||
|
MPP37_GPIO, /* Reset button (on devices with 88F6282) */
|
||||||
|
MPP43_GPIO, /* USB Copy button (on devices with 88F6282) */
|
||||||
MPP44_GPIO, /* Board ID: 0: TS-11x, 1: TS-21x */
|
MPP44_GPIO, /* Board ID: 0: TS-11x, 1: TS-21x */
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __init qnap_ts219_init(void)
|
static void __init qnap_ts219_init(void)
|
||||||
{
|
{
|
||||||
|
u32 dev, rev;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Basic setup. Needs to be called early.
|
* Basic setup. Needs to be called early.
|
||||||
*/
|
*/
|
||||||
@ -100,6 +104,14 @@ static void __init qnap_ts219_init(void)
|
|||||||
qnap_tsx1x_register_flash();
|
qnap_tsx1x_register_flash();
|
||||||
kirkwood_i2c_init();
|
kirkwood_i2c_init();
|
||||||
i2c_register_board_info(0, &qnap_ts219_i2c_rtc, 1);
|
i2c_register_board_info(0, &qnap_ts219_i2c_rtc, 1);
|
||||||
|
|
||||||
|
kirkwood_pcie_id(&dev, &rev);
|
||||||
|
if (dev == MV88F6282_DEV_ID) {
|
||||||
|
qnap_ts219_buttons[0].gpio = 43; /* USB Copy button */
|
||||||
|
qnap_ts219_buttons[1].gpio = 37; /* Reset button */
|
||||||
|
qnap_ts219_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0);
|
||||||
|
}
|
||||||
|
|
||||||
kirkwood_ge00_init(&qnap_ts219_ge00_data);
|
kirkwood_ge00_init(&qnap_ts219_ge00_data);
|
||||||
kirkwood_sata_init(&qnap_ts219_sata_data);
|
kirkwood_sata_init(&qnap_ts219_sata_data);
|
||||||
kirkwood_ehci_init();
|
kirkwood_ehci_init();
|
||||||
|
@ -119,6 +119,8 @@ static unsigned int qnap_ts41x_mpp_config[] __initdata = {
|
|||||||
|
|
||||||
static void __init qnap_ts41x_init(void)
|
static void __init qnap_ts41x_init(void)
|
||||||
{
|
{
|
||||||
|
u32 dev, rev;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Basic setup. Needs to be called early.
|
* Basic setup. Needs to be called early.
|
||||||
*/
|
*/
|
||||||
@ -130,8 +132,15 @@ static void __init qnap_ts41x_init(void)
|
|||||||
qnap_tsx1x_register_flash();
|
qnap_tsx1x_register_flash();
|
||||||
kirkwood_i2c_init();
|
kirkwood_i2c_init();
|
||||||
i2c_register_board_info(0, &qnap_ts41x_i2c_rtc, 1);
|
i2c_register_board_info(0, &qnap_ts41x_i2c_rtc, 1);
|
||||||
|
|
||||||
|
kirkwood_pcie_id(&dev, &rev);
|
||||||
|
if (dev == MV88F6282_DEV_ID) {
|
||||||
|
qnap_ts41x_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0);
|
||||||
|
qnap_ts41x_ge01_data.phy_addr = MV643XX_ETH_PHY_ADDR(1);
|
||||||
|
}
|
||||||
kirkwood_ge00_init(&qnap_ts41x_ge00_data);
|
kirkwood_ge00_init(&qnap_ts41x_ge00_data);
|
||||||
kirkwood_ge01_init(&qnap_ts41x_ge01_data);
|
kirkwood_ge01_init(&qnap_ts41x_ge01_data);
|
||||||
|
|
||||||
kirkwood_sata_init(&qnap_ts41x_sata_data);
|
kirkwood_sata_init(&qnap_ts41x_sata_data);
|
||||||
kirkwood_ehci_init();
|
kirkwood_ehci_init();
|
||||||
platform_device_register(&qnap_ts41x_button_device);
|
platform_device_register(&qnap_ts41x_button_device);
|
||||||
|
Loading…
Reference in New Issue
Block a user