2005-04-16 15:20:36 -07:00
/*
* Author : MontaVista Software , Inc .
2013-01-22 12:59:30 +01:00
* source @ mvista . com
2005-04-16 15:20:36 -07:00
*
* Copyright 2001 - 2002 MontaVista Software Inc .
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation ; either version 2 of the License , or ( at your
* option ) any later version .
*
* THIS SOFTWARE IS PROVIDED ` ` AS IS ' ' AND ANY EXPRESS OR IMPLIED
* WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED .
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT , INDIRECT ,
* INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING ,
* BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS
* OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR
* TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
*
* You should have received a copy of the GNU General Public License along
* with this program ; if not , write to the Free Software Foundation , Inc . ,
* 675 Mass Ave , Cambridge , MA 0213 9 , USA .
*/
2008-07-11 00:31:36 +09:00
# ifndef __ASM_TXX9_RBTX4927_H
# define __ASM_TXX9_RBTX4927_H
2005-04-16 15:20:36 -07:00
2008-07-11 00:31:36 +09:00
# include <asm/txx9/tx4927.h>
2005-04-16 15:20:36 -07:00
2008-07-11 00:33:08 +09:00
# define RBTX4927_PCIMEM 0x08000000
# define RBTX4927_PCIMEM_SIZE 0x08000000
# define RBTX4927_PCIIO 0x16000000
# define RBTX4927_PCIIO_SIZE 0x01000000
2008-09-01 22:22:38 +09:00
# define RBTX4927_LED_ADDR (IO_BASE + TXX9_CE(2) + 0x00001000)
2008-07-19 01:51:47 +09:00
# define RBTX4927_IMASK_ADDR (IO_BASE + TXX9_CE(2) + 0x00002000)
# define RBTX4927_IMSTAT_ADDR (IO_BASE + TXX9_CE(2) + 0x00002006)
2008-08-19 22:55:05 +09:00
# define RBTX4927_SOFTINT_ADDR (IO_BASE + TXX9_CE(2) + 0x00003000)
2013-01-22 12:59:30 +01:00
# define RBTX4927_SOFTRESET_ADDR (IO_BASE + TXX9_CE(2) + 0x0000f000)
2008-07-19 01:51:47 +09:00
# define RBTX4927_SOFTRESETLOCK_ADDR (IO_BASE + TXX9_CE(2) + 0x0000f002)
# define RBTX4927_PCIRESET_ADDR (IO_BASE + TXX9_CE(2) + 0x0000f006)
# define RBTX4927_BRAMRTC_BASE (IO_BASE + TXX9_CE(2) + 0x00010000)
# define RBTX4927_ETHER_BASE (IO_BASE + TXX9_CE(2) + 0x00020000)
/* Ethernet port address */
# define RBTX4927_ETHER_ADDR (RBTX4927_ETHER_BASE + 0x280)
# define rbtx4927_imask_addr ((__u8 __iomem *)RBTX4927_IMASK_ADDR)
# define rbtx4927_imstat_addr ((__u8 __iomem *)RBTX4927_IMSTAT_ADDR)
2008-08-19 22:55:05 +09:00
# define rbtx4927_softint_addr ((__u8 __iomem *)RBTX4927_SOFTINT_ADDR)
2013-01-22 12:59:30 +01:00
# define rbtx4927_softreset_addr ((__u8 __iomem *)RBTX4927_SOFTRESET_ADDR)
2008-07-19 01:51:47 +09:00
# define rbtx4927_softresetlock_addr \
( ( __u8 __iomem * ) RBTX4927_SOFTRESETLOCK_ADDR )
# define rbtx4927_pcireset_addr ((__u8 __iomem *)RBTX4927_PCIRESET_ADDR)
2008-07-11 00:33:08 +09:00
/* bits for ISTAT/IMASK/IMSTAT */
# define RBTX4927_INTB_PCID 0
# define RBTX4927_INTB_PCIC 1
# define RBTX4927_INTB_PCIB 2
# define RBTX4927_INTB_PCIA 3
# define RBTX4927_INTF_PCID (1 << RBTX4927_INTB_PCID)
# define RBTX4927_INTF_PCIC (1 << RBTX4927_INTB_PCIC)
# define RBTX4927_INTF_PCIB (1 << RBTX4927_INTB_PCIB)
# define RBTX4927_INTF_PCIA (1 << RBTX4927_INTB_PCIA)
2008-07-11 23:27:54 +09:00
# define RBTX4927_NR_IRQ_IOC 8 /* IOC */
# define RBTX4927_IRQ_IOC (TXX9_IRQ_BASE + TX4927_NUM_IR)
2008-07-11 00:33:08 +09:00
# define RBTX4927_IRQ_IOC_PCID (RBTX4927_IRQ_IOC + RBTX4927_INTB_PCID)
# define RBTX4927_IRQ_IOC_PCIC (RBTX4927_IRQ_IOC + RBTX4927_INTB_PCIC)
# define RBTX4927_IRQ_IOC_PCIB (RBTX4927_IRQ_IOC + RBTX4927_INTB_PCIB)
# define RBTX4927_IRQ_IOC_PCIA (RBTX4927_IRQ_IOC + RBTX4927_INTB_PCIA)
2008-07-11 23:27:54 +09:00
# define RBTX4927_IRQ_IOCINT (TXX9_IRQ_BASE + TX4927_IR_INT(1))
2005-04-16 15:20:36 -07:00
# ifdef CONFIG_PCI
2008-07-11 00:33:08 +09:00
# define RBTX4927_ISA_IO_OFFSET RBTX4927_PCIIO
2005-04-16 15:20:36 -07:00
# else
2008-07-11 00:33:08 +09:00
# define RBTX4927_ISA_IO_OFFSET 0
2005-04-16 15:20:36 -07:00
# endif
2008-07-19 01:51:47 +09:00
# define RBTX4927_RTL_8019_BASE (RBTX4927_ETHER_ADDR - mips_io_port_base)
2008-07-11 23:27:54 +09:00
# define RBTX4927_RTL_8019_IRQ (TXX9_IRQ_BASE + TX4927_IR_INT(3))
2005-04-16 15:20:36 -07:00
2008-07-11 23:27:54 +09:00
void rbtx4927_prom_init ( void ) ;
void rbtx4927_irq_setup ( void ) ;
struct pci_dev ;
int rbtx4927_pci_map_irq ( const struct pci_dev * dev , u8 slot , u8 pin ) ;
2007-07-25 00:53:29 +09:00
2008-07-11 00:31:36 +09:00
# endif /* __ASM_TXX9_RBTX4927_H */