|
@@ -28,6 +28,40 @@
|
|
|
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);
|
|
|
}
|