[ARM] add Marvell Kirkwood (88F6000) SoC support
The Marvell Kirkwood (88F6000) is a family of ARM SoCs based on a
Shiva CPU core, and features a DDR2 controller, a x1 PCIe interface,
a USB 2.0 interface, a SPI controller, a crypto accelerator, a TS
interface, and IDMA/XOR engines, and depending on the model, also
features one or two Gigabit Ethernet interfaces, two SATA II
interfaces, one or two TWSI interfaces, one or two UARTs, a
TDM/SLIC interface, a NAND controller, an I2S/SPDIF interface, and
an SDIO interface.
This patch adds supports for the Marvell DB-88F6281-BP Development
Board and the RD-88F6192-NAS and the RD-88F6281 Reference Designs,
enabling support for the PCIe interface, the USB interface, the
ethernet interfaces, the SATA interfaces, the TWSI interfaces, the
UARTs, and the NAND controller.
Signed-off-by: Saeed Bishara <saeed@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-06-22 22:45:06 +02:00
/*
* arch / arm / mach - kirkwood / irq . c
*
* Kirkwood IRQ handling .
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed " as is " without any
* warranty of any kind , whether express or implied .
*/
# include <linux/kernel.h>
# include <linux/init.h>
# include <linux/irq.h>
# include <linux/io.h>
2009-04-22 20:08:17 +01:00
# include <mach/bridge-regs.h>
2008-08-09 13:44:58 +02:00
# include <plat/irq.h>
2008-10-20 01:51:04 +02:00
# include <asm/gpio.h>
[ARM] add Marvell Kirkwood (88F6000) SoC support
The Marvell Kirkwood (88F6000) is a family of ARM SoCs based on a
Shiva CPU core, and features a DDR2 controller, a x1 PCIe interface,
a USB 2.0 interface, a SPI controller, a crypto accelerator, a TS
interface, and IDMA/XOR engines, and depending on the model, also
features one or two Gigabit Ethernet interfaces, two SATA II
interfaces, one or two TWSI interfaces, one or two UARTs, a
TDM/SLIC interface, a NAND controller, an I2S/SPDIF interface, and
an SDIO interface.
This patch adds supports for the Marvell DB-88F6281-BP Development
Board and the RD-88F6192-NAS and the RD-88F6281 Reference Designs,
enabling support for the PCIe interface, the USB interface, the
ethernet interfaces, the SATA interfaces, the TWSI interfaces, the
UARTs, and the NAND controller.
Signed-off-by: Saeed Bishara <saeed@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-06-22 22:45:06 +02:00
# include "common.h"
2008-10-20 01:51:04 +02:00
static void gpio_irq_handler ( unsigned int irq , struct irq_desc * desc )
{
BUG_ON ( irq < IRQ_KIRKWOOD_GPIO_LOW_0_7 ) ;
BUG_ON ( irq > IRQ_KIRKWOOD_GPIO_HIGH_16_23 ) ;
orion_gpio_irq_handler ( ( irq - IRQ_KIRKWOOD_GPIO_LOW_0_7 ) < < 3 ) ;
}
[ARM] add Marvell Kirkwood (88F6000) SoC support
The Marvell Kirkwood (88F6000) is a family of ARM SoCs based on a
Shiva CPU core, and features a DDR2 controller, a x1 PCIe interface,
a USB 2.0 interface, a SPI controller, a crypto accelerator, a TS
interface, and IDMA/XOR engines, and depending on the model, also
features one or two Gigabit Ethernet interfaces, two SATA II
interfaces, one or two TWSI interfaces, one or two UARTs, a
TDM/SLIC interface, a NAND controller, an I2S/SPDIF interface, and
an SDIO interface.
This patch adds supports for the Marvell DB-88F6281-BP Development
Board and the RD-88F6192-NAS and the RD-88F6281 Reference Designs,
enabling support for the PCIe interface, the USB interface, the
ethernet interfaces, the SATA interfaces, the TWSI interfaces, the
UARTs, and the NAND controller.
Signed-off-by: Saeed Bishara <saeed@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-06-22 22:45:06 +02:00
void __init kirkwood_init_irq ( void )
{
2008-10-20 01:51:04 +02:00
int i ;
[ARM] add Marvell Kirkwood (88F6000) SoC support
The Marvell Kirkwood (88F6000) is a family of ARM SoCs based on a
Shiva CPU core, and features a DDR2 controller, a x1 PCIe interface,
a USB 2.0 interface, a SPI controller, a crypto accelerator, a TS
interface, and IDMA/XOR engines, and depending on the model, also
features one or two Gigabit Ethernet interfaces, two SATA II
interfaces, one or two TWSI interfaces, one or two UARTs, a
TDM/SLIC interface, a NAND controller, an I2S/SPDIF interface, and
an SDIO interface.
This patch adds supports for the Marvell DB-88F6281-BP Development
Board and the RD-88F6192-NAS and the RD-88F6281 Reference Designs,
enabling support for the PCIe interface, the USB interface, the
ethernet interfaces, the SATA interfaces, the TWSI interfaces, the
UARTs, and the NAND controller.
Signed-off-by: Saeed Bishara <saeed@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-06-22 22:45:06 +02:00
orion_irq_init ( 0 , ( void __iomem * ) ( IRQ_VIRT_BASE + IRQ_MASK_LOW_OFF ) ) ;
orion_irq_init ( 32 , ( void __iomem * ) ( IRQ_VIRT_BASE + IRQ_MASK_HIGH_OFF ) ) ;
2008-10-20 01:51:04 +02:00
/*
* Mask and clear GPIO IRQ interrupts .
*/
writel ( 0 , GPIO_LEVEL_MASK ( 0 ) ) ;
writel ( 0 , GPIO_EDGE_MASK ( 0 ) ) ;
writel ( 0 , GPIO_EDGE_CAUSE ( 0 ) ) ;
writel ( 0 , GPIO_LEVEL_MASK ( 32 ) ) ;
writel ( 0 , GPIO_EDGE_MASK ( 32 ) ) ;
writel ( 0 , GPIO_EDGE_CAUSE ( 32 ) ) ;
for ( i = IRQ_KIRKWOOD_GPIO_START ; i < NR_IRQS ; i + + ) {
2009-02-17 20:45:50 +01:00
set_irq_chip ( i , & orion_gpio_irq_chip ) ;
2008-10-20 01:51:04 +02:00
set_irq_handler ( i , handle_level_irq ) ;
irq_desc [ i ] . status | = IRQ_LEVEL ;
set_irq_flags ( i , IRQF_VALID ) ;
}
set_irq_chained_handler ( IRQ_KIRKWOOD_GPIO_LOW_0_7 , gpio_irq_handler ) ;
set_irq_chained_handler ( IRQ_KIRKWOOD_GPIO_LOW_8_15 , gpio_irq_handler ) ;
set_irq_chained_handler ( IRQ_KIRKWOOD_GPIO_LOW_16_23 , gpio_irq_handler ) ;
set_irq_chained_handler ( IRQ_KIRKWOOD_GPIO_LOW_24_31 , gpio_irq_handler ) ;
set_irq_chained_handler ( IRQ_KIRKWOOD_GPIO_HIGH_0_7 , gpio_irq_handler ) ;
set_irq_chained_handler ( IRQ_KIRKWOOD_GPIO_HIGH_8_15 , gpio_irq_handler ) ;
set_irq_chained_handler ( IRQ_KIRKWOOD_GPIO_HIGH_16_23 , gpio_irq_handler ) ;
[ARM] add Marvell Kirkwood (88F6000) SoC support
The Marvell Kirkwood (88F6000) is a family of ARM SoCs based on a
Shiva CPU core, and features a DDR2 controller, a x1 PCIe interface,
a USB 2.0 interface, a SPI controller, a crypto accelerator, a TS
interface, and IDMA/XOR engines, and depending on the model, also
features one or two Gigabit Ethernet interfaces, two SATA II
interfaces, one or two TWSI interfaces, one or two UARTs, a
TDM/SLIC interface, a NAND controller, an I2S/SPDIF interface, and
an SDIO interface.
This patch adds supports for the Marvell DB-88F6281-BP Development
Board and the RD-88F6192-NAS and the RD-88F6281 Reference Designs,
enabling support for the PCIe interface, the USB interface, the
ethernet interfaces, the SATA interfaces, the TWSI interfaces, the
UARTs, and the NAND controller.
Signed-off-by: Saeed Bishara <saeed@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-06-22 22:45:06 +02:00
}