1*c9906b54Sthorpej /* $NetBSD: prep_bus.h,v 1.4 2021/02/27 01:31:23 thorpej Exp $ */ 2d974db0aSgarbled 3d974db0aSgarbled /*- 4d974db0aSgarbled * Copyright (c) 2007 The NetBSD Foundation, Inc. 5d974db0aSgarbled * All rights reserved. 6d974db0aSgarbled * 7d974db0aSgarbled * This code is derived from software contributed to The NetBSD Foundation 8d974db0aSgarbled * by Tim Rightnour 9d974db0aSgarbled * 10d974db0aSgarbled * Redistribution and use in source and binary forms, with or without 11d974db0aSgarbled * modification, are permitted provided that the following conditions 12d974db0aSgarbled * are met: 13d974db0aSgarbled * 1. Redistributions of source code must retain the above copyright 14d974db0aSgarbled * notice, this list of conditions and the following disclaimer. 15d974db0aSgarbled * 2. Redistributions in binary form must reproduce the above copyright 16d974db0aSgarbled * notice, this list of conditions and the following disclaimer in the 17d974db0aSgarbled * documentation and/or other materials provided with the distribution. 18d974db0aSgarbled * 19d974db0aSgarbled * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20d974db0aSgarbled * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21d974db0aSgarbled * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22d974db0aSgarbled * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23d974db0aSgarbled * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24d974db0aSgarbled * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25d974db0aSgarbled * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26d974db0aSgarbled * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27d974db0aSgarbled * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28d974db0aSgarbled * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29d974db0aSgarbled * POSSIBILITY OF SUCH DAMAGE. 30d974db0aSgarbled */ 31d974db0aSgarbled 32d974db0aSgarbled #ifndef _POWERPC_PREP_BUS_H_ 33d974db0aSgarbled #define _POWERPC_PREP_BUS_H_ 34d974db0aSgarbled 35d974db0aSgarbled #define PREP_BUS_SPACE_IO 0x80000000 36d974db0aSgarbled #define PREP_BUS_SPACE_MEM 0xC0000000 37d974db0aSgarbled 38d974db0aSgarbled #define PHYS_TO_BUS_MEM(t,x) ((x) | PREP_BUS_SPACE_IO) 39d974db0aSgarbled #define BUS_MEM_TO_PHYS(t,x) ((x) & ~PREP_BUS_SPACE_IO) 40d974db0aSgarbled 41d974db0aSgarbled #define PREP_PHYS_SIZE_IO 0x3f800000 42d974db0aSgarbled #define PREP_PHYS_SIZE_MEM 0x3f000000 43d974db0aSgarbled #define PREP_ISA_SIZE_IO 0x00010000 44d974db0aSgarbled #define PREP_ISA_SIZE_MEM 0x01000000 45d974db0aSgarbled #define PREP_EISA_SIZE_IO 0x0000f000 46d974db0aSgarbled #define PREP_EISA_SIZE_MEM 0x3f000000 47d974db0aSgarbled 48d974db0aSgarbled #define PREP_PHYS_RESVD_START_IO 0x10000 49d974db0aSgarbled #define PREP_PHYS_RESVD_SIZE_IO 0x7F0000 50d974db0aSgarbled 51d974db0aSgarbled #ifdef _KERNEL 52d974db0aSgarbled extern struct powerpc_bus_space prep_io_space_tag; 53d974db0aSgarbled extern struct powerpc_bus_space genppc_isa_io_space_tag; 54d974db0aSgarbled extern struct powerpc_bus_space prep_mem_space_tag; 55d974db0aSgarbled extern struct powerpc_bus_space genppc_isa_mem_space_tag; 56d974db0aSgarbled 57d974db0aSgarbled #include <machine/powerpc.h> 58d974db0aSgarbled 59d974db0aSgarbled void prep_bus_space_init(void); 60*c9906b54Sthorpej void prep_initppc(u_long, u_long, u_int, paddr_t, ...); 61d974db0aSgarbled void mem_regions(struct mem_region **, struct mem_region **); 62d974db0aSgarbled #endif 63d974db0aSgarbled 64d974db0aSgarbled #endif /* _POWERPC_PREP_BUS_H_ */ 65