1 /* $NetBSD: autoconf.h,v 1.16 2019/01/08 07:46:10 mrg Exp $ */ 2 3 #ifndef _OFPPC_AUTOCONF_H_ 4 #define _OFPPC_AUTOCONF_H_ 5 6 #include <sys/bus.h> 7 8 #include <prop/proplib.h> 9 10 struct confargs { 11 const char *ca_name; 12 u_int ca_node; 13 int ca_nreg; 14 u_int *ca_reg; 15 int ca_nintr; 16 int *ca_intr; 17 18 bus_addr_t ca_baseaddr; 19 bus_space_tag_t ca_tag; 20 }; 21 22 struct pciio_info { 23 uint32_t start; 24 uint32_t limit; 25 }; 26 27 /* to support machines with more than 4 busses, change the below */ 28 #define MAX_PCI_BUSSES 4 29 struct model_data { 30 int ranges_offset; 31 struct pciio_info pciiodata[MAX_PCI_BUSSES]; 32 }; 33 34 extern int console_node; 35 extern char model_name[64]; 36 37 #ifdef _KERNEL 38 void initppc(u_int, u_int, char *); 39 void model_init(void); 40 void strayintr(int); 41 void dumpsys(void); 42 43 void inittodr(time_t); 44 void resettodr(void); 45 void cpu_initclocks(void); 46 void decr_intr(struct clockframe *); 47 void setstatclockrate(int); 48 void init_interrupt(void); 49 void init_ofppc_interrupt(void); 50 void ofppc_init_comcons(int); 51 void copy_disp_props(device_t, int, prop_dictionary_t); 52 53 void OF_start_cpu(int, u_int, int); 54 55 int rascons_cnattach(void); 56 #endif /* _KERNEL */ 57 58 #endif /* _OFPPC_AUTOCONF_H_ */ 59