* GigE
*/
static struct mv643xx_eth_platform_data db78x00_ge00_data = {
- .phy_addr = MV643XX_ETH_PHY_ADDR(0 /*8*/),
+ .phy_addr = MV643XX_ETH_PHY_ADDR(0),
};
static struct mv643xx_eth_platform_data db78x00_ge01_data = {
- .phy_addr = MV643XX_ETH_PHY_ADDR(1 /*9*/),
+ .phy_addr = MV643XX_ETH_PHY_ADDR(1),
};
.name = "nand-kernel",
.offset = 0,
.size = SZ_4M,
- // .mask_flags = MTD_WRITEABLE
+ /* .mask_flags = MTD_WRITEABLE */
},
{
.name = "nand-kernel-fallback",
.offset = MTDPART_OFS_APPEND,
.size = SZ_4M,
- // .mask_flags = MTD_WRITEABLE
+ /* .mask_flags = MTD_WRITEABLE */
},
{
.name = "nand-rootfs",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
- // .mask_flags = MTD_WRITEABLE
+ /* .mask_flags = MTD_WRITEABLE */
}
};
.name = "nor-user",
.offset = 0,
.size = 0x3f60000,
- //.mask_flags = MTD_WRITEABLE
+ /* .mask_flags = MTD_WRITEABLE */
},
{
.name = "nor-uboot-env",
.offset = MTDPART_OFS_APPEND,
.size = 0x20000,
- // .mask_flags = MTD_WRITEABLE
+ /* .mask_flags = MTD_WRITEABLE */
},
{
.name = "nor-uboot",
.name = "dataflash",
.offset = 0,
.size = MTDPART_SIZ_FULL,
- // .mask_flags = MTD_WRITEABLE
+ /* .mask_flags = MTD_WRITEABLE */
}
};
},
};
+static void rdstor_poweroff(void)
+{
+ struct i2c_msg msg;
+ struct i2c_adapter *adap = i2c_get_adapter(1);
+ unsigned char buf[2];
+
+ if (!adap) {
+ printk(KERN_ERR "I2C adapter 1 not found\n");
+ return;
+ }
+
+ buf[0] = 0x01; /* cmd arg offset */
+ buf[1] = 0x00; /* 0 seconds delay */
+ msg.addr = 0x38;
+ msg.flags = 0;
+ msg.len = 2;
+ msg.buf = buf;
+
+ i2c_transfer(adap, &msg, 1);
+
+ printk(KERN_INFO "RDStor powering off...\n");
+
+ buf[0] = 0x00; /* cmd offset */
+ buf[1] = 0x02; /* shutdown cmd */
+ msg.addr = 0x38;
+ msg.flags = 0;
+ msg.len = 2;
+ msg.buf = buf;
+
+ i2c_transfer(adap, &msg, 1);
+}
+
static void __init db78x00_init(void)
{
/*
* all peripherals are assigned to core #0.
*/
if (mv78xx0_core_index() == 0) {
+ /* first CPU core */
mv78xx0_uart0_init();
mv78xx0_uart1_init();
mv78xx0_uart2_init();
mv78xx0_xor0_init();
- mv78xx0_wdt_init();
+ /* mv78xx0_wdt_init(); */
+ pm_power_off = rdstor_poweroff;
} else {
+ /* second CPU core */
}
}