Annotation of sys/arch/arm/xscale/pxa2x0_a4x_space.c, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: pxa2x0_a4x_space.c,v 1.2 2005/01/02 19:52:36 drahn Exp $ */
2: /* $NetBSD: pxa2x0_a4x_space.c,v 1.2 2003/07/15 00:24:54 lukem Exp $ */
3:
4: /*
5: * Copyright (c) 2002 Genetec Corporation. All rights reserved.
6: * Written by Hiroyuki Bessho for Genetec Corporation.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
16: * 3. All advertising materials mentioning features or use of this software
17: * must display the following acknowledgement:
18: * This product includes software developed for the NetBSD Project by
19: * Genetec Corporation.
20: * 4. The name of Genetec Corporation may not be used to endorse or
21: * promote products derived from this software without specific prior
22: * written permission.
23: *
24: * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``AS IS'' AND
25: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
26: * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENETEC CORPORATION
28: * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34: * POSSIBILITY OF SUCH DAMAGE.
35: */
36:
37: /*
38: * Bus space tag for 8/16-bit devices on 32-bit bus.
39: * all registers are located at the address of multiple of 4.
40: */
41:
42: #include <sys/cdefs.h>
43: /*
44: __KERNEL_RCSID(0, "$NetBSD: pxa2x0_a4x_space.c,v 1.2 2003/07/15 00:24:54 lukem Exp $");
45: */
46:
47: #include <sys/param.h>
48: #include <sys/systm.h>
49:
50: #include <uvm/uvm_extern.h>
51:
52: #include <machine/bus.h>
53:
54: /* Prototypes for all the bus_space structure functions */
55: bs_protos(pxa2x0);
56: bs_protos(a4x);
57: bs_protos(generic);
58: bs_protos(generic_armv4);
59: bs_protos(bs_notimpl);
60:
61: struct bus_space pxa2x0_a4x_bs_tag = {
62: /* cookie */
63: (void *) 0,
64:
65: /* mapping/unmapping */
66: pxa2x0_bs_map,
67: pxa2x0_bs_unmap,
68: pxa2x0_bs_subregion,
69:
70: /* allocation/deallocation */
71: pxa2x0_bs_alloc, /* not implemented */
72: pxa2x0_bs_free, /* not implemented */
73:
74: /* get kernel virtual address */
75: pxa2x0_bs_vaddr,
76:
77: /* mmap */
78: bs_notimpl_bs_mmap,
79:
80: /* barrier */
81: pxa2x0_bs_barrier,
82:
83: /* read (single) */
84: a4x_bs_r_1,
85: a4x_bs_r_2,
86: a4x_bs_r_4,
87: bs_notimpl_bs_r_8,
88:
89: /* read multiple */
90: a4x_bs_rm_1,
91: a4x_bs_rm_2,
92: bs_notimpl_bs_rm_4,
93: bs_notimpl_bs_rm_8,
94:
95: /* read region */
96: bs_notimpl_bs_rr_1,
97: bs_notimpl_bs_rr_2,
98: bs_notimpl_bs_rr_4,
99: bs_notimpl_bs_rr_8,
100:
101: /* write (single) */
102: a4x_bs_w_1,
103: a4x_bs_w_2,
104: a4x_bs_w_4,
105: bs_notimpl_bs_w_8,
106:
107: /* write multiple */
108: a4x_bs_wm_1,
109: a4x_bs_wm_2,
110: bs_notimpl_bs_wm_4,
111: bs_notimpl_bs_wm_8,
112:
113: /* write region */
114: bs_notimpl_bs_wr_1,
115: bs_notimpl_bs_wr_2,
116: bs_notimpl_bs_wr_4,
117: bs_notimpl_bs_wr_8,
118:
119: /* set multiple */
120: bs_notimpl_bs_sm_1,
121: bs_notimpl_bs_sm_2,
122: bs_notimpl_bs_sm_4,
123: bs_notimpl_bs_sm_8,
124:
125: /* set region */
126: bs_notimpl_bs_sr_1,
127: bs_notimpl_bs_sr_2,
128: bs_notimpl_bs_sr_4,
129: bs_notimpl_bs_sr_8,
130:
131: /* copy */
132: bs_notimpl_bs_c_1,
133: bs_notimpl_bs_c_2,
134: bs_notimpl_bs_c_4,
135: bs_notimpl_bs_c_8,
136: };
137:
138:
139:
CVSweb