1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 3 * 4 * Copyright (C) 2010 Nathan Whitehorn 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19 * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 */ 27 28 #ifndef _POWERPC_PS3_PS3BUS_H 29 #define _POWERPC_PS3_PS3BUS_H 30 31 enum { 32 PS3BUS_IVAR_BUS, 33 PS3BUS_IVAR_DEVICE, 34 PS3BUS_IVAR_BUSTYPE, 35 PS3BUS_IVAR_DEVTYPE, 36 PS3BUS_IVAR_BUSIDX, 37 PS3BUS_IVAR_DEVIDX, 38 }; 39 40 #define PS3BUS_ACCESSOR(A, B, T) \ 41 __BUS_ACCESSOR(ps3bus, A, PS3BUS, B, T) 42 43 PS3BUS_ACCESSOR(bus, BUS, int) 44 PS3BUS_ACCESSOR(device, DEVICE, int) 45 PS3BUS_ACCESSOR(bustype, BUSTYPE, uint64_t) 46 PS3BUS_ACCESSOR(devtype, DEVTYPE, uint64_t) 47 PS3BUS_ACCESSOR(busidx, BUSIDX, int) 48 PS3BUS_ACCESSOR(devidx, DEVIDX, int) 49 50 /* Bus types */ 51 enum { 52 PS3_BUSTYPE_SYSBUS = 4, 53 PS3_BUSTYPE_STORAGE = 5, 54 }; 55 56 /* Device types */ 57 enum { 58 /* System bus devices */ 59 PS3_DEVTYPE_GELIC = 3, 60 PS3_DEVTYPE_USB = 4, 61 PS3_DEVTYPE_GPIO = 6, 62 63 /* Storage bus devices */ 64 PS3_DEVTYPE_DISK = 0, 65 PS3_DEVTYPE_CDROM = 5, 66 PS3_DEVTYPE_FLASH = 14, 67 }; 68 69 #endif /* _POWERPC_PS3_PS3BUS_H */ 70