wl18xx: add partition table
authorLuciano Coelho <coelho@ti.com>
Thu, 10 May 2012 09:13:09 +0000 (12:13 +0300)
committerLuciano Coelho <coelho@ti.com>
Tue, 5 Jun 2012 12:54:19 +0000 (15:54 +0300)
Define and add the partition table in the wlcore struct.

Signed-off-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
drivers/net/wireless/ti/wl18xx/main.c

index 3fa9298e0b42a4fe30ce706b9e06e86902ff1e1f..f3a164a9d29473a366f8a797cad25cbbfc49bbb3 100644 (file)
 static struct wlcore_ops wl18xx_ops = {
 };
 
+static const struct wlcore_partition_set wl18xx_ptable[PART_TABLE_LEN] = {
+       [PART_TOP_PRCM_ELP_SOC] = {
+               .mem  = { .start = 0x00A02000, .size  = 0x00010000 },
+               .reg  = { .start = 0x00807000, .size  = 0x00005000 },
+               .mem2 = { .start = 0x00800000, .size  = 0x0000B000 },
+               .mem3 = { .start = 0x00000000, .size  = 0x00000000 },
+       },
+       [PART_DOWN] = {
+               .mem  = { .start = 0x00000000, .size  = 0x00014000 },
+               .reg  = { .start = 0x00810000, .size  = 0x0000BFFF },
+               .mem2 = { .start = 0x00000000, .size  = 0x00000000 },
+               .mem3 = { .start = 0x00000000, .size  = 0x00000000 },
+       },
+       [PART_BOOT] = {
+               .mem  = { .start = 0x00700000, .size = 0x0000030c },
+               .reg  = { .start = 0x00802000, .size = 0x00014578 },
+               .mem2 = { .start = 0x00B00404, .size = 0x00001000 },
+               .mem3 = { .start = 0x00C00000, .size = 0x00000400 },
+       },
+       [PART_WORK] = {
+               .mem  = { .start = 0x00800000, .size  = 0x000050FC },
+               .reg  = { .start = 0x00B00404, .size  = 0x00001000 },
+               .mem2 = { .start = 0x00C00000, .size  = 0x00000400 },
+               .mem3 = { .start = 0x00000000, .size  = 0x00000000 },
+       },
+       [PART_PHY_INIT] = {
+               /* TODO: use the phy_conf struct size here */
+               .mem  = { .start = 0x80926000, .size = 252 },
+               .reg  = { .start = 0x00000000, .size = 0x00000000 },
+               .mem2 = { .start = 0x00000000, .size = 0x00000000 },
+               .mem3 = { .start = 0x00000000, .size = 0x00000000 },
+       },
+};
+
 int __devinit wl18xx_probe(struct platform_device *pdev)
 {
        struct wl1271 *wl;
@@ -41,6 +75,7 @@ int __devinit wl18xx_probe(struct platform_device *pdev)
 
        wl = hw->priv;
        wl->ops = &wl18xx_ops;
+       wl->ptable = wl18xx_ptable;
 
        return wlcore_probe(wl, pdev);
 }