sun3xprom.h 1.3 KB

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