diff options
Diffstat (limited to 'include/asm-ppc')
| -rw-r--r-- | include/asm-ppc/btext.h | 22 | ||||
| -rw-r--r-- | include/asm-ppc/ibm44x.h | 76 | ||||
| -rw-r--r-- | include/asm-ppc/ibm4xx.h | 4 | ||||
| -rw-r--r-- | include/asm-ppc/ibm_ocp.h | 19 | ||||
| -rw-r--r-- | include/asm-ppc/ide.h | 78 | ||||
| -rw-r--r-- | include/asm-ppc/io.h | 12 | ||||
| -rw-r--r-- | include/asm-ppc/kgdb.h | 2 | ||||
| -rw-r--r-- | include/asm-ppc/mpc83xx.h | 1 | ||||
| -rw-r--r-- | include/asm-ppc/pgtable.h | 1 | ||||
| -rw-r--r-- | include/asm-ppc/ppcboot.h | 6 | ||||
| -rw-r--r-- | include/asm-ppc/prom.h | 2 | ||||
| -rw-r--r-- | include/asm-ppc/rio.h | 18 |
12 files changed, 128 insertions, 113 deletions
diff --git a/include/asm-ppc/btext.h b/include/asm-ppc/btext.h index 36c7640d00f2..ccaefabe0bf5 100644 --- a/include/asm-ppc/btext.h +++ b/include/asm-ppc/btext.h | |||
| @@ -17,18 +17,18 @@ extern unsigned long disp_BAT[2]; | |||
| 17 | extern boot_infos_t disp_bi; | 17 | extern boot_infos_t disp_bi; |
| 18 | extern int boot_text_mapped; | 18 | extern int boot_text_mapped; |
| 19 | 19 | ||
| 20 | void btext_init(boot_infos_t *bi); | 20 | extern void init_boot_display(void); |
| 21 | void btext_welcome(void); | 21 | extern void btext_welcome(void); |
| 22 | void btext_prepare_BAT(void); | 22 | extern void btext_prepare_BAT(void); |
| 23 | void btext_setup_display(int width, int height, int depth, int pitch, | 23 | extern void btext_setup_display(int width, int height, int depth, int pitch, |
| 24 | unsigned long address); | 24 | unsigned long address); |
| 25 | void map_boot_text(void); | 25 | extern void map_boot_text(void); |
| 26 | void btext_update_display(unsigned long phys, int width, int height, | 26 | extern void btext_update_display(unsigned long phys, int width, int height, |
| 27 | int depth, int pitch); | 27 | int depth, int pitch); |
| 28 | 28 | ||
| 29 | void btext_drawchar(char c); | 29 | extern void btext_drawchar(char c); |
| 30 | void btext_drawstring(const char *str); | 30 | extern void btext_drawstring(const char *str); |
| 31 | void btext_drawhex(unsigned long v); | 31 | extern void btext_drawhex(unsigned long v); |
| 32 | 32 | ||
| 33 | #endif /* __KERNEL__ */ | 33 | #endif /* __KERNEL__ */ |
| 34 | #endif /* __PPC_BTEXT_H */ | 34 | #endif /* __PPC_BTEXT_H */ |
diff --git a/include/asm-ppc/ibm44x.h b/include/asm-ppc/ibm44x.h index e5374be86aef..f835066fb3ca 100644 --- a/include/asm-ppc/ibm44x.h +++ b/include/asm-ppc/ibm44x.h | |||
| @@ -34,12 +34,20 @@ | |||
| 34 | /* Lowest TLB slot consumed by the default pinned TLBs */ | 34 | /* Lowest TLB slot consumed by the default pinned TLBs */ |
| 35 | #define PPC44x_LOW_SLOT 63 | 35 | #define PPC44x_LOW_SLOT 63 |
| 36 | 36 | ||
| 37 | /* LS 32-bits of UART0 physical address location for early serial text debug */ | 37 | /* |
| 38 | * Least significant 32-bits and extended real page number (ERPN) of | ||
| 39 | * UART0 physical address location for early serial text debug | ||
| 40 | */ | ||
| 38 | #if defined(CONFIG_440SP) | 41 | #if defined(CONFIG_440SP) |
| 42 | #define UART0_PHYS_ERPN 1 | ||
| 43 | #define UART0_PHYS_IO_BASE 0xf0000200 | ||
| 44 | #elif defined(CONFIG_440SPE) | ||
| 45 | #define UART0_PHYS_ERPN 4 | ||
| 39 | #define UART0_PHYS_IO_BASE 0xf0000200 | 46 | #define UART0_PHYS_IO_BASE 0xf0000200 |
| 40 | #elif defined(CONFIG_440EP) | 47 | #elif defined(CONFIG_440EP) |
| 41 | #define UART0_PHYS_IO_BASE 0xe0000000 | 48 | #define UART0_PHYS_IO_BASE 0xe0000000 |
| 42 | #else | 49 | #else |
| 50 | #define UART0_PHYS_ERPN 1 | ||
| 43 | #define UART0_PHYS_IO_BASE 0x40000200 | 51 | #define UART0_PHYS_IO_BASE 0x40000200 |
| 44 | #endif | 52 | #endif |
| 45 | 53 | ||
| @@ -56,6 +64,11 @@ | |||
| 56 | #define PPC44x_PCICFG_PAGE 0x0000000900000000ULL | 64 | #define PPC44x_PCICFG_PAGE 0x0000000900000000ULL |
| 57 | #define PPC44x_PCIIO_PAGE PPC44x_PCICFG_PAGE | 65 | #define PPC44x_PCIIO_PAGE PPC44x_PCICFG_PAGE |
| 58 | #define PPC44x_PCIMEM_PAGE 0x0000000a00000000ULL | 66 | #define PPC44x_PCIMEM_PAGE 0x0000000a00000000ULL |
| 67 | #elif defined(CONFIG_440SPE) | ||
| 68 | #define PPC44x_IO_PAGE 0x0000000400000000ULL | ||
| 69 | #define PPC44x_PCICFG_PAGE 0x0000000c00000000ULL | ||
| 70 | #define PPC44x_PCIIO_PAGE PPC44x_PCICFG_PAGE | ||
| 71 | #define PPC44x_PCIMEM_PAGE 0x0000000d00000000ULL | ||
| 59 | #elif defined(CONFIG_440EP) | 72 | #elif defined(CONFIG_440EP) |
| 60 | #define PPC44x_IO_PAGE 0x0000000000000000ULL | 73 | #define PPC44x_IO_PAGE 0x0000000000000000ULL |
| 61 | #define PPC44x_PCICFG_PAGE 0x0000000000000000ULL | 74 | #define PPC44x_PCICFG_PAGE 0x0000000000000000ULL |
| @@ -71,7 +84,7 @@ | |||
| 71 | /* | 84 | /* |
| 72 | * 36-bit trap ranges | 85 | * 36-bit trap ranges |
| 73 | */ | 86 | */ |
| 74 | #if defined(CONFIG_440SP) | 87 | #if defined(CONFIG_440SP) || defined(CONFIG_440SPE) |
| 75 | #define PPC44x_IO_LO 0xf0000000UL | 88 | #define PPC44x_IO_LO 0xf0000000UL |
| 76 | #define PPC44x_IO_HI 0xf0000fffUL | 89 | #define PPC44x_IO_HI 0xf0000fffUL |
| 77 | #define PPC44x_PCI0CFG_LO 0x0ec00000UL | 90 | #define PPC44x_PCI0CFG_LO 0x0ec00000UL |
| @@ -109,7 +122,7 @@ | |||
| 109 | */ | 122 | */ |
| 110 | 123 | ||
| 111 | 124 | ||
| 112 | /* CPRs (440GX and 440SP) */ | 125 | /* CPRs (440GX and 440SP/440SPe) */ |
| 113 | #define DCRN_CPR_CONFIG_ADDR 0xc | 126 | #define DCRN_CPR_CONFIG_ADDR 0xc |
| 114 | #define DCRN_CPR_CONFIG_DATA 0xd | 127 | #define DCRN_CPR_CONFIG_DATA 0xd |
| 115 | 128 | ||
| @@ -130,7 +143,7 @@ | |||
| 130 | mtdcr(DCRN_CPR_CONFIG_ADDR, offset); \ | 143 | mtdcr(DCRN_CPR_CONFIG_ADDR, offset); \ |
| 131 | mtdcr(DCRN_CPR_CONFIG_DATA, data);}) | 144 | mtdcr(DCRN_CPR_CONFIG_DATA, data);}) |
| 132 | 145 | ||
| 133 | /* SDRs (440GX and 440SP) */ | 146 | /* SDRs (440GX and 440SP/440SPe) */ |
| 134 | #define DCRN_SDR_CONFIG_ADDR 0xe | 147 | #define DCRN_SDR_CONFIG_ADDR 0xe |
| 135 | #define DCRN_SDR_CONFIG_DATA 0xf | 148 | #define DCRN_SDR_CONFIG_DATA 0xf |
| 136 | #define DCRN_SDR_PFC0 0x4100 | 149 | #define DCRN_SDR_PFC0 0x4100 |
| @@ -180,7 +193,7 @@ | |||
| 180 | mtdcr(DCRN_SDR_CONFIG_ADDR, offset); \ | 193 | mtdcr(DCRN_SDR_CONFIG_ADDR, offset); \ |
| 181 | mtdcr(DCRN_SDR_CONFIG_DATA,data);}) | 194 | mtdcr(DCRN_SDR_CONFIG_DATA,data);}) |
| 182 | 195 | ||
| 183 | /* DMA (excluding 440SP) */ | 196 | /* DMA (excluding 440SP/440SPe) */ |
| 184 | #define DCRN_DMA0_BASE 0x100 | 197 | #define DCRN_DMA0_BASE 0x100 |
| 185 | #define DCRN_DMA1_BASE 0x108 | 198 | #define DCRN_DMA1_BASE 0x108 |
| 186 | #define DCRN_DMA2_BASE 0x110 | 199 | #define DCRN_DMA2_BASE 0x110 |
| @@ -200,12 +213,20 @@ | |||
| 200 | /* UIC */ | 213 | /* UIC */ |
| 201 | #define DCRN_UIC0_BASE 0xc0 | 214 | #define DCRN_UIC0_BASE 0xc0 |
| 202 | #define DCRN_UIC1_BASE 0xd0 | 215 | #define DCRN_UIC1_BASE 0xd0 |
| 203 | #define DCRN_UIC2_BASE 0x210 | ||
| 204 | #define DCRN_UICB_BASE 0x200 | ||
| 205 | #define UIC0 DCRN_UIC0_BASE | 216 | #define UIC0 DCRN_UIC0_BASE |
| 206 | #define UIC1 DCRN_UIC1_BASE | 217 | #define UIC1 DCRN_UIC1_BASE |
| 218 | |||
| 219 | #ifdef CONFIG_440SPE | ||
| 220 | #define DCRN_UIC2_BASE 0xe0 | ||
| 221 | #define DCRN_UIC3_BASE 0xf0 | ||
| 222 | #define UIC2 DCRN_UIC2_BASE | ||
| 223 | #define UIC3 DCRN_UIC3_BASE | ||
| 224 | #else | ||
| 225 | #define DCRN_UIC2_BASE 0x210 | ||
| 226 | #define DCRN_UICB_BASE 0x200 | ||
| 207 | #define UIC2 DCRN_UIC2_BASE | 227 | #define UIC2 DCRN_UIC2_BASE |
| 208 | #define UICB DCRN_UICB_BASE | 228 | #define UICB DCRN_UICB_BASE |
| 229 | #endif | ||
| 209 | 230 | ||
| 210 | #define DCRN_UIC_SR(base) (base + 0x0) | 231 | #define DCRN_UIC_SR(base) (base + 0x0) |
| 211 | #define DCRN_UIC_ER(base) (base + 0x2) | 232 | #define DCRN_UIC_ER(base) (base + 0x2) |
| @@ -218,6 +239,12 @@ | |||
| 218 | 239 | ||
| 219 | #define UIC0_UIC1NC 0x00000002 | 240 | #define UIC0_UIC1NC 0x00000002 |
| 220 | 241 | ||
| 242 | #ifdef CONFIG_440SPE | ||
| 243 | #define UIC0_UIC1NC 0x00000002 | ||
| 244 | #define UIC0_UIC2NC 0x00200000 | ||
| 245 | #define UIC0_UIC3NC 0x00008000 | ||
| 246 | #endif | ||
| 247 | |||
| 221 | #define UICB_UIC0NC 0x40000000 | 248 | #define UICB_UIC0NC 0x40000000 |
| 222 | #define UICB_UIC1NC 0x10000000 | 249 | #define UICB_UIC1NC 0x10000000 |
| 223 | #define UICB_UIC2NC 0x04000000 | 250 | #define UICB_UIC2NC 0x04000000 |
| @@ -297,6 +324,23 @@ | |||
| 297 | #define MALOBISR_CH0 0x80000000 /* EOB channel 1 bit */ | 324 | #define MALOBISR_CH0 0x80000000 /* EOB channel 1 bit */ |
| 298 | #define MALOBISR_CH2 0x40000000 /* EOB channel 2 bit */ | 325 | #define MALOBISR_CH2 0x40000000 /* EOB channel 2 bit */ |
| 299 | 326 | ||
| 327 | #if defined(CONFIG_440SP) || defined(CONFIG_440SPE) | ||
| 328 | /* 440SP/440SPe PLB Arbiter DCRs */ | ||
| 329 | #define DCRN_PLB_REVID 0x080 /* PLB Revision ID */ | ||
| 330 | #define DCRN_PLB_CCR 0x088 /* PLB Crossbar Control */ | ||
| 331 | |||
| 332 | #define DCRN_PLB0_ACR 0x081 /* PLB Arbiter Control */ | ||
| 333 | #define DCRN_PLB0_BESRL 0x082 /* PLB Error Status */ | ||
| 334 | #define DCRN_PLB0_BESRH 0x083 /* PLB Error Status */ | ||
| 335 | #define DCRN_PLB0_BEARL 0x084 /* PLB Error Address Low */ | ||
| 336 | #define DCRN_PLB0_BEARH 0x085 /* PLB Error Address High */ | ||
| 337 | |||
| 338 | #define DCRN_PLB1_ACR 0x089 /* PLB Arbiter Control */ | ||
| 339 | #define DCRN_PLB1_BESRL 0x08a /* PLB Error Status */ | ||
| 340 | #define DCRN_PLB1_BESRH 0x08b /* PLB Error Status */ | ||
| 341 | #define DCRN_PLB1_BEARL 0x08c /* PLB Error Address Low */ | ||
| 342 | #define DCRN_PLB1_BEARH 0x08d /* PLB Error Address High */ | ||
| 343 | #else | ||
| 300 | /* 440GP/GX PLB Arbiter DCRs */ | 344 | /* 440GP/GX PLB Arbiter DCRs */ |
| 301 | #define DCRN_PLB0_REVID 0x082 /* PLB Arbiter Revision ID */ | 345 | #define DCRN_PLB0_REVID 0x082 /* PLB Arbiter Revision ID */ |
| 302 | #define DCRN_PLB0_ACR 0x083 /* PLB Arbiter Control */ | 346 | #define DCRN_PLB0_ACR 0x083 /* PLB Arbiter Control */ |
| @@ -304,6 +348,7 @@ | |||
| 304 | #define DCRN_PLB0_BEARL 0x086 /* PLB Error Address Low */ | 348 | #define DCRN_PLB0_BEARL 0x086 /* PLB Error Address Low */ |
| 305 | #define DCRN_PLB0_BEAR DCRN_PLB0_BEARL /* 40x compatibility */ | 349 | #define DCRN_PLB0_BEAR DCRN_PLB0_BEARL /* 40x compatibility */ |
| 306 | #define DCRN_PLB0_BEARH 0x087 /* PLB Error Address High */ | 350 | #define DCRN_PLB0_BEARH 0x087 /* PLB Error Address High */ |
| 351 | #endif | ||
| 307 | 352 | ||
| 308 | /* 440GP/GX PLB to OPB bridge DCRs */ | 353 | /* 440GP/GX PLB to OPB bridge DCRs */ |
| 309 | #define DCRN_POB0_BESR0 0x090 | 354 | #define DCRN_POB0_BESR0 0x090 |
| @@ -407,9 +452,13 @@ | |||
| 407 | #define PPC44x_MEM_SIZE_1G 0x40000000 | 452 | #define PPC44x_MEM_SIZE_1G 0x40000000 |
| 408 | #define PPC44x_MEM_SIZE_2G 0x80000000 | 453 | #define PPC44x_MEM_SIZE_2G 0x80000000 |
| 409 | 454 | ||
| 410 | /* 440SP memory controller DCRs */ | 455 | /* 440SP/440SPe memory controller DCRs */ |
| 411 | #define DCRN_MQ0_BS0BAS 0x40 | 456 | #define DCRN_MQ0_BS0BAS 0x40 |
| 412 | #define DCRN_MQ0_BS1BAS 0x41 | 457 | #if defined(CONFIG_440SP) |
| 458 | #define MQ0_NUM_BANKS 2 | ||
| 459 | #elif defined(CONFIG_440SPE) | ||
| 460 | #define MQ0_NUM_BANKS 4 | ||
| 461 | #endif | ||
| 413 | 462 | ||
| 414 | #define MQ0_CONFIG_SIZE_MASK 0x0000fff0 | 463 | #define MQ0_CONFIG_SIZE_MASK 0x0000fff0 |
| 415 | #define MQ0_CONFIG_SIZE_8M 0x0000ffc0 | 464 | #define MQ0_CONFIG_SIZE_8M 0x0000ffc0 |
| @@ -421,8 +470,9 @@ | |||
| 421 | #define MQ0_CONFIG_SIZE_512M 0x0000f000 | 470 | #define MQ0_CONFIG_SIZE_512M 0x0000f000 |
| 422 | #define MQ0_CONFIG_SIZE_1G 0x0000e000 | 471 | #define MQ0_CONFIG_SIZE_1G 0x0000e000 |
| 423 | #define MQ0_CONFIG_SIZE_2G 0x0000c000 | 472 | #define MQ0_CONFIG_SIZE_2G 0x0000c000 |
| 473 | #define MQ0_CONFIG_SIZE_4G 0x00008000 | ||
| 424 | 474 | ||
| 425 | /* Internal SRAM Controller 440GX/440SP */ | 475 | /* Internal SRAM Controller 440GX/440SP/440SPe */ |
| 426 | #define DCRN_SRAM0_BASE 0x000 | 476 | #define DCRN_SRAM0_BASE 0x000 |
| 427 | 477 | ||
| 428 | #define DCRN_SRAM0_SB0CR (DCRN_SRAM0_BASE + 0x020) | 478 | #define DCRN_SRAM0_SB0CR (DCRN_SRAM0_BASE + 0x020) |
| @@ -446,7 +496,7 @@ | |||
| 446 | #define DCRN_SRAM0_DPC (DCRN_SRAM0_BASE + 0x02a) | 496 | #define DCRN_SRAM0_DPC (DCRN_SRAM0_BASE + 0x02a) |
| 447 | #define SRAM_DPC_ENABLE 0x80000000 | 497 | #define SRAM_DPC_ENABLE 0x80000000 |
| 448 | 498 | ||
| 449 | /* L2 Cache Controller 440GX/440SP */ | 499 | /* L2 Cache Controller 440GX/440SP/440SPe */ |
| 450 | #define DCRN_L2C0_CFG 0x030 | 500 | #define DCRN_L2C0_CFG 0x030 |
| 451 | #define L2C_CFG_L2M 0x80000000 | 501 | #define L2C_CFG_L2M 0x80000000 |
| 452 | #define L2C_CFG_ICU 0x40000000 | 502 | #define L2C_CFG_ICU 0x40000000 |
| @@ -610,8 +660,10 @@ | |||
| 610 | #define IIC_CLOCK 50 | 660 | #define IIC_CLOCK 50 |
| 611 | 661 | ||
| 612 | #undef NR_UICS | 662 | #undef NR_UICS |
| 613 | #ifdef CONFIG_440GX | 663 | #if defined(CONFIG_440GX) |
| 614 | #define NR_UICS 3 | 664 | #define NR_UICS 3 |
| 665 | #elif defined(CONFIG_440SPE) | ||
| 666 | #define NR_UICS 4 | ||
| 615 | #else | 667 | #else |
| 616 | #define NR_UICS 2 | 668 | #define NR_UICS 2 |
| 617 | #endif | 669 | #endif |
diff --git a/include/asm-ppc/ibm4xx.h b/include/asm-ppc/ibm4xx.h index e992369cb8e9..6c28ae7807f4 100644 --- a/include/asm-ppc/ibm4xx.h +++ b/include/asm-ppc/ibm4xx.h | |||
| @@ -97,6 +97,10 @@ void ppc4xx_init(unsigned long r3, unsigned long r4, unsigned long r5, | |||
| 97 | #include <platforms/4xx/luan.h> | 97 | #include <platforms/4xx/luan.h> |
| 98 | #endif | 98 | #endif |
| 99 | 99 | ||
| 100 | #if defined(CONFIG_YUCCA) | ||
| 101 | #include <platforms/4xx/yucca.h> | ||
| 102 | #endif | ||
| 103 | |||
| 100 | #if defined(CONFIG_OCOTEA) | 104 | #if defined(CONFIG_OCOTEA) |
| 101 | #include <platforms/4xx/ocotea.h> | 105 | #include <platforms/4xx/ocotea.h> |
| 102 | #endif | 106 | #endif |
diff --git a/include/asm-ppc/ibm_ocp.h b/include/asm-ppc/ibm_ocp.h index 6f10a25bd628..9c21de1ff4ed 100644 --- a/include/asm-ppc/ibm_ocp.h +++ b/include/asm-ppc/ibm_ocp.h | |||
| @@ -131,9 +131,22 @@ static inline void ibm_ocp_set_emac(int start, int end) | |||
| 131 | /* Copy MAC addresses to EMAC additions */ | 131 | /* Copy MAC addresses to EMAC additions */ |
| 132 | for (i=start; i<=end; i++) { | 132 | for (i=start; i<=end; i++) { |
| 133 | def = ocp_get_one_device(OCP_VENDOR_IBM, OCP_FUNC_EMAC, i); | 133 | def = ocp_get_one_device(OCP_VENDOR_IBM, OCP_FUNC_EMAC, i); |
| 134 | memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr, | 134 | if (i == 0) |
| 135 | &__res.bi_enetaddr[i], | 135 | memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr, |
| 136 | 6); | 136 | __res.bi_enetaddr, 6); |
| 137 | #if defined(CONFIG_405EP) || defined(CONFIG_44x) | ||
| 138 | else if (i == 1) | ||
| 139 | memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr, | ||
| 140 | __res.bi_enet1addr, 6); | ||
| 141 | #endif | ||
| 142 | #if defined(CONFIG_440GX) | ||
| 143 | else if (i == 2) | ||
| 144 | memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr, | ||
| 145 | __res.bi_enet2addr, 6); | ||
| 146 | else if (i == 3) | ||
| 147 | memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr, | ||
| 148 | __res.bi_enet3addr, 6); | ||
| 149 | #endif | ||
| 137 | } | 150 | } |
| 138 | } | 151 | } |
| 139 | #endif | 152 | #endif |
diff --git a/include/asm-ppc/ide.h b/include/asm-ppc/ide.h deleted file mode 100644 index 7d6e6599fac4..000000000000 --- a/include/asm-ppc/ide.h +++ /dev/null | |||
| @@ -1,78 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * linux/include/asm-ppc/ide.h | ||
| 3 | * | ||
| 4 | * Copyright (C) 1994-1996 Linus Torvalds & authors */ | ||
| 5 | |||
| 6 | /* | ||
| 7 | * This file contains the ppc architecture specific IDE code. | ||
| 8 | */ | ||
| 9 | |||
| 10 | #ifndef __ASMPPC_IDE_H | ||
| 11 | #define __ASMPPC_IDE_H | ||
| 12 | |||
| 13 | #ifdef __KERNEL__ | ||
| 14 | |||
| 15 | #include <linux/sched.h> | ||
| 16 | #include <asm/mpc8xx.h> | ||
| 17 | |||
| 18 | #ifndef MAX_HWIFS | ||
| 19 | #define MAX_HWIFS 8 | ||
| 20 | #endif | ||
| 21 | |||
| 22 | #include <linux/config.h> | ||
| 23 | #include <linux/hdreg.h> | ||
| 24 | #include <linux/ioport.h> | ||
| 25 | #include <asm/io.h> | ||
| 26 | |||
| 27 | extern void __ide_mm_insw(void __iomem *port, void *addr, u32 count); | ||
| 28 | extern void __ide_mm_outsw(void __iomem *port, void *addr, u32 count); | ||
| 29 | extern void __ide_mm_insl(void __iomem *port, void *addr, u32 count); | ||
| 30 | extern void __ide_mm_outsl(void __iomem *port, void *addr, u32 count); | ||
| 31 | |||
| 32 | struct ide_machdep_calls { | ||
| 33 | int (*default_irq)(unsigned long base); | ||
| 34 | unsigned long (*default_io_base)(int index); | ||
| 35 | void (*ide_init_hwif)(hw_regs_t *hw, | ||
| 36 | unsigned long data_port, | ||
| 37 | unsigned long ctrl_port, | ||
| 38 | int *irq); | ||
| 39 | }; | ||
| 40 | |||
| 41 | extern struct ide_machdep_calls ppc_ide_md; | ||
| 42 | |||
| 43 | #undef SUPPORT_SLOW_DATA_PORTS | ||
| 44 | #define SUPPORT_SLOW_DATA_PORTS 0 | ||
| 45 | |||
| 46 | #define IDE_ARCH_OBSOLETE_DEFAULTS | ||
| 47 | |||
| 48 | static __inline__ int ide_default_irq(unsigned long base) | ||
| 49 | { | ||
| 50 | if (ppc_ide_md.default_irq) | ||
| 51 | return ppc_ide_md.default_irq(base); | ||
| 52 | return 0; | ||
| 53 | } | ||
| 54 | |||
| 55 | static __inline__ unsigned long ide_default_io_base(int index) | ||
| 56 | { | ||
| 57 | if (ppc_ide_md.default_io_base) | ||
| 58 | return ppc_ide_md.default_io_base(index); | ||
| 59 | return 0; | ||
| 60 | } | ||
| 61 | |||
| 62 | #define IDE_ARCH_OBSOLETE_INIT | ||
| 63 | #define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ | ||
| 64 | |||
| 65 | #ifdef CONFIG_PCI | ||
| 66 | #define ide_init_default_irq(base) (0) | ||
| 67 | #else | ||
| 68 | #define ide_init_default_irq(base) ide_default_irq(base) | ||
| 69 | #endif | ||
| 70 | |||
| 71 | #if (defined CONFIG_APUS || defined CONFIG_BLK_DEV_MPC8xx_IDE ) | ||
| 72 | #define IDE_ARCH_ACK_INTR 1 | ||
| 73 | #define ide_ack_intr(hwif) (hwif->hw.ack_intr ? hwif->hw.ack_intr(hwif) : 1) | ||
| 74 | #endif | ||
| 75 | |||
| 76 | #endif /* __KERNEL__ */ | ||
| 77 | |||
| 78 | #endif /* __ASMPPC_IDE_H */ | ||
diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h index f7f614dfc648..2bfdf9c98459 100644 --- a/include/asm-ppc/io.h +++ b/include/asm-ppc/io.h | |||
| @@ -237,9 +237,9 @@ static inline void __raw_writel(__u32 b, volatile void __iomem *addr) | |||
| 237 | #define outsl(port, buf, nl) _outsl_ns((port)+___IO_BASE, (buf), (nl)) | 237 | #define outsl(port, buf, nl) _outsl_ns((port)+___IO_BASE, (buf), (nl)) |
| 238 | 238 | ||
| 239 | /* | 239 | /* |
| 240 | * On powermacs, we will get a machine check exception if we | 240 | * On powermacs and 8xx we will get a machine check exception |
| 241 | * try to read data from a non-existent I/O port. Because the | 241 | * if we try to read data from a non-existent I/O port. Because |
| 242 | * machine check is an asynchronous exception, it isn't | 242 | * the machine check is an asynchronous exception, it isn't |
| 243 | * well-defined which instruction SRR0 will point to when the | 243 | * well-defined which instruction SRR0 will point to when the |
| 244 | * exception occurs. | 244 | * exception occurs. |
| 245 | * With the sequence below (twi; isync; nop), we have found that | 245 | * With the sequence below (twi; isync; nop), we have found that |
| @@ -258,7 +258,7 @@ extern __inline__ unsigned int name(unsigned int port) \ | |||
| 258 | { \ | 258 | { \ |
| 259 | unsigned int x; \ | 259 | unsigned int x; \ |
| 260 | __asm__ __volatile__( \ | 260 | __asm__ __volatile__( \ |
| 261 | op " %0,0,%1\n" \ | 261 | "0:" op " %0,0,%1\n" \ |
| 262 | "1: twi 0,%0,0\n" \ | 262 | "1: twi 0,%0,0\n" \ |
| 263 | "2: isync\n" \ | 263 | "2: isync\n" \ |
| 264 | "3: nop\n" \ | 264 | "3: nop\n" \ |
| @@ -269,6 +269,7 @@ extern __inline__ unsigned int name(unsigned int port) \ | |||
| 269 | ".previous\n" \ | 269 | ".previous\n" \ |
| 270 | ".section __ex_table,\"a\"\n" \ | 270 | ".section __ex_table,\"a\"\n" \ |
| 271 | " .align 2\n" \ | 271 | " .align 2\n" \ |
| 272 | " .long 0b,5b\n" \ | ||
| 272 | " .long 1b,5b\n" \ | 273 | " .long 1b,5b\n" \ |
| 273 | " .long 2b,5b\n" \ | 274 | " .long 2b,5b\n" \ |
| 274 | " .long 3b,5b\n" \ | 275 | " .long 3b,5b\n" \ |
| @@ -282,11 +283,12 @@ extern __inline__ unsigned int name(unsigned int port) \ | |||
| 282 | extern __inline__ void name(unsigned int val, unsigned int port) \ | 283 | extern __inline__ void name(unsigned int val, unsigned int port) \ |
| 283 | { \ | 284 | { \ |
| 284 | __asm__ __volatile__( \ | 285 | __asm__ __volatile__( \ |
| 285 | op " %0,0,%1\n" \ | 286 | "0:" op " %0,0,%1\n" \ |
| 286 | "1: sync\n" \ | 287 | "1: sync\n" \ |
| 287 | "2:\n" \ | 288 | "2:\n" \ |
| 288 | ".section __ex_table,\"a\"\n" \ | 289 | ".section __ex_table,\"a\"\n" \ |
| 289 | " .align 2\n" \ | 290 | " .align 2\n" \ |
| 291 | " .long 0b,2b\n" \ | ||
| 290 | " .long 1b,2b\n" \ | 292 | " .long 1b,2b\n" \ |
| 291 | ".previous" \ | 293 | ".previous" \ |
| 292 | : : "r" (val), "r" (port + ___IO_BASE)); \ | 294 | : : "r" (val), "r" (port + ___IO_BASE)); \ |
diff --git a/include/asm-ppc/kgdb.h b/include/asm-ppc/kgdb.h index 1d3c927ce626..b617dac82969 100644 --- a/include/asm-ppc/kgdb.h +++ b/include/asm-ppc/kgdb.h | |||
| @@ -31,7 +31,7 @@ extern void breakpoint(void); | |||
| 31 | /* For taking exceptions | 31 | /* For taking exceptions |
| 32 | * these are defined in traps.c | 32 | * these are defined in traps.c |
| 33 | */ | 33 | */ |
| 34 | extern void (*debugger)(struct pt_regs *regs); | 34 | extern int (*debugger)(struct pt_regs *regs); |
| 35 | extern int (*debugger_bpt)(struct pt_regs *regs); | 35 | extern int (*debugger_bpt)(struct pt_regs *regs); |
| 36 | extern int (*debugger_sstep)(struct pt_regs *regs); | 36 | extern int (*debugger_sstep)(struct pt_regs *regs); |
| 37 | extern int (*debugger_iabr_match)(struct pt_regs *regs); | 37 | extern int (*debugger_iabr_match)(struct pt_regs *regs); |
diff --git a/include/asm-ppc/mpc83xx.h b/include/asm-ppc/mpc83xx.h index bb1b0576c947..ce212201db2a 100644 --- a/include/asm-ppc/mpc83xx.h +++ b/include/asm-ppc/mpc83xx.h | |||
| @@ -107,6 +107,7 @@ enum ppc_sys_devices { | |||
| 107 | MPC83xx_SEC2, | 107 | MPC83xx_SEC2, |
| 108 | MPC83xx_USB2_DR, | 108 | MPC83xx_USB2_DR, |
| 109 | MPC83xx_USB2_MPH, | 109 | MPC83xx_USB2_MPH, |
| 110 | MPC83xx_MDIO, | ||
| 110 | }; | 111 | }; |
| 111 | 112 | ||
| 112 | #endif /* CONFIG_83xx */ | 113 | #endif /* CONFIG_83xx */ |
diff --git a/include/asm-ppc/pgtable.h b/include/asm-ppc/pgtable.h index b28a713ba862..6d1c39e8a6af 100644 --- a/include/asm-ppc/pgtable.h +++ b/include/asm-ppc/pgtable.h | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include <asm/processor.h> /* For TASK_SIZE */ | 12 | #include <asm/processor.h> /* For TASK_SIZE */ |
| 13 | #include <asm/mmu.h> | 13 | #include <asm/mmu.h> |
| 14 | #include <asm/page.h> | 14 | #include <asm/page.h> |
| 15 | struct mm_struct; | ||
| 15 | 16 | ||
| 16 | extern unsigned long va_to_phys(unsigned long address); | 17 | extern unsigned long va_to_phys(unsigned long address); |
| 17 | extern pte_t *va_to_pte(unsigned long address); | 18 | extern pte_t *va_to_pte(unsigned long address); |
diff --git a/include/asm-ppc/ppcboot.h b/include/asm-ppc/ppcboot.h index fe24e4520208..6b7b63f71daa 100644 --- a/include/asm-ppc/ppcboot.h +++ b/include/asm-ppc/ppcboot.h | |||
| @@ -73,8 +73,8 @@ typedef struct bd_info { | |||
| 73 | #if defined(CONFIG_HYMOD) | 73 | #if defined(CONFIG_HYMOD) |
| 74 | hymod_conf_t bi_hymod_conf; /* hymod configuration information */ | 74 | hymod_conf_t bi_hymod_conf; /* hymod configuration information */ |
| 75 | #endif | 75 | #endif |
| 76 | #if defined(CONFIG_EVB64260) || defined(CONFIG_44x) || defined(CONFIG_85xx) ||\ | 76 | #if defined(CONFIG_EVB64260) || defined(CONFIG_405EP) || defined(CONFIG_44x) || \ |
| 77 | defined(CONFIG_83xx) | 77 | defined(CONFIG_85xx) || defined(CONFIG_83xx) |
| 78 | /* second onboard ethernet port */ | 78 | /* second onboard ethernet port */ |
| 79 | unsigned char bi_enet1addr[6]; | 79 | unsigned char bi_enet1addr[6]; |
| 80 | #endif | 80 | #endif |
| @@ -96,5 +96,7 @@ typedef struct bd_info { | |||
| 96 | #endif | 96 | #endif |
| 97 | } bd_t; | 97 | } bd_t; |
| 98 | 98 | ||
| 99 | #define bi_tbfreq bi_intfreq | ||
| 100 | |||
| 99 | #endif /* __ASSEMBLY__ */ | 101 | #endif /* __ASSEMBLY__ */ |
| 100 | #endif /* __ASM_PPCBOOT_H__ */ | 102 | #endif /* __ASM_PPCBOOT_H__ */ |
diff --git a/include/asm-ppc/prom.h b/include/asm-ppc/prom.h index 75c0637acdc8..3e39827ed566 100644 --- a/include/asm-ppc/prom.h +++ b/include/asm-ppc/prom.h | |||
| @@ -93,7 +93,7 @@ extern int device_is_compatible(struct device_node *device, const char *); | |||
| 93 | extern int machine_is_compatible(const char *compat); | 93 | extern int machine_is_compatible(const char *compat); |
| 94 | extern unsigned char *get_property(struct device_node *node, const char *name, | 94 | extern unsigned char *get_property(struct device_node *node, const char *name, |
| 95 | int *lenp); | 95 | int *lenp); |
| 96 | extern void prom_add_property(struct device_node* np, struct property* prop); | 96 | extern int prom_add_property(struct device_node* np, struct property* prop); |
| 97 | extern void prom_get_irq_senses(unsigned char *, int, int); | 97 | extern void prom_get_irq_senses(unsigned char *, int, int); |
| 98 | extern int prom_n_addr_cells(struct device_node* np); | 98 | extern int prom_n_addr_cells(struct device_node* np); |
| 99 | extern int prom_n_size_cells(struct device_node* np); | 99 | extern int prom_n_size_cells(struct device_node* np); |
diff --git a/include/asm-ppc/rio.h b/include/asm-ppc/rio.h new file mode 100644 index 000000000000..0018bf80cb25 --- /dev/null +++ b/include/asm-ppc/rio.h | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | /* | ||
| 2 | * RapidIO architecture support | ||
| 3 | * | ||
| 4 | * Copyright 2005 MontaVista Software, Inc. | ||
| 5 | * Matt Porter <mporter@kernel.crashing.org> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify it | ||
| 8 | * under the terms of the GNU General Public License as published by the | ||
| 9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 10 | * option) any later version. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef ASM_PPC_RIO_H | ||
| 14 | #define ASM_PPC_RIO_H | ||
| 15 | |||
| 16 | extern void platform_rio_init(void); | ||
| 17 | |||
| 18 | #endif /* ASM_PPC_RIO_H */ | ||
