Loading arch/mips/include/asm/mach-lemote/pci.h 0 → 100644 +30 −0 Original line number Diff line number Diff line /* * Copyright (c) 2008 Zhang Le <r0bertz@gentoo.org> * * This program is free software; you can redistribute it * and/or modify it under the terms of the GNU General * Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA * 02139, USA. */ #ifndef _LEMOTE_PCI_H_ #define _LEMOTE_PCI_H_ #define LOONGSON2E_PCI_MEM_START 0x14000000UL #define LOONGSON2E_PCI_MEM_END 0x1fffffffUL #define LOONGSON2E_PCI_IO_START 0x00004000UL #define LOONGSON2E_IO_PORT_BASE 0x1fd00000UL #endif /* !_LEMOTE_PCI_H_ */ arch/mips/lemote/lm2e/pci.c +10 −3 Original line number Diff line number Diff line Loading @@ -30,19 +30,20 @@ #include <linux/kernel.h> #include <linux/init.h> #include <asm/mips-boards/bonito64.h> #include <asm/mach-lemote/pci.h> extern struct pci_ops bonito64_pci_ops; static struct resource loongson2e_pci_mem_resource = { .name = "LOONGSON2E PCI MEM", .start = 0x14000000UL, .end = 0x1fffffffUL, .start = LOONGSON2E_PCI_MEM_START, .end = LOONGSON2E_PCI_MEM_END, .flags = IORESOURCE_MEM, }; static struct resource loongson2e_pci_io_resource = { .name = "LOONGSON2E PCI IO MEM", .start = 0x00004000UL, .start = LOONGSON2E_PCI_IO_START, .end = IO_SPACE_LIMIT, .flags = IORESOURCE_IO, }; Loading Loading @@ -82,6 +83,12 @@ static void __init ict_pcimap(void) static int __init pcibios_init(void) { ict_pcimap(); loongson2e_pci_controller.io_map_base = (unsigned long) ioremap(LOONGSON2E_IO_PORT_BASE, loongson2e_pci_io_resource.end - loongson2e_pci_io_resource.start + 1); register_pci_controller(&loongson2e_pci_controller); return 0; Loading arch/mips/lemote/lm2e/setup.c +3 −8 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include <asm/mc146818-time.h> #include <asm/time.h> #include <asm/wbflush.h> #include <asm/mach-lemote/pci.h> #ifdef CONFIG_VT #include <linux/console.h> Loading @@ -42,12 +43,6 @@ extern void mips_reboot_setup(void); #ifdef CONFIG_64BIT #define PTR_PAD(p) ((0xffffffff00000000)|((unsigned long long)(p))) #else #define PTR_PAD(p) (p) #endif unsigned long cpu_clock_freq; unsigned long bus_clock; unsigned int memsize; Loading Loading @@ -80,8 +75,8 @@ static void wbflush_loongson2e(void) void __init plat_mem_setup(void) { set_io_port_base(PTR_PAD(0xbfd00000)); set_io_port_base((unsigned long)ioremap(LOONGSON2E_IO_PORT_BASE, IO_SPACE_LIMIT - LOONGSON2E_PCI_IO_START + 1)); mips_reboot_setup(); __wbflush = wbflush_loongson2e; Loading Loading
arch/mips/include/asm/mach-lemote/pci.h 0 → 100644 +30 −0 Original line number Diff line number Diff line /* * Copyright (c) 2008 Zhang Le <r0bertz@gentoo.org> * * This program is free software; you can redistribute it * and/or modify it under the terms of the GNU General * Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA * 02139, USA. */ #ifndef _LEMOTE_PCI_H_ #define _LEMOTE_PCI_H_ #define LOONGSON2E_PCI_MEM_START 0x14000000UL #define LOONGSON2E_PCI_MEM_END 0x1fffffffUL #define LOONGSON2E_PCI_IO_START 0x00004000UL #define LOONGSON2E_IO_PORT_BASE 0x1fd00000UL #endif /* !_LEMOTE_PCI_H_ */
arch/mips/lemote/lm2e/pci.c +10 −3 Original line number Diff line number Diff line Loading @@ -30,19 +30,20 @@ #include <linux/kernel.h> #include <linux/init.h> #include <asm/mips-boards/bonito64.h> #include <asm/mach-lemote/pci.h> extern struct pci_ops bonito64_pci_ops; static struct resource loongson2e_pci_mem_resource = { .name = "LOONGSON2E PCI MEM", .start = 0x14000000UL, .end = 0x1fffffffUL, .start = LOONGSON2E_PCI_MEM_START, .end = LOONGSON2E_PCI_MEM_END, .flags = IORESOURCE_MEM, }; static struct resource loongson2e_pci_io_resource = { .name = "LOONGSON2E PCI IO MEM", .start = 0x00004000UL, .start = LOONGSON2E_PCI_IO_START, .end = IO_SPACE_LIMIT, .flags = IORESOURCE_IO, }; Loading Loading @@ -82,6 +83,12 @@ static void __init ict_pcimap(void) static int __init pcibios_init(void) { ict_pcimap(); loongson2e_pci_controller.io_map_base = (unsigned long) ioremap(LOONGSON2E_IO_PORT_BASE, loongson2e_pci_io_resource.end - loongson2e_pci_io_resource.start + 1); register_pci_controller(&loongson2e_pci_controller); return 0; Loading
arch/mips/lemote/lm2e/setup.c +3 −8 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include <asm/mc146818-time.h> #include <asm/time.h> #include <asm/wbflush.h> #include <asm/mach-lemote/pci.h> #ifdef CONFIG_VT #include <linux/console.h> Loading @@ -42,12 +43,6 @@ extern void mips_reboot_setup(void); #ifdef CONFIG_64BIT #define PTR_PAD(p) ((0xffffffff00000000)|((unsigned long long)(p))) #else #define PTR_PAD(p) (p) #endif unsigned long cpu_clock_freq; unsigned long bus_clock; unsigned int memsize; Loading Loading @@ -80,8 +75,8 @@ static void wbflush_loongson2e(void) void __init plat_mem_setup(void) { set_io_port_base(PTR_PAD(0xbfd00000)); set_io_port_base((unsigned long)ioremap(LOONGSON2E_IO_PORT_BASE, IO_SPACE_LIMIT - LOONGSON2E_PCI_IO_START + 1)); mips_reboot_setup(); __wbflush = wbflush_loongson2e; Loading