1*8a06b90dSskrll /* $NetBSD: bus_defs.h,v 1.2 2019/09/23 16:17:57 skrll Exp $ */ 2e57d534eSdyoung 3e57d534eSdyoung /*- 4e57d534eSdyoung * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. 5e57d534eSdyoung * All rights reserved. 6e57d534eSdyoung * 7e57d534eSdyoung * This code is derived from software contributed to The NetBSD Foundation 8e57d534eSdyoung * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, 9e57d534eSdyoung * NASA Ames Research Center. 10e57d534eSdyoung * 11e57d534eSdyoung * Redistribution and use in source and binary forms, with or without 12e57d534eSdyoung * modification, are permitted provided that the following conditions 13e57d534eSdyoung * are met: 14e57d534eSdyoung * 1. Redistributions of source code must retain the above copyright 15e57d534eSdyoung * notice, this list of conditions and the following disclaimer. 16e57d534eSdyoung * 2. Redistributions in binary form must reproduce the above copyright 17e57d534eSdyoung * notice, this list of conditions and the following disclaimer in the 18e57d534eSdyoung * documentation and/or other materials provided with the distribution. 19e57d534eSdyoung * 20e57d534eSdyoung * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 21e57d534eSdyoung * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22e57d534eSdyoung * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23e57d534eSdyoung * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 24e57d534eSdyoung * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25e57d534eSdyoung * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26e57d534eSdyoung * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27e57d534eSdyoung * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28e57d534eSdyoung * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29e57d534eSdyoung * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30e57d534eSdyoung * POSSIBILITY OF SUCH DAMAGE. 31e57d534eSdyoung */ 32e57d534eSdyoung 33e57d534eSdyoung /* 34e57d534eSdyoung * Copyright (c) 1996 Charles M. Hannum. All rights reserved. 35e57d534eSdyoung * Copyright (c) 1996 Christopher G. Demetriou. All rights reserved. 36e57d534eSdyoung * 37e57d534eSdyoung * Redistribution and use in source and binary forms, with or without 38e57d534eSdyoung * modification, are permitted provided that the following conditions 39e57d534eSdyoung * are met: 40e57d534eSdyoung * 1. Redistributions of source code must retain the above copyright 41e57d534eSdyoung * notice, this list of conditions and the following disclaimer. 42e57d534eSdyoung * 2. Redistributions in binary form must reproduce the above copyright 43e57d534eSdyoung * notice, this list of conditions and the following disclaimer in the 44e57d534eSdyoung * documentation and/or other materials provided with the distribution. 45e57d534eSdyoung * 3. All advertising materials mentioning features or use of this software 46e57d534eSdyoung * must display the following acknowledgement: 47e57d534eSdyoung * This product includes software developed by Christopher G. Demetriou 48e57d534eSdyoung * for the NetBSD Project. 49e57d534eSdyoung * 4. The name of the author may not be used to endorse or promote products 50e57d534eSdyoung * derived from this software without specific prior written permission 51e57d534eSdyoung * 52e57d534eSdyoung * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 53e57d534eSdyoung * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 54e57d534eSdyoung * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 55e57d534eSdyoung * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 56e57d534eSdyoung * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 57e57d534eSdyoung * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 58e57d534eSdyoung * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 59e57d534eSdyoung * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 60e57d534eSdyoung * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 61e57d534eSdyoung * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 62e57d534eSdyoung */ 63e57d534eSdyoung 64e57d534eSdyoung #ifndef _SH3_BUS_DEFS_H_ 65e57d534eSdyoung #define _SH3_BUS_DEFS_H_ 66e57d534eSdyoung 67e57d534eSdyoung #include <sys/bswap.h> 68e57d534eSdyoung 69e57d534eSdyoung #define __BUS_SPACE_HAS_STREAM_METHODS 70e57d534eSdyoung 71e57d534eSdyoung #define BUS_SPACE_ALIGNED_POINTER(p, t) ALIGNED_POINTER(p, t) 72e57d534eSdyoung 73e57d534eSdyoung /* 74e57d534eSdyoung * Values for the sh3 bus space tag, not to be used directly by MI code. 75e57d534eSdyoung */ 76e57d534eSdyoung #define SH3_BUS_SPACE_IO 0 /* space is i/o space */ 77e57d534eSdyoung #define SH3_BUS_SPACE_MEM 1 /* space is mem space */ 78e57d534eSdyoung #define SH3_BUS_SPACE_PCMCIA_IO 2 /* PCMCIA IO space */ 79e57d534eSdyoung #define SH3_BUS_SPACE_PCMCIA_MEM 3 /* PCMCIA Mem space */ 80e57d534eSdyoung #define SH3_BUS_SPACE_PCMCIA_ATT 4 /* PCMCIA Attr space */ 81e57d534eSdyoung #define SH3_BUS_SPACE_PCMCIA_8BIT 0x8000 /* PCMCIA BUS 8 BIT WIDTH */ 82e57d534eSdyoung #define SH3_BUS_SPACE_PCMCIA_IO8 \ 83e57d534eSdyoung (SH3_BUS_SPACE_PCMCIA_IO|SH3_BUS_SPACE_PCMCIA_8BIT) 84e57d534eSdyoung #define SH3_BUS_SPACE_PCMCIA_MEM8 \ 85e57d534eSdyoung (SH3_BUS_SPACE_PCMCIA_MEM|SH3_BUS_SPACE_PCMCIA_8BIT) 86e57d534eSdyoung #define SH3_BUS_SPACE_PCMCIA_ATT8 \ 87e57d534eSdyoung (SH3_BUS_SPACE_PCMCIA_ATT|SH3_BUS_SPACE_PCMCIA_8BIT) 88e57d534eSdyoung 89e57d534eSdyoung /* 90e57d534eSdyoung * Bus address and size types 91e57d534eSdyoung */ 92e57d534eSdyoung typedef u_long bus_addr_t; 93e57d534eSdyoung typedef u_long bus_size_t; 94e57d534eSdyoung 95*8a06b90dSskrll #define PRIxBUSADDR "lx" 96*8a06b90dSskrll #define PRIxBUSSIZE "lx" 97*8a06b90dSskrll #define PRIuBUSSIZE "lu" 98*8a06b90dSskrll 99e57d534eSdyoung /* 100e57d534eSdyoung * Access methods for bus resources and address space. 101e57d534eSdyoung */ 102e57d534eSdyoung typedef int bus_space_tag_t; 103e57d534eSdyoung typedef u_long bus_space_handle_t; 104e57d534eSdyoung 105*8a06b90dSskrll #define PRIxBSH "lx" 106*8a06b90dSskrll 107e57d534eSdyoung /* 108e57d534eSdyoung * int bus_space_map (bus_space_tag_t t, bus_addr_t addr, 109e57d534eSdyoung * bus_size_t size, int flags, bus_space_handle_t *bshp); 110e57d534eSdyoung * 111e57d534eSdyoung * Map a region of bus space. 112e57d534eSdyoung */ 113e57d534eSdyoung #define BUS_SPACE_MAP_CACHEABLE 0x01 114e57d534eSdyoung #define BUS_SPACE_MAP_LINEAR 0x02 115e57d534eSdyoung 116e57d534eSdyoung #define BUS_SPACE_BARRIER_READ 0x01 /* force read barrier */ 117e57d534eSdyoung #define BUS_SPACE_BARRIER_WRITE 0x02 /* force write barrier */ 118e57d534eSdyoung 119e57d534eSdyoung #endif /* _SH3_BUS_DEFS_H_ */ 120