|
|
1.1 ! root 1: /* ! 2: * OpenBIOS driver prototypes ! 3: * ! 4: * (C) 2004 Stefan Reinauer <[email protected]> ! 5: * ! 6: * This program is free software; you can redistribute it and/or ! 7: * modify it under the terms of the GNU General Public License ! 8: * version 2 ! 9: * ! 10: */ ! 11: #ifndef OPENBIOS_DRIVERS_H ! 12: #define OPENBIOS_DRIVERS_H ! 13: ! 14: #include "config.h" ! 15: ! 16: #ifdef CONFIG_DRIVER_PCI ! 17: /* drivers/pci.c */ ! 18: int ob_pci_init(void); ! 19: #endif ! 20: ! 21: #if defined(CONFIG_DRIVER_PCI) || defined(CONFIG_DRIVER_ESCC) ! 22: #ifdef CONFIG_PPC ! 23: extern int is_apple(void); ! 24: extern int is_oldworld(void); ! 25: extern int is_newworld(void); ! 26: #else ! 27: static inline int is_apple(void) ! 28: { ! 29: return 0; ! 30: } ! 31: static inline int is_oldworld(void) ! 32: { ! 33: return 0; ! 34: } ! 35: static inline int is_newworld(void) ! 36: { ! 37: return 0; ! 38: } ! 39: #endif ! 40: #define AAPL(_cmd) do { if (is_apple()) _cmd; } while(0) ! 41: #define OLDWORLD(_cmd) do { if (is_oldworld()) _cmd; } while(0) ! 42: #define NEWWORLD(_cmd) do { if (is_newworld()) _cmd; } while(0) ! 43: #endif ! 44: #ifdef CONFIG_DRIVER_SBUS ! 45: /* drivers/sbus.c */ ! 46: int ob_sbus_init(uint64_t base, int machine_id); ! 47: ! 48: /* arch/sparc32/console.c */ ! 49: void tcx_init(uint64_t base); ! 50: void kbd_init(uint64_t base); ! 51: #endif ! 52: #ifdef CONFIG_DRIVER_IDE ! 53: /* drivers/ide.c */ ! 54: int ob_ide_init(const char *path, uint32_t io_port0, uint32_t ctl_port0, ! 55: uint32_t io_port1, uint32_t ctl_port1); ! 56: int macio_ide_init(const char *path, uint32_t addr, int nb_channels); ! 57: #endif ! 58: #ifdef CONFIG_DRIVER_ESP ! 59: /* drivers/esp.c */ ! 60: int ob_esp_init(unsigned int slot, uint64_t base, unsigned long espoffset, ! 61: unsigned long dmaoffset); ! 62: #endif ! 63: #ifdef CONFIG_DRIVER_OBIO ! 64: /* drivers/obio.c */ ! 65: int ob_obio_init(uint64_t slavio_base, unsigned long fd_offset, ! 66: unsigned long counter_offset, unsigned long intr_offset, ! 67: unsigned long aux1_offset, unsigned long aux2_offset, ! 68: unsigned long mem_size); ! 69: int start_cpu(unsigned int pc, unsigned int context_ptr, unsigned int context, ! 70: int cpu); ! 71: void ob_eccmemctl_init(uint64_t base); ! 72: void ss5_init(uint64_t base); ! 73: ! 74: /* drivers/iommu.c */ ! 75: void ob_init_iommu(uint64_t base); ! 76: void *dvma_alloc(int size, unsigned int *pphys); ! 77: ! 78: /* drivers/sbus.c */ ! 79: extern uint16_t graphic_depth; ! 80: ! 81: /* drivers/obio.c */ ! 82: extern volatile unsigned char *power_reg; ! 83: extern volatile unsigned int *reset_reg; ! 84: extern volatile struct sun4m_timer_regs *counter_regs; ! 85: ! 86: void ob_new_obio_device(const char *name, const char *type); ! 87: unsigned long ob_reg(uint64_t base, uint64_t offset, unsigned long size, int map); ! 88: void ob_intr(int intr); ! 89: ! 90: /* arch/sparc32/boot.c */ ! 91: extern uint32_t kernel_image; ! 92: extern uint32_t kernel_size; ! 93: extern uint32_t qemu_cmdline; ! 94: extern uint32_t cmdline_size; ! 95: extern char boot_device; ! 96: #endif ! 97: #ifdef CONFIG_DRIVER_FLOPPY ! 98: int ob_floppy_init(const char *path, const char *dev_name, ! 99: unsigned long io_base, unsigned long mmio_base); ! 100: #endif ! 101: #ifdef CONFIG_DRIVER_PC_KBD ! 102: void ob_pc_kbd_init(const char *path, const char *dev_name, uint64_t base, ! 103: uint64_t offset, int intr); ! 104: int pc_kbd_dataready(void); ! 105: unsigned char pc_kbd_readdata(void); ! 106: #endif ! 107: #ifdef CONFIG_DRIVER_PC_SERIAL ! 108: void ob_pc_serial_init(const char *path, const char *dev_name, uint64_t base, ! 109: uint64_t offset, int intr); ! 110: int uart_init(int port, unsigned long speed); ! 111: int uart_charav(int port); ! 112: char uart_getchar(int port); ! 113: void serial_putchar(int c); ! 114: #endif ! 115: #ifdef CONFIG_DRIVER_ESCC ! 116: int uart_init(phys_addr_t port, unsigned long speed); ! 117: int uart_charav(uintptr_t port); ! 118: char uart_getchar(uintptr_t port); ! 119: void serial_putchar(int c); ! 120: void serial_cls(void); ! 121: #ifdef CONFIG_DRIVER_ESCC_SUN ! 122: int keyboard_dataready(void); ! 123: unsigned char keyboard_readdata(void); ! 124: #endif ! 125: #endif ! 126: ! 127: /* drivers/timer.c */ ! 128: void setup_timers(void); ! 129: ! 130: #endif /* OPENBIOS_DRIVERS_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.