1 /*        $NetBSD: autoconf.h,v 1.19 2024/03/05 14:15:33 thorpej 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 int ofw_quiesce;                 /* XXX not used at the moment */
36 extern char model_name[64];
37 
38 #ifdef _KERNEL
39 void initppc(u_int, u_int, char *);
40 void strayintr(int);
41 void dumpsys(void);
42 
43 void cpu_initclocks(void);
44 void decr_intr(struct clockframe *);
45 void setstatclockrate(int);
46 void init_interrupt(void);
47 void init_ofppc_interrupt(void);
48 void ofppc_init_comcons(int);
49 void copy_disp_props(device_t, int, prop_dictionary_t);
50 
51 void OF_start_cpu(int, u_int, int);
52 
53 int rascons_cnattach(void);
54 #endif /* _KERNEL */
55 
56 #endif /* _OFPPC_AUTOCONF_H_ */
57