diff options
author | Wu Zhangjin <wuzhangjin@gmail.com> | 2009-10-16 02:17:19 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-12-16 20:57:06 -0500 |
commit | e2fee5723bbda4a05c86f16a9d0f889a2c4ecede (patch) | |
tree | 7b6dade7ec51bc9d8ffe83c09070686bb3a278b1 /arch/mips/loongson | |
parent | e8be5283881cb96bafb751e1f9ea34c4e6fc2845 (diff) |
MIPS: Bonito64: Make Loongson independent from Bonito64 code.
The built-in Loongson 2E/2F northbridge in is bonito64-compatible but not
identical with it. To avoid influencing the original bonito64 support and
make the loongson support more maintainable, it's better to separate the
Bonito64 code from the Loongson code.
This also prepares the kernel for the coming Loongson 2f machines family
support.
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: Linux-MIPS <linux-mips@linux-mips.org>
Cc: yanh@lemote.com
Cc: huhb@lemote.com
Cc: Zhang Le <r0bertz@gentoo.org>
Cc: zhangfx@lemote.com,
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/loongson')
-rw-r--r-- | arch/mips/loongson/common/bonito-irq.c | 8 | ||||
-rw-r--r-- | arch/mips/loongson/common/init.c | 2 | ||||
-rw-r--r-- | arch/mips/loongson/common/irq.c | 12 | ||||
-rw-r--r-- | arch/mips/loongson/common/pci.c | 12 | ||||
-rw-r--r-- | arch/mips/loongson/common/reset.c | 2 | ||||
-rw-r--r-- | arch/mips/loongson/fuloong-2e/irq.c | 4 | ||||
-rw-r--r-- | arch/mips/loongson/fuloong-2e/reset.c | 4 |
7 files changed, 22 insertions, 22 deletions
diff --git a/arch/mips/loongson/common/bonito-irq.c b/arch/mips/loongson/common/bonito-irq.c index 3e31e7ad713e..a1cbd110a6e4 100644 --- a/arch/mips/loongson/common/bonito-irq.c +++ b/arch/mips/loongson/common/bonito-irq.c | |||
@@ -17,13 +17,13 @@ | |||
17 | 17 | ||
18 | static inline void bonito_irq_enable(unsigned int irq) | 18 | static inline void bonito_irq_enable(unsigned int irq) |
19 | { | 19 | { |
20 | BONITO_INTENSET = (1 << (irq - BONITO_IRQ_BASE)); | 20 | LOONGSON_INTENSET = (1 << (irq - LOONGSON_IRQ_BASE)); |
21 | mmiowb(); | 21 | mmiowb(); |
22 | } | 22 | } |
23 | 23 | ||
24 | static inline void bonito_irq_disable(unsigned int irq) | 24 | static inline void bonito_irq_disable(unsigned int irq) |
25 | { | 25 | { |
26 | BONITO_INTENCLR = (1 << (irq - BONITO_IRQ_BASE)); | 26 | LOONGSON_INTENCLR = (1 << (irq - LOONGSON_IRQ_BASE)); |
27 | mmiowb(); | 27 | mmiowb(); |
28 | } | 28 | } |
29 | 29 | ||
@@ -44,8 +44,8 @@ void bonito_irq_init(void) | |||
44 | { | 44 | { |
45 | u32 i; | 45 | u32 i; |
46 | 46 | ||
47 | for (i = BONITO_IRQ_BASE; i < BONITO_IRQ_BASE + 32; i++) | 47 | for (i = LOONGSON_IRQ_BASE; i < LOONGSON_IRQ_BASE + 32; i++) |
48 | set_irq_chip_and_handler(i, &bonito_irq_type, handle_level_irq); | 48 | set_irq_chip_and_handler(i, &bonito_irq_type, handle_level_irq); |
49 | 49 | ||
50 | setup_irq(BONITO_IRQ_BASE + 10, &dma_timeout_irqaction); | 50 | setup_irq(LOONGSON_IRQ_BASE + 10, &dma_timeout_irqaction); |
51 | } | 51 | } |
diff --git a/arch/mips/loongson/common/init.c b/arch/mips/loongson/common/init.c index 3abe927422a3..b7e4913627ab 100644 --- a/arch/mips/loongson/common/init.c +++ b/arch/mips/loongson/common/init.c | |||
@@ -18,7 +18,7 @@ void __init prom_init(void) | |||
18 | { | 18 | { |
19 | /* init base address of io space */ | 19 | /* init base address of io space */ |
20 | set_io_port_base((unsigned long) | 20 | set_io_port_base((unsigned long) |
21 | ioremap(BONITO_PCIIO_BASE, BONITO_PCIIO_SIZE)); | 21 | ioremap(LOONGSON_PCIIO_BASE, LOONGSON_PCIIO_SIZE)); |
22 | 22 | ||
23 | prom_init_cmdline(); | 23 | prom_init_cmdline(); |
24 | prom_init_env(); | 24 | prom_init_env(); |
diff --git a/arch/mips/loongson/common/irq.c b/arch/mips/loongson/common/irq.c index b32b4a3e5137..20e732831978 100644 --- a/arch/mips/loongson/common/irq.c +++ b/arch/mips/loongson/common/irq.c | |||
@@ -20,21 +20,21 @@ void bonito_irqdispatch(void) | |||
20 | int i; | 20 | int i; |
21 | 21 | ||
22 | /* workaround the IO dma problem: let cpu looping to allow DMA finish */ | 22 | /* workaround the IO dma problem: let cpu looping to allow DMA finish */ |
23 | int_status = BONITO_INTISR; | 23 | int_status = LOONGSON_INTISR; |
24 | if (int_status & (1 << 10)) { | 24 | if (int_status & (1 << 10)) { |
25 | while (int_status & (1 << 10)) { | 25 | while (int_status & (1 << 10)) { |
26 | udelay(1); | 26 | udelay(1); |
27 | int_status = BONITO_INTISR; | 27 | int_status = LOONGSON_INTISR; |
28 | } | 28 | } |
29 | } | 29 | } |
30 | 30 | ||
31 | /* Get pending sources, masked by current enables */ | 31 | /* Get pending sources, masked by current enables */ |
32 | int_status = BONITO_INTISR & BONITO_INTEN; | 32 | int_status = LOONGSON_INTISR & LOONGSON_INTEN; |
33 | 33 | ||
34 | if (int_status != 0) { | 34 | if (int_status != 0) { |
35 | i = __ffs(int_status); | 35 | i = __ffs(int_status); |
36 | int_status &= ~(1 << i); | 36 | int_status &= ~(1 << i); |
37 | do_IRQ(BONITO_IRQ_BASE + i); | 37 | do_IRQ(LOONGSON_IRQ_BASE + i); |
38 | } | 38 | } |
39 | } | 39 | } |
40 | 40 | ||
@@ -60,13 +60,13 @@ void __init arch_init_irq(void) | |||
60 | set_irq_trigger_mode(); | 60 | set_irq_trigger_mode(); |
61 | 61 | ||
62 | /* no steer */ | 62 | /* no steer */ |
63 | BONITO_INTSTEER = 0; | 63 | LOONGSON_INTSTEER = 0; |
64 | 64 | ||
65 | /* | 65 | /* |
66 | * Mask out all interrupt by writing "1" to all bit position in | 66 | * Mask out all interrupt by writing "1" to all bit position in |
67 | * the interrupt reset reg. | 67 | * the interrupt reset reg. |
68 | */ | 68 | */ |
69 | BONITO_INTENCLR = ~0; | 69 | LOONGSON_INTENCLR = ~0; |
70 | 70 | ||
71 | /* machine specific irq init */ | 71 | /* machine specific irq init */ |
72 | mach_init_irq(); | 72 | mach_init_irq(); |
diff --git a/arch/mips/loongson/common/pci.c b/arch/mips/loongson/common/pci.c index a3a4abfb6c9a..a7eb8b9c44ee 100644 --- a/arch/mips/loongson/common/pci.c +++ b/arch/mips/loongson/common/pci.c | |||
@@ -27,7 +27,7 @@ static struct resource loongson_pci_io_resource = { | |||
27 | }; | 27 | }; |
28 | 28 | ||
29 | static struct pci_controller loongson_pci_controller = { | 29 | static struct pci_controller loongson_pci_controller = { |
30 | .pci_ops = &bonito64_pci_ops, | 30 | .pci_ops = &loongson_pci_ops, |
31 | .io_resource = &loongson_pci_io_resource, | 31 | .io_resource = &loongson_pci_io_resource, |
32 | .mem_resource = &loongson_pci_mem_resource, | 32 | .mem_resource = &loongson_pci_mem_resource, |
33 | .mem_offset = 0x00000000UL, | 33 | .mem_offset = 0x00000000UL, |
@@ -44,15 +44,15 @@ static void __init setup_pcimap(void) | |||
44 | * pcimap: PCI_MAP2 PCI_Mem_Lo2 PCI_Mem_Lo1 PCI_Mem_Lo0 | 44 | * pcimap: PCI_MAP2 PCI_Mem_Lo2 PCI_Mem_Lo1 PCI_Mem_Lo0 |
45 | * [<2G] [384M,448M] [320M,384M] [0M,64M] | 45 | * [<2G] [384M,448M] [320M,384M] [0M,64M] |
46 | */ | 46 | */ |
47 | BONITO_PCIMAP = BONITO_PCIMAP_PCIMAP_2 | | 47 | LOONGSON_PCIMAP = LOONGSON_PCIMAP_PCIMAP_2 | |
48 | BONITO_PCIMAP_WIN(2, BONITO_PCILO2_BASE) | | 48 | LOONGSON_PCIMAP_WIN(2, LOONGSON_PCILO2_BASE) | |
49 | BONITO_PCIMAP_WIN(1, BONITO_PCILO1_BASE) | | 49 | LOONGSON_PCIMAP_WIN(1, LOONGSON_PCILO1_BASE) | |
50 | BONITO_PCIMAP_WIN(0, 0); | 50 | LOONGSON_PCIMAP_WIN(0, 0); |
51 | 51 | ||
52 | /* | 52 | /* |
53 | * PCI-DMA to local mapping: [2G,2G+256M] -> [0M,256M] | 53 | * PCI-DMA to local mapping: [2G,2G+256M] -> [0M,256M] |
54 | */ | 54 | */ |
55 | BONITO_PCIBASE0 = 0x80000000ul; /* base: 2G -> mmap: 0M */ | 55 | LOONGSON_PCIBASE0 = 0x80000000ul; /* base: 2G -> mmap: 0M */ |
56 | /* size: 256M, burst transmission, pre-fetch enable, 64bit */ | 56 | /* size: 256M, burst transmission, pre-fetch enable, 64bit */ |
57 | LOONGSON_PCI_HIT0_SEL_L = 0xc000000cul; | 57 | LOONGSON_PCI_HIT0_SEL_L = 0xc000000cul; |
58 | LOONGSON_PCI_HIT0_SEL_H = 0xfffffffful; | 58 | LOONGSON_PCI_HIT0_SEL_H = 0xfffffffful; |
diff --git a/arch/mips/loongson/common/reset.c b/arch/mips/loongson/common/reset.c index 97e918251edd..d57f1719da95 100644 --- a/arch/mips/loongson/common/reset.c +++ b/arch/mips/loongson/common/reset.c | |||
@@ -22,7 +22,7 @@ static void loongson_restart(char *command) | |||
22 | mach_prepare_reboot(); | 22 | mach_prepare_reboot(); |
23 | 23 | ||
24 | /* reboot via jumping to boot base address */ | 24 | /* reboot via jumping to boot base address */ |
25 | ((void (*)(void))ioremap_nocache(BONITO_BOOT_BASE, 4)) (); | 25 | ((void (*)(void))ioremap_nocache(LOONGSON_BOOT_BASE, 4)) (); |
26 | } | 26 | } |
27 | 27 | ||
28 | static void loongson_halt(void) | 28 | static void loongson_halt(void) |
diff --git a/arch/mips/loongson/fuloong-2e/irq.c b/arch/mips/loongson/fuloong-2e/irq.c index 7888cf69424a..320e9379bdd7 100644 --- a/arch/mips/loongson/fuloong-2e/irq.c +++ b/arch/mips/loongson/fuloong-2e/irq.c | |||
@@ -47,8 +47,8 @@ static struct irqaction cascade_irqaction = { | |||
47 | void __init set_irq_trigger_mode(void) | 47 | void __init set_irq_trigger_mode(void) |
48 | { | 48 | { |
49 | /* most bonito irq should be level triggered */ | 49 | /* most bonito irq should be level triggered */ |
50 | BONITO_INTEDGE = BONITO_ICU_SYSTEMERR | BONITO_ICU_MASTERERR | | 50 | LOONGSON_INTEDGE = LOONGSON_ICU_SYSTEMERR | LOONGSON_ICU_MASTERERR | |
51 | BONITO_ICU_RETRYERR | BONITO_ICU_MBOXES; | 51 | LOONGSON_ICU_RETRYERR | LOONGSON_ICU_MBOXES; |
52 | } | 52 | } |
53 | 53 | ||
54 | void __init mach_init_irq(void) | 54 | void __init mach_init_irq(void) |
diff --git a/arch/mips/loongson/fuloong-2e/reset.c b/arch/mips/loongson/fuloong-2e/reset.c index 677fe186db95..fc16c677d476 100644 --- a/arch/mips/loongson/fuloong-2e/reset.c +++ b/arch/mips/loongson/fuloong-2e/reset.c | |||
@@ -14,8 +14,8 @@ | |||
14 | 14 | ||
15 | void mach_prepare_reboot(void) | 15 | void mach_prepare_reboot(void) |
16 | { | 16 | { |
17 | BONITO_BONGENCFG &= ~(1 << 2); | 17 | LOONGSON_GENCFG &= ~(1 << 2); |
18 | BONITO_BONGENCFG |= (1 << 2); | 18 | LOONGSON_GENCFG |= (1 << 2); |
19 | } | 19 | } |
20 | 20 | ||
21 | void mach_prepare_shutdown(void) | 21 | void mach_prepare_shutdown(void) |