11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Useful PROM locations */ 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef SUN3X_PROM_H 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_PROM_H 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void (*sun3x_putchar)(int); 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern int (*sun3x_getchar)(void); 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern int (*sun3x_mayget)(void); 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern int (*sun3x_mayput)(int); 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid sun3x_reboot(void); 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid sun3x_abort(void); 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid sun3x_prom_init(void); 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsunsigned long sun3x_prom_ptov(unsigned long pa, unsigned long size); 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* interesting hardware locations */ 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_IOMMU 0x60000000 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_ENAREG 0x61000000 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_INTREG 0x61001400 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_DIAGREG 0x61001800 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_ZS1 0x62000000 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_ZS2 0x62002000 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_LANCE 0x65002000 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_EEPROM 0x64000000 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_IDPROM 0x640007d8 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_VIDEO_BASE 0x50400000 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_VIDEO_REGS 0x50300000 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* vector table */ 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_PROM_BASE 0xfefe0000 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_P_GETCHAR (SUN3X_PROM_BASE + 20) 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_P_PUTCHAR (SUN3X_PROM_BASE + 24) 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_P_MAYGET (SUN3X_PROM_BASE + 28) 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_P_MAYPUT (SUN3X_PROM_BASE + 32) 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_P_REBOOT (SUN3X_PROM_BASE + 96) 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_P_SETLEDS (SUN3X_PROM_BASE + 144) 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_P_ABORT (SUN3X_PROM_BASE + 152) 381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* mapped area */ 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_MAP_START 0xfee00000 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SUN3X_MAP_END 0xff000000 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 44