diff options
Diffstat (limited to 'arch/mips/cobalt')
-rw-r--r-- | arch/mips/cobalt/setup.c | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/arch/mips/cobalt/setup.c b/arch/mips/cobalt/setup.c index d2340587671c..88d34f11385a 100644 --- a/arch/mips/cobalt/setup.c +++ b/arch/mips/cobalt/setup.c | |||
@@ -79,37 +79,38 @@ static struct resource cobalt_io_resource = { | |||
79 | .flags = IORESOURCE_IO | 79 | .flags = IORESOURCE_IO |
80 | }; | 80 | }; |
81 | 81 | ||
82 | static struct resource cobalt_io_resources[] = { | 82 | /* |
83 | { | 83 | * Cobalt doesn't have PS/2 keyboard/mouse interfaces, |
84 | * keyboard conntroller is never used. | ||
85 | * Also PCI-ISA bridge DMA contoroller is never used. | ||
86 | */ | ||
87 | static struct resource cobalt_reserved_resources[] = { | ||
88 | { /* dma1 */ | ||
84 | .start = 0x00, | 89 | .start = 0x00, |
85 | .end = 0x1f, | 90 | .end = 0x1f, |
86 | .name = "dma1", | 91 | .name = "reserved", |
87 | .flags = IORESOURCE_BUSY | 92 | .flags = IORESOURCE_BUSY | IORESOURCE_IO, |
88 | }, { | 93 | }, |
89 | .start = 0x40, | 94 | { /* keyboard */ |
90 | .end = 0x5f, | ||
91 | .name = "timer", | ||
92 | .flags = IORESOURCE_BUSY | ||
93 | }, { | ||
94 | .start = 0x60, | 95 | .start = 0x60, |
95 | .end = 0x6f, | 96 | .end = 0x6f, |
96 | .name = "keyboard", | 97 | .name = "reserved", |
97 | .flags = IORESOURCE_BUSY | 98 | .flags = IORESOURCE_BUSY | IORESOURCE_IO, |
98 | }, { | 99 | }, |
100 | { /* dma page reg */ | ||
99 | .start = 0x80, | 101 | .start = 0x80, |
100 | .end = 0x8f, | 102 | .end = 0x8f, |
101 | .name = "dma page reg", | 103 | .name = "reserved", |
102 | .flags = IORESOURCE_BUSY | 104 | .flags = IORESOURCE_BUSY | IORESOURCE_IO, |
103 | }, { | 105 | }, |
106 | { /* dma2 */ | ||
104 | .start = 0xc0, | 107 | .start = 0xc0, |
105 | .end = 0xdf, | 108 | .end = 0xdf, |
106 | .name = "dma2", | 109 | .name = "reserved", |
107 | .flags = IORESOURCE_BUSY | 110 | .flags = IORESOURCE_BUSY | IORESOURCE_IO, |
108 | }, | 111 | }, |
109 | }; | 112 | }; |
110 | 113 | ||
111 | #define COBALT_IO_RESOURCES (sizeof(cobalt_io_resources)/sizeof(struct resource)) | ||
112 | |||
113 | static struct pci_controller cobalt_pci_controller = { | 114 | static struct pci_controller cobalt_pci_controller = { |
114 | .pci_ops = >64111_pci_ops, | 115 | .pci_ops = >64111_pci_ops, |
115 | .mem_resource = &cobalt_mem_resource, | 116 | .mem_resource = &cobalt_mem_resource, |
@@ -133,9 +134,9 @@ void __init plat_mem_setup(void) | |||
133 | /* I/O port resource must include LCD/buttons */ | 134 | /* I/O port resource must include LCD/buttons */ |
134 | ioport_resource.end = 0x0fffffff; | 135 | ioport_resource.end = 0x0fffffff; |
135 | 136 | ||
136 | /* request I/O space for devices used on all i[345]86 PCs */ | 137 | /* These resources have been reserved by VIA SuperI/O chip. */ |
137 | for (i = 0; i < COBALT_IO_RESOURCES; i++) | 138 | for (i = 0; i < ARRAY_SIZE(cobalt_reserved_resources); i++) |
138 | request_resource(&ioport_resource, cobalt_io_resources + i); | 139 | request_resource(&ioport_resource, cobalt_reserved_resources + i); |
139 | 140 | ||
140 | /* Read the cobalt id register out of the PCI config space */ | 141 | /* Read the cobalt id register out of the PCI config space */ |
141 | PCI_CFG_SET(devfn, (VIA_COBALT_BRD_ID_REG & ~0x3)); | 142 | PCI_CFG_SET(devfn, (VIA_COBALT_BRD_ID_REG & ~0x3)); |