1 /* 2 * 3 * Copyright 2000-2001 MontaVista Software Inc. 4 * Completed implementation. 5 * Current maintainer 6 * Armin Kuster akuster@mvista.com 7 * 8 * Module name: ibmstb4.c 9 * 10 * 11 * This program is free software; you can redistribute it and/or modify it 12 * under the terms of the GNU General Public License as published by the 13 * Free Software Foundation; either version 2 of the License, or (at your 14 * option) any later version. 15 * 16 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 19 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 22 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 23 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * 27 * You should have received a copy of the GNU General Public License along 28 * with this program; if not, write to the Free Software Foundation, Inc., 29 * 675 Mass Ave, Cambridge, MA 02139, USA. 30 * 31 * History: 12/26/2001 - armin 32 * initial release 33 * 34 * : 05/05/02 - Armin 35 * replaced all const strcuts with new core_ocp 36 * 37 * : 07/07/02 - Armin 38 * added OCP_IRQ_MUL to define EMAC 39 * and added PM register 40 * 41 */ 42 43 #include <linux/init.h> 44 #include <platforms/ibmstb4.h> 45 #include <asm/ocp.h> 46 47 struct ocp_def core_ocp[] __initdata = { 48 { .vendor = OCP_VENDOR_IBM, 49 .function = OCP_FUNC_16550, 50 .index = 0, 51 .paddr = UART0_IO_BASE, 52 .irq = UART0_INT, 53 .pm = IBM_CPM_UART0, 54 }, 55 { .vendor = OCP_VENDOR_IBM, 56 .function = OCP_FUNC_16550, 57 .index = 1, 58 .paddr = UART1_IO_BASE, 59 .irq = UART1_INT, 60 .pm = IBM_CPM_UART1, 61 }, 62 { .vendor = OCP_VENDOR_IBM, 63 .function = OCP_FUNC_16550, 64 .index = 2, 65 .paddr = UART2_IO_BASE, 66 .irq = UART2_INT, 67 .pm = IBM_CPM_UART2, 68 }, 69 { .vendor = OCP_VENDOR_IBM, 70 .function = OCP_FUNC_IIC, 71 .paddr = IIC0_BASE, 72 .irq = IIC0_IRQ, 73 .pm = IBM_CPM_IIC0, 74 }, 75 { .vendor = OCP_VENDOR_IBM, 76 .function = OCP_FUNC_IIC, 77 .paddr = IIC1_BASE, 78 .irq = IIC1_IRQ, 79 .pm = IBM_CPM_IIC1, 80 }, 81 { .vendor = OCP_VENDOR_IBM, 82 .function = OCP_FUNC_GPIO, 83 .paddr = GPIO0_BASE, 84 .irq = OCP_IRQ_NA, 85 .pm = IBM_CPM_GPIO0, 86 }, 87 { .vendor = OCP_VENDOR_IBM, 88 .function = OCP_FUNC_IDE, 89 .paddr = IDE0_BASE, 90 .irq = IDE0_IRQ, 91 .pm = OCP_CPM_NA, 92 }, 93 { .vendor = OCP_VENDOR_IBM, 94 .function = OCP_FUNC_USB, 95 .paddr = USB0_BASE, 96 .irq = USB0_IRQ, 97 .pm = OCP_CPM_NA, 98 }, 99 { .vendor = OCP_VENDOR_INVALID, 100 } 101 }; 102