]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/arm/xscale/ixp425/ixp425_a4x_space.c
Upgrade Unbound to 1.6.1. More to follow.
[FreeBSD/FreeBSD.git] / sys / arm / xscale / ixp425 / ixp425_a4x_space.c
1 /*      $NetBSD: ixp425_a4x_space.c,v 1.2 2005/12/11 12:16:51 christos Exp $    */
2
3 /*-
4  * SPDX-License-Identifier: BSD-4-Clause
5  *
6  * Copyright 2003 Wasabi Systems, Inc.
7  * All rights reserved.
8  *
9  * Written by Steve C. Woodford for Wasabi Systems, Inc.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above copyright
17  *    notice, this list of conditions and the following disclaimer in the
18  *    documentation and/or other materials provided with the distribution.
19  * 3. All advertising materials mentioning features or use of this software
20  *    must display the following acknowledgement:
21  *      This product includes software developed for the NetBSD Project by
22  *      Wasabi Systems, Inc.
23  * 4. The name of Wasabi Systems, Inc. may not be used to endorse
24  *    or promote products derived from this software without specific prior
25  *    written permission.
26  *
27  * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
28  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
29  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
30  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL WASABI SYSTEMS, INC
31  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37  * POSSIBILITY OF SUCH DAMAGE.
38  */
39
40 /*
41  * Bus space tag for 8/16-bit devices on 32-bit bus.
42  * all registers are located at the address of multiple of 4.
43  *
44  * Based on pxa2x0_a4x_space.c
45  */
46
47 #include <sys/cdefs.h>
48 __FBSDID("$FreeBSD$");
49
50 #include <sys/param.h>
51 #include <sys/systm.h>
52 #include <sys/bus.h>
53
54 #include <machine/pcb.h>
55
56 #include <vm/vm.h>
57 #include <vm/vm_kern.h>
58 #include <vm/pmap.h>
59 #include <vm/vm_page.h>
60 #include <vm/vm_extern.h>
61
62 #include <machine/bus.h>
63
64 /* Prototypes for all the bus_space structure functions */
65 bs_protos(a4x);
66 bs_protos(generic);
67
68 struct bus_space ixp425_a4x_bs_tag = {
69         /* cookie */
70         .bs_privdata    = (void *) 0,
71
72         /* mapping/unmapping */
73         .bs_map         = generic_bs_map,
74         .bs_unmap       = generic_bs_unmap,
75         .bs_subregion   = generic_bs_subregion,
76
77         /* allocation/deallocation */
78         .bs_alloc       = generic_bs_alloc,     /* XXX not implemented */
79         .bs_free        = generic_bs_free,      /* XXX not implemented */
80
81         /* barrier */
82         .bs_barrier     = generic_bs_barrier,
83
84         /* read (single) */
85         .bs_r_1         = a4x_bs_r_1,
86         .bs_r_2         = a4x_bs_r_2,
87         .bs_r_4         = a4x_bs_r_4,
88
89         /* read multiple */
90         .bs_rm_1        = a4x_bs_rm_1,
91         .bs_rm_2        = a4x_bs_rm_2,
92
93         /* read region */
94         /* XXX not implemented */
95
96         /* write (single) */
97         .bs_w_1         = a4x_bs_w_1,
98         .bs_w_2         = a4x_bs_w_2,
99         .bs_w_4         = a4x_bs_w_4,
100
101         /* write multiple */
102         .bs_wm_1        = a4x_bs_wm_1,
103         .bs_wm_2        = a4x_bs_wm_2,
104
105         /* write region */
106         /* XXX not implemented */
107
108         /* set multiple */
109         /* XXX not implemented */
110
111         /* set region */
112         /* XXX not implemented */
113
114         /* copy */
115         /* XXX not implemented */
116 };