sun3xprom.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* Useful PROM locations */
  2. #ifndef SUN3X_PROM_H
  3. #define SUN3X_PROM_H
  4. extern void (*sun3x_putchar)(int);
  5. extern int (*sun3x_getchar)(void);
  6. extern int (*sun3x_mayget)(void);
  7. extern int (*sun3x_mayput)(int);
  8. void sun3x_reboot(void);
  9. void sun3x_abort(void);
  10. void sun3x_prom_init(void);
  11. unsigned long sun3x_prom_ptov(unsigned long pa, unsigned long size);
  12. /* interesting hardware locations */
  13. #define SUN3X_IOMMU 0x60000000
  14. #define SUN3X_ENAREG 0x61000000
  15. #define SUN3X_INTREG 0x61001400
  16. #define SUN3X_DIAGREG 0x61001800
  17. #define SUN3X_ZS1 0x62000000
  18. #define SUN3X_ZS2 0x62002000
  19. #define SUN3X_LANCE 0x65002000
  20. #define SUN3X_EEPROM 0x64000000
  21. #define SUN3X_IDPROM 0x640007d8
  22. #define SUN3X_VIDEO_BASE 0x50400000
  23. #define SUN3X_VIDEO_REGS 0x50300000
  24. /* vector table */
  25. #define SUN3X_PROM_BASE 0xfefe0000
  26. #define SUN3X_P_GETCHAR (SUN3X_PROM_BASE + 20)
  27. #define SUN3X_P_PUTCHAR (SUN3X_PROM_BASE + 24)
  28. #define SUN3X_P_MAYGET (SUN3X_PROM_BASE + 28)
  29. #define SUN3X_P_MAYPUT (SUN3X_PROM_BASE + 32)
  30. #define SUN3X_P_REBOOT (SUN3X_PROM_BASE + 96)
  31. #define SUN3X_P_SETLEDS (SUN3X_PROM_BASE + 144)
  32. #define SUN3X_P_ABORT (SUN3X_PROM_BASE + 152)
  33. /* mapped area */
  34. #define SUN3X_MAP_START 0xfee00000
  35. #define SUN3X_MAP_END 0xff000000
  36. #endif