summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wl18xx
diff options
context:
space:
mode:
authorLuciano Coelho <coelho@ti.com>2012-05-10 12:13:09 +0300
committerLuciano Coelho <coelho@ti.com>2012-06-05 15:54:19 +0300
commit82b890cd4ea90e127feca3c27a7625e304e7e193 (patch)
tree9c9f82992688c8a9c02d30f469cc1a0858f78102 /drivers/net/wireless/ti/wl18xx
parent554c36b7373ffcbe9c752ad779402f8cf3a44b48 (diff)
downloadblackbird-obmc-linux-82b890cd4ea90e127feca3c27a7625e304e7e193.tar.gz
blackbird-obmc-linux-82b890cd4ea90e127feca3c27a7625e304e7e193.zip
wl18xx: add partition table
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>
Diffstat (limited to 'drivers/net/wireless/ti/wl18xx')
-rw-r--r--drivers/net/wireless/ti/wl18xx/main.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
index 3fa9298e0b42..f3a164a9d294 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -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);
}
OpenPOWER on IntegriCloud