119304Speter/*	$NetBSD: autoconf.h,v 1.14 2011/06/18 08:08:29 matt Exp $	*/
219304Speter
319304Speter#ifndef _OFPPC_AUTOCONF_H_
419304Speter#define _OFPPC_AUTOCONF_H_
519304Speter
619304Speter#include <sys/bus.h>
719304Speter
819304Speterstruct confargs {
919304Speter	const char	*ca_name;
1019304Speter	u_int		ca_node;
1119304Speter	int		ca_nreg;
1219304Speter	u_int		*ca_reg;
13254225Speter	int		ca_nintr;
1419304Speter	int		*ca_intr;
1519304Speter
1619304Speter	bus_addr_t	ca_baseaddr;
1719304Speter	bus_space_tag_t	ca_tag;
1819304Speter};
1919304Speter
2019304Speterstruct pciio_info {
2119304Speter	uint32_t	start;
2219304Speter	uint32_t	limit;
2319304Speter};
2419304Speter
2519304Speter/* to support machines with more than 4 busses, change the below */
2619304Speter#define MAX_PCI_BUSSES		4
2719304Speterstruct model_data {
2819304Speter	int			ranges_offset;
2919304Speter	struct pciio_info	pciiodata[MAX_PCI_BUSSES];
3019304Speter};
3119304Speter
3219304Speterextern int console_node;
3319304Speterextern char model_name[64];
3419304Speter
3519304Speter#ifdef _KERNEL
3619304Spetervoid initppc(u_int, u_int, char *);
3719304Spetervoid model_init(void);
3819304Spetervoid strayintr(int);
3919304Spetervoid dumpsys(void);
4019304Speter
4119304Spetervoid inittodr(time_t);
4219304Spetervoid resettodr(void);
4319304Spetervoid cpu_initclocks(void);
4419304Spetervoid decr_intr(struct clockframe *);
4519304Spetervoid setstatclockrate(int);
4619304Spetervoid init_interrupt(void);
4719304Spetervoid init_ofppc_interrupt(void);
4819304Spetervoid ofppc_init_comcons(int);
4919304Spetervoid copy_disp_props(device_t, int, prop_dictionary_t);
5019304Speter
5119304Spetervoid OF_start_cpu(int, u_int, int);
5219304Speter
5319304Speterint rascons_cnattach(void);
5419304Speter#endif /* _KERNEL */
5519304Speter
5619304Speter#endif /* _OFPPC_AUTOCONF_H_ */
5719304Speter