xref: /openbsd/sys/arch/arm64/include/simplebusvar.h (revision 3bef86f7)
1 /* $OpenBSD: simplebusvar.h,v 1.1 2023/09/22 01:10:43 jsg Exp $ */
2 /*
3  * Copyright (c) 2016 Patrick Wildt <patrick@blueri.se>
4  *
5  * Permission to use, copy, modify, and distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 struct simplebus_softc {
19 	struct device		 sc_dev;
20 	int			 sc_node;
21 	bus_space_tag_t		 sc_iot;
22 	bus_dma_tag_t		 sc_dmat;
23 	int			 sc_acells;
24 	int			 sc_scells;
25 	int			 sc_pacells;
26 	int			 sc_pscells;
27 	struct bus_space	 sc_bus;
28 	struct machine_bus_dma_tag sc_dma;
29 	int			*sc_ranges;
30 	int			 sc_rangeslen;
31 	int			*sc_dmaranges;
32 	int			 sc_dmarangeslen;
33 	int			 sc_early;
34 	int			 sc_early_nodes[64];
35 };
36 
37 extern void simplebus_attach(struct device *, struct device *, void *);
38