Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sh: Add a dummy SH-4 PCIC fixup.

By default we don't have anything to fix up for the SH-4 PCIC, boards can
overload this as necessary.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>

authored by

Paul Mundt and committed by
Paul Mundt
cd6c7ea2 0264f160

+12 -9
+6
arch/sh/drivers/pci/ops-sh4.c
··· 162 162 163 163 return str; 164 164 } 165 + 166 + int __attribute__((weak)) pci_fixup_pcic(void) 167 + { 168 + /* Nothing to do. */ 169 + return 0; 170 + }
+6 -9
arch/sh/drivers/pci/pci-sh7751.c
··· 12 12 * License. See linux/COPYING for more information. 13 13 * 14 14 */ 15 - 16 15 #undef DEBUG 17 16 18 17 #include <linux/init.h> ··· 27 28 * Initialization. Try all known PCI access methods. Note that we support 28 29 * using both PCI BIOS and direct access: in such cases, we use I/O ports 29 30 * to access config space. 30 - * 31 + * 31 32 * Note that the platform specific initialization (BSC registers, and memory 32 33 * space mapping) will be called via the platform defined function 33 34 * pcibios_init_platform(). ··· 114 115 * Wait Cycle Control + Parity Enable + Bus Master + 115 116 * Mem space enable 116 117 */ 117 - word = SH7751_PCICONF1_WCC | SH7751_PCICONF1_PER | 118 + word = SH7751_PCICONF1_WCC | SH7751_PCICONF1_PER | 118 119 SH7751_PCICONF1_BUM | SH7751_PCICONF1_MES; 119 120 pci_write_reg(word, SH7751_PCICONF1); 120 121 ··· 122 123 word = PCI_BASE_CLASS_BRIDGE << 24; 123 124 pci_write_reg(word, SH7751_PCICONF2); 124 125 125 - /* Set IO and Mem windows to local address 126 - * Make PCI and local address the same for easy 1 to 1 mapping 126 + /* Set IO and Mem windows to local address 127 + * Make PCI and local address the same for easy 1 to 1 mapping 127 128 * Window0 = map->window0.size @ non-cached area base = SDRAM 128 - * Window1 = map->window1.size @ cached area base = SDRAM 129 + * Window1 = map->window1.size @ cached area base = SDRAM 129 130 */ 130 131 word = map->window0.size - 1; 131 132 pci_write_reg(word, SH4_PCILSR0); ··· 174 175 case SH7751_CS5_BASE_ADDR: word = __area_sdram_check(5); break; 175 176 case SH7751_CS6_BASE_ADDR: word = __area_sdram_check(6); break; 176 177 } 177 - 178 + 178 179 if (!word) 179 180 return 0; 180 181 ··· 193 194 * DMA interrupts... 194 195 */ 195 196 196 - #if defined(CONFIG_SH_RTS7751R2D) || defined(CONFIG_SH_LBOX_RE2) 197 197 pci_fixup_pcic(); 198 - #endif 199 198 200 199 /* SH7751 init done, set central function init complete */ 201 200 /* use round robin mode to stop a device starving/overruning */