From 68b42d1b548be1840aff7122fdebeb804daf0fa3 Mon Sep 17 00:00:00 2001 From: Takashi Yoshii Date: Thu, 2 Apr 2009 09:03:30 +0000 Subject: sh: sh7785lcr: Map whole PCI address space. PCI still doesn't work on sh7785lcr 29bit 256M map mode. On SH7785, PCI -> SHwy address translation is not base+offset but somewhat like base|offset (See HW Manual (rej09b0261) Fig. 13.11). So, you can't export CS2,3,4,5 by 256M at CS2 (results CS0,1,2,3 exported, I guess). There are two candidates. a) 128M@CS2 + 128M@CS4 b) 512M@CS0 Attached patch is B. It maps 512M Byte at 0 independently of memory size. It results CS0 to CS6 and perhaps some more being accessible from PCI. Tested on 7785lcr 29bit 128M map 7785lcr 29bit 256M map (NOT tested on 32bit) Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt --- arch/sh/drivers/pci/ops-sh7785lcr.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'arch/sh/drivers/pci/ops-sh7785lcr.c') diff --git a/arch/sh/drivers/pci/ops-sh7785lcr.c b/arch/sh/drivers/pci/ops-sh7785lcr.c index b3bd68702059..e8b7446a7c2b 100644 --- a/arch/sh/drivers/pci/ops-sh7785lcr.c +++ b/arch/sh/drivers/pci/ops-sh7785lcr.c @@ -48,13 +48,8 @@ EXPORT_SYMBOL(board_pci_channels); static struct sh4_pci_address_map sh7785_pci_map = { .window0 = { - .base = SH7780_CS2_BASE_ADDR, - .size = 0x04000000, - }, - - .window1 = { - .base = SH7780_CS3_BASE_ADDR, - .size = 0x04000000, + .base = SH7780_CS0_BASE_ADDR, + .size = 0x20000000, }, .flags = SH4_PCIC_NO_RESET, -- cgit v1.2.3