|
@@ -33,7 +33,7 @@ extern void pcc_iowrite_word(int, unsigned long, void *, size_t, size_t, int);
|
|
|
|
|
|
static inline void *_port2addr(unsigned long port)
|
|
|
{
|
|
|
- return (void *)(port + NONCACHE_OFFSET);
|
|
|
+ return (void *)(port | NONCACHE_OFFSET);
|
|
|
}
|
|
|
|
|
|
#if defined(CONFIG_IDE)
|
|
@@ -43,33 +43,42 @@ static inline void *__port2addr_ata(unsigned long port)
|
|
|
|
|
|
switch (port) {
|
|
|
/* IDE0 CF */
|
|
|
- case 0x1f0: return (void *)0xb4002000;
|
|
|
- case 0x1f1: return (void *)0xb4012800;
|
|
|
- case 0x1f2: return (void *)0xb4012002;
|
|
|
- case 0x1f3: return (void *)0xb4012802;
|
|
|
- case 0x1f4: return (void *)0xb4012004;
|
|
|
- case 0x1f5: return (void *)0xb4012804;
|
|
|
- case 0x1f6: return (void *)0xb4012006;
|
|
|
- case 0x1f7: return (void *)0xb4012806;
|
|
|
- case 0x3f6: return (void *)0xb401200e;
|
|
|
+ case 0x1f0: return (void *)(0x14002000 | NONCACHE_OFFSET);
|
|
|
+ case 0x1f1: return (void *)(0x14012800 | NONCACHE_OFFSET);
|
|
|
+ case 0x1f2: return (void *)(0x14012002 | NONCACHE_OFFSET);
|
|
|
+ case 0x1f3: return (void *)(0x14012802 | NONCACHE_OFFSET);
|
|
|
+ case 0x1f4: return (void *)(0x14012004 | NONCACHE_OFFSET);
|
|
|
+ case 0x1f5: return (void *)(0x14012804 | NONCACHE_OFFSET);
|
|
|
+ case 0x1f6: return (void *)(0x14012006 | NONCACHE_OFFSET);
|
|
|
+ case 0x1f7: return (void *)(0x14012806 | NONCACHE_OFFSET);
|
|
|
+ case 0x3f6: return (void *)(0x1401200e | NONCACHE_OFFSET);
|
|
|
/* IDE1 IDE */
|
|
|
- case 0x170: return (void *)0xb4810000; /* Data 16bit */
|
|
|
- case 0x171: return (void *)0xb4810002; /* Features / Error */
|
|
|
- case 0x172: return (void *)0xb4810004; /* Sector count */
|
|
|
- case 0x173: return (void *)0xb4810006; /* Sector number */
|
|
|
- case 0x174: return (void *)0xb4810008; /* Cylinder low */
|
|
|
- case 0x175: return (void *)0xb481000a; /* Cylinder high */
|
|
|
- case 0x176: return (void *)0xb481000c; /* Device head */
|
|
|
- case 0x177: return (void *)0xb481000e; /* Command */
|
|
|
- case 0x376: return (void *)0xb480800c; /* Device control / Alt status */
|
|
|
+ case 0x170: /* Data 16bit */
|
|
|
+ return (void *)(0x14810000 | NONCACHE_OFFSET);
|
|
|
+ case 0x171: /* Features / Error */
|
|
|
+ return (void *)(0x14810002 | NONCACHE_OFFSET);
|
|
|
+ case 0x172: /* Sector count */
|
|
|
+ return (void *)(0x14810004 | NONCACHE_OFFSET);
|
|
|
+ case 0x173: /* Sector number */
|
|
|
+ return (void *)(0x14810006 | NONCACHE_OFFSET);
|
|
|
+ case 0x174: /* Cylinder low */
|
|
|
+ return (void *)(0x14810008 | NONCACHE_OFFSET);
|
|
|
+ case 0x175: /* Cylinder high */
|
|
|
+ return (void *)(0x1481000a | NONCACHE_OFFSET);
|
|
|
+ case 0x176: /* Device head */
|
|
|
+ return (void *)(0x1481000c | NONCACHE_OFFSET);
|
|
|
+ case 0x177: /* Command */
|
|
|
+ return (void *)(0x1481000e | NONCACHE_OFFSET);
|
|
|
+ case 0x376: /* Device control / Alt status */
|
|
|
+ return (void *)(0x1480800c | NONCACHE_OFFSET);
|
|
|
|
|
|
default: return (void *)&dummy_reg;
|
|
|
}
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-#define LAN_IOSTART 0xa0000300
|
|
|
-#define LAN_IOEND 0xa0000320
|
|
|
+#define LAN_IOSTART (0x300 | NONCACHE_OFFSET)
|
|
|
+#define LAN_IOEND (0x320 | NONCACHE_OFFSET)
|
|
|
static inline void *_port2addr_ne(unsigned long port)
|
|
|
{
|
|
|
return (void *)(port + 0x10000000);
|