change danube 2 ifxmips

SVN-Revision: 9821
This commit is contained in:
John Crispin 2007-12-22 00:17:22 +00:00
parent 285395cfca
commit 7af3296c76
31 changed files with 1846 additions and 1845 deletions

View file

@ -39,15 +39,6 @@ CONFIG_CPU_SUPPORTS_HIGHMEM=y
# CONFIG_CPU_TX49XX is not set # CONFIG_CPU_TX49XX is not set
# CONFIG_CPU_VR41XX is not set # CONFIG_CPU_VR41XX is not set
# CONFIG_CRYPTO_HW is not set # CONFIG_CRYPTO_HW is not set
CONFIG_DANUBE=y
CONFIG_DANUBE_ASC_UART=y
CONFIG_DANUBE_EEPROM=y
CONFIG_DANUBE_GPIO=y
CONFIG_DANUBE_LED=y
CONFIG_DANUBE_MII0=y
CONFIG_DANUBE_MII1=y
CONFIG_DANUBE_SSC=y
CONFIG_DANUBE_WDT=y
CONFIG_DEVPORT=y CONFIG_DEVPORT=y
# CONFIG_DM9000 is not set # CONFIG_DM9000 is not set
CONFIG_DMA_NEED_PCI_MAP_STATE=y CONFIG_DMA_NEED_PCI_MAP_STATE=y
@ -65,9 +56,19 @@ CONFIG_HW_HAS_PCI=y
CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM=y
# CONFIG_I2C is not set # CONFIG_I2C is not set
# CONFIG_IDE is not set # CONFIG_IDE is not set
CONFIG_IFXMIPS=y
CONFIG_IFXMIPS_ASC_UART=y
CONFIG_IFXMIPS_EEPROM=y
CONFIG_IFXMIPS_GPIO=y
CONFIG_IFXMIPS_LED=y
# CONFIG_IFXMIPS_MII0 is not set
# CONFIG_IFXMIPS_MII1 is not set
CONFIG_IFXMIPS_SSC=y
CONFIG_IFXMIPS_WDT=y
CONFIG_INITRAMFS_SOURCE="" CONFIG_INITRAMFS_SOURCE=""
CONFIG_IRQ_CPU=y CONFIG_IRQ_CPU=y
CONFIG_KALLSYMS=y CONFIG_KALLSYMS=y
# CONFIG_LEDS_ALIX is not set
# CONFIG_LEMOTE_FULONG is not set # CONFIG_LEMOTE_FULONG is not set
# CONFIG_MACH_ALCHEMY is not set # CONFIG_MACH_ALCHEMY is not set
# CONFIG_MACH_DECSTATION is not set # CONFIG_MACH_DECSTATION is not set
@ -106,12 +107,12 @@ CONFIG_MTD_CHAR=y
# CONFIG_MTD_CMDLINE_PARTS is not set # CONFIG_MTD_CMDLINE_PARTS is not set
CONFIG_MTD_COMPLEX_MAPPINGS=y CONFIG_MTD_COMPLEX_MAPPINGS=y
# CONFIG_MTD_CONCAT is not set # CONFIG_MTD_CONCAT is not set
CONFIG_MTD_DANUBE=y
# CONFIG_MTD_DEBUG is not set # CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set # CONFIG_MTD_DOC2001PLUS is not set
CONFIG_MTD_GEN_PROBE=y CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_IFXMIPS=y
# CONFIG_MTD_JEDECPROBE is not set # CONFIG_MTD_JEDECPROBE is not set
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
@ -153,7 +154,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_SCSI_WAIT_SCAN=m CONFIG_SCSI_WAIT_SCAN=m
# CONFIG_SERIAL_8250 is not set # CONFIG_SERIAL_8250 is not set
CONFIG_SERIAL_DANUBE=y # CONFIG_SERIAL_IFXMIPS is not set
# CONFIG_SGI_IP22 is not set # CONFIG_SGI_IP22 is not set
# CONFIG_SGI_IP27 is not set # CONFIG_SGI_IP27 is not set
# CONFIG_SGI_IP32 is not set # CONFIG_SGI_IP32 is not set

View file

@ -2,33 +2,33 @@
menu "Danube built-in" menu "Danube built-in"
config DANUBE_ASC_UART config IFXMIPS_ASC_UART
bool "Danube asc uart" bool "Danube asc uart"
select SERIAL_CORE select SERIAL_CORE
select SERIAL_CORE_CONSOLE select SERIAL_CORE_CONSOLE
default y default y
config MTD_DANUBE config MTD_IFXMIPS
bool "Danube flash map" bool "Danube flash map"
default y default y
config DANUBE_WDT config IFXMIPS_WDT
bool "Danube watchdog" bool "Danube watchdog"
default y default y
config DANUBE_LED config IFXMIPS_LED
bool "Danube led" bool "Danube led"
default y default y
config DANUBE_GPIO config IFXMIPS_GPIO
bool "Danube gpio" bool "Danube gpio"
default y default y
config DANUBE_SSC config IFXMIPS_SSC
bool "Danube ssc" bool "Danube ssc"
default y default y
config DANUBE_EEPROM config IFXMIPS_EEPROM
bool "Danube eeprom" bool "Danube eeprom"
default y default y

View file

@ -4,7 +4,7 @@
# #
# Makefile for Infineon Danube # Makefile for Infineon Danube
# #
obj-y := reset.o prom.o setup.o interrupt.o dma-core.o obj-y := reset.o prom.o setup.o interrupt.o dma-core.o pmu.o
obj-$(CONFIG_PCI) += pci.o obj-$(CONFIG_PCI) += pci.o
obj-$(CONFIG_KGDB) += kgdb_serial.o obj-$(CONFIG_KGDB) += kgdb_serial.o

View file

@ -25,7 +25,7 @@
#include <asm/danube/danube_pmu.h> #include <asm/danube/danube_pmu.h>
/*25 descriptors for each dma channel,4096/8/20=25.xx*/ /*25 descriptors for each dma channel,4096/8/20=25.xx*/
#define DANUBE_DMA_DESCRIPTOR_OFFSET 25 #define IFXMIPS_DMA_DESCRIPTOR_OFFSET 25
#define MAX_DMA_DEVICE_NUM 6 /*max ports connecting to dma */ #define MAX_DMA_DEVICE_NUM 6 /*max ports connecting to dma */
#define MAX_DMA_CHANNEL_NUM 20 /*max dma channels */ #define MAX_DMA_CHANNEL_NUM 20 /*max dma channels */
@ -44,26 +44,26 @@ char global_device_name[MAX_DMA_DEVICE_NUM][20] =
{ {"PPE"}, {"DEU"}, {"SPI"}, {"SDIO"}, {"MCTRL0"}, {"MCTRL1"} }; { {"PPE"}, {"DEU"}, {"SPI"}, {"SDIO"}, {"MCTRL0"}, {"MCTRL1"} };
_dma_chan_map default_dma_map[MAX_DMA_CHANNEL_NUM] = { _dma_chan_map default_dma_map[MAX_DMA_CHANNEL_NUM] = {
{"PPE", DANUBE_DMA_RX, 0, DANUBE_DMA_CH0_INT, 0}, {"PPE", IFXMIPS_DMA_RX, 0, IFXMIPS_DMA_CH0_INT, 0},
{"PPE", DANUBE_DMA_TX, 0, DANUBE_DMA_CH1_INT, 0}, {"PPE", IFXMIPS_DMA_TX, 0, IFXMIPS_DMA_CH1_INT, 0},
{"PPE", DANUBE_DMA_RX, 1, DANUBE_DMA_CH2_INT, 1}, {"PPE", IFXMIPS_DMA_RX, 1, IFXMIPS_DMA_CH2_INT, 1},
{"PPE", DANUBE_DMA_TX, 1, DANUBE_DMA_CH3_INT, 1}, {"PPE", IFXMIPS_DMA_TX, 1, IFXMIPS_DMA_CH3_INT, 1},
{"PPE", DANUBE_DMA_RX, 2, DANUBE_DMA_CH4_INT, 2}, {"PPE", IFXMIPS_DMA_RX, 2, IFXMIPS_DMA_CH4_INT, 2},
{"PPE", DANUBE_DMA_TX, 2, DANUBE_DMA_CH5_INT, 2}, {"PPE", IFXMIPS_DMA_TX, 2, IFXMIPS_DMA_CH5_INT, 2},
{"PPE", DANUBE_DMA_RX, 3, DANUBE_DMA_CH6_INT, 3}, {"PPE", IFXMIPS_DMA_RX, 3, IFXMIPS_DMA_CH6_INT, 3},
{"PPE", DANUBE_DMA_TX, 3, DANUBE_DMA_CH7_INT, 3}, {"PPE", IFXMIPS_DMA_TX, 3, IFXMIPS_DMA_CH7_INT, 3},
{"DEU", DANUBE_DMA_RX, 0, DANUBE_DMA_CH8_INT, 0}, {"DEU", IFXMIPS_DMA_RX, 0, IFXMIPS_DMA_CH8_INT, 0},
{"DEU", DANUBE_DMA_TX, 0, DANUBE_DMA_CH9_INT, 0}, {"DEU", IFXMIPS_DMA_TX, 0, IFXMIPS_DMA_CH9_INT, 0},
{"DEU", DANUBE_DMA_RX, 1, DANUBE_DMA_CH10_INT, 1}, {"DEU", IFXMIPS_DMA_RX, 1, IFXMIPS_DMA_CH10_INT, 1},
{"DEU", DANUBE_DMA_TX, 1, DANUBE_DMA_CH11_INT, 1}, {"DEU", IFXMIPS_DMA_TX, 1, IFXMIPS_DMA_CH11_INT, 1},
{"SPI", DANUBE_DMA_RX, 0, DANUBE_DMA_CH12_INT, 0}, {"SPI", IFXMIPS_DMA_RX, 0, IFXMIPS_DMA_CH12_INT, 0},
{"SPI", DANUBE_DMA_TX, 0, DANUBE_DMA_CH13_INT, 0}, {"SPI", IFXMIPS_DMA_TX, 0, IFXMIPS_DMA_CH13_INT, 0},
{"SDIO", DANUBE_DMA_RX, 0, DANUBE_DMA_CH14_INT, 0}, {"SDIO", IFXMIPS_DMA_RX, 0, IFXMIPS_DMA_CH14_INT, 0},
{"SDIO", DANUBE_DMA_TX, 0, DANUBE_DMA_CH15_INT, 0}, {"SDIO", IFXMIPS_DMA_TX, 0, IFXMIPS_DMA_CH15_INT, 0},
{"MCTRL0", DANUBE_DMA_RX, 0, DANUBE_DMA_CH16_INT, 0}, {"MCTRL0", IFXMIPS_DMA_RX, 0, IFXMIPS_DMA_CH16_INT, 0},
{"MCTRL0", DANUBE_DMA_TX, 0, DANUBE_DMA_CH17_INT, 0}, {"MCTRL0", IFXMIPS_DMA_TX, 0, IFXMIPS_DMA_CH17_INT, 0},
{"MCTRL1", DANUBE_DMA_RX, 1, DANUBE_DMA_CH18_INT, 1}, {"MCTRL1", IFXMIPS_DMA_RX, 1, IFXMIPS_DMA_CH18_INT, 1},
{"MCTRL1", DANUBE_DMA_TX, 1, DANUBE_DMA_CH19_INT, 1} {"MCTRL1", IFXMIPS_DMA_TX, 1, IFXMIPS_DMA_CH19_INT, 1}
}; };
_dma_chan_map *chan_map = default_dma_map; _dma_chan_map *chan_map = default_dma_map;
@ -97,9 +97,9 @@ enable_ch_irq (_dma_channel_info *pCh)
int flag; int flag;
local_irq_save(flag); local_irq_save(flag);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
writel(0x4a, DANUBE_DMA_CIE); writel(0x4a, IFXMIPS_DMA_CIE);
writel(readl(DANUBE_DMA_IRNEN) | (1 << chan_no), DANUBE_DMA_IRNEN); writel(readl(IFXMIPS_DMA_IRNEN) | (1 << chan_no), IFXMIPS_DMA_IRNEN);
local_irq_restore(flag); local_irq_restore(flag);
enable_danube_irq(pCh->irq); enable_danube_irq(pCh->irq);
} }
@ -112,9 +112,9 @@ disable_ch_irq (_dma_channel_info *pCh)
local_irq_save(flag); local_irq_save(flag);
g_danube_dma_int_status &= ~(1 << chan_no); g_danube_dma_int_status &= ~(1 << chan_no);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
writel(0, DANUBE_DMA_CIE); writel(0, IFXMIPS_DMA_CIE);
writel(readl(DANUBE_DMA_IRNEN) & ~(1 << chan_no), DANUBE_DMA_IRNEN); writel(readl(IFXMIPS_DMA_IRNEN) & ~(1 << chan_no), IFXMIPS_DMA_IRNEN);
local_irq_restore(flag); local_irq_restore(flag);
mask_and_ack_danube_irq(pCh->irq); mask_and_ack_danube_irq(pCh->irq);
} }
@ -126,9 +126,9 @@ open_chan (_dma_channel_info *pCh)
int chan_no = (int)(pCh - dma_chan); int chan_no = (int)(pCh - dma_chan);
local_irq_save(flag); local_irq_save(flag);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
writel(readl(DANUBE_DMA_CCTRL) | 1, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) | 1, IFXMIPS_DMA_CCTRL);
if(pCh->dir == DANUBE_DMA_RX) if(pCh->dir == IFXMIPS_DMA_RX)
enable_ch_irq(pCh); enable_ch_irq(pCh);
local_irq_restore(flag); local_irq_restore(flag);
} }
@ -140,8 +140,8 @@ close_chan(_dma_channel_info *pCh)
int chan_no = (int) (pCh - dma_chan); int chan_no = (int) (pCh - dma_chan);
local_irq_save(flag); local_irq_save(flag);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
writel(readl(DANUBE_DMA_CCTRL) & ~1, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) & ~1, IFXMIPS_DMA_CCTRL);
disable_ch_irq(pCh); disable_ch_irq(pCh);
local_irq_restore(flag); local_irq_restore(flag);
} }
@ -151,8 +151,8 @@ reset_chan (_dma_channel_info *pCh)
{ {
int chan_no = (int) (pCh - dma_chan); int chan_no = (int) (pCh - dma_chan);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
writel(readl(DANUBE_DMA_CCTRL) | 2, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) | 2, IFXMIPS_DMA_CCTRL);
} }
void void
@ -176,10 +176,10 @@ rx_chan_intr_handler (int chan_no)
pCh->weight--; pCh->weight--;
} else { } else {
local_irq_save(flag); local_irq_save(flag);
tmp = readl(DANUBE_DMA_CS); tmp = readl(IFXMIPS_DMA_CS);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
writel(readl(DANUBE_DMA_CIS) | 0x7e, DANUBE_DMA_CIS); writel(readl(IFXMIPS_DMA_CIS) | 0x7e, IFXMIPS_DMA_CIS);
writel(tmp, DANUBE_DMA_CS); writel(tmp, IFXMIPS_DMA_CS);
g_danube_dma_int_status &= ~(1 << chan_no); g_danube_dma_int_status &= ~(1 << chan_no);
local_irq_restore(flag); local_irq_restore(flag);
enable_danube_irq(dma_chan[chan_no].irq); enable_danube_irq(dma_chan[chan_no].irq);
@ -195,10 +195,10 @@ tx_chan_intr_handler (int chan_no)
int flag; int flag;
local_irq_save(flag); local_irq_save(flag);
tmp = readl(DANUBE_DMA_CS); tmp = readl(IFXMIPS_DMA_CS);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
writel(readl(DANUBE_DMA_CIS) | 0x7e, DANUBE_DMA_CIS); writel(readl(IFXMIPS_DMA_CIS) | 0x7e, IFXMIPS_DMA_CIS);
writel(tmp, DANUBE_DMA_CS); writel(tmp, IFXMIPS_DMA_CS);
g_danube_dma_int_status &= ~(1 << chan_no); g_danube_dma_int_status &= ~(1 << chan_no);
local_irq_restore(flag); local_irq_restore(flag);
pDev->current_tx_chan = pCh->rel_chan_no; pDev->current_tx_chan = pCh->rel_chan_no;
@ -238,7 +238,7 @@ do_dma_tasklet (unsigned long unused)
if (chan_no >= 0) if (chan_no >= 0)
{ {
if (chan_map[chan_no].dir == DANUBE_DMA_RX) if (chan_map[chan_no].dir == IFXMIPS_DMA_RX)
rx_chan_intr_handler(chan_no); rx_chan_intr_handler(chan_no);
else else
tx_chan_intr_handler(chan_no); tx_chan_intr_handler(chan_no);
@ -272,10 +272,10 @@ dma_interrupt (int irq, void *dev_id)
if (chan_no < 0 || chan_no > 19) if (chan_no < 0 || chan_no > 19)
BUG(); BUG();
tmp = readl(DANUBE_DMA_IRNEN); tmp = readl(IFXMIPS_DMA_IRNEN);
writel(0, DANUBE_DMA_IRNEN); writel(0, IFXMIPS_DMA_IRNEN);
g_danube_dma_int_status |= 1 << chan_no; g_danube_dma_int_status |= 1 << chan_no;
writel(tmp, DANUBE_DMA_IRNEN); writel(tmp, IFXMIPS_DMA_IRNEN);
mask_and_ack_danube_irq(irq); mask_and_ack_danube_irq(irq);
if (!g_danube_dma_in_process) if (!g_danube_dma_in_process)
@ -328,7 +328,7 @@ dma_device_register(_dma_device_info *dev)
for (i = 0; i < dev->max_tx_chan_num; i++) for (i = 0; i < dev->max_tx_chan_num; i++)
{ {
pCh = dev->tx_chan[i]; pCh = dev->tx_chan[i];
if (pCh->control == DANUBE_DMA_CH_ON) if (pCh->control == IFXMIPS_DMA_CH_ON)
{ {
chan_no = (int)(pCh - dma_chan); chan_no = (int)(pCh - dma_chan);
for (j = 0; j < pCh->desc_len; j++) for (j = 0; j < pCh->desc_len; j++)
@ -337,16 +337,16 @@ dma_device_register(_dma_device_info *dev)
memset(tx_desc_p, 0, sizeof(struct tx_desc)); memset(tx_desc_p, 0, sizeof(struct tx_desc));
} }
local_irq_save(flag); local_irq_save(flag);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
/*check if the descriptor length is changed */ /*check if the descriptor length is changed */
if (readl(DANUBE_DMA_CDLEN) != pCh->desc_len) if (readl(IFXMIPS_DMA_CDLEN) != pCh->desc_len)
writel(pCh->desc_len, DANUBE_DMA_CDLEN); writel(pCh->desc_len, IFXMIPS_DMA_CDLEN);
writel(readl(DANUBE_DMA_CCTRL) & ~1, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) & ~1, IFXMIPS_DMA_CCTRL);
writel(readl(DANUBE_DMA_CCTRL) | 2, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) | 2, IFXMIPS_DMA_CCTRL);
while (readl(DANUBE_DMA_CCTRL) & 2){}; while (readl(IFXMIPS_DMA_CCTRL) & 2){};
writel(readl(DANUBE_DMA_IRNEN) | (1 << chan_no), DANUBE_DMA_IRNEN); writel(readl(IFXMIPS_DMA_IRNEN) | (1 << chan_no), IFXMIPS_DMA_IRNEN);
writel(0x30100, DANUBE_DMA_CCTRL); /*reset and enable channel,enable channel later */ writel(0x30100, IFXMIPS_DMA_CCTRL); /*reset and enable channel,enable channel later */
local_irq_restore(flag); local_irq_restore(flag);
} }
} }
@ -354,7 +354,7 @@ dma_device_register(_dma_device_info *dev)
for (i = 0; i < dev->max_rx_chan_num; i++) for (i = 0; i < dev->max_rx_chan_num; i++)
{ {
pCh = dev->rx_chan[i]; pCh = dev->rx_chan[i];
if (pCh->control == DANUBE_DMA_CH_ON) if (pCh->control == IFXMIPS_DMA_CH_ON)
{ {
chan_no = (int)(pCh - dma_chan); chan_no = (int)(pCh - dma_chan);
@ -376,16 +376,16 @@ dma_device_register(_dma_device_info *dev)
} }
local_irq_save(flag); local_irq_save(flag);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
/*check if the descriptor length is changed */ /*check if the descriptor length is changed */
if (readl(DANUBE_DMA_CDLEN) != pCh->desc_len) if (readl(IFXMIPS_DMA_CDLEN) != pCh->desc_len)
writel(pCh->desc_len, DANUBE_DMA_CDLEN); writel(pCh->desc_len, IFXMIPS_DMA_CDLEN);
writel(readl(DANUBE_DMA_CCTRL) & ~1, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) & ~1, IFXMIPS_DMA_CCTRL);
writel(readl(DANUBE_DMA_CCTRL) | 2, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) | 2, IFXMIPS_DMA_CCTRL);
while (readl(DANUBE_DMA_CCTRL) & 2){}; while (readl(IFXMIPS_DMA_CCTRL) & 2){};
writel(0x0a, DANUBE_DMA_CIE); /*fix me, should enable all the interrupts here? */ writel(0x0a, IFXMIPS_DMA_CIE); /*fix me, should enable all the interrupts here? */
writel(readl(DANUBE_DMA_IRNEN) | (1 << chan_no), DANUBE_DMA_IRNEN); writel(readl(IFXMIPS_DMA_IRNEN) | (1 << chan_no), IFXMIPS_DMA_IRNEN);
writel(0x30000, DANUBE_DMA_CCTRL); writel(0x30000, IFXMIPS_DMA_CCTRL);
local_irq_restore(flag); local_irq_restore(flag);
enable_danube_irq(dma_chan[chan_no].irq); enable_danube_irq(dma_chan[chan_no].irq);
} }
@ -405,18 +405,18 @@ dma_device_unregister (_dma_device_info *dev)
for (i = 0; i < dev->max_tx_chan_num; i++) for (i = 0; i < dev->max_tx_chan_num; i++)
{ {
pCh = dev->tx_chan[i]; pCh = dev->tx_chan[i];
if (pCh->control == DANUBE_DMA_CH_ON) if (pCh->control == IFXMIPS_DMA_CH_ON)
{ {
chan_no = (int)(dev->tx_chan[i] - dma_chan); chan_no = (int)(dev->tx_chan[i] - dma_chan);
local_irq_save (flag); local_irq_save (flag);
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
pCh->curr_desc = 0; pCh->curr_desc = 0;
pCh->prev_desc = 0; pCh->prev_desc = 0;
pCh->control = DANUBE_DMA_CH_OFF; pCh->control = IFXMIPS_DMA_CH_OFF;
writel(0, DANUBE_DMA_CIE); /*fix me, should disable all the interrupts here? */ writel(0, IFXMIPS_DMA_CIE); /*fix me, should disable all the interrupts here? */
writel(readl(DANUBE_DMA_IRNEN) & ~(1 << chan_no), DANUBE_DMA_IRNEN); /*disable interrupts */ writel(readl(IFXMIPS_DMA_IRNEN) & ~(1 << chan_no), IFXMIPS_DMA_IRNEN); /*disable interrupts */
writel(readl(DANUBE_DMA_CCTRL) & ~1, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) & ~1, IFXMIPS_DMA_CCTRL);
while (readl(DANUBE_DMA_CCTRL) & 1) {}; while (readl(IFXMIPS_DMA_CCTRL) & 1) {};
local_irq_restore (flag); local_irq_restore (flag);
for (j = 0; j < pCh->desc_len; j++) for (j = 0; j < pCh->desc_len; j++)
@ -444,13 +444,13 @@ dma_device_unregister (_dma_device_info *dev)
g_danube_dma_int_status &= ~(1 << chan_no); g_danube_dma_int_status &= ~(1 << chan_no);
pCh->curr_desc = 0; pCh->curr_desc = 0;
pCh->prev_desc = 0; pCh->prev_desc = 0;
pCh->control = DANUBE_DMA_CH_OFF; pCh->control = IFXMIPS_DMA_CH_OFF;
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
writel(0, DANUBE_DMA_CIE); /*fix me, should disable all the interrupts here? */ writel(0, IFXMIPS_DMA_CIE); /*fix me, should disable all the interrupts here? */
writel(readl(DANUBE_DMA_IRNEN) & ~(1 << chan_no), DANUBE_DMA_IRNEN); /*disable interrupts */ writel(readl(IFXMIPS_DMA_IRNEN) & ~(1 << chan_no), IFXMIPS_DMA_IRNEN); /*disable interrupts */
writel(readl(DANUBE_DMA_CCTRL) & ~1, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) & ~1, IFXMIPS_DMA_CCTRL);
while (readl(DANUBE_DMA_CCTRL) & 1) {}; while (readl(IFXMIPS_DMA_CCTRL) & 1) {};
local_irq_restore (flag); local_irq_restore (flag);
for (j = 0; j < pCh->desc_len; j++) for (j = 0; j < pCh->desc_len; j++)
@ -577,8 +577,8 @@ dma_device_write (struct dma_device_info *dma_dev, u8 * dataptr, int len, void *
dma_dev->intr_handler (dma_dev, TX_BUF_FULL_INT); dma_dev->intr_handler (dma_dev, TX_BUF_FULL_INT);
} }
writel(chan_no, DANUBE_DMA_CS); writel(chan_no, IFXMIPS_DMA_CS);
tmp = readl(DANUBE_DMA_CCTRL); tmp = readl(IFXMIPS_DMA_CCTRL);
if (!(tmp & 1)) if (!(tmp & 1))
pCh->open (pCh); pCh->open (pCh);
@ -625,14 +625,14 @@ map_dma_chan(_dma_chan_map *map)
dma_devs[i].rx_burst_len = 4; dma_devs[i].rx_burst_len = 4;
if (i == 0) if (i == 0)
{ {
writel(0, DANUBE_DMA_PS); writel(0, IFXMIPS_DMA_PS);
writel(readl(DANUBE_DMA_PCTRL) | ((0xf << 8) | (1 << 6)), DANUBE_DMA_PCTRL); /*enable dma drop */ writel(readl(IFXMIPS_DMA_PCTRL) | ((0xf << 8) | (1 << 6)), IFXMIPS_DMA_PCTRL); /*enable dma drop */
} }
if (i == 1) if (i == 1)
{ {
writel(1, DANUBE_DMA_PS); writel(1, IFXMIPS_DMA_PS);
writel(0x14, DANUBE_DMA_PCTRL); /*deu port setting */ writel(0x14, IFXMIPS_DMA_PCTRL); /*deu port setting */
} }
for (j = 0; j < MAX_DMA_CHANNEL_NUM; j++) for (j = 0; j < MAX_DMA_CHANNEL_NUM; j++)
@ -644,8 +644,8 @@ map_dma_chan(_dma_chan_map *map)
dma_chan[j].enable_irq = &enable_ch_irq; dma_chan[j].enable_irq = &enable_ch_irq;
dma_chan[j].disable_irq = &disable_ch_irq; dma_chan[j].disable_irq = &disable_ch_irq;
dma_chan[j].rel_chan_no = map[j].rel_chan_no; dma_chan[j].rel_chan_no = map[j].rel_chan_no;
dma_chan[j].control = DANUBE_DMA_CH_OFF; dma_chan[j].control = IFXMIPS_DMA_CH_OFF;
dma_chan[j].default_weight = DANUBE_DMA_CH_DEFAULT_WEIGHT; dma_chan[j].default_weight = IFXMIPS_DMA_CH_DEFAULT_WEIGHT;
dma_chan[j].weight = dma_chan[j].default_weight; dma_chan[j].weight = dma_chan[j].default_weight;
dma_chan[j].curr_desc = 0; dma_chan[j].curr_desc = 0;
dma_chan[j].prev_desc = 0; dma_chan[j].prev_desc = 0;
@ -655,16 +655,16 @@ map_dma_chan(_dma_chan_map *map)
{ {
if (strcmp(dma_devs[i].device_name, map[j].dev_name) == 0) if (strcmp(dma_devs[i].device_name, map[j].dev_name) == 0)
{ {
if (map[j].dir == DANUBE_DMA_RX) if (map[j].dir == IFXMIPS_DMA_RX)
{ {
dma_chan[j].dir = DANUBE_DMA_RX; dma_chan[j].dir = IFXMIPS_DMA_RX;
dma_devs[i].max_rx_chan_num++; dma_devs[i].max_rx_chan_num++;
dma_devs[i].rx_chan[dma_devs[i].max_rx_chan_num - 1] = &dma_chan[j]; dma_devs[i].rx_chan[dma_devs[i].max_rx_chan_num - 1] = &dma_chan[j];
dma_devs[i].rx_chan[dma_devs[i].max_rx_chan_num - 1]->pri = map[j].pri; dma_devs[i].rx_chan[dma_devs[i].max_rx_chan_num - 1]->pri = map[j].pri;
dma_chan[j].dma_dev = (void*)&dma_devs[i]; dma_chan[j].dma_dev = (void*)&dma_devs[i];
} else if(map[j].dir == DANUBE_DMA_TX) } else if(map[j].dir == IFXMIPS_DMA_TX)
{ /*TX direction */ { /*TX direction */
dma_chan[j].dir = DANUBE_DMA_TX; dma_chan[j].dir = IFXMIPS_DMA_TX;
dma_devs[i].max_tx_chan_num++; dma_devs[i].max_tx_chan_num++;
dma_devs[i].tx_chan[dma_devs[i].max_tx_chan_num - 1] = &dma_chan[j]; dma_devs[i].tx_chan[dma_devs[i].max_tx_chan_num - 1] = &dma_chan[j];
dma_devs[i].tx_chan[dma_devs[i].max_tx_chan_num - 1]->pri = map[j].pri; dma_devs[i].tx_chan[dma_devs[i].max_tx_chan_num - 1]->pri = map[j].pri;
@ -685,20 +685,20 @@ dma_chip_init(void)
int i; int i;
// enable DMA from PMU // enable DMA from PMU
danube_pmu_enable(DANUBE_PMU_PWDCR_DMA); danube_pmu_enable(IFXMIPS_PMU_PWDCR_DMA);
// reset DMA // reset DMA
writel(readl(DANUBE_DMA_CTRL) | 1, DANUBE_DMA_CTRL); writel(readl(IFXMIPS_DMA_CTRL) | 1, IFXMIPS_DMA_CTRL);
// diable all interrupts // diable all interrupts
writel(0, DANUBE_DMA_IRNEN); writel(0, IFXMIPS_DMA_IRNEN);
for (i = 0; i < MAX_DMA_CHANNEL_NUM; i++) for (i = 0; i < MAX_DMA_CHANNEL_NUM; i++)
{ {
writel(i, DANUBE_DMA_CS); writel(i, IFXMIPS_DMA_CS);
writel(0x2, DANUBE_DMA_CCTRL); writel(0x2, IFXMIPS_DMA_CCTRL);
writel(0x80000040, DANUBE_DMA_CPOLL); writel(0x80000040, IFXMIPS_DMA_CPOLL);
writel(readl(DANUBE_DMA_CCTRL) & ~0x1, DANUBE_DMA_CCTRL); writel(readl(IFXMIPS_DMA_CCTRL) & ~0x1, IFXMIPS_DMA_CCTRL);
} }
} }
@ -724,13 +724,13 @@ danube_dma_init (void)
for (i = 0; i < MAX_DMA_CHANNEL_NUM; i++) for (i = 0; i < MAX_DMA_CHANNEL_NUM; i++)
{ {
dma_chan[i].desc_base = (u32)g_desc_list + i * DANUBE_DMA_DESCRIPTOR_OFFSET * 8; dma_chan[i].desc_base = (u32)g_desc_list + i * IFXMIPS_DMA_DESCRIPTOR_OFFSET * 8;
dma_chan[i].curr_desc = 0; dma_chan[i].curr_desc = 0;
dma_chan[i].desc_len = DANUBE_DMA_DESCRIPTOR_OFFSET; dma_chan[i].desc_len = IFXMIPS_DMA_DESCRIPTOR_OFFSET;
writel(i, DANUBE_DMA_CS); writel(i, IFXMIPS_DMA_CS);
writel((u32)CPHYSADDR(dma_chan[i].desc_base), DANUBE_DMA_CDBA); writel((u32)CPHYSADDR(dma_chan[i].desc_base), IFXMIPS_DMA_CDBA);
writel(dma_chan[i].desc_len, DANUBE_DMA_CDLEN); writel(dma_chan[i].desc_len, IFXMIPS_DMA_CDLEN);
} }
return 0; return 0;

View file

@ -42,7 +42,7 @@ void
disable_danube_irq (unsigned int irq_nr) disable_danube_irq (unsigned int irq_nr)
{ {
int i; int i;
u32 *danube_ier = DANUBE_ICU_IM0_IER; u32 *danube_ier = IFXMIPS_ICU_IM0_IER;
irq_nr -= INT_NUM_IRQ0; irq_nr -= INT_NUM_IRQ0;
for (i = 0; i <= 4; i++) for (i = 0; i <= 4; i++)
@ -51,7 +51,7 @@ disable_danube_irq (unsigned int irq_nr)
writel(readl(danube_ier) & ~(1 << irq_nr ), danube_ier); writel(readl(danube_ier) & ~(1 << irq_nr ), danube_ier);
return; return;
} }
danube_ier += DANUBE_ICU_OFFSET; danube_ier += IFXMIPS_ICU_OFFSET;
irq_nr -= INT_NUM_IM_OFFSET; irq_nr -= INT_NUM_IM_OFFSET;
} }
} }
@ -61,8 +61,8 @@ void
mask_and_ack_danube_irq (unsigned int irq_nr) mask_and_ack_danube_irq (unsigned int irq_nr)
{ {
int i; int i;
u32 *danube_ier = DANUBE_ICU_IM0_IER; u32 *danube_ier = IFXMIPS_ICU_IM0_IER;
u32 *danube_isr = DANUBE_ICU_IM0_ISR; u32 *danube_isr = IFXMIPS_ICU_IM0_ISR;
irq_nr -= INT_NUM_IRQ0; irq_nr -= INT_NUM_IRQ0;
for (i = 0; i <= 4; i++) for (i = 0; i <= 4; i++)
@ -73,8 +73,8 @@ mask_and_ack_danube_irq (unsigned int irq_nr)
writel((1 << irq_nr ), danube_isr); writel((1 << irq_nr ), danube_isr);
return; return;
} }
danube_ier += DANUBE_ICU_OFFSET; danube_ier += IFXMIPS_ICU_OFFSET;
danube_isr += DANUBE_ICU_OFFSET; danube_isr += IFXMIPS_ICU_OFFSET;
irq_nr -= INT_NUM_IM_OFFSET; irq_nr -= INT_NUM_IM_OFFSET;
} }
} }
@ -84,7 +84,7 @@ void
enable_danube_irq (unsigned int irq_nr) enable_danube_irq (unsigned int irq_nr)
{ {
int i; int i;
u32 *danube_ier = DANUBE_ICU_IM0_IER; u32 *danube_ier = IFXMIPS_ICU_IM0_IER;
irq_nr -= INT_NUM_IRQ0; irq_nr -= INT_NUM_IRQ0;
for (i = 0; i <= 4; i++) for (i = 0; i <= 4; i++)
@ -94,7 +94,7 @@ enable_danube_irq (unsigned int irq_nr)
writel(readl(danube_ier) | (1 << irq_nr ), danube_ier); writel(readl(danube_ier) | (1 << irq_nr ), danube_ier);
return; return;
} }
danube_ier += DANUBE_ICU_OFFSET; danube_ier += IFXMIPS_ICU_OFFSET;
irq_nr -= INT_NUM_IM_OFFSET; irq_nr -= INT_NUM_IM_OFFSET;
} }
} }
@ -115,7 +115,7 @@ end_danube_irq (unsigned int irq)
} }
static struct hw_interrupt_type danube_irq_type = { static struct hw_interrupt_type danube_irq_type = {
"DANUBE", "IFXMIPS",
.startup = startup_danube_irq, .startup = startup_danube_irq,
.enable = enable_danube_irq, .enable = enable_danube_irq,
.disable = disable_danube_irq, .disable = disable_danube_irq,
@ -145,7 +145,7 @@ danube_hw_irqdispatch (int module)
{ {
u32 irq; u32 irq;
irq = readl(DANUBE_ICU_IM0_IOSR + (module * DANUBE_ICU_OFFSET)); irq = readl(IFXMIPS_ICU_IM0_IOSR + (module * IFXMIPS_ICU_OFFSET));
if (irq == 0) if (irq == 0)
return; return;
@ -153,7 +153,7 @@ danube_hw_irqdispatch (int module)
do_IRQ ((int) irq + INT_NUM_IM0_IRL0 + (INT_NUM_IM_OFFSET * module)); do_IRQ ((int) irq + INT_NUM_IM0_IRL0 + (INT_NUM_IM_OFFSET * module));
if ((irq == 22) && (module == 0)){ if ((irq == 22) && (module == 0)){
writel(readl(DANUBE_EBU_PCC_ISTAT) | 0x10, DANUBE_EBU_PCC_ISTAT); writel(readl(IFXMIPS_EBU_PCC_ISTAT) | 0x10, IFXMIPS_EBU_PCC_ISTAT);
} }
} }
@ -195,7 +195,7 @@ arch_init_irq(void)
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
{ {
writel(0, DANUBE_ICU_IM0_IER + (i * DANUBE_ICU_OFFSET)); writel(0, IFXMIPS_ICU_IM0_IER + (i * IFXMIPS_ICU_OFFSET));
} }
mips_cpu_irq_init(); mips_cpu_irq_init();

View file

@ -9,14 +9,14 @@
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#define DANUBE_PCI_MEM_BASE 0x18000000 #define IFXMIPS_PCI_MEM_BASE 0x18000000
#define DANUBE_PCI_MEM_SIZE 0x02000000 #define IFXMIPS_PCI_MEM_SIZE 0x02000000
#define DANUBE_PCI_IO_BASE 0x1AE00000 #define IFXMIPS_PCI_IO_BASE 0x1AE00000
#define DANUBE_PCI_IO_SIZE 0x00200000 #define IFXMIPS_PCI_IO_SIZE 0x00200000
#define DANUBE_PCI_CFG_BUSNUM_SHF 16 #define IFXMIPS_PCI_CFG_BUSNUM_SHF 16
#define DANUBE_PCI_CFG_DEVNUM_SHF 11 #define IFXMIPS_PCI_CFG_DEVNUM_SHF 11
#define DANUBE_PCI_CFG_FUNNUM_SHF 8 #define IFXMIPS_PCI_CFG_FUNNUM_SHF 8
#define PCI_ACCESS_READ 0 #define PCI_ACCESS_READ 0
#define PCI_ACCESS_WRITE 1 #define PCI_ACCESS_WRITE 1
@ -31,15 +31,15 @@ struct pci_ops danube_pci_ops = {
static struct resource pci_io_resource = { static struct resource pci_io_resource = {
.name = "io pci IO space", .name = "io pci IO space",
.start = DANUBE_PCI_IO_BASE, .start = IFXMIPS_PCI_IO_BASE,
.end = DANUBE_PCI_IO_BASE + DANUBE_PCI_IO_SIZE - 1, .end = IFXMIPS_PCI_IO_BASE + IFXMIPS_PCI_IO_SIZE - 1,
.flags = IORESOURCE_IO .flags = IORESOURCE_IO
}; };
static struct resource pci_mem_resource = { static struct resource pci_mem_resource = {
.name = "ext pci memory space", .name = "ext pci memory space",
.start = DANUBE_PCI_MEM_BASE, .start = IFXMIPS_PCI_MEM_BASE,
.end = DANUBE_PCI_MEM_BASE + DANUBE_PCI_MEM_SIZE - 1, .end = IFXMIPS_PCI_MEM_BASE + IFXMIPS_PCI_MEM_SIZE - 1,
.flags = IORESOURCE_MEM .flags = IORESOURCE_MEM
}; };
@ -71,32 +71,32 @@ danube_pci_config_access(unsigned char access_type,
local_irq_save(flags); local_irq_save(flags);
cfg_base = danube_pci_mapped_cfg; cfg_base = danube_pci_mapped_cfg;
cfg_base |= (bus->number << DANUBE_PCI_CFG_BUSNUM_SHF) | (devfn << cfg_base |= (bus->number << IFXMIPS_PCI_CFG_BUSNUM_SHF) | (devfn <<
DANUBE_PCI_CFG_FUNNUM_SHF) | (where & ~0x3); IFXMIPS_PCI_CFG_FUNNUM_SHF) | (where & ~0x3);
/* Perform access */ /* Perform access */
if (access_type == PCI_ACCESS_WRITE) if (access_type == PCI_ACCESS_WRITE)
{ {
#ifdef CONFIG_DANUBE_PCI_HW_SWAP #ifdef CONFIG_IFXMIPS_PCI_HW_SWAP
writel(swab32(*data), ((u32*)cfg_base)); writel(swab32(*data), ((u32*)cfg_base));
#else #else
writel(*data, ((u32*)cfg_base)); writel(*data, ((u32*)cfg_base));
#endif #endif
} else { } else {
*data = readl(((u32*)(cfg_base))); *data = readl(((u32*)(cfg_base)));
#ifdef CONFIG_DANUBE_PCI_HW_SWAP #ifdef CONFIG_IFXMIPS_PCI_HW_SWAP
*data = swab32(*data); *data = swab32(*data);
#endif #endif
} }
wmb(); wmb();
/* clean possible Master abort */ /* clean possible Master abort */
cfg_base = (danube_pci_mapped_cfg | (0x0 << DANUBE_PCI_CFG_FUNNUM_SHF)) + 4; cfg_base = (danube_pci_mapped_cfg | (0x0 << IFXMIPS_PCI_CFG_FUNNUM_SHF)) + 4;
temp = readl(((u32*)(cfg_base))); temp = readl(((u32*)(cfg_base)));
#ifdef CONFIG_DANUBE_PCI_HW_SWAP #ifdef CONFIG_IFXMIPS_PCI_HW_SWAP
temp = swab32 (temp); temp = swab32 (temp);
#endif #endif
cfg_base = (danube_pci_mapped_cfg | (0x68 << DANUBE_PCI_CFG_FUNNUM_SHF)) + 4; cfg_base = (danube_pci_mapped_cfg | (0x68 << IFXMIPS_PCI_CFG_FUNNUM_SHF)) + 4;
writel(temp, ((u32*)cfg_base)); writel(temp, ((u32*)cfg_base));
local_irq_restore(flags); local_irq_restore(flags);
@ -163,8 +163,8 @@ int pcibios_plat_dev_init(struct pci_dev *dev){
case 1: case 1:
//falling edge level triggered:0x4, low level:0xc, rising edge:0x2 //falling edge level triggered:0x4, low level:0xc, rising edge:0x2
printk("%s:%s[%d] %08X \n", __FILE__, __func__, __LINE__, dev->irq); printk("%s:%s[%d] %08X \n", __FILE__, __func__, __LINE__, dev->irq);
writel(readl(DANUBE_EBU_PCC_CON) | 0xc, DANUBE_EBU_PCC_CON); writel(readl(IFXMIPS_EBU_PCC_CON) | 0xc, IFXMIPS_EBU_PCC_CON);
writel(readl(DANUBE_EBU_PCC_IEN) | 0x10, DANUBE_EBU_PCC_IEN); writel(readl(IFXMIPS_EBU_PCC_IEN) | 0x10, IFXMIPS_EBU_PCC_IEN);
break; break;
case 2: case 2:
case 3: case 3:
@ -182,31 +182,31 @@ static void __init danube_pci_startup (void){
/*initialize the first PCI device--danube itself */ /*initialize the first PCI device--danube itself */
u32 temp_buffer; u32 temp_buffer;
/*TODO: trigger reset */ /*TODO: trigger reset */
writel(readl(DANUBE_CGU_IFCCR) & ~0xf00000, DANUBE_CGU_IFCCR); writel(readl(IFXMIPS_CGU_IFCCR) & ~0xf00000, IFXMIPS_CGU_IFCCR);
writel(readl(DANUBE_CGU_IFCCR) | 0x800000, DANUBE_CGU_IFCCR); writel(readl(IFXMIPS_CGU_IFCCR) | 0x800000, IFXMIPS_CGU_IFCCR);
/* PCIS of IF_CLK of CGU : 1 =>PCI Clock output /* PCIS of IF_CLK of CGU : 1 =>PCI Clock output
0 =>clock input 0 =>clock input
PADsel of PCI_CR of CGU : 1 =>From CGU PADsel of PCI_CR of CGU : 1 =>From CGU
: 0 =>From pad : 0 =>From pad
*/ */
writel(readl(DANUBE_CGU_IFCCR) | (1 << 16), DANUBE_CGU_IFCCR); writel(readl(IFXMIPS_CGU_IFCCR) | (1 << 16), IFXMIPS_CGU_IFCCR);
writel((1 << 31) | (1 << 30), DANUBE_CGU_PCICR); writel((1 << 31) | (1 << 30), IFXMIPS_CGU_PCICR);
/* prepare GPIO */ /* prepare GPIO */
/* PCI_RST: P1.5 ALT 01 */ /* PCI_RST: P1.5 ALT 01 */
//pliu20060613: start //pliu20060613: start
writel(readl(DANUBE_GPIO_P1_OUT) | (1 << 5), DANUBE_GPIO_P1_OUT); writel(readl(IFXMIPS_GPIO_P1_OUT) | (1 << 5), IFXMIPS_GPIO_P1_OUT);
writel(readl(DANUBE_GPIO_P1_OD) | (1 << 5), DANUBE_GPIO_P1_OD); writel(readl(IFXMIPS_GPIO_P1_OD) | (1 << 5), IFXMIPS_GPIO_P1_OD);
writel(readl(DANUBE_GPIO_P1_DIR) | (1 << 5), DANUBE_GPIO_P1_DIR); writel(readl(IFXMIPS_GPIO_P1_DIR) | (1 << 5), IFXMIPS_GPIO_P1_DIR);
writel(readl(DANUBE_GPIO_P1_ALTSEL1) & ~(1 << 5), DANUBE_GPIO_P1_ALTSEL1); writel(readl(IFXMIPS_GPIO_P1_ALTSEL1) & ~(1 << 5), IFXMIPS_GPIO_P1_ALTSEL1);
writel(readl(DANUBE_GPIO_P1_ALTSEL0) & ~(1 << 5), DANUBE_GPIO_P1_ALTSEL0); writel(readl(IFXMIPS_GPIO_P1_ALTSEL0) & ~(1 << 5), IFXMIPS_GPIO_P1_ALTSEL0);
//pliu20060613: end //pliu20060613: end
/* PCI_REQ1: P1.13 ALT 01 */ /* PCI_REQ1: P1.13 ALT 01 */
/* PCI_GNT1: P1.14 ALT 01 */ /* PCI_GNT1: P1.14 ALT 01 */
writel(readl(DANUBE_GPIO_P1_DIR) & ~0x2000, DANUBE_GPIO_P1_DIR); writel(readl(IFXMIPS_GPIO_P1_DIR) & ~0x2000, IFXMIPS_GPIO_P1_DIR);
writel(readl(DANUBE_GPIO_P1_DIR) | 0x4000, DANUBE_GPIO_P1_DIR); writel(readl(IFXMIPS_GPIO_P1_DIR) | 0x4000, IFXMIPS_GPIO_P1_DIR);
writel(readl(DANUBE_GPIO_P1_ALTSEL1) & ~0x6000, DANUBE_GPIO_P1_ALTSEL1); writel(readl(IFXMIPS_GPIO_P1_ALTSEL1) & ~0x6000, IFXMIPS_GPIO_P1_ALTSEL1);
writel(readl(DANUBE_GPIO_P1_ALTSEL0) | 0x6000, DANUBE_GPIO_P1_ALTSEL0); writel(readl(IFXMIPS_GPIO_P1_ALTSEL0) | 0x6000, IFXMIPS_GPIO_P1_ALTSEL0);
/* PCI_REQ2: P1.15 ALT 10 */ /* PCI_REQ2: P1.15 ALT 10 */
/* PCI_GNT2: P1.7 ALT 10 */ /* PCI_GNT2: P1.7 ALT 10 */
@ -260,9 +260,9 @@ static void __init danube_pci_startup (void){
writel(0x0e000008, PCI_CR_BAR11MASK); writel(0x0e000008, PCI_CR_BAR11MASK);
writel(0, PCI_CR_PCI_ADDR_MAP11); writel(0, PCI_CR_PCI_ADDR_MAP11);
writel(0, PCI_CS_BASE_ADDR1); writel(0, PCI_CS_BASE_ADDR1);
#ifdef CONFIG_DANUBE_PCI_HW_SWAP #ifdef CONFIG_IFXMIPS_PCI_HW_SWAP
/* both TX and RX endian swap are enabled */ /* both TX and RX endian swap are enabled */
DANUBE_PCI_REG32 (PCI_CR_PCI_EOI_REG) |= 3; IFXMIPS_PCI_REG32 (PCI_CR_PCI_EOI_REG) |= 3;
wmb (); wmb ();
#endif #endif
/*TODO: disable BAR2 & BAR3 - why was this in the origianl infineon code */ /*TODO: disable BAR2 & BAR3 - why was this in the origianl infineon code */
@ -273,10 +273,10 @@ static void __init danube_pci_startup (void){
writel(readl(PCI_CR_PCI_MOD) | (1 << 24), PCI_CR_PCI_MOD); writel(readl(PCI_CR_PCI_MOD) | (1 << 24), PCI_CR_PCI_MOD);
wmb(); wmb();
writel(readl(DANUBE_GPIO_P1_OUT) & ~(1 << 5), DANUBE_GPIO_P1_OUT); writel(readl(IFXMIPS_GPIO_P1_OUT) & ~(1 << 5), IFXMIPS_GPIO_P1_OUT);
wmb(); wmb();
mdelay (1); mdelay (1);
writel(readl(DANUBE_GPIO_P1_OUT) | (1 << 5), DANUBE_GPIO_P1_OUT); writel(readl(IFXMIPS_GPIO_P1_OUT) | (1 << 5), IFXMIPS_GPIO_P1_OUT);
} }
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin){ int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin){
@ -303,11 +303,11 @@ int pcibios_init(void){
danube_pci_startup (); danube_pci_startup ();
// DANUBE_PCI_REG32(PCI_CR_CLK_CTRL_REG) &= (~8); // IFXMIPS_PCI_REG32(PCI_CR_CLK_CTRL_REG) &= (~8);
danube_pci_mapped_cfg = ioremap_nocache(0x17000000, 0x800 * 16); danube_pci_mapped_cfg = ioremap_nocache(0x17000000, 0x800 * 16);
printk("Danube PCI mapped to 0x%08X\n", (unsigned long)danube_pci_mapped_cfg); printk("Danube PCI mapped to 0x%08X\n", (unsigned long)danube_pci_mapped_cfg);
danube_pci_controller.io_map_base = (unsigned long)ioremap(DANUBE_PCI_IO_BASE, DANUBE_PCI_IO_SIZE - 1); danube_pci_controller.io_map_base = (unsigned long)ioremap(IFXMIPS_PCI_IO_BASE, IFXMIPS_PCI_IO_SIZE - 1);
printk("Danube PCI I/O mapped to 0x%08X\n", (unsigned long)danube_pci_controller.io_map_base); printk("Danube PCI I/O mapped to 0x%08X\n", (unsigned long)danube_pci_controller.io_map_base);

View file

@ -29,8 +29,8 @@ danube_pmu_enable (unsigned int module)
{ {
int err = 1000000; int err = 1000000;
writel(readl(DANUBE_PMU_PWDCR) & ~module, DANUBE_PMU_PWDCR); writel(readl(IFXMIPS_PMU_PWDCR) & ~module, IFXMIPS_PMU_PWDCR);
while (--err && (readl(DANUBE_PMU_PWDSR) & module)) {} while (--err && (readl(IFXMIPS_PMU_PWDSR) & module)) {}
if (!err) if (!err)
panic("activating PMU module failed!"); panic("activating PMU module failed!");
@ -40,6 +40,6 @@ EXPORT_SYMBOL(danube_pmu_enable);
void void
danube_pmu_disable (unsigned int module) danube_pmu_disable (unsigned int module)
{ {
writel(readl(DANUBE_PMU_PWDCR) | module, DANUBE_PMU_PWDCR); writel(readl(IFXMIPS_PMU_PWDCR) | module, IFXMIPS_PMU_PWDCR);
} }
EXPORT_SYMBOL(danube_pmu_disable); EXPORT_SYMBOL(danube_pmu_disable);

View file

@ -45,11 +45,11 @@ get_system_type (void)
void void
prom_putchar (char c) prom_putchar (char c)
{ {
while ((readl(DANUBE_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK) >> ASCFSTAT_TXFFLOFF); while ((readl(IFXMIPS_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK) >> ASCFSTAT_TXFFLOFF);
if (c == '\n') if (c == '\n')
writel('\r', DANUBE_ASC1_TBUF); writel('\r', IFXMIPS_ASC1_TBUF);
writel(c, DANUBE_ASC1_TBUF); writel(c, IFXMIPS_ASC1_TBUF);
} }
void void
@ -73,8 +73,8 @@ prom_printf (const char * fmt, ...)
void __init void __init
prom_init(void) prom_init(void)
{ {
mips_machgroup = MACH_GROUP_DANUBE; mips_machgroup = MACH_GROUP_IFXMIPS;
mips_machtype = MACH_INFINEON_DANUBE; mips_machtype = MACH_INFINEON_IFXMIPS;
strcpy(&(arcs_cmdline[0]), "console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/etc/preinit"); strcpy(&(arcs_cmdline[0]), "console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/etc/preinit");
add_memory_region (0x00000000, 0x2000000, BOOT_MEM_RAM); add_memory_region (0x00000000, 0x2000000, BOOT_MEM_RAM);

View file

@ -37,7 +37,7 @@ danube_machine_restart (char *command)
printk (KERN_NOTICE "System restart\n"); printk (KERN_NOTICE "System restart\n");
local_irq_disable (); local_irq_disable ();
writel(readl(DANUBE_RCU_REQ) | DANUBE_RST_ALL, DANUBE_RCU_REQ); writel(readl(IFXMIPS_RCU_REQ) | IFXMIPS_RST_ALL, IFXMIPS_RCU_REQ);
for (;;); for (;;);
} }

View file

@ -49,7 +49,7 @@ __init bus_error_init (void)
unsigned int unsigned int
danube_get_ddr_hz (void) danube_get_ddr_hz (void)
{ {
switch (readl(DANUBE_CGU_SYS) & 0x3) switch (readl(IFXMIPS_CGU_SYS) & 0x3)
{ {
case 0: case 0:
return CLOCK_167M; return CLOCK_167M;
@ -66,7 +66,7 @@ unsigned int
danube_get_cpu_hz (void) danube_get_cpu_hz (void)
{ {
unsigned int ddr_clock = danube_get_ddr_hz(); unsigned int ddr_clock = danube_get_ddr_hz();
switch (readl(DANUBE_CGU_SYS) & 0xc) switch (readl(IFXMIPS_CGU_SYS) & 0xc)
{ {
case 0: case 0:
return CLOCK_333M; return CLOCK_333M;
@ -81,7 +81,7 @@ unsigned int
danube_get_fpi_hz (void) danube_get_fpi_hz (void)
{ {
unsigned int ddr_clock = danube_get_ddr_hz(); unsigned int ddr_clock = danube_get_ddr_hz();
if (readl(DANUBE_CGU_SYS) & 0x40) if (readl(IFXMIPS_CGU_SYS) & 0x40)
{ {
return ddr_clock >> 1; return ddr_clock >> 1;
} }
@ -92,7 +92,7 @@ EXPORT_SYMBOL(danube_get_fpi_hz);
unsigned int unsigned int
danube_get_cpu_ver (void) danube_get_cpu_ver (void)
{ {
return readl(DANUBE_MCD_CHIPID) & 0xFFFFF000; return readl(IFXMIPS_MCD_CHIPID) & 0xFFFFF000;
} }
EXPORT_SYMBOL(danube_get_cpu_ver); EXPORT_SYMBOL(danube_get_cpu_ver);
@ -118,7 +118,7 @@ danube_be_handler(struct pt_regs *regs, int is_fixup)
static irqreturn_t static irqreturn_t
danube_timer6_interrupt(int irq, void *dev_id) danube_timer6_interrupt(int irq, void *dev_id)
{ {
timer_interrupt(DANUBE_TIMER6_INT, NULL); timer_interrupt(IFXMIPS_TIMER6_INT, NULL);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
@ -139,18 +139,18 @@ plat_timer_setup (struct irqaction *irq)
r4k_cur = (read_c0_count() + r4k_offset); r4k_cur = (read_c0_count() + r4k_offset);
write_c0_compare(r4k_cur); write_c0_compare(r4k_cur);
danube_pmu_enable(DANUBE_PMU_PWDCR_GPT | DANUBE_PMU_PWDCR_FPI); danube_pmu_enable(IFXMIPS_PMU_PWDCR_GPT | IFXMIPS_PMU_PWDCR_FPI);
writel(0x100, DANUBE_GPTU_GPT_CLC); writel(0x100, IFXMIPS_GPTU_GPT_CLC);
writel(0xffff, DANUBE_GPTU_GPT_CAPREL); writel(0xffff, IFXMIPS_GPTU_GPT_CAPREL);
writel(0x80C0, DANUBE_GPTU_GPT_T6CON); writel(0x80C0, IFXMIPS_GPTU_GPT_T6CON);
retval = setup_irq(DANUBE_TIMER6_INT, &hrt_irqaction); retval = setup_irq(IFXMIPS_TIMER6_INT, &hrt_irqaction);
if (retval) if (retval)
{ {
prom_printf("reqeust_irq failed %d. HIGH_RES_TIMER is diabled\n", DANUBE_TIMER6_INT); prom_printf("reqeust_irq failed %d. HIGH_RES_TIMER is diabled\n", IFXMIPS_TIMER6_INT);
} }
} }

View file

@ -38,12 +38,12 @@ static unsigned int danube_gpio_major = 0;
static struct semaphore port_sem; static struct semaphore port_sem;
/* TODO do we really need this ? return in a define is forbidden by coding style */ /* TODO do we really need this ? return in a define is forbidden by coding style */
#define DANUBE_GPIO_SANITY {if (port > MAX_PORTS || pin > PINS_PER_PORT) return -EINVAL; } #define IFXMIPS_GPIO_SANITY {if (port > MAX_PORTS || pin > PINS_PER_PORT) return -EINVAL; }
int int
danube_port_reserve_pin (unsigned int port, unsigned int pin) danube_port_reserve_pin (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
printk("%s : call to obseleted function\n", __func__); printk("%s : call to obseleted function\n", __func__);
return 0; return 0;
@ -53,7 +53,7 @@ EXPORT_SYMBOL(danube_port_reserve_pin);
int int
danube_port_free_pin (unsigned int port, unsigned int pin) danube_port_free_pin (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
printk("%s : call to obseleted function\n", __func__); printk("%s : call to obseleted function\n", __func__);
return 0; return 0;
@ -63,8 +63,8 @@ EXPORT_SYMBOL(danube_port_free_pin);
int int
danube_port_set_open_drain (unsigned int port, unsigned int pin) danube_port_set_open_drain (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_OD + (port * 0x30)) | (1 << pin), DANUBE_GPIO_P0_OD); writel(readl(IFXMIPS_GPIO_P0_OD + (port * 0x30)) | (1 << pin), IFXMIPS_GPIO_P0_OD);
return 0; return 0;
} }
@ -73,8 +73,8 @@ EXPORT_SYMBOL(danube_port_set_open_drain);
int int
danube_port_clear_open_drain (unsigned int port, unsigned int pin) danube_port_clear_open_drain (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_OD + (port * 0x30)) & ~(1 << pin), DANUBE_GPIO_P0_OD); writel(readl(IFXMIPS_GPIO_P0_OD + (port * 0x30)) & ~(1 << pin), IFXMIPS_GPIO_P0_OD);
return 0; return 0;
} }
@ -83,8 +83,8 @@ EXPORT_SYMBOL(danube_port_clear_open_drain);
int int
danube_port_set_pudsel (unsigned int port, unsigned int pin) danube_port_set_pudsel (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_PUDSEL + (port * 0x30)) | (1 << pin), DANUBE_GPIO_P0_PUDSEL); writel(readl(IFXMIPS_GPIO_P0_PUDSEL + (port * 0x30)) | (1 << pin), IFXMIPS_GPIO_P0_PUDSEL);
return 0; return 0;
} }
@ -93,8 +93,8 @@ EXPORT_SYMBOL(danube_port_set_pudsel);
int int
danube_port_clear_pudsel (unsigned int port, unsigned int pin) danube_port_clear_pudsel (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_PUDSEL + (port * 0x30)) & ~(1 << pin), DANUBE_GPIO_P0_PUDSEL); writel(readl(IFXMIPS_GPIO_P0_PUDSEL + (port * 0x30)) & ~(1 << pin), IFXMIPS_GPIO_P0_PUDSEL);
return 0; return 0;
} }
@ -103,8 +103,8 @@ EXPORT_SYMBOL(danube_port_clear_pudsel);
int int
danube_port_set_puden (unsigned int port, unsigned int pin) danube_port_set_puden (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_PUDEN + (port * 0x30)) | (1 << pin), DANUBE_GPIO_P0_PUDEN); writel(readl(IFXMIPS_GPIO_P0_PUDEN + (port * 0x30)) | (1 << pin), IFXMIPS_GPIO_P0_PUDEN);
return 0; return 0;
} }
@ -113,8 +113,8 @@ EXPORT_SYMBOL(danube_port_set_puden);
int int
danube_port_clear_puden (unsigned int port, unsigned int pin) danube_port_clear_puden (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_PUDEN + (port * 0x30)) & ~(1 << pin), DANUBE_GPIO_P0_PUDEN); writel(readl(IFXMIPS_GPIO_P0_PUDEN + (port * 0x30)) & ~(1 << pin), IFXMIPS_GPIO_P0_PUDEN);
return 0; return 0;
} }
@ -123,8 +123,8 @@ EXPORT_SYMBOL(danube_port_clear_puden);
int int
danube_port_set_stoff (unsigned int port, unsigned int pin) danube_port_set_stoff (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_STOFF + (port * 0x30)) | (1 << pin), DANUBE_GPIO_P0_STOFF); writel(readl(IFXMIPS_GPIO_P0_STOFF + (port * 0x30)) | (1 << pin), IFXMIPS_GPIO_P0_STOFF);
return 0; return 0;
} }
@ -133,8 +133,8 @@ EXPORT_SYMBOL(danube_port_set_stoff);
int int
danube_port_clear_stoff (unsigned int port, unsigned int pin) danube_port_clear_stoff (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_STOFF + (port * 0x30)) & ~(1 << pin), DANUBE_GPIO_P0_STOFF); writel(readl(IFXMIPS_GPIO_P0_STOFF + (port * 0x30)) & ~(1 << pin), IFXMIPS_GPIO_P0_STOFF);
return 0; return 0;
} }
@ -143,8 +143,8 @@ EXPORT_SYMBOL(danube_port_clear_stoff);
int int
danube_port_set_dir_out (unsigned int port, unsigned int pin) danube_port_set_dir_out (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_DIR + (port * 0x30)) | (1 << pin), DANUBE_GPIO_P0_DIR); writel(readl(IFXMIPS_GPIO_P0_DIR + (port * 0x30)) | (1 << pin), IFXMIPS_GPIO_P0_DIR);
return 0; return 0;
} }
@ -153,8 +153,8 @@ EXPORT_SYMBOL(danube_port_set_dir_out);
int int
danube_port_set_dir_in (unsigned int port, unsigned int pin) danube_port_set_dir_in (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_DIR + (port * 0x30)) & ~(1 << pin), DANUBE_GPIO_P0_DIR); writel(readl(IFXMIPS_GPIO_P0_DIR + (port * 0x30)) & ~(1 << pin), IFXMIPS_GPIO_P0_DIR);
return 0; return 0;
} }
@ -163,8 +163,8 @@ EXPORT_SYMBOL(danube_port_set_dir_in);
int int
danube_port_set_output (unsigned int port, unsigned int pin) danube_port_set_output (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_OUT + (port * 0x30)) | (1 << pin), DANUBE_GPIO_P0_OUT); writel(readl(IFXMIPS_GPIO_P0_OUT + (port * 0x30)) | (1 << pin), IFXMIPS_GPIO_P0_OUT);
return 0; return 0;
} }
@ -173,8 +173,8 @@ EXPORT_SYMBOL(danube_port_set_output);
int int
danube_port_clear_output (unsigned int port, unsigned int pin) danube_port_clear_output (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_OUT + (port * 0x30)) & ~(1 << pin), DANUBE_GPIO_P0_OUT); writel(readl(IFXMIPS_GPIO_P0_OUT + (port * 0x30)) & ~(1 << pin), IFXMIPS_GPIO_P0_OUT);
return 0; return 0;
} }
@ -183,9 +183,9 @@ EXPORT_SYMBOL(danube_port_clear_output);
int int
danube_port_get_input (unsigned int port, unsigned int pin) danube_port_get_input (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
if (readl(DANUBE_GPIO_P0_IN + (port * 0x30)) & (1 << pin)) if (readl(IFXMIPS_GPIO_P0_IN + (port * 0x30)) & (1 << pin))
return 0; return 0;
else else
return 1; return 1;
@ -195,8 +195,8 @@ EXPORT_SYMBOL(danube_port_get_input);
int int
danube_port_set_altsel0 (unsigned int port, unsigned int pin) danube_port_set_altsel0 (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_ALTSEL0 + (port * 0x30)) | (1 << pin), DANUBE_GPIO_P0_ALTSEL0); writel(readl(IFXMIPS_GPIO_P0_ALTSEL0 + (port * 0x30)) | (1 << pin), IFXMIPS_GPIO_P0_ALTSEL0);
return 0; return 0;
} }
@ -205,8 +205,8 @@ EXPORT_SYMBOL(danube_port_set_altsel0);
int int
danube_port_clear_altsel0 (unsigned int port, unsigned int pin) danube_port_clear_altsel0 (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_ALTSEL0 + (port * 0x30)) & ~(1 << pin), DANUBE_GPIO_P0_ALTSEL0); writel(readl(IFXMIPS_GPIO_P0_ALTSEL0 + (port * 0x30)) & ~(1 << pin), IFXMIPS_GPIO_P0_ALTSEL0);
return 0; return 0;
} }
@ -215,8 +215,8 @@ EXPORT_SYMBOL(danube_port_clear_altsel0);
int int
danube_port_set_altsel1 (unsigned int port, unsigned int pin) danube_port_set_altsel1 (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_ALTSEL1 + (port * 0x30)) | (1 << pin), DANUBE_GPIO_P0_ALTSEL1); writel(readl(IFXMIPS_GPIO_P0_ALTSEL1 + (port * 0x30)) | (1 << pin), IFXMIPS_GPIO_P0_ALTSEL1);
return 0; return 0;
} }
@ -225,8 +225,8 @@ EXPORT_SYMBOL(danube_port_set_altsel1);
int int
danube_port_clear_altsel1 (unsigned int port, unsigned int pin) danube_port_clear_altsel1 (unsigned int port, unsigned int pin)
{ {
DANUBE_GPIO_SANITY; IFXMIPS_GPIO_SANITY;
writel(readl(DANUBE_GPIO_P0_ALTSEL1 + (port * 0x30)) & ~(1 << pin), DANUBE_GPIO_P0_ALTSEL1); writel(readl(IFXMIPS_GPIO_P0_ALTSEL1 + (port * 0x30)) & ~(1 << pin), IFXMIPS_GPIO_P0_ALTSEL1);
return 0; return 0;
} }
@ -264,24 +264,24 @@ danube_port_read_procmem (char *buf, char **start, off_t offset, int count,
len += sprintf (buf + len, len += sprintf (buf + len,
"----------------------------------------\n"); "----------------------------------------\n");
len += danube_port_read_procmem_helper("P0-OUT", DANUBE_GPIO_P0_OUT, &buf[len]); len += danube_port_read_procmem_helper("P0-OUT", IFXMIPS_GPIO_P0_OUT, &buf[len]);
len += danube_port_read_procmem_helper("P1-OUT", DANUBE_GPIO_P1_OUT, &buf[len]); len += danube_port_read_procmem_helper("P1-OUT", IFXMIPS_GPIO_P1_OUT, &buf[len]);
len += danube_port_read_procmem_helper("P0-IN ", DANUBE_GPIO_P0_IN, &buf[len]); len += danube_port_read_procmem_helper("P0-IN ", IFXMIPS_GPIO_P0_IN, &buf[len]);
len += danube_port_read_procmem_helper("P1-IN ", DANUBE_GPIO_P1_IN, &buf[len]); len += danube_port_read_procmem_helper("P1-IN ", IFXMIPS_GPIO_P1_IN, &buf[len]);
len += danube_port_read_procmem_helper("P0-DIR", DANUBE_GPIO_P0_DIR, &buf[len]); len += danube_port_read_procmem_helper("P0-DIR", IFXMIPS_GPIO_P0_DIR, &buf[len]);
len += danube_port_read_procmem_helper("P1-DIR", DANUBE_GPIO_P1_DIR, &buf[len]); len += danube_port_read_procmem_helper("P1-DIR", IFXMIPS_GPIO_P1_DIR, &buf[len]);
len += danube_port_read_procmem_helper("P0-STO ", DANUBE_GPIO_P0_STOFF, &buf[len]); len += danube_port_read_procmem_helper("P0-STO ", IFXMIPS_GPIO_P0_STOFF, &buf[len]);
len += danube_port_read_procmem_helper("P1-STO ", DANUBE_GPIO_P1_STOFF, &buf[len]); len += danube_port_read_procmem_helper("P1-STO ", IFXMIPS_GPIO_P1_STOFF, &buf[len]);
len += danube_port_read_procmem_helper("P0-PUDE", DANUBE_GPIO_P0_PUDEN, &buf[len]); len += danube_port_read_procmem_helper("P0-PUDE", IFXMIPS_GPIO_P0_PUDEN, &buf[len]);
len += danube_port_read_procmem_helper("P1-PUDE", DANUBE_GPIO_P1_PUDEN, &buf[len]); len += danube_port_read_procmem_helper("P1-PUDE", IFXMIPS_GPIO_P1_PUDEN, &buf[len]);
len += danube_port_read_procmem_helper("P0-OD ", DANUBE_GPIO_P0_OD, &buf[len]); len += danube_port_read_procmem_helper("P0-OD ", IFXMIPS_GPIO_P0_OD, &buf[len]);
len += danube_port_read_procmem_helper("P1-OD ", DANUBE_GPIO_P1_OD, &buf[len]); len += danube_port_read_procmem_helper("P1-OD ", IFXMIPS_GPIO_P1_OD, &buf[len]);
len += danube_port_read_procmem_helper("P0-PUDS", DANUBE_GPIO_P0_PUDSEL, &buf[len]); len += danube_port_read_procmem_helper("P0-PUDS", IFXMIPS_GPIO_P0_PUDSEL, &buf[len]);
len += danube_port_read_procmem_helper("P1-PUDS", DANUBE_GPIO_P1_PUDSEL, &buf[len]); len += danube_port_read_procmem_helper("P1-PUDS", IFXMIPS_GPIO_P1_PUDSEL, &buf[len]);
len += danube_port_read_procmem_helper("P0-ALT0", DANUBE_GPIO_P0_ALTSEL0, &buf[len]); len += danube_port_read_procmem_helper("P0-ALT0", IFXMIPS_GPIO_P0_ALTSEL0, &buf[len]);
len += danube_port_read_procmem_helper("P1-ALT0", DANUBE_GPIO_P1_ALTSEL0, &buf[len]); len += danube_port_read_procmem_helper("P1-ALT0", IFXMIPS_GPIO_P1_ALTSEL0, &buf[len]);
len += danube_port_read_procmem_helper("P0-ALT1", DANUBE_GPIO_P0_ALTSEL1, &buf[len]); len += danube_port_read_procmem_helper("P0-ALT1", IFXMIPS_GPIO_P0_ALTSEL1, &buf[len]);
len += danube_port_read_procmem_helper("P1-ALT1", DANUBE_GPIO_P1_ALTSEL1, &buf[len]); len += danube_port_read_procmem_helper("P1-ALT1", IFXMIPS_GPIO_P1_ALTSEL1, &buf[len]);
len = len + sprintf (buf + len, "\n\n"); len = len + sprintf (buf + len, "\n\n");
*eof = 1; *eof = 1;
@ -308,7 +308,7 @@ danube_port_ioctl (struct inode *inode, struct file *filp,
int ret = 0; int ret = 0;
volatile struct danube_port_ioctl_parm parm; volatile struct danube_port_ioctl_parm parm;
if (_IOC_TYPE (cmd) != DANUBE_PORT_IOC_MAGIC) if (_IOC_TYPE (cmd) != IFXMIPS_PORT_IOC_MAGIC)
return -EINVAL; return -EINVAL;
if (_IOC_DIR (cmd) & _IOC_WRITE) { if (_IOC_DIR (cmd) & _IOC_WRITE) {
@ -330,63 +330,63 @@ danube_port_ioctl (struct inode *inode, struct file *filp,
return -EBUSY; return -EBUSY;
switch (cmd) { switch (cmd) {
case DANUBE_PORT_IOCOD: case IFXMIPS_PORT_IOCOD:
if (parm.value == 0x00) if (parm.value == 0x00)
danube_port_clear_open_drain(parm.port, parm.pin); danube_port_clear_open_drain(parm.port, parm.pin);
else else
danube_port_set_open_drain(parm.port, parm.pin); danube_port_set_open_drain(parm.port, parm.pin);
break; break;
case DANUBE_PORT_IOCPUDSEL: case IFXMIPS_PORT_IOCPUDSEL:
if (parm.value == 0x00) if (parm.value == 0x00)
danube_port_clear_pudsel(parm.port, parm.pin); danube_port_clear_pudsel(parm.port, parm.pin);
else else
danube_port_set_pudsel(parm.port, parm.pin); danube_port_set_pudsel(parm.port, parm.pin);
break; break;
case DANUBE_PORT_IOCPUDEN: case IFXMIPS_PORT_IOCPUDEN:
if (parm.value == 0x00) if (parm.value == 0x00)
danube_port_clear_puden(parm.port, parm.pin); danube_port_clear_puden(parm.port, parm.pin);
else else
danube_port_set_puden(parm.port, parm.pin); danube_port_set_puden(parm.port, parm.pin);
break; break;
case DANUBE_PORT_IOCSTOFF: case IFXMIPS_PORT_IOCSTOFF:
if (parm.value == 0x00) if (parm.value == 0x00)
danube_port_clear_stoff(parm.port, parm.pin); danube_port_clear_stoff(parm.port, parm.pin);
else else
danube_port_set_stoff(parm.port, parm.pin); danube_port_set_stoff(parm.port, parm.pin);
break; break;
case DANUBE_PORT_IOCDIR: case IFXMIPS_PORT_IOCDIR:
if (parm.value == 0x00) if (parm.value == 0x00)
danube_port_set_dir_in(parm.port, parm.pin); danube_port_set_dir_in(parm.port, parm.pin);
else else
danube_port_set_dir_out(parm.port, parm.pin); danube_port_set_dir_out(parm.port, parm.pin);
break; break;
case DANUBE_PORT_IOCOUTPUT: case IFXMIPS_PORT_IOCOUTPUT:
if (parm.value == 0x00) if (parm.value == 0x00)
danube_port_clear_output(parm.port, parm.pin); danube_port_clear_output(parm.port, parm.pin);
else else
danube_port_set_output(parm.port, parm.pin); danube_port_set_output(parm.port, parm.pin);
break; break;
case DANUBE_PORT_IOCALTSEL0: case IFXMIPS_PORT_IOCALTSEL0:
if (parm.value == 0x00) if (parm.value == 0x00)
danube_port_clear_altsel0(parm.port, parm.pin); danube_port_clear_altsel0(parm.port, parm.pin);
else else
danube_port_set_altsel0(parm.port, parm.pin); danube_port_set_altsel0(parm.port, parm.pin);
break; break;
case DANUBE_PORT_IOCALTSEL1: case IFXMIPS_PORT_IOCALTSEL1:
if (parm.value == 0x00) if (parm.value == 0x00)
danube_port_clear_altsel1(parm.port, parm.pin); danube_port_clear_altsel1(parm.port, parm.pin);
else else
danube_port_set_altsel1(parm.port, parm.pin); danube_port_set_altsel1(parm.port, parm.pin);
break; break;
case DANUBE_PORT_IOCINPUT: case IFXMIPS_PORT_IOCINPUT:
parm.value = danube_port_get_input(parm.port, parm.pin); parm.value = danube_port_get_input(parm.port, parm.pin);
copy_to_user((void*)arg, (void*)&parm, copy_to_user((void*)arg, (void*)&parm,
sizeof(struct danube_port_ioctl_parm)); sizeof(struct danube_port_ioctl_parm));

View file

@ -31,12 +31,12 @@
#include <asm/danube/danube_gpio.h> #include <asm/danube/danube_gpio.h>
#include <asm/danube/danube_pmu.h> #include <asm/danube/danube_pmu.h>
#define DANUBE_LED_CLK_EDGE DANUBE_LED_FALLING #define IFXMIPS_LED_CLK_EDGE IFXMIPS_LED_FALLING
//#define DANUBE_LED_CLK_EDGE DANUBE_LED_RISING //#define IFXMIPS_LED_CLK_EDGE IFXMIPS_LED_RISING
#define DANUBE_LED_SPEED DANUBE_LED_8HZ #define IFXMIPS_LED_SPEED IFXMIPS_LED_8HZ
#define DANUBE_LED_GPIO_PORT 0 #define IFXMIPS_LED_GPIO_PORT 0
static int danube_led_major; static int danube_led_major;
@ -44,7 +44,7 @@ void
danube_led_set (unsigned int led) danube_led_set (unsigned int led)
{ {
led &= 0xffffff; led &= 0xffffff;
writel(readl(DANUBE_LED_CPU0) | led, DANUBE_LED_CPU0); writel(readl(IFXMIPS_LED_CPU0) | led, IFXMIPS_LED_CPU0);
} }
EXPORT_SYMBOL(danube_led_set); EXPORT_SYMBOL(danube_led_set);
@ -52,7 +52,7 @@ void
danube_led_clear (unsigned int led) danube_led_clear (unsigned int led)
{ {
led = ~(led & 0xffffff); led = ~(led & 0xffffff);
writel(readl(DANUBE_LED_CPU0) & led, DANUBE_LED_CPU0); writel(readl(IFXMIPS_LED_CPU0) & led, IFXMIPS_LED_CPU0);
} }
EXPORT_SYMBOL(danube_led_clear); EXPORT_SYMBOL(danube_led_clear);
@ -60,7 +60,7 @@ void
danube_led_blink_set (unsigned int led) danube_led_blink_set (unsigned int led)
{ {
led &= 0xffffff; led &= 0xffffff;
writel(readl(DANUBE_LED_CON0) | led, DANUBE_LED_CON0); writel(readl(IFXMIPS_LED_CON0) | led, IFXMIPS_LED_CON0);
} }
EXPORT_SYMBOL(danube_led_blink_set); EXPORT_SYMBOL(danube_led_blink_set);
@ -68,7 +68,7 @@ void
danube_led_blink_clear (unsigned int led) danube_led_blink_clear (unsigned int led)
{ {
led = ~(led & 0xffffff); led = ~(led & 0xffffff);
writel(readl(DANUBE_LED_CON0) & led, DANUBE_LED_CON0); writel(readl(IFXMIPS_LED_CON0) & led, IFXMIPS_LED_CON0);
} }
EXPORT_SYMBOL(danube_led_blink_clear); EXPORT_SYMBOL(danube_led_blink_clear);
@ -80,10 +80,10 @@ danube_led_setup_gpio (void)
/* we need to setup pins SH,D,ST (4,5,6) */ /* we need to setup pins SH,D,ST (4,5,6) */
for (i = 4; i < 7; i++) for (i = 4; i < 7; i++)
{ {
danube_port_set_altsel0(DANUBE_LED_GPIO_PORT, i); danube_port_set_altsel0(IFXMIPS_LED_GPIO_PORT, i);
danube_port_clear_altsel1(DANUBE_LED_GPIO_PORT, i); danube_port_clear_altsel1(IFXMIPS_LED_GPIO_PORT, i);
danube_port_set_dir_out(DANUBE_LED_GPIO_PORT, i); danube_port_set_dir_out(IFXMIPS_LED_GPIO_PORT, i);
danube_port_set_open_drain(DANUBE_LED_GPIO_PORT, i); danube_port_set_open_drain(IFXMIPS_LED_GPIO_PORT, i);
} }
} }
@ -144,32 +144,32 @@ danube_led_init (void)
danube_led_setup_gpio(); danube_led_setup_gpio();
writel(0, DANUBE_LED_AR); writel(0, IFXMIPS_LED_AR);
writel(0, DANUBE_LED_CPU0); writel(0, IFXMIPS_LED_CPU0);
writel(0, DANUBE_LED_CPU1); writel(0, IFXMIPS_LED_CPU1);
writel(LED_CON0_SWU, DANUBE_LED_CON0); writel(LED_CON0_SWU, IFXMIPS_LED_CON0);
writel(0, DANUBE_LED_CON1); writel(0, IFXMIPS_LED_CON1);
/* setup the clock edge that the shift register is triggered on */ /* setup the clock edge that the shift register is triggered on */
writel(readl(DANUBE_LED_CON0) & ~DANUBE_LED_EDGE_MASK, DANUBE_LED_CON0); writel(readl(IFXMIPS_LED_CON0) & ~IFXMIPS_LED_EDGE_MASK, IFXMIPS_LED_CON0);
writel(readl(DANUBE_LED_CON0) | DANUBE_LED_CLK_EDGE, DANUBE_LED_CON0); writel(readl(IFXMIPS_LED_CON0) | IFXMIPS_LED_CLK_EDGE, IFXMIPS_LED_CON0);
/* per default leds 15-0 are set */ /* per default leds 15-0 are set */
writel(DANUBE_LED_GROUP1 | DANUBE_LED_GROUP0, DANUBE_LED_CON1); writel(IFXMIPS_LED_GROUP1 | IFXMIPS_LED_GROUP0, IFXMIPS_LED_CON1);
/* leds are update periodically by the FPID */ /* leds are update periodically by the FPID */
writel(readl(DANUBE_LED_CON1) & ~DANUBE_LED_UPD_MASK, DANUBE_LED_CON1); writel(readl(IFXMIPS_LED_CON1) & ~IFXMIPS_LED_UPD_MASK, IFXMIPS_LED_CON1);
writel(readl(DANUBE_LED_CON1) | DANUBE_LED_UPD_SRC_FPI, DANUBE_LED_CON1); writel(readl(IFXMIPS_LED_CON1) | IFXMIPS_LED_UPD_SRC_FPI, IFXMIPS_LED_CON1);
/* set led update speed */ /* set led update speed */
writel(readl(DANUBE_LED_CON1) & ~DANUBE_LED_MASK, DANUBE_LED_CON1); writel(readl(IFXMIPS_LED_CON1) & ~IFXMIPS_LED_MASK, IFXMIPS_LED_CON1);
writel(readl(DANUBE_LED_CON1) | DANUBE_LED_SPEED, DANUBE_LED_CON1); writel(readl(IFXMIPS_LED_CON1) | IFXMIPS_LED_SPEED, IFXMIPS_LED_CON1);
/* adsl 0 and 1 leds are updated by the arc */ /* adsl 0 and 1 leds are updated by the arc */
writel(readl(DANUBE_LED_CON0) | DANUBE_LED_ADSL_SRC, DANUBE_LED_CON0); writel(readl(IFXMIPS_LED_CON0) | IFXMIPS_LED_ADSL_SRC, IFXMIPS_LED_CON0);
/* per default, the leds are turned on */ /* per default, the leds are turned on */
danube_pmu_enable(DANUBE_PMU_PWDCR_LED); danube_pmu_enable(IFXMIPS_PMU_PWDCR_LED);
danube_led_major = register_chrdev(0, "danube_led", &danube_led_fops); danube_led_major = register_chrdev(0, "danube_led", &danube_led_fops);

View file

@ -872,20 +872,20 @@ ifx_ssc_sethwopts (struct ifx_ssc_port *info)
/* TODO: P0.9 SPI_CS4, P0.10 SPI_CS5, P 0.11 SPI_CS6, because of ASC0 */ /* TODO: P0.9 SPI_CS4, P0.10 SPI_CS5, P 0.11 SPI_CS6, because of ASC0 */
/* p0.15 SPI_CS1(EEPROM), P0.13 SPI_CS3, */ /* p0.15 SPI_CS1(EEPROM), P0.13 SPI_CS3, */
/* Set p0.15 to alternative 01, others to 00 (In/OUT) */ /* Set p0.15 to alternative 01, others to 00 (In/OUT) */
*(DANUBE_GPIO_P0_DIR) = (*DANUBE_GPIO_P0_DIR) | (0xA000); *(IFXMIPS_GPIO_P0_DIR) = (*IFXMIPS_GPIO_P0_DIR) | (0xA000);
*(DANUBE_GPIO_P0_ALTSEL0) = (((*DANUBE_GPIO_P0_ALTSEL0) | (0x8000)) & (~(0x2000))); *(IFXMIPS_GPIO_P0_ALTSEL0) = (((*IFXMIPS_GPIO_P0_ALTSEL0) | (0x8000)) & (~(0x2000)));
*(DANUBE_GPIO_P0_ALTSEL1) = (((*DANUBE_GPIO_P0_ALTSEL1) & (~0x8000)) & (~(0x2000))); *(IFXMIPS_GPIO_P0_ALTSEL1) = (((*IFXMIPS_GPIO_P0_ALTSEL1) & (~0x8000)) & (~(0x2000)));
*(DANUBE_GPIO_P0_OD) = (*DANUBE_GPIO_P0_OD) | 0xA000; *(IFXMIPS_GPIO_P0_OD) = (*IFXMIPS_GPIO_P0_OD) | 0xA000;
/* p1.6 SPI_CS2(SFLASH), p1.0 SPI_DIN, p1.1 SPI_DOUT, p1.2 SPI_CLK */ /* p1.6 SPI_CS2(SFLASH), p1.0 SPI_DIN, p1.1 SPI_DOUT, p1.2 SPI_CLK */
*(DANUBE_GPIO_P1_DIR) = ((*DANUBE_GPIO_P1_DIR) | (0x46)) & (~1); *(IFXMIPS_GPIO_P1_DIR) = ((*IFXMIPS_GPIO_P1_DIR) | (0x46)) & (~1);
*(DANUBE_GPIO_P1_ALTSEL0) = ((*DANUBE_GPIO_P1_ALTSEL0) | (0x47)); *(IFXMIPS_GPIO_P1_ALTSEL0) = ((*IFXMIPS_GPIO_P1_ALTSEL0) | (0x47));
*(DANUBE_GPIO_P1_ALTSEL1) = (*DANUBE_GPIO_P1_ALTSEL1) & (~0x47); *(IFXMIPS_GPIO_P1_ALTSEL1) = (*IFXMIPS_GPIO_P1_ALTSEL1) & (~0x47);
*(DANUBE_GPIO_P1_OD) = (*DANUBE_GPIO_P1_OD) | 0x0046; *(IFXMIPS_GPIO_P1_OD) = (*IFXMIPS_GPIO_P1_OD) | 0x0046;
/*CS3 */ /*CS3 */
/*TODO: CS4 CS5 CS6 */ /*TODO: CS4 CS5 CS6 */
*DANUBE_GPIO_P0_OUT = ((*DANUBE_GPIO_P0_OUT) | 0x2000); *IFXMIPS_GPIO_P0_OUT = ((*IFXMIPS_GPIO_P0_OUT) | 0x2000);
local_irq_restore (flags); local_irq_restore (flags);
@ -1273,10 +1273,10 @@ ifx_ssc_init (void)
info->txbuf = NULL; info->txbuf = NULL;
/* values specific to SSC1 */ /* values specific to SSC1 */
if (i == 0) { if (i == 0) {
info->mapbase = DANUBE_SSC1_BASE_ADDR; info->mapbase = IFXMIPS_SSC1_BASE_ADDR;
info->txirq = DANUBE_SSC_TIR; info->txirq = IFXMIPS_SSC_TIR;
info->rxirq = DANUBE_SSC_RIR; info->rxirq = IFXMIPS_SSC_RIR;
info->errirq = DANUBE_SSC_EIR; info->errirq = IFXMIPS_SSC_EIR;
} }
WRITE_PERIPHERAL_REGISTER (IFX_SSC_DEF_RMC << IFX_CLC_RUN_DIVIDER_OFFSET, info->mapbase + IFX_SSC_CLC); WRITE_PERIPHERAL_REGISTER (IFX_SSC_DEF_RMC << IFX_CLC_RUN_DIVIDER_OFFSET, info->mapbase + IFX_SSC_CLC);

View file

@ -43,8 +43,8 @@ danube_wdt_enable (unsigned int timeout)
int retval = 0; int retval = 0;
/* clock divider & prewarning limit */ /* clock divider & prewarning limit */
wdt_clkdiv = 1 << (7 * DANUBE_BIU_WDT_CR_CLKDIV_GET(readl(DANUBE_BIU_WDT_CR))); wdt_clkdiv = 1 << (7 * IFXMIPS_BIU_WDT_CR_CLKDIV_GET(readl(IFXMIPS_BIU_WDT_CR)));
wdt_pwl = 0x8000 >> DANUBE_BIU_WDT_CR_PWL_GET(readl(DANUBE_BIU_WDT_CR)); wdt_pwl = 0x8000 >> IFXMIPS_BIU_WDT_CR_PWL_GET(readl(IFXMIPS_BIU_WDT_CR));
//TODO //TODO
printk("WARNING FUNCTION CALL MISSING!!!"); printk("WARNING FUNCTION CALL MISSING!!!");
@ -65,21 +65,21 @@ danube_wdt_enable (unsigned int timeout)
} }
/* Write first part of password access */ /* Write first part of password access */
writel(DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW1), DANUBE_BIU_WDT_CR); writel(IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW1), IFXMIPS_BIU_WDT_CR);
wdt_cr = readl(DANUBE_BIU_WDT_CR); wdt_cr = readl(IFXMIPS_BIU_WDT_CR);
wdt_cr &= (!DANUBE_BIU_WDT_CR_PW_SET(0xff) & wdt_cr &= (!IFXMIPS_BIU_WDT_CR_PW_SET(0xff) &
!DANUBE_BIU_WDT_CR_PWL_SET(0x3) & !IFXMIPS_BIU_WDT_CR_PWL_SET(0x3) &
!DANUBE_BIU_WDT_CR_CLKDIV_SET(0x3) & !IFXMIPS_BIU_WDT_CR_CLKDIV_SET(0x3) &
!DANUBE_BIU_WDT_CR_RELOAD_SET(0xffff)); !IFXMIPS_BIU_WDT_CR_RELOAD_SET(0xffff));
wdt_cr |= (DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW2) | wdt_cr |= (IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW2) |
DANUBE_BIU_WDT_CR_PWL_SET(DANUBE_BIU_WDT_CR_PWL_GET(readl(DANUBE_BIU_WDT_CR))) | IFXMIPS_BIU_WDT_CR_PWL_SET(IFXMIPS_BIU_WDT_CR_PWL_GET(readl(IFXMIPS_BIU_WDT_CR))) |
DANUBE_BIU_WDT_CR_CLKDIV_SET(DANUBE_BIU_WDT_CR_CLKDIV_GET(readl(DANUBE_BIU_WDT_CR))) | IFXMIPS_BIU_WDT_CR_CLKDIV_SET(IFXMIPS_BIU_WDT_CR_CLKDIV_GET(readl(IFXMIPS_BIU_WDT_CR))) |
DANUBE_BIU_WDT_CR_RELOAD_SET(wdt_reload) | IFXMIPS_BIU_WDT_CR_RELOAD_SET(wdt_reload) |
DANUBE_BIU_WDT_CR_GEN); IFXMIPS_BIU_WDT_CR_GEN);
writel(wdt_cr, DANUBE_BIU_WDT_CR); writel(wdt_cr, IFXMIPS_BIU_WDT_CR);
printk("watchdog enabled\n"); printk("watchdog enabled\n");
@ -90,8 +90,8 @@ out:
void void
danube_wdt_disable (void) danube_wdt_disable (void)
{ {
writel(DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW1), DANUBE_BIU_WDT_CR); writel(IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW1), IFXMIPS_BIU_WDT_CR);
writel(DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW2), DANUBE_BIU_WDT_CR); writel(IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW2), IFXMIPS_BIU_WDT_CR);
printk("watchdog disabled\n"); printk("watchdog disabled\n");
} }
@ -102,20 +102,20 @@ danube_wdt_enable_feature (int en, int type)
{ {
unsigned int wdt_cr = 0; unsigned int wdt_cr = 0;
writel(DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW1), DANUBE_BIU_WDT_CR); writel(IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW1), IFXMIPS_BIU_WDT_CR);
wdt_cr = readl(DANUBE_BIU_WDT_CR); wdt_cr = readl(IFXMIPS_BIU_WDT_CR);
if (en) if (en)
{ {
wdt_cr &= (~DANUBE_BIU_WDT_CR_PW_SET(0xff)); wdt_cr &= (~IFXMIPS_BIU_WDT_CR_PW_SET(0xff));
wdt_cr |= (DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW2) | type); wdt_cr |= (IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW2) | type);
} else { } else {
wdt_cr &= (~DANUBE_BIU_WDT_CR_PW_SET(0xff) & ~type); wdt_cr &= (~IFXMIPS_BIU_WDT_CR_PW_SET(0xff) & ~type);
wdt_cr |= DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW2); wdt_cr |= IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW2);
} }
writel(wdt_cr, DANUBE_BIU_WDT_CR); writel(wdt_cr, IFXMIPS_BIU_WDT_CR);
} }
void void
@ -123,14 +123,14 @@ danube_wdt_prewarning_limit (int pwl)
{ {
unsigned int wdt_cr = 0; unsigned int wdt_cr = 0;
wdt_cr = readl(DANUBE_BIU_WDT_CR); wdt_cr = readl(IFXMIPS_BIU_WDT_CR);
writel(DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW1), DANUBE_BIU_WDT_CR); writel(IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW1), IFXMIPS_BIU_WDT_CR);
wdt_cr &= 0xf300ffff; wdt_cr &= 0xf300ffff;
wdt_cr |= (DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW2) | DANUBE_BIU_WDT_CR_PWL_SET(pwl)); wdt_cr |= (IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW2) | IFXMIPS_BIU_WDT_CR_PWL_SET(pwl));
/* Set reload value in second password access */ /* Set reload value in second password access */
writel(wdt_cr, DANUBE_BIU_WDT_CR); writel(wdt_cr, IFXMIPS_BIU_WDT_CR);
} }
void void
@ -138,14 +138,14 @@ danube_wdt_set_clkdiv (int clkdiv)
{ {
unsigned int wdt_cr = 0; unsigned int wdt_cr = 0;
wdt_cr = readl(DANUBE_BIU_WDT_CR); wdt_cr = readl(IFXMIPS_BIU_WDT_CR);
writel(DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW1), DANUBE_BIU_WDT_CR); writel(IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW1), IFXMIPS_BIU_WDT_CR);
wdt_cr &= 0xfc00ffff; wdt_cr &= 0xfc00ffff;
wdt_cr |= (DANUBE_BIU_WDT_CR_PW_SET(DANUBE_WDT_PW2) | DANUBE_BIU_WDT_CR_CLKDIV_SET(clkdiv)); wdt_cr |= (IFXMIPS_BIU_WDT_CR_PW_SET(IFXMIPS_WDT_PW2) | IFXMIPS_BIU_WDT_CR_CLKDIV_SET(clkdiv));
/* Set reload value in second password access */ /* Set reload value in second password access */
writel(wdt_cr, DANUBE_BIU_WDT_CR); writel(wdt_cr, IFXMIPS_BIU_WDT_CR);
} }
static int static int
@ -156,7 +156,7 @@ danube_wdt_ioctl (struct inode *inode, struct file *file, unsigned int cmd,
static int timeout = -1; static int timeout = -1;
unsigned int user_arg; unsigned int user_arg;
if ((cmd != DANUBE_WDT_IOC_STOP) && (cmd != DANUBE_WDT_IOC_PING) && (cmd != DANUBE_WDT_IOC_GET_STATUS)) if ((cmd != IFXMIPS_WDT_IOC_STOP) && (cmd != IFXMIPS_WDT_IOC_PING) && (cmd != IFXMIPS_WDT_IOC_GET_STATUS))
{ {
if (copy_from_user((void *) &user_arg, (void *) arg, sizeof (int))){ if (copy_from_user((void *) &user_arg, (void *) arg, sizeof (int))){
result = -EINVAL; result = -EINVAL;
@ -166,43 +166,43 @@ danube_wdt_ioctl (struct inode *inode, struct file *file, unsigned int cmd,
switch (cmd) switch (cmd)
{ {
case DANUBE_WDT_IOC_START: case IFXMIPS_WDT_IOC_START:
if ((result = danube_wdt_enable(user_arg)) < 0) if ((result = danube_wdt_enable(user_arg)) < 0)
timeout = -1; timeout = -1;
else else
timeout = user_arg; timeout = user_arg;
break; break;
case DANUBE_WDT_IOC_STOP: case IFXMIPS_WDT_IOC_STOP:
printk("disable watch dog timer\n"); printk("disable watch dog timer\n");
danube_wdt_disable(); danube_wdt_disable();
break; break;
case DANUBE_WDT_IOC_PING: case IFXMIPS_WDT_IOC_PING:
if (timeout < 0) if (timeout < 0)
result = -EIO; result = -EIO;
else else
result = danube_wdt_enable(timeout); result = danube_wdt_enable(timeout);
break; break;
case DANUBE_WDT_IOC_GET_STATUS: case IFXMIPS_WDT_IOC_GET_STATUS:
user_arg = readl(DANUBE_BIU_WDT_SR); user_arg = readl(IFXMIPS_BIU_WDT_SR);
copy_to_user((int*)arg, (int*)&user_arg, sizeof(int)); copy_to_user((int*)arg, (int*)&user_arg, sizeof(int));
break; break;
case DANUBE_WDT_IOC_SET_PWL: case IFXMIPS_WDT_IOC_SET_PWL:
danube_wdt_prewarning_limit(user_arg); danube_wdt_prewarning_limit(user_arg);
break; break;
case DANUBE_WDT_IOC_SET_DSEN: case IFXMIPS_WDT_IOC_SET_DSEN:
danube_wdt_enable_feature(user_arg, DANUBE_BIU_WDT_CR_DSEN); danube_wdt_enable_feature(user_arg, IFXMIPS_BIU_WDT_CR_DSEN);
break; break;
case DANUBE_WDT_IOC_SET_LPEN: case IFXMIPS_WDT_IOC_SET_LPEN:
danube_wdt_enable_feature(user_arg, DANUBE_BIU_WDT_CR_LPEN); danube_wdt_enable_feature(user_arg, IFXMIPS_BIU_WDT_CR_LPEN);
break; break;
case DANUBE_WDT_IOC_SET_CLKDIV: case IFXMIPS_WDT_IOC_SET_CLKDIV:
danube_wdt_set_clkdiv(user_arg); danube_wdt_set_clkdiv(user_arg);
break; break;
@ -239,11 +239,11 @@ danube_wdt_register_proc_read (char *buf, char **start, off_t offset, int count,
{ {
int len = 0; int len = 0;
len += sprintf (buf + len, "DANUBE_BIU_WDT_PROC_READ\n"); len += sprintf (buf + len, "IFXMIPS_BIU_WDT_PROC_READ\n");
len += sprintf (buf + len, "DANUBE_BIU_WDT_CR(0x%08x) : 0x%08x\n", len += sprintf (buf + len, "IFXMIPS_BIU_WDT_CR(0x%08x) : 0x%08x\n",
(unsigned int)DANUBE_BIU_WDT_CR, readl(DANUBE_BIU_WDT_CR)); (unsigned int)IFXMIPS_BIU_WDT_CR, readl(IFXMIPS_BIU_WDT_CR));
len += sprintf (buf + len, "DANUBE_BIU_WDT_SR(0x%08x) : 0x%08x\n", len += sprintf (buf + len, "IFXMIPS_BIU_WDT_SR(0x%08x) : 0x%08x\n",
(unsigned int)DANUBE_BIU_WDT_SR, readl(DANUBE_BIU_WDT_SR)); (unsigned int)IFXMIPS_BIU_WDT_SR, readl(IFXMIPS_BIU_WDT_SR));
*eof = 1; *eof = 1;

View file

@ -1,5 +1,5 @@
/* /*
* Driver for DANUBE flashmap * Driver for IFXMIPS flashmap
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,7 +34,7 @@
static struct map_info static struct map_info
danube_map = { danube_map = {
.name = "DANUBE_FLASH", .name = "IFXMIPS_FLASH",
.bankwidth = 2, .bankwidth = 2,
.size = 0x400000, .size = 0x400000,
}; };
@ -108,8 +108,8 @@ danube_partitions[4] = {
}, },
}; };
#define DANUBE_FLASH_START 0x10000000 #define IFXMIPS_FLASH_START 0x10000000
#define DANUBE_FLASH_MAX 0x2000000 #define IFXMIPS_FLASH_MAX 0x2000000
int int
find_uImage_size (unsigned long start_offset){ find_uImage_size (unsigned long start_offset){
@ -136,16 +136,16 @@ init_danube_mtd (void)
struct mtd_partition *parts = NULL; struct mtd_partition *parts = NULL;
unsigned long uimage_size; unsigned long uimage_size;
writel(0x1d7ff, DANUBE_EBU_BUSCON0); writel(0x1d7ff, IFXMIPS_EBU_BUSCON0);
danube_map.read = danube_read16; danube_map.read = danube_read16;
danube_map.write = danube_write16; danube_map.write = danube_write16;
danube_map.copy_from = danube_copy_from; danube_map.copy_from = danube_copy_from;
danube_map.copy_to = danube_copy_to; danube_map.copy_to = danube_copy_to;
danube_map.phys = DANUBE_FLASH_START; danube_map.phys = IFXMIPS_FLASH_START;
danube_map.virt = ioremap_nocache(DANUBE_FLASH_START, DANUBE_FLASH_MAX); danube_map.virt = ioremap_nocache(IFXMIPS_FLASH_START, IFXMIPS_FLASH_MAX);
danube_map.size = DANUBE_FLASH_MAX; danube_map.size = IFXMIPS_FLASH_MAX;
if (!danube_map.virt) { if (!danube_map.virt) {
printk(KERN_WARNING "Failed to ioremap!\n"); printk(KERN_WARNING "Failed to ioremap!\n");
return -EIO; return -EIO;
@ -191,4 +191,4 @@ module_exit (cleanup_danube_mtd);
MODULE_LICENSE ("GPL"); MODULE_LICENSE ("GPL");
MODULE_AUTHOR ("John Crispin <blogic@openwrt.org>"); MODULE_AUTHOR ("John Crispin <blogic@openwrt.org>");
MODULE_DESCRIPTION ("MTD map driver for DANUBE boards"); MODULE_DESCRIPTION ("MTD map driver for IFXMIPS boards");

View file

@ -57,8 +57,8 @@ danube_write_mdio (u32 phy_addr, u32 phy_reg, u16 phy_data)
((phy_reg & MDIO_ACC_REG_MASK) << MDIO_ACC_REG_OFFSET) | ((phy_reg & MDIO_ACC_REG_MASK) << MDIO_ACC_REG_OFFSET) |
phy_data; phy_data;
while (readl(DANUBE_PPE32_MDIO_ACC) & MDIO_ACC_REQUEST); while (readl(IFXMIPS_PPE32_MDIO_ACC) & MDIO_ACC_REQUEST);
writel(val, DANUBE_PPE32_MDIO_ACC); writel(val, IFXMIPS_PPE32_MDIO_ACC);
} }
unsigned short unsigned short
@ -68,9 +68,9 @@ danube_read_mdio (u32 phy_addr, u32 phy_reg)
((phy_addr & MDIO_ACC_ADDR_MASK) << MDIO_ACC_ADDR_OFFSET) | ((phy_addr & MDIO_ACC_ADDR_MASK) << MDIO_ACC_ADDR_OFFSET) |
((phy_reg & MDIO_ACC_REG_MASK) << MDIO_ACC_REG_OFFSET); ((phy_reg & MDIO_ACC_REG_MASK) << MDIO_ACC_REG_OFFSET);
writel(val, DANUBE_PPE32_MDIO_ACC); writel(val, IFXMIPS_PPE32_MDIO_ACC);
while (readl(DANUBE_PPE32_MDIO_ACC) & MDIO_ACC_REQUEST){}; while (readl(IFXMIPS_PPE32_MDIO_ACC) & MDIO_ACC_REQUEST){};
val = readl(DANUBE_PPE32_MDIO_ACC) & MDIO_ACC_VAL_MASK; val = readl(IFXMIPS_PPE32_MDIO_ACC) & MDIO_ACC_VAL_MASK;
return val; return val;
} }
@ -84,7 +84,7 @@ danube_switch_open (struct net_device *dev)
for (i = 0; i < dma_dev->max_rx_chan_num; i++) for (i = 0; i < dma_dev->max_rx_chan_num; i++)
{ {
if ((dma_dev->rx_chan[i])->control == DANUBE_DMA_CH_ON) if ((dma_dev->rx_chan[i])->control == IFXMIPS_DMA_CH_ON)
(dma_dev->rx_chan[i])->open(dma_dev->rx_chan[i]); (dma_dev->rx_chan[i])->open(dma_dev->rx_chan[i]);
} }
@ -238,7 +238,7 @@ dma_intr_handler (struct dma_device_info* dma_dev, int status)
netif_stop_queue(&danube_mii0_dev); netif_stop_queue(&danube_mii0_dev);
for (i = 0; i < dma_dev->max_tx_chan_num; i++) for (i = 0; i < dma_dev->max_tx_chan_num; i++)
{ {
if ((dma_dev->tx_chan[i])->control==DANUBE_DMA_CH_ON) if ((dma_dev->tx_chan[i])->control==IFXMIPS_DMA_CH_ON)
dma_dev->tx_chan[i]->enable_irq(dma_dev->tx_chan[i]); dma_dev->tx_chan[i]->enable_irq(dma_dev->tx_chan[i]);
} }
break; break;
@ -332,15 +332,15 @@ switch_init (struct net_device *dev)
for (i = 0; i < priv->dma_device->max_rx_chan_num; i++) for (i = 0; i < priv->dma_device->max_rx_chan_num; i++)
{ {
priv->dma_device->rx_chan[i]->packet_size = ETHERNET_PACKET_DMA_BUFFER_SIZE; priv->dma_device->rx_chan[i]->packet_size = ETHERNET_PACKET_DMA_BUFFER_SIZE;
priv->dma_device->rx_chan[i]->control = DANUBE_DMA_CH_ON; priv->dma_device->rx_chan[i]->control = IFXMIPS_DMA_CH_ON;
} }
for (i = 0; i < priv->dma_device->max_tx_chan_num; i++) for (i = 0; i < priv->dma_device->max_tx_chan_num; i++)
{ {
if(i == 0) if(i == 0)
priv->dma_device->tx_chan[i]->control = DANUBE_DMA_CH_ON; priv->dma_device->tx_chan[i]->control = IFXMIPS_DMA_CH_ON;
else else
priv->dma_device->tx_chan[i]->control = DANUBE_DMA_CH_OFF; priv->dma_device->tx_chan[i]->control = IFXMIPS_DMA_CH_OFF;
} }
dma_device_register(priv->dma_device); dma_device_register(priv->dma_device);
@ -373,17 +373,17 @@ switch_init (struct net_device *dev)
static void static void
danube_sw_chip_init (int mode) danube_sw_chip_init (int mode)
{ {
danube_pmu_enable(DANUBE_PMU_PWDCR_DMA); danube_pmu_enable(IFXMIPS_PMU_PWDCR_DMA);
danube_pmu_enable(DANUBE_PMU_PWDCR_PPE); danube_pmu_enable(IFXMIPS_PMU_PWDCR_PPE);
if(mode == REV_MII_MODE) if(mode == REV_MII_MODE)
writel((readl(DANUBE_PPE32_CFG) & PPE32_MII_MASK) | PPE32_MII_REVERSE, DANUBE_PPE32_CFG); writel((readl(IFXMIPS_PPE32_CFG) & PPE32_MII_MASK) | PPE32_MII_REVERSE, IFXMIPS_PPE32_CFG);
else if(mode == MII_MODE) else if(mode == MII_MODE)
writel((readl(DANUBE_PPE32_CFG) & PPE32_MII_MASK) | PPE32_MII_NORMAL, DANUBE_PPE32_CFG); writel((readl(IFXMIPS_PPE32_CFG) & PPE32_MII_MASK) | PPE32_MII_NORMAL, IFXMIPS_PPE32_CFG);
writel(PPE32_PLEN_UNDER | PPE32_PLEN_OVER, DANUBE_PPE32_IG_PLEN_CTRL); writel(PPE32_PLEN_UNDER | PPE32_PLEN_OVER, IFXMIPS_PPE32_IG_PLEN_CTRL);
writel(PPE32_CGEN, DANUBE_PPE32_ENET_MAC_CFG); writel(PPE32_CGEN, IFXMIPS_PPE32_ENET_MAC_CFG);
wmb(); wmb();
} }

View file

@ -1,5 +1,5 @@
/* /*
* Driver for DANUBEASC serial ports * Driver for IFXMIPSASC serial ports
* *
* Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o. * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
* *
@ -52,7 +52,7 @@
#include <asm/danube/danube_irq.h> #include <asm/danube/danube_irq.h>
#include <asm/danube/danube_serial.h> #include <asm/danube/danube_serial.h>
#define PORT_DANUBEASC 111 #define PORT_IFXMIPSASC 111
#include <linux/serial_core.h> #include <linux/serial_core.h>
@ -88,7 +88,7 @@ static void
danubeasc_stop_rx (struct uart_port *port) danubeasc_stop_rx (struct uart_port *port)
{ {
/* clear the RX enable bit */ /* clear the RX enable bit */
writel(ASCWHBSTATE_CLRREN, DANUBE_ASC1_WHBSTATE); writel(ASCWHBSTATE_CLRREN, IFXMIPS_ASC1_WHBSTATE);
} }
static void static void
@ -104,12 +104,12 @@ danubeasc_rx_chars (struct uart_port *port)
struct tty_struct *tty = port->info->tty; struct tty_struct *tty = port->info->tty;
unsigned int ch = 0, rsr = 0, fifocnt; unsigned int ch = 0, rsr = 0, fifocnt;
fifocnt = readl(DANUBE_ASC1_FSTAT) & ASCFSTAT_RXFFLMASK; fifocnt = readl(IFXMIPS_ASC1_FSTAT) & ASCFSTAT_RXFFLMASK;
while (fifocnt--) while (fifocnt--)
{ {
u8 flag = TTY_NORMAL; u8 flag = TTY_NORMAL;
ch = readl(DANUBE_ASC1_RBUF); ch = readl(IFXMIPS_ASC1_RBUF);
rsr = (readl(DANUBE_ASC1_STATE) & ASCSTATE_ANY) | UART_DUMMY_UER_RX; rsr = (readl(IFXMIPS_ASC1_STATE) & ASCSTATE_ANY) | UART_DUMMY_UER_RX;
tty_flip_buffer_push(tty); tty_flip_buffer_push(tty);
port->icount.rx++; port->icount.rx++;
@ -120,14 +120,14 @@ danubeasc_rx_chars (struct uart_port *port)
if (rsr & ASCSTATE_ANY) { if (rsr & ASCSTATE_ANY) {
if (rsr & ASCSTATE_PE) { if (rsr & ASCSTATE_PE) {
port->icount.parity++; port->icount.parity++;
writel(readl(DANUBE_ASC1_WHBSTATE) | ASCWHBSTATE_CLRPE, DANUBE_ASC1_WHBSTATE); writel(readl(IFXMIPS_ASC1_WHBSTATE) | ASCWHBSTATE_CLRPE, IFXMIPS_ASC1_WHBSTATE);
} else if (rsr & ASCSTATE_FE) { } else if (rsr & ASCSTATE_FE) {
port->icount.frame++; port->icount.frame++;
writel(readl(DANUBE_ASC1_WHBSTATE) | ASCWHBSTATE_CLRFE, DANUBE_ASC1_WHBSTATE); writel(readl(IFXMIPS_ASC1_WHBSTATE) | ASCWHBSTATE_CLRFE, IFXMIPS_ASC1_WHBSTATE);
} }
if (rsr & ASCSTATE_ROE) { if (rsr & ASCSTATE_ROE) {
port->icount.overrun++; port->icount.overrun++;
writel(readl(DANUBE_ASC1_WHBSTATE) | ASCWHBSTATE_CLRROE, DANUBE_ASC1_WHBSTATE); writel(readl(IFXMIPS_ASC1_WHBSTATE) | ASCWHBSTATE_CLRROE, IFXMIPS_ASC1_WHBSTATE);
} }
rsr &= port->read_status_mask; rsr &= port->read_status_mask;
@ -166,11 +166,11 @@ danubeasc_tx_chars (struct uart_port *port)
return; return;
} }
while(((readl(DANUBE_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK) while(((readl(IFXMIPS_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK)
>> ASCFSTAT_TXFFLOFF) != DANUBEASC_TXFIFO_FULL) >> ASCFSTAT_TXFFLOFF) != IFXMIPSASC_TXFIFO_FULL)
{ {
if (port->x_char) { if (port->x_char) {
writel(port->x_char, DANUBE_ASC1_TBUF); writel(port->x_char, IFXMIPS_ASC1_TBUF);
port->icount.tx++; port->icount.tx++;
port->x_char = 0; port->x_char = 0;
continue; continue;
@ -179,7 +179,7 @@ danubeasc_tx_chars (struct uart_port *port)
if (uart_circ_empty(xmit)) if (uart_circ_empty(xmit))
break; break;
writel(port->info->xmit.buf[port->info->xmit.tail], DANUBE_ASC1_TBUF); writel(port->info->xmit.buf[port->info->xmit.tail], IFXMIPS_ASC1_TBUF);
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
port->icount.tx++; port->icount.tx++;
} }
@ -191,7 +191,7 @@ danubeasc_tx_chars (struct uart_port *port)
static irqreturn_t static irqreturn_t
danubeasc_tx_int (int irq, void *port) danubeasc_tx_int (int irq, void *port)
{ {
writel(ASC_IRNCR_TIR, DANUBE_ASC1_IRNCR); writel(ASC_IRNCR_TIR, IFXMIPS_ASC1_IRNCR);
danubeasc_start_tx(port); danubeasc_start_tx(port);
mask_and_ack_danube_irq(irq); mask_and_ack_danube_irq(irq);
@ -202,8 +202,8 @@ static irqreturn_t
danubeasc_er_int (int irq, void *port) danubeasc_er_int (int irq, void *port)
{ {
/* clear any pending interrupts */ /* clear any pending interrupts */
writel(readl(DANUBE_ASC1_WHBSTATE) | ASCWHBSTATE_CLRPE | writel(readl(IFXMIPS_ASC1_WHBSTATE) | ASCWHBSTATE_CLRPE |
ASCWHBSTATE_CLRFE | ASCWHBSTATE_CLRROE, DANUBE_ASC1_WHBSTATE); ASCWHBSTATE_CLRFE | ASCWHBSTATE_CLRROE, IFXMIPS_ASC1_WHBSTATE);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
@ -211,7 +211,7 @@ danubeasc_er_int (int irq, void *port)
static irqreturn_t static irqreturn_t
danubeasc_rx_int (int irq, void *port) danubeasc_rx_int (int irq, void *port)
{ {
writel(ASC_IRNCR_RIR, DANUBE_ASC1_IRNCR); writel(ASC_IRNCR_RIR, IFXMIPS_ASC1_IRNCR);
danubeasc_rx_chars((struct uart_port *) port); danubeasc_rx_chars((struct uart_port *) port);
mask_and_ack_danube_irq(irq); mask_and_ack_danube_irq(irq);
@ -223,7 +223,7 @@ danubeasc_tx_empty (struct uart_port *port)
{ {
int status; int status;
status = readl(DANUBE_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK; status = readl(IFXMIPS_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK;
return status ? 0 : TIOCSER_TEMT; return status ? 0 : TIOCSER_TEMT;
} }
@ -251,18 +251,18 @@ danubeasc1_hw_init (void)
{ {
/* this setup was probably already done in ROM/u-boot but we do it again*/ /* this setup was probably already done in ROM/u-boot but we do it again*/
/* TODO: GPIO pins are multifunction */ /* TODO: GPIO pins are multifunction */
writel(readl(DANUBE_ASC1_CLC) & ~DANUBE_ASC1_CLC_DISS, DANUBE_ASC1_CLC); writel(readl(IFXMIPS_ASC1_CLC) & ~IFXMIPS_ASC1_CLC_DISS, IFXMIPS_ASC1_CLC);
writel((readl(DANUBE_ASC1_CLC) & ~ASCCLC_RMCMASK) | (1 << ASCCLC_RMCOFFSET), DANUBE_ASC1_CLC); writel((readl(IFXMIPS_ASC1_CLC) & ~ASCCLC_RMCMASK) | (1 << ASCCLC_RMCOFFSET), IFXMIPS_ASC1_CLC);
writel(0, DANUBE_ASC1_PISEL); writel(0, IFXMIPS_ASC1_PISEL);
writel(((DANUBEASC_TXFIFO_FL << ASCTXFCON_TXFITLOFF) & writel(((IFXMIPSASC_TXFIFO_FL << ASCTXFCON_TXFITLOFF) &
ASCTXFCON_TXFITLMASK) | ASCTXFCON_TXFEN | ASCTXFCON_TXFFLU, DANUBE_ASC1_TXFCON); ASCTXFCON_TXFITLMASK) | ASCTXFCON_TXFEN | ASCTXFCON_TXFFLU, IFXMIPS_ASC1_TXFCON);
writel(((DANUBEASC_RXFIFO_FL << ASCRXFCON_RXFITLOFF) & writel(((IFXMIPSASC_RXFIFO_FL << ASCRXFCON_RXFITLOFF) &
ASCRXFCON_RXFITLMASK) | ASCRXFCON_RXFEN | ASCRXFCON_RXFFLU, DANUBE_ASC1_RXFCON); ASCRXFCON_RXFITLMASK) | ASCRXFCON_RXFEN | ASCRXFCON_RXFFLU, IFXMIPS_ASC1_RXFCON);
wmb (); wmb ();
/*framing, overrun, enable */ /*framing, overrun, enable */
writel(readl(DANUBE_ASC1_CON) | ASCCON_M_8ASYNC | ASCCON_FEN | ASCCON_TOEN | ASCCON_ROEN, writel(readl(IFXMIPS_ASC1_CON) | ASCCON_M_8ASYNC | ASCCON_FEN | ASCCON_TOEN | ASCCON_ROEN,
DANUBE_ASC1_CON); IFXMIPS_ASC1_CON);
} }
static int static int
@ -281,36 +281,36 @@ danubeasc_startup (struct uart_port *port)
local_irq_save(flags); local_irq_save(flags);
retval = request_irq(DANUBEASC1_RIR, danubeasc_rx_int, IRQF_DISABLED, "asc_rx", port); retval = request_irq(IFXMIPSASC1_RIR, danubeasc_rx_int, IRQF_DISABLED, "asc_rx", port);
if (retval){ if (retval){
printk("failed to request danubeasc_rx_int\n"); printk("failed to request danubeasc_rx_int\n");
return retval; return retval;
} }
retval = request_irq(DANUBEASC1_TIR, danubeasc_tx_int, IRQF_DISABLED, "asc_tx", port); retval = request_irq(IFXMIPSASC1_TIR, danubeasc_tx_int, IRQF_DISABLED, "asc_tx", port);
if (retval){ if (retval){
printk("failed to request danubeasc_tx_int\n"); printk("failed to request danubeasc_tx_int\n");
goto err1; goto err1;
} }
retval = request_irq(DANUBEASC1_EIR, danubeasc_er_int, IRQF_DISABLED, "asc_er", port); retval = request_irq(IFXMIPSASC1_EIR, danubeasc_er_int, IRQF_DISABLED, "asc_er", port);
if (retval){ if (retval){
printk("failed to request danubeasc_er_int\n"); printk("failed to request danubeasc_er_int\n");
goto err2; goto err2;
} }
writel(ASC_IRNREN_RX_BUF | ASC_IRNREN_TX_BUF | ASC_IRNREN_ERR | ASC_IRNREN_TX, writel(ASC_IRNREN_RX_BUF | ASC_IRNREN_TX_BUF | ASC_IRNREN_ERR | ASC_IRNREN_TX,
DANUBE_ASC1_IRNREN); IFXMIPS_ASC1_IRNREN);
local_irq_restore(flags); local_irq_restore(flags);
return 0; return 0;
err2: err2:
free_irq(DANUBEASC1_TIR, port); free_irq(IFXMIPSASC1_TIR, port);
err1: err1:
free_irq(DANUBEASC1_RIR, port); free_irq(IFXMIPSASC1_RIR, port);
local_irq_restore(flags); local_irq_restore(flags);
return retval; return retval;
@ -319,19 +319,19 @@ err1:
static void static void
danubeasc_shutdown (struct uart_port *port) danubeasc_shutdown (struct uart_port *port)
{ {
free_irq(DANUBEASC1_RIR, port); free_irq(IFXMIPSASC1_RIR, port);
free_irq(DANUBEASC1_TIR, port); free_irq(IFXMIPSASC1_TIR, port);
free_irq(DANUBEASC1_EIR, port); free_irq(IFXMIPSASC1_EIR, port);
/* /*
* disable the baudrate generator to disable the ASC * disable the baudrate generator to disable the ASC
*/ */
writel(0, DANUBE_ASC1_CON); writel(0, IFXMIPS_ASC1_CON);
/* flush and then disable the fifos */ /* flush and then disable the fifos */
writel(readl(DANUBE_ASC1_RXFCON) | ASCRXFCON_RXFFLU, DANUBE_ASC1_RXFCON); writel(readl(IFXMIPS_ASC1_RXFCON) | ASCRXFCON_RXFFLU, IFXMIPS_ASC1_RXFCON);
writel(readl(DANUBE_ASC1_RXFCON) & ~ASCRXFCON_RXFEN, DANUBE_ASC1_RXFCON); writel(readl(IFXMIPS_ASC1_RXFCON) & ~ASCRXFCON_RXFEN, IFXMIPS_ASC1_RXFCON);
writel(readl(DANUBE_ASC1_TXFCON) | ASCTXFCON_TXFFLU, DANUBE_ASC1_TXFCON); writel(readl(IFXMIPS_ASC1_TXFCON) | ASCTXFCON_TXFFLU, IFXMIPS_ASC1_TXFCON);
writel(readl(DANUBE_ASC1_TXFCON) & ~ASCTXFCON_TXFEN, DANUBE_ASC1_TXFCON); writel(readl(IFXMIPS_ASC1_TXFCON) & ~ASCTXFCON_TXFEN, IFXMIPS_ASC1_TXFCON);
} }
static void danubeasc_set_termios(struct uart_port *port, struct ktermios *new, struct ktermios *old) static void danubeasc_set_termios(struct uart_port *port, struct ktermios *new, struct ktermios *old)
@ -395,7 +395,7 @@ static void danubeasc_set_termios(struct uart_port *port, struct ktermios *new,
local_irq_save(flags); local_irq_save(flags);
/* set up CON */ /* set up CON */
writel(readl(DANUBE_ASC1_CON) | con, DANUBE_ASC1_CON); writel(readl(IFXMIPS_ASC1_CON) | con, IFXMIPS_ASC1_CON);
/* Set baud rate - take a divider of 2 into account */ /* Set baud rate - take a divider of 2 into account */
baud = uart_get_baud_rate(port, new, old, 0, port->uartclk / 16); baud = uart_get_baud_rate(port, new, old, 0, port->uartclk / 16);
@ -403,22 +403,22 @@ static void danubeasc_set_termios(struct uart_port *port, struct ktermios *new,
quot = quot / 2 - 1; quot = quot / 2 - 1;
/* disable the baudrate generator */ /* disable the baudrate generator */
writel(readl(DANUBE_ASC1_CON) & ~ASCCON_R, DANUBE_ASC1_CON); writel(readl(IFXMIPS_ASC1_CON) & ~ASCCON_R, IFXMIPS_ASC1_CON);
/* make sure the fractional divider is off */ /* make sure the fractional divider is off */
writel(readl(DANUBE_ASC1_CON) & ~ASCCON_FDE, DANUBE_ASC1_CON); writel(readl(IFXMIPS_ASC1_CON) & ~ASCCON_FDE, IFXMIPS_ASC1_CON);
/* set up to use divisor of 2 */ /* set up to use divisor of 2 */
writel(readl(DANUBE_ASC1_CON) & ~ASCCON_BRS, DANUBE_ASC1_CON); writel(readl(IFXMIPS_ASC1_CON) & ~ASCCON_BRS, IFXMIPS_ASC1_CON);
/* now we can write the new baudrate into the register */ /* now we can write the new baudrate into the register */
writel(quot, DANUBE_ASC1_BG); writel(quot, IFXMIPS_ASC1_BG);
/* turn the baudrate generator back on */ /* turn the baudrate generator back on */
writel(readl(DANUBE_ASC1_CON) | ASCCON_R, DANUBE_ASC1_CON); writel(readl(IFXMIPS_ASC1_CON) | ASCCON_R, IFXMIPS_ASC1_CON);
/* enable rx */ /* enable rx */
writel(ASCWHBSTATE_SETREN, DANUBE_ASC1_WHBSTATE); writel(ASCWHBSTATE_SETREN, IFXMIPS_ASC1_WHBSTATE);
local_irq_restore(flags); local_irq_restore(flags);
} }
@ -426,7 +426,7 @@ static void danubeasc_set_termios(struct uart_port *port, struct ktermios *new,
static const char* static const char*
danubeasc_type (struct uart_port *port) danubeasc_type (struct uart_port *port)
{ {
return port->type == PORT_DANUBEASC ? "DANUBEASC" : NULL; return port->type == PORT_IFXMIPSASC ? "IFXMIPSASC" : NULL;
} }
static void static void
@ -445,7 +445,7 @@ static void
danubeasc_config_port (struct uart_port *port, int flags) danubeasc_config_port (struct uart_port *port, int flags)
{ {
if (flags & UART_CONFIG_TYPE) { if (flags & UART_CONFIG_TYPE) {
port->type = PORT_DANUBEASC; port->type = PORT_IFXMIPSASC;
danubeasc_request_port(port); danubeasc_request_port(port);
} }
} }
@ -454,7 +454,7 @@ static int
danubeasc_verify_port (struct uart_port *port, struct serial_struct *ser) danubeasc_verify_port (struct uart_port *port, struct serial_struct *ser)
{ {
int ret = 0; int ret = 0;
if (ser->type != PORT_UNKNOWN && ser->type != PORT_DANUBEASC) if (ser->type != PORT_UNKNOWN && ser->type != PORT_IFXMIPSASC)
ret = -EINVAL; ret = -EINVAL;
if (ser->irq < 0 || ser->irq >= NR_IRQS) if (ser->irq < 0 || ser->irq >= NR_IRQS)
ret = -EINVAL; ret = -EINVAL;
@ -483,14 +483,14 @@ static struct uart_ops danubeasc_pops = {
}; };
static struct uart_port danubeasc_port = { static struct uart_port danubeasc_port = {
membase: (void *)DANUBE_ASC1_BASE_ADDR, membase: (void *)IFXMIPS_ASC1_BASE_ADDR,
mapbase: DANUBE_ASC1_BASE_ADDR, mapbase: IFXMIPS_ASC1_BASE_ADDR,
iotype: SERIAL_IO_MEM, iotype: SERIAL_IO_MEM,
irq: DANUBEASC1_RIR, irq: IFXMIPSASC1_RIR,
uartclk: 0, uartclk: 0,
fifosize: 16, fifosize: 16,
unused: {DANUBEASC1_TIR, DANUBEASC1_EIR}, unused: {IFXMIPSASC1_TIR, IFXMIPSASC1_EIR},
type: PORT_DANUBEASC, type: PORT_IFXMIPSASC,
ops: &danubeasc_pops, ops: &danubeasc_pops,
flags: ASYNC_BOOT_AUTOCONF, flags: ASYNC_BOOT_AUTOCONF,
}; };
@ -507,9 +507,9 @@ danubeasc_console_write (struct console *co, const char *s, u_int count)
/* wait until the FIFO is not full */ /* wait until the FIFO is not full */
do do
{ {
fifocnt = (readl(DANUBE_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK) fifocnt = (readl(IFXMIPS_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK)
>> ASCFSTAT_TXFFLOFF; >> ASCFSTAT_TXFFLOFF;
} while (fifocnt == DANUBEASC_TXFIFO_FULL); } while (fifocnt == IFXMIPSASC_TXFIFO_FULL);
if (s[i] == '\0') if (s[i] == '\0')
{ {
@ -518,14 +518,14 @@ danubeasc_console_write (struct console *co, const char *s, u_int count)
if (s[i] == '\n') if (s[i] == '\n')
{ {
writel('\r', DANUBE_ASC1_TBUF); writel('\r', IFXMIPS_ASC1_TBUF);
do do
{ {
fifocnt = (readl(DANUBE_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK) fifocnt = (readl(IFXMIPS_ASC1_FSTAT) & ASCFSTAT_TXFFLMASK)
>> ASCFSTAT_TXFFLOFF; >> ASCFSTAT_TXFFLOFF;
} while (fifocnt == DANUBEASC_TXFIFO_FULL); } while (fifocnt == IFXMIPSASC_TXFIFO_FULL);
} }
writel(s[i], DANUBE_ASC1_TBUF); writel(s[i], IFXMIPS_ASC1_TBUF);
} }
local_irq_restore(flags); local_irq_restore(flags);
@ -545,7 +545,7 @@ danubeasc_console_setup (struct console *co, char *options)
co->index = 0; co->index = 0;
port = &danubeasc_port; port = &danubeasc_port;
danubeasc_port.uartclk = uartclk; danubeasc_port.uartclk = uartclk;
danubeasc_port.type = PORT_DANUBEASC; danubeasc_port.type = PORT_IFXMIPSASC;
if (options){ if (options){
uart_parse_options(options, &baud, &parity, &bits, &flow); uart_parse_options(options, &baud, &parity, &bits, &flow);

View file

@ -17,13 +17,13 @@
* Copyright (C) 2007 John Crispin <blogic@openwrt.org> * Copyright (C) 2007 John Crispin <blogic@openwrt.org>
* *
*/ */
#ifndef _DANUBE_H__ #ifndef _IFXMIPS_H__
#define _DANUBE_H__ #define _IFXMIPS_H__
/*------------ GENERAL */ /*------------ GENERAL */
#define BOARD_SYSTEM_TYPE "DANUBE" #define BOARD_SYSTEM_TYPE "IFXMIPS"
#define IOPORT_RESOURCE_START 0x10000000 #define IOPORT_RESOURCE_START 0x10000000
#define IOPORT_RESOURCE_END 0xffffffff #define IOPORT_RESOURCE_END 0xffffffff
@ -33,15 +33,15 @@
/*------------ ASC1 */ /*------------ ASC1 */
#define DANUBE_ASC1_BASE_ADDR (KSEG1 + 0x1E100C00) #define IFXMIPS_ASC1_BASE_ADDR (KSEG1 + 0x1E100C00)
/* FIFO status register */ /* FIFO status register */
#define DANUBE_ASC1_FSTAT ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0048)) #define IFXMIPS_ASC1_FSTAT ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0048))
#define ASCFSTAT_TXFFLMASK 0x3F00 #define ASCFSTAT_TXFFLMASK 0x3F00
#define ASCFSTAT_TXFFLOFF 8 #define ASCFSTAT_TXFFLOFF 8
/* ASC1 transmit buffer */ /* ASC1 transmit buffer */
#define DANUBE_ASC1_TBUF ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0020)) #define IFXMIPS_ASC1_TBUF ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0020))
/* channel operating modes */ /* channel operating modes */
#define ASCOPT_CSIZE 0x3 #define ASCOPT_CSIZE 0x3
@ -53,43 +53,43 @@
#define ASCOPT_CREAD 0x20 #define ASCOPT_CREAD 0x20
/* hardware modified control register */ /* hardware modified control register */
#define DANUBE_ASC1_WHBSTATE ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0018)) #define IFXMIPS_ASC1_WHBSTATE ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0018))
/* receive buffer register */ /* receive buffer register */
#define DANUBE_ASC1_RBUF ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0024)) #define IFXMIPS_ASC1_RBUF ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0024))
/* status register */ /* status register */
#define DANUBE_ASC1_STATE ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0014)) #define IFXMIPS_ASC1_STATE ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0014))
/* interrupt control */ /* interrupt control */
#define DANUBE_ASC1_IRNCR ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x00F8)) #define IFXMIPS_ASC1_IRNCR ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x00F8))
#define ASC_IRNCR_TIR 0x4 #define ASC_IRNCR_TIR 0x4
#define ASC_IRNCR_RIR 0x2 #define ASC_IRNCR_RIR 0x2
#define ASC_IRNCR_EIR 0x4 #define ASC_IRNCR_EIR 0x4
/* clock control */ /* clock control */
#define DANUBE_ASC1_CLC ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0000)) #define IFXMIPS_ASC1_CLC ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0000))
#define DANUBE_ASC1_CLC_DISS 0x2 #define IFXMIPS_ASC1_CLC_DISS 0x2
/* port input select register */ /* port input select register */
#define DANUBE_ASC1_PISEL ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0004)) #define IFXMIPS_ASC1_PISEL ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0004))
/* tx fifo */ /* tx fifo */
#define DANUBE_ASC1_TXFCON ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0044)) #define IFXMIPS_ASC1_TXFCON ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0044))
/* rx fifo */ /* rx fifo */
#define DANUBE_ASC1_RXFCON ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0040)) #define IFXMIPS_ASC1_RXFCON ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0040))
/* control */ /* control */
#define DANUBE_ASC1_CON ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0010)) #define IFXMIPS_ASC1_CON ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0010))
/* timer reload */ /* timer reload */
#define DANUBE_ASC1_BG ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x0050)) #define IFXMIPS_ASC1_BG ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x0050))
/* int enable */ /* int enable */
#define DANUBE_ASC1_IRNREN ((u32*)(DANUBE_ASC1_BASE_ADDR + 0x00F4)) #define IFXMIPS_ASC1_IRNREN ((u32*)(IFXMIPS_ASC1_BASE_ADDR + 0x00F4))
#define ASC_IRNREN_RX_BUF 0x8 #define ASC_IRNREN_RX_BUF 0x8
#define ASC_IRNREN_TX_BUF 0x4 #define ASC_IRNREN_TX_BUF 0x4
@ -99,54 +99,54 @@
/*------------ RCU */ /*------------ RCU */
#define DANUBE_RCU_BASE_ADDR 0xBF203000 #define IFXMIPS_RCU_BASE_ADDR 0xBF203000
/* reset request */ /* reset request */
#define DANUBE_RCU_REQ ((u32*)(DANUBE_RCU_BASE_ADDR + 0x0010)) #define IFXMIPS_RCU_REQ ((u32*)(IFXMIPS_RCU_BASE_ADDR + 0x0010))
#define DANUBE_RST_ALL 0x40000000 #define IFXMIPS_RST_ALL 0x40000000
/*------------ MCD */ /*------------ MCD */
#define DANUBE_MCD_BASE_ADDR (KSEG1 + 0x1F106000) #define IFXMIPS_MCD_BASE_ADDR (KSEG1 + 0x1F106000)
/* chip id */ /* chip id */
#define DANUBE_MCD_CHIPID ((u32*)(DANUBE_MCD_BASE_ADDR + 0x0028)) #define IFXMIPS_MCD_CHIPID ((u32*)(IFXMIPS_MCD_BASE_ADDR + 0x0028))
/*------------ GPTU */ /*------------ GPTU */
#define DANUBE_GPTU_BASE_ADDR 0xB8000300 #define IFXMIPS_GPTU_BASE_ADDR 0xB8000300
/* clock control register */ /* clock control register */
#define DANUBE_GPTU_GPT_CLC ((u32*)(DANUBE_GPTU_BASE_ADDR + 0x0000)) #define IFXMIPS_GPTU_GPT_CLC ((u32*)(IFXMIPS_GPTU_BASE_ADDR + 0x0000))
/* captur reload register */ /* captur reload register */
#define DANUBE_GPTU_GPT_CAPREL ((u32*)(DANUBE_GPTU_BASE_ADDR + 0x0030)) #define IFXMIPS_GPTU_GPT_CAPREL ((u32*)(IFXMIPS_GPTU_BASE_ADDR + 0x0030))
/* timer 6 control register */ /* timer 6 control register */
#define DANUBE_GPTU_GPT_T6CON ((u32*)(DANUBE_GPTU_BASE_ADDR + 0x0020)) #define IFXMIPS_GPTU_GPT_T6CON ((u32*)(IFXMIPS_GPTU_BASE_ADDR + 0x0020))
/*------------ EBU */ /*------------ EBU */
#define DANUBE_EBU_BASE_ADDR 0xBE105300 #define IFXMIPS_EBU_BASE_ADDR 0xBE105300
/* bus configuration register */ /* bus configuration register */
#define DANUBE_EBU_BUSCON0 ((u32*)(DANUBE_EBU_BASE_ADDR + 0x0060)) #define IFXMIPS_EBU_BUSCON0 ((u32*)(IFXMIPS_EBU_BASE_ADDR + 0x0060))
#define DANUBE_EBU_PCC_CON ((u32*)(DANUBE_EBU_BASE_ADDR + 0x0090)) #define IFXMIPS_EBU_PCC_CON ((u32*)(IFXMIPS_EBU_BASE_ADDR + 0x0090))
#define DANUBE_EBU_PCC_IEN ((u32*)(DANUBE_EBU_BASE_ADDR + 0x00A4)) #define IFXMIPS_EBU_PCC_IEN ((u32*)(IFXMIPS_EBU_BASE_ADDR + 0x00A4))
#define DANUBE_EBU_PCC_ISTAT ((u32*)(DANUBE_EBU_BASE_ADDR + 0x00A0)) #define IFXMIPS_EBU_PCC_ISTAT ((u32*)(IFXMIPS_EBU_BASE_ADDR + 0x00A0))
/*------------ CGU */ /*------------ CGU */
#define DANUBE_CGU_BASE_ADDR 0xBF103000 #define IFXMIPS_CGU_BASE_ADDR 0xBF103000
/* clock mux */ /* clock mux */
#define DANUBE_CGU_SYS ((u32*)(DANUBE_CGU_BASE_ADDR + 0x0010)) #define IFXMIPS_CGU_SYS ((u32*)(IFXMIPS_CGU_BASE_ADDR + 0x0010))
#define DANUBE_CGU_IFCCR ((u32*)(DANUBE_CGU_BASE_ADDR + 0x0018)) #define IFXMIPS_CGU_IFCCR ((u32*)(IFXMIPS_CGU_BASE_ADDR + 0x0018))
#define DANUBE_CGU_PCICR ((u32*)(DANUBE_CGU_BASE_ADDR + 0x0034)) #define IFXMIPS_CGU_PCICR ((u32*)(IFXMIPS_CGU_BASE_ADDR + 0x0034))
#define CLOCK_60M 60000000 #define CLOCK_60M 60000000
#define CLOCK_83M 83333333 #define CLOCK_83M 83333333
@ -158,42 +158,42 @@
/*------------ CGU */ /*------------ CGU */
#define DANUBE_PMU_BASE_ADDR (KSEG1 + 0x1F102000) #define IFXMIPS_PMU_BASE_ADDR (KSEG1 + 0x1F102000)
#define DANUBE_PMU_PWDCR ((u32*)(DANUBE_PMU_BASE_ADDR + 0x001C)) #define IFXMIPS_PMU_PWDCR ((u32*)(IFXMIPS_PMU_BASE_ADDR + 0x001C))
#define DANUBE_PMU_PWDSR ((u32*)(DANUBE_PMU_BASE_ADDR + 0x0020)) #define IFXMIPS_PMU_PWDSR ((u32*)(IFXMIPS_PMU_BASE_ADDR + 0x0020))
/*------------ ICU */ /*------------ ICU */
#define DANUBE_ICU_BASE_ADDR 0xBF880200 #define IFXMIPS_ICU_BASE_ADDR 0xBF880200
#define DANUBE_ICU_IM0_ISR ((u32*)(DANUBE_ICU_BASE_ADDR + 0x0000)) #define IFXMIPS_ICU_IM0_ISR ((u32*)(IFXMIPS_ICU_BASE_ADDR + 0x0000))
#define DANUBE_ICU_IM0_IER ((u32*)(DANUBE_ICU_BASE_ADDR + 0x0008)) #define IFXMIPS_ICU_IM0_IER ((u32*)(IFXMIPS_ICU_BASE_ADDR + 0x0008))
#define DANUBE_ICU_IM0_IOSR ((u32*)(DANUBE_ICU_BASE_ADDR + 0x0010)) #define IFXMIPS_ICU_IM0_IOSR ((u32*)(IFXMIPS_ICU_BASE_ADDR + 0x0010))
#define DANUBE_ICU_IM0_IRSR ((u32*)(DANUBE_ICU_BASE_ADDR + 0x0018)) #define IFXMIPS_ICU_IM0_IRSR ((u32*)(IFXMIPS_ICU_BASE_ADDR + 0x0018))
#define DANUBE_ICU_IM0_IMR ((u32*)(DANUBE_ICU_BASE_ADDR + 0x0020)) #define IFXMIPS_ICU_IM0_IMR ((u32*)(IFXMIPS_ICU_BASE_ADDR + 0x0020))
#define DANUBE_ICU_IM1_ISR ((u32*)(DANUBE_ICU_BASE_ADDR + 0x0028)) #define IFXMIPS_ICU_IM1_ISR ((u32*)(IFXMIPS_ICU_BASE_ADDR + 0x0028))
#define DANUBE_ICU_OFFSET (DANUBE_ICU_IM1_ISR - DANUBE_ICU_IM0_ISR) #define IFXMIPS_ICU_OFFSET (IFXMIPS_ICU_IM1_ISR - IFXMIPS_ICU_IM0_ISR)
/*------------ ETOP */ /*------------ ETOP */
#define DANUBE_PPE32_BASE_ADDR 0xBE180000 #define IFXMIPS_PPE32_BASE_ADDR 0xBE180000
#define ETHERNET_PACKET_DMA_BUFFER_SIZE 0x600 #define ETHERNET_PACKET_DMA_BUFFER_SIZE 0x600
#define DANUBE_PPE32_MEM_MAP (DANUBE_PPE32_BASE_ADDR + 0x10000 ) #define IFXMIPS_PPE32_MEM_MAP (IFXMIPS_PPE32_BASE_ADDR + 0x10000 )
#define MII_MODE 1 #define MII_MODE 1
#define REV_MII_MODE 2 #define REV_MII_MODE 2
/* mdio access */ /* mdio access */
#define DANUBE_PPE32_MDIO_ACC ((u32*)(DANUBE_PPE32_MEM_MAP + 0x1804)) #define IFXMIPS_PPE32_MDIO_ACC ((u32*)(IFXMIPS_PPE32_MEM_MAP + 0x1804))
#define MDIO_ACC_REQUEST 0x80000000 #define MDIO_ACC_REQUEST 0x80000000
#define MDIO_ACC_READ 0x40000000 #define MDIO_ACC_READ 0x40000000
@ -204,38 +204,38 @@
#define MDIO_ACC_VAL_MASK 0xffff #define MDIO_ACC_VAL_MASK 0xffff
/* configuration */ /* configuration */
#define DANUBE_PPE32_CFG ((u32*)(DANUBE_PPE32_MEM_MAP + 0x1808)) #define IFXMIPS_PPE32_CFG ((u32*)(IFXMIPS_PPE32_MEM_MAP + 0x1808))
#define PPE32_MII_MASK 0xfffffffc #define PPE32_MII_MASK 0xfffffffc
#define PPE32_MII_NORMAL 0x8 #define PPE32_MII_NORMAL 0x8
#define PPE32_MII_REVERSE 0xe #define PPE32_MII_REVERSE 0xe
/* packet length */ /* packet length */
#define DANUBE_PPE32_IG_PLEN_CTRL ((u32*)(DANUBE_PPE32_MEM_MAP + 0x1820)) #define IFXMIPS_PPE32_IG_PLEN_CTRL ((u32*)(IFXMIPS_PPE32_MEM_MAP + 0x1820))
#define PPE32_PLEN_OVER 0x5ee #define PPE32_PLEN_OVER 0x5ee
#define PPE32_PLEN_UNDER 0x400000 #define PPE32_PLEN_UNDER 0x400000
/* enet */ /* enet */
#define DANUBE_PPE32_ENET_MAC_CFG ((u32*)(DANUBE_PPE32_MEM_MAP + 0x1840)) #define IFXMIPS_PPE32_ENET_MAC_CFG ((u32*)(IFXMIPS_PPE32_MEM_MAP + 0x1840))
#define PPE32_CGEN 0x800 #define PPE32_CGEN 0x800
/*------------ DMA */ /*------------ DMA */
#define DANUBE_DMA_BASE_ADDR 0xBE104100 #define IFXMIPS_DMA_BASE_ADDR 0xBE104100
#define DANUBE_DMA_CS ((u32*)(DANUBE_DMA_BASE_ADDR + 0x18)) #define IFXMIPS_DMA_CS ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x18))
#define DANUBE_DMA_CIE ((u32*)(DANUBE_DMA_BASE_ADDR + 0x2C)) #define IFXMIPS_DMA_CIE ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x2C))
#define DANUBE_DMA_IRNEN ((u32*)(DANUBE_DMA_BASE_ADDR + 0xf4)) #define IFXMIPS_DMA_IRNEN ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0xf4))
#define DANUBE_DMA_CCTRL ((u32*)(DANUBE_DMA_BASE_ADDR + 0x1C)) #define IFXMIPS_DMA_CCTRL ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x1C))
#define DANUBE_DMA_CIS ((u32*)(DANUBE_DMA_BASE_ADDR + 0x28)) #define IFXMIPS_DMA_CIS ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x28))
#define DANUBE_DMA_CDLEN ((u32*)(DANUBE_DMA_BASE_ADDR + 0x24)) #define IFXMIPS_DMA_CDLEN ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x24))
#define DANUBE_DMA_PS ((u32*)(DANUBE_DMA_BASE_ADDR + 0x40)) #define IFXMIPS_DMA_PS ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x40))
#define DANUBE_DMA_PCTRL ((u32*)(DANUBE_DMA_BASE_ADDR + 0x44)) #define IFXMIPS_DMA_PCTRL ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x44))
#define DANUBE_DMA_CTRL ((u32*)(DANUBE_DMA_BASE_ADDR + 0x10)) #define IFXMIPS_DMA_CTRL ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x10))
#define DANUBE_DMA_CPOLL ((u32*)(DANUBE_DMA_BASE_ADDR + 0x14)) #define IFXMIPS_DMA_CPOLL ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x14))
#define DANUBE_DMA_CDBA ((u32*)(DANUBE_DMA_BASE_ADDR + 0x20)) #define IFXMIPS_DMA_CDBA ((u32*)(IFXMIPS_DMA_BASE_ADDR + 0x20))
/*------------ PCI */ /*------------ PCI */
@ -273,82 +273,82 @@
/*------------ WDT */ /*------------ WDT */
#define DANUBE_WDT_BASE_ADDR (KSEG1 + 0x1F880000) #define IFXMIPS_WDT_BASE_ADDR (KSEG1 + 0x1F880000)
#define DANUBE_BIU_WDT_CR ((u32*)(DANUBE_WDT_BASE_ADDR + 0x03F0)) #define IFXMIPS_BIU_WDT_CR ((u32*)(IFXMIPS_WDT_BASE_ADDR + 0x03F0))
#define DANUBE_BIU_WDT_SR ((u32*)(DANUBE_WDT_BASE_ADDR + 0x03F8)) #define IFXMIPS_BIU_WDT_SR ((u32*)(IFXMIPS_WDT_BASE_ADDR + 0x03F8))
#define DANUBE_BIU_WDT_CR_GEN (1 << 31) #define IFXMIPS_BIU_WDT_CR_GEN (1 << 31)
#define DANUBE_BIU_WDT_CR_DSEN (1 << 30) #define IFXMIPS_BIU_WDT_CR_DSEN (1 << 30)
#define DANUBE_BIU_WDT_CR_LPEN (1 << 29) #define IFXMIPS_BIU_WDT_CR_LPEN (1 << 29)
#define DANUBE_BIU_WDT_CR_CLKDIV_GET(value) (((value) >> 24) & ((1 << 2) - 1)) #define IFXMIPS_BIU_WDT_CR_CLKDIV_GET(value) (((value) >> 24) & ((1 << 2) - 1))
#define DANUBE_BIU_WDT_CR_PWL_GET(value) (((value) >> 26) & ((1 << 2) - 1)) #define IFXMIPS_BIU_WDT_CR_PWL_GET(value) (((value) >> 26) & ((1 << 2) - 1))
#define DANUBE_BIU_WDT_CR_PWL_SET(value) ((((1 << 2) - 1) & (value)) << 26) #define IFXMIPS_BIU_WDT_CR_PWL_SET(value) ((((1 << 2) - 1) & (value)) << 26)
#define DANUBE_BIU_WDT_CR_PW_SET(value) (((( 1 << 8) - 1) & (value)) << 16) #define IFXMIPS_BIU_WDT_CR_PW_SET(value) (((( 1 << 8) - 1) & (value)) << 16)
#define DANUBE_BIU_WDT_CR_CLKDIV_SET(value) (((( 1 << 2) - 1) & (value)) << 24) #define IFXMIPS_BIU_WDT_CR_CLKDIV_SET(value) (((( 1 << 2) - 1) & (value)) << 24)
#define DANUBE_BIU_WDT_CR_RELOAD_SET(value) (((( 1 << 16) - 1) & (value)) << 0) #define IFXMIPS_BIU_WDT_CR_RELOAD_SET(value) (((( 1 << 16) - 1) & (value)) << 0)
/*------------ LED */ /*------------ LED */
#define DANUBE_LED_BASE_ADDR (KSEG1 + 0x1E100BB0) #define IFXMIPS_LED_BASE_ADDR (KSEG1 + 0x1E100BB0)
#define DANUBE_LED_CON0 ((u32*)(DANUBE_LED_BASE_ADDR + 0x0000)) #define IFXMIPS_LED_CON0 ((u32*)(IFXMIPS_LED_BASE_ADDR + 0x0000))
#define DANUBE_LED_CON1 ((u32*)(DANUBE_LED_BASE_ADDR + 0x0004)) #define IFXMIPS_LED_CON1 ((u32*)(IFXMIPS_LED_BASE_ADDR + 0x0004))
#define DANUBE_LED_CPU0 ((u32*)(DANUBE_LED_BASE_ADDR + 0x0008)) #define IFXMIPS_LED_CPU0 ((u32*)(IFXMIPS_LED_BASE_ADDR + 0x0008))
#define DANUBE_LED_CPU1 ((u32*)(DANUBE_LED_BASE_ADDR + 0x000C)) #define IFXMIPS_LED_CPU1 ((u32*)(IFXMIPS_LED_BASE_ADDR + 0x000C))
#define DANUBE_LED_AR ((u32*)(DANUBE_LED_BASE_ADDR + 0x0010)) #define IFXMIPS_LED_AR ((u32*)(IFXMIPS_LED_BASE_ADDR + 0x0010))
#define LED_CON0_SWU (1 << 31) #define LED_CON0_SWU (1 << 31)
#define LED_CON0_AD1 (1 << 25) #define LED_CON0_AD1 (1 << 25)
#define LED_CON0_AD0 (1 << 24) #define LED_CON0_AD0 (1 << 24)
#define DANUBE_LED_2HZ (0) #define IFXMIPS_LED_2HZ (0)
#define DANUBE_LED_4HZ (1 << 23) #define IFXMIPS_LED_4HZ (1 << 23)
#define DANUBE_LED_8HZ (2 << 23) #define IFXMIPS_LED_8HZ (2 << 23)
#define DANUBE_LED_10HZ (3 << 23) #define IFXMIPS_LED_10HZ (3 << 23)
#define DANUBE_LED_MASK (0xf << 23) #define IFXMIPS_LED_MASK (0xf << 23)
#define DANUBE_LED_UPD_SRC_FPI (1 << 31) #define IFXMIPS_LED_UPD_SRC_FPI (1 << 31)
#define DANUBE_LED_UPD_MASK (3 << 30) #define IFXMIPS_LED_UPD_MASK (3 << 30)
#define DANUBE_LED_ADSL_SRC (3 << 24) #define IFXMIPS_LED_ADSL_SRC (3 << 24)
#define DANUBE_LED_GROUP0 (1 << 0) #define IFXMIPS_LED_GROUP0 (1 << 0)
#define DANUBE_LED_GROUP1 (1 << 1) #define IFXMIPS_LED_GROUP1 (1 << 1)
#define DANUBE_LED_GROUP2 (1 << 2) #define IFXMIPS_LED_GROUP2 (1 << 2)
#define DANUBE_LED_RISING 0 #define IFXMIPS_LED_RISING 0
#define DANUBE_LED_FALLING (1 << 26) #define IFXMIPS_LED_FALLING (1 << 26)
#define DANUBE_LED_EDGE_MASK (1 << 26) #define IFXMIPS_LED_EDGE_MASK (1 << 26)
/*------------ GPIO */ /*------------ GPIO */
#define DANUBE_GPIO_BASE_ADDR (0xBE100B00) #define IFXMIPS_GPIO_BASE_ADDR (0xBE100B00)
#define DANUBE_GPIO_P0_OUT ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0010)) #define IFXMIPS_GPIO_P0_OUT ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0010))
#define DANUBE_GPIO_P1_OUT ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0040)) #define IFXMIPS_GPIO_P1_OUT ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0040))
#define DANUBE_GPIO_P0_IN ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0014)) #define IFXMIPS_GPIO_P0_IN ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0014))
#define DANUBE_GPIO_P1_IN ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0044)) #define IFXMIPS_GPIO_P1_IN ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0044))
#define DANUBE_GPIO_P0_DIR ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0018)) #define IFXMIPS_GPIO_P0_DIR ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0018))
#define DANUBE_GPIO_P1_DIR ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0048)) #define IFXMIPS_GPIO_P1_DIR ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0048))
#define DANUBE_GPIO_P0_ALTSEL0 ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x001C)) #define IFXMIPS_GPIO_P0_ALTSEL0 ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x001C))
#define DANUBE_GPIO_P1_ALTSEL0 ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x004C)) #define IFXMIPS_GPIO_P1_ALTSEL0 ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x004C))
#define DANUBE_GPIO_P0_ALTSEL1 ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0020)) #define IFXMIPS_GPIO_P0_ALTSEL1 ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0020))
#define DANUBE_GPIO_P1_ALTSEL1 ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0050)) #define IFXMIPS_GPIO_P1_ALTSEL1 ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0050))
#define DANUBE_GPIO_P0_OD ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0024)) #define IFXMIPS_GPIO_P0_OD ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0024))
#define DANUBE_GPIO_P1_OD ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0054)) #define IFXMIPS_GPIO_P1_OD ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0054))
#define DANUBE_GPIO_P0_STOFF ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0028)) #define IFXMIPS_GPIO_P0_STOFF ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0028))
#define DANUBE_GPIO_P1_STOFF ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0058)) #define IFXMIPS_GPIO_P1_STOFF ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0058))
#define DANUBE_GPIO_P0_PUDSEL ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x002C)) #define IFXMIPS_GPIO_P0_PUDSEL ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x002C))
#define DANUBE_GPIO_P1_PUDSEL ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x005C)) #define IFXMIPS_GPIO_P1_PUDSEL ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x005C))
#define DANUBE_GPIO_P0_PUDEN ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0030)) #define IFXMIPS_GPIO_P0_PUDEN ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0030))
#define DANUBE_GPIO_P1_PUDEN ((u32*)(DANUBE_GPIO_BASE_ADDR + 0x0060)) #define IFXMIPS_GPIO_P1_PUDEN ((u32*)(IFXMIPS_GPIO_BASE_ADDR + 0x0060))
/*------------ SSC */ /*------------ SSC */
#define DANUBE_SSC1_BASE_ADDR (KSEG1 + 0x1e100800) #define IFXMIPS_SSC1_BASE_ADDR (KSEG1 + 0x1e100800)

View file

@ -17,15 +17,15 @@
* Copyright (C) 2007 John Crispin <blogic@openwrt.org> * Copyright (C) 2007 John Crispin <blogic@openwrt.org>
* *
*/ */
#ifndef _DANUBE_DMA_H__ #ifndef _IFXMIPS_DMA_H__
#define _DANUBE_DMA_H__ #define _IFXMIPS_DMA_H__
#define RCV_INT 1 #define RCV_INT 1
#define TX_BUF_FULL_INT 2 #define TX_BUF_FULL_INT 2
#define TRANSMIT_CPT_INT 4 #define TRANSMIT_CPT_INT 4
#define DANUBE_DMA_CH_ON 1 #define IFXMIPS_DMA_CH_ON 1
#define DANUBE_DMA_CH_OFF 0 #define IFXMIPS_DMA_CH_OFF 0
#define DANUBE_DMA_CH_DEFAULT_WEIGHT 100 #define IFXMIPS_DMA_CH_DEFAULT_WEIGHT 100
enum attr_t{ enum attr_t{
TX = 0, TX = 0,
@ -53,8 +53,8 @@ enum attr_t{
#define DMA_DROP_MASK (1<<31) #define DMA_DROP_MASK (1<<31)
#define DANUBE_DMA_RX -1 #define IFXMIPS_DMA_RX -1
#define DANUBE_DMA_TX 1 #define IFXMIPS_DMA_TX 1
typedef struct dma_chan_map { typedef struct dma_chan_map {
char dev_name[15]; char dev_name[15];
@ -151,7 +151,7 @@ typedef struct dma_channel_info{
/*on or off of this channel*/ /*on or off of this channel*/
int control; int control;
/**optional information for the upper layer devices*/ /**optional information for the upper layer devices*/
#if defined(CONFIG_DANUBE_ETHERNET_D2) || defined(CONFIG_DANUBE_PPA) #if defined(CONFIG_IFXMIPS_ETHERNET_D2) || defined(CONFIG_IFXMIPS_PPA)
void* opt[64]; void* opt[64];
#else #else
void* opt[25]; void* opt[25];

View file

@ -16,8 +16,8 @@
* Copyright (C) 2007 John Crispin <blogic@openwrt.org> * Copyright (C) 2007 John Crispin <blogic@openwrt.org>
* *
*/ */
#ifndef _DANUBE_GPIO_H__ #ifndef _IFXMIPS_GPIO_H__
#define _DANUBE_GPIO_H__ #define _IFXMIPS_GPIO_H__
extern int danube_port_reserve_pin (unsigned int port, unsigned int pin); extern int danube_port_reserve_pin (unsigned int port, unsigned int pin);
extern int danube_port_free_pin (unsigned int port, unsigned int pin); extern int danube_port_free_pin (unsigned int port, unsigned int pin);

View file

@ -16,8 +16,8 @@
* Copyright (C) 2007 John Crispin <blogic@openwrt.org> * Copyright (C) 2007 John Crispin <blogic@openwrt.org>
* *
*/ */
#ifndef _DANUBE_IOCTL_H__ #ifndef _IFXMIPS_IOCTL_H__
#define _DANUBE_IOCTL_H__ #define _IFXMIPS_IOCTL_H__
/*------------ LED */ /*------------ LED */
@ -28,15 +28,15 @@ struct danube_port_ioctl_parm
int value; int value;
}; };
#define DANUBE_PORT_IOC_MAGIC 0xbf #define IFXMIPS_PORT_IOC_MAGIC 0xbf
#define DANUBE_PORT_IOCOD _IOW(DANUBE_PORT_IOC_MAGIC,0,struct danube_port_ioctl_parm) #define IFXMIPS_PORT_IOCOD _IOW(IFXMIPS_PORT_IOC_MAGIC,0,struct danube_port_ioctl_parm)
#define DANUBE_PORT_IOCPUDSEL _IOW(DANUBE_PORT_IOC_MAGIC,1,struct danube_port_ioctl_parm) #define IFXMIPS_PORT_IOCPUDSEL _IOW(IFXMIPS_PORT_IOC_MAGIC,1,struct danube_port_ioctl_parm)
#define DANUBE_PORT_IOCPUDEN _IOW(DANUBE_PORT_IOC_MAGIC,2,struct danube_port_ioctl_parm) #define IFXMIPS_PORT_IOCPUDEN _IOW(IFXMIPS_PORT_IOC_MAGIC,2,struct danube_port_ioctl_parm)
#define DANUBE_PORT_IOCSTOFF _IOW(DANUBE_PORT_IOC_MAGIC,3,struct danube_port_ioctl_parm) #define IFXMIPS_PORT_IOCSTOFF _IOW(IFXMIPS_PORT_IOC_MAGIC,3,struct danube_port_ioctl_parm)
#define DANUBE_PORT_IOCDIR _IOW(DANUBE_PORT_IOC_MAGIC,4,struct danube_port_ioctl_parm) #define IFXMIPS_PORT_IOCDIR _IOW(IFXMIPS_PORT_IOC_MAGIC,4,struct danube_port_ioctl_parm)
#define DANUBE_PORT_IOCOUTPUT _IOW(DANUBE_PORT_IOC_MAGIC,5,struct danube_port_ioctl_parm) #define IFXMIPS_PORT_IOCOUTPUT _IOW(IFXMIPS_PORT_IOC_MAGIC,5,struct danube_port_ioctl_parm)
#define DANUBE_PORT_IOCINPUT _IOWR(DANUBE_PORT_IOC_MAGIC,6,struct danube_port_ioctl_parm) #define IFXMIPS_PORT_IOCINPUT _IOWR(IFXMIPS_PORT_IOC_MAGIC,6,struct danube_port_ioctl_parm)
#define DANUBE_PORT_IOCALTSEL0 _IOW(DANUBE_PORT_IOC_MAGIC,7,struct danube_port_ioctl_parm) #define IFXMIPS_PORT_IOCALTSEL0 _IOW(IFXMIPS_PORT_IOC_MAGIC,7,struct danube_port_ioctl_parm)
#define DANUBE_PORT_IOCALTSEL1 _IOW(DANUBE_PORT_IOC_MAGIC,8,struct danube_port_ioctl_parm) #define IFXMIPS_PORT_IOCALTSEL1 _IOW(IFXMIPS_PORT_IOC_MAGIC,8,struct danube_port_ioctl_parm)
#endif #endif

View file

@ -17,8 +17,8 @@
* Copyright (C) 2007 John Crispin <blogic@openwrt.org> * Copyright (C) 2007 John Crispin <blogic@openwrt.org>
* *
*/ */
#ifndef _DANUBE_IRQ__ #ifndef _IFXMIPS_IRQ__
#define _DANUBE_IRQ__ #define _IFXMIPS_IRQ__
#define INT_NUM_IRQ0 8 #define INT_NUM_IRQ0 8
#define INT_NUM_IM0_IRL0 (INT_NUM_IRQ0 + 0) #define INT_NUM_IM0_IRL0 (INT_NUM_IRQ0 + 0)
@ -28,38 +28,38 @@
#define INT_NUM_IM4_IRL0 (INT_NUM_IRQ0 + 128) #define INT_NUM_IM4_IRL0 (INT_NUM_IRQ0 + 128)
#define INT_NUM_IM_OFFSET (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0) #define INT_NUM_IM_OFFSET (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0)
#define DANUBEASC1_TIR (INT_NUM_IM3_IRL0 + 7) #define IFXMIPSASC1_TIR (INT_NUM_IM3_IRL0 + 7)
#define DANUBEASC1_RIR (INT_NUM_IM3_IRL0 + 9) #define IFXMIPSASC1_RIR (INT_NUM_IM3_IRL0 + 9)
#define DANUBEASC1_EIR (INT_NUM_IM3_IRL0 + 10) #define IFXMIPSASC1_EIR (INT_NUM_IM3_IRL0 + 10)
#define DANUBE_SSC_TIR (INT_NUM_IM0_IRL0 + 15) #define IFXMIPS_SSC_TIR (INT_NUM_IM0_IRL0 + 15)
#define DANUBE_SSC_RIR (INT_NUM_IM0_IRL0 + 14) #define IFXMIPS_SSC_RIR (INT_NUM_IM0_IRL0 + 14)
#define DANUBE_SSC_EIR (INT_NUM_IM0_IRL0 + 16) #define IFXMIPS_SSC_EIR (INT_NUM_IM0_IRL0 + 16)
#define DANUBE_TIMER6_INT (INT_NUM_IM1_IRL0 + 23) #define IFXMIPS_TIMER6_INT (INT_NUM_IM1_IRL0 + 23)
#define MIPS_CPU_TIMER_IRQ 7 #define MIPS_CPU_TIMER_IRQ 7
#define DANUBE_DMA_CH0_INT (INT_NUM_IM2_IRL0) #define IFXMIPS_DMA_CH0_INT (INT_NUM_IM2_IRL0)
#define DANUBE_DMA_CH1_INT (INT_NUM_IM2_IRL0 + 1) #define IFXMIPS_DMA_CH1_INT (INT_NUM_IM2_IRL0 + 1)
#define DANUBE_DMA_CH2_INT (INT_NUM_IM2_IRL0 + 2) #define IFXMIPS_DMA_CH2_INT (INT_NUM_IM2_IRL0 + 2)
#define DANUBE_DMA_CH3_INT (INT_NUM_IM2_IRL0 + 3) #define IFXMIPS_DMA_CH3_INT (INT_NUM_IM2_IRL0 + 3)
#define DANUBE_DMA_CH4_INT (INT_NUM_IM2_IRL0 + 4) #define IFXMIPS_DMA_CH4_INT (INT_NUM_IM2_IRL0 + 4)
#define DANUBE_DMA_CH5_INT (INT_NUM_IM2_IRL0 + 5) #define IFXMIPS_DMA_CH5_INT (INT_NUM_IM2_IRL0 + 5)
#define DANUBE_DMA_CH6_INT (INT_NUM_IM2_IRL0 + 6) #define IFXMIPS_DMA_CH6_INT (INT_NUM_IM2_IRL0 + 6)
#define DANUBE_DMA_CH7_INT (INT_NUM_IM2_IRL0 + 7) #define IFXMIPS_DMA_CH7_INT (INT_NUM_IM2_IRL0 + 7)
#define DANUBE_DMA_CH8_INT (INT_NUM_IM2_IRL0 + 8) #define IFXMIPS_DMA_CH8_INT (INT_NUM_IM2_IRL0 + 8)
#define DANUBE_DMA_CH9_INT (INT_NUM_IM2_IRL0 + 9) #define IFXMIPS_DMA_CH9_INT (INT_NUM_IM2_IRL0 + 9)
#define DANUBE_DMA_CH10_INT (INT_NUM_IM2_IRL0 + 10) #define IFXMIPS_DMA_CH10_INT (INT_NUM_IM2_IRL0 + 10)
#define DANUBE_DMA_CH11_INT (INT_NUM_IM2_IRL0 + 11) #define IFXMIPS_DMA_CH11_INT (INT_NUM_IM2_IRL0 + 11)
#define DANUBE_DMA_CH12_INT (INT_NUM_IM2_IRL0 + 25) #define IFXMIPS_DMA_CH12_INT (INT_NUM_IM2_IRL0 + 25)
#define DANUBE_DMA_CH13_INT (INT_NUM_IM2_IRL0 + 26) #define IFXMIPS_DMA_CH13_INT (INT_NUM_IM2_IRL0 + 26)
#define DANUBE_DMA_CH14_INT (INT_NUM_IM2_IRL0 + 27) #define IFXMIPS_DMA_CH14_INT (INT_NUM_IM2_IRL0 + 27)
#define DANUBE_DMA_CH15_INT (INT_NUM_IM2_IRL0 + 28) #define IFXMIPS_DMA_CH15_INT (INT_NUM_IM2_IRL0 + 28)
#define DANUBE_DMA_CH16_INT (INT_NUM_IM2_IRL0 + 29) #define IFXMIPS_DMA_CH16_INT (INT_NUM_IM2_IRL0 + 29)
#define DANUBE_DMA_CH17_INT (INT_NUM_IM2_IRL0 + 30) #define IFXMIPS_DMA_CH17_INT (INT_NUM_IM2_IRL0 + 30)
#define DANUBE_DMA_CH18_INT (INT_NUM_IM2_IRL0 + 16) #define IFXMIPS_DMA_CH18_INT (INT_NUM_IM2_IRL0 + 16)
#define DANUBE_DMA_CH19_INT (INT_NUM_IM2_IRL0 + 21) #define IFXMIPS_DMA_CH19_INT (INT_NUM_IM2_IRL0 + 21)
extern void mask_and_ack_danube_irq (unsigned int irq_nr); extern void mask_and_ack_danube_irq (unsigned int irq_nr);

View file

@ -1,5 +1,5 @@
#ifndef DANUBE_SW_H #ifndef IFXMIPS_SW_H
#define DANUBE_SW_H #define IFXMIPS_SW_H
@ -138,7 +138,7 @@
#define PHY1_ADDR 1 #define PHY1_ADDR 1
#define P1M 0 #define P1M 0
#define DANUBE_SW_REG32(reg_num) *((volatile u32*)(reg_num)) #define IFXMIPS_SW_REG32(reg_num) *((volatile u32*)(reg_num))
#define OK 0; #define OK 0;
@ -251,4 +251,4 @@ struct switch_priv {
enum duplex current_duplex; enum duplex current_duplex;
}; };
#endif //DANUBE_SW_H #endif //IFXMIPS_SW_H

View file

@ -16,14 +16,14 @@
* Copyright (C) 2007 John Crispin <blogic@openwrt.org> * Copyright (C) 2007 John Crispin <blogic@openwrt.org>
* *
*/ */
#ifndef _DANUBE_PMU_H__ #ifndef _IFXMIPS_PMU_H__
#define _DANUBE_PMU_H__ #define _IFXMIPS_PMU_H__
#define DANUBE_PMU_PWDCR_DMA 0x20 #define IFXMIPS_PMU_PWDCR_DMA 0x20
#define DANUBE_PMU_PWDCR_LED 0x800 #define IFXMIPS_PMU_PWDCR_LED 0x800
#define DANUBE_PMU_PWDCR_GPT 0x1000 #define IFXMIPS_PMU_PWDCR_GPT 0x1000
#define DANUBE_PMU_PWDCR_PPE 0x2000 #define IFXMIPS_PMU_PWDCR_PPE 0x2000
#define DANUBE_PMU_PWDCR_FPI 0x4000 #define IFXMIPS_PMU_PWDCR_FPI 0x4000
void danube_pmu_enable (unsigned int module); void danube_pmu_enable (unsigned int module);
void danube_pmu_disable (unsigned int module); void danube_pmu_disable (unsigned int module);

View file

@ -1,7 +1,7 @@
/* incaAscSio.h - (DANUBE) ASC UART tty driver header */ /* incaAscSio.h - (IFXMIPS) ASC UART tty driver header */
#ifndef __DANUBE_ASC_H #ifndef __IFXMIPS_ASC_H
#define __DANUBE_ASC_H #define __IFXMIPS_ASC_H
/****************************************************************************** /******************************************************************************
** **
@ -41,29 +41,29 @@
/* ASC input select (0 or 1) */ /* ASC input select (0 or 1) */
#define CONSOLE_TTY 0 #define CONSOLE_TTY 0
#define DANUBEASC_TXFIFO_FL 1 #define IFXMIPSASC_TXFIFO_FL 1
#define DANUBEASC_RXFIFO_FL 1 #define IFXMIPSASC_RXFIFO_FL 1
#define DANUBEASC_TXFIFO_FULL 16 #define IFXMIPSASC_TXFIFO_FULL 16
/* interrupt lines masks for the ASC device interrupts*/ /* interrupt lines masks for the ASC device interrupts*/
/* change these macroses if it's necessary */ /* change these macroses if it's necessary */
#define DANUBEASC_IRQ_LINE_ALL 0x0000007f /* all IRQs */ #define IFXMIPSASC_IRQ_LINE_ALL 0x0000007f /* all IRQs */
#define DANUBEASC_IRQ_LINE_TIR 0x00000001 /* Tx Int */ #define IFXMIPSASC_IRQ_LINE_TIR 0x00000001 /* Tx Int */
#define DANUBEASC_IRQ_LINE_TBIR 0x00000002 /* Tx Buffer Int */ #define IFXMIPSASC_IRQ_LINE_TBIR 0x00000002 /* Tx Buffer Int */
#define DANUBEASC_IRQ_LINE_RIR 0x00000004 /* Rx Int */ #define IFXMIPSASC_IRQ_LINE_RIR 0x00000004 /* Rx Int */
#define DANUBEASC_IRQ_LINE_EIR 0x00000008 /* Error Int */ #define IFXMIPSASC_IRQ_LINE_EIR 0x00000008 /* Error Int */
#define DANUBEASC_IRQ_LINE_ABSTIR 0x00000010 /* Autobaud Start Int */ #define IFXMIPSASC_IRQ_LINE_ABSTIR 0x00000010 /* Autobaud Start Int */
#define DANUBEASC_IRQ_LINE_ABDETIP 0x00000020 /* Autobaud Detection Int */ #define IFXMIPSASC_IRQ_LINE_ABDETIP 0x00000020 /* Autobaud Detection Int */
#define DANUBEASC_IRQ_LINE_SFCIR 0x00000040 /* Software Flow Control Int */ #define IFXMIPSASC_IRQ_LINE_SFCIR 0x00000040 /* Software Flow Control Int */
/* interrupt controller access macros */ /* interrupt controller access macros */
#define ASC_INTERRUPTS_ENABLE(X) \ #define ASC_INTERRUPTS_ENABLE(X) \
*((volatile unsigned int*) DANUBE_ICU_IM0_IER) |= X; *((volatile unsigned int*) IFXMIPS_ICU_IM0_IER) |= X;
#define ASC_INTERRUPTS_DISABLE(X) \ #define ASC_INTERRUPTS_DISABLE(X) \
*((volatile unsigned int*) DANUBE_ICU_IM0_IER) &= ~X; *((volatile unsigned int*) IFXMIPS_ICU_IM0_IER) &= ~X;
#define ASC_INTERRUPTS_CLEAR(X) \ #define ASC_INTERRUPTS_CLEAR(X) \
*((volatile unsigned int*) DANUBE_ICU_IM0_ISR) = X; *((volatile unsigned int*) IFXMIPS_ICU_IM0_ISR) = X;
/* CLC register's bits and bitfields */ /* CLC register's bits and bitfields */
#define ASCCLC_DISR 0x00000001 #define ASCCLC_DISR 0x00000001
@ -191,4 +191,4 @@
#define ASCFSTAT_TXFFLMASK 0x3F00 #define ASCFSTAT_TXFFLMASK 0x3F00
#define ASCFSTAT_TXFFLOFF 8 #define ASCFSTAT_TXFFLOFF 8
#endif /* __DANUBE_ASC_H */ #endif /* __IFXMIPS_ASC_H */

View file

@ -18,31 +18,31 @@
* *
*/ */
#ifndef DANUBE_WDT_H #ifndef IFXMIPS_WDT_H
#define DANUBE_WDT_H #define IFXMIPS_WDT_H
/* Danube wdt ioctl control */ /* Danube wdt ioctl control */
#define DANUBE_WDT_IOC_MAGIC 0xc0 #define IFXMIPS_WDT_IOC_MAGIC 0xc0
#define DANUBE_WDT_IOC_START _IOW(DANUBE_WDT_IOC_MAGIC, 0, int) #define IFXMIPS_WDT_IOC_START _IOW(IFXMIPS_WDT_IOC_MAGIC, 0, int)
#define DANUBE_WDT_IOC_STOP _IO(DANUBE_WDT_IOC_MAGIC, 1) #define IFXMIPS_WDT_IOC_STOP _IO(IFXMIPS_WDT_IOC_MAGIC, 1)
#define DANUBE_WDT_IOC_PING _IO(DANUBE_WDT_IOC_MAGIC, 2) #define IFXMIPS_WDT_IOC_PING _IO(IFXMIPS_WDT_IOC_MAGIC, 2)
#define DANUBE_WDT_IOC_SET_PWL _IOW(DANUBE_WDT_IOC_MAGIC, 3, int) #define IFXMIPS_WDT_IOC_SET_PWL _IOW(IFXMIPS_WDT_IOC_MAGIC, 3, int)
#define DANUBE_WDT_IOC_SET_DSEN _IOW(DANUBE_WDT_IOC_MAGIC, 4, int) #define IFXMIPS_WDT_IOC_SET_DSEN _IOW(IFXMIPS_WDT_IOC_MAGIC, 4, int)
#define DANUBE_WDT_IOC_SET_LPEN _IOW(DANUBE_WDT_IOC_MAGIC, 5, int) #define IFXMIPS_WDT_IOC_SET_LPEN _IOW(IFXMIPS_WDT_IOC_MAGIC, 5, int)
#define DANUBE_WDT_IOC_GET_STATUS _IOR(DANUBE_WDT_IOC_MAGIC, 6, int) #define IFXMIPS_WDT_IOC_GET_STATUS _IOR(IFXMIPS_WDT_IOC_MAGIC, 6, int)
#define DANUBE_WDT_IOC_SET_CLKDIV _IOW(DANUBE_WDT_IOC_MAGIC, 7, int) #define IFXMIPS_WDT_IOC_SET_CLKDIV _IOW(IFXMIPS_WDT_IOC_MAGIC, 7, int)
/* password 1 and 2 */ /* password 1 and 2 */
#define DANUBE_WDT_PW1 0x000000BE #define IFXMIPS_WDT_PW1 0x000000BE
#define DANUBE_WDT_PW2 0x000000DC #define IFXMIPS_WDT_PW2 0x000000DC
#define DANUBE_WDT_CLKDIV0_VAL 1 #define IFXMIPS_WDT_CLKDIV0_VAL 1
#define DANUBE_WDT_CLKDIV1_VAL 64 #define IFXMIPS_WDT_CLKDIV1_VAL 64
#define DANUBE_WDT_CLKDIV2_VAL 4096 #define IFXMIPS_WDT_CLKDIV2_VAL 4096
#define DANUBE_WDT_CLKDIV3_VAL 262144 #define IFXMIPS_WDT_CLKDIV3_VAL 262144
#define DANUBE_WDT_CLKDIV0 0 #define IFXMIPS_WDT_CLKDIV0 0
#define DANUBE_WDT_CLKDIV1 1 #define IFXMIPS_WDT_CLKDIV1 1
#define DANUBE_WDT_CLKDIV2 2 #define IFXMIPS_WDT_CLKDIV2 2
#define DANUBE_WDT_CLKDIV3 3 #define IFXMIPS_WDT_CLKDIV3 3
#endif #endif

View file

@ -1,5 +1,5 @@
#ifndef __DANUBE_IRQ_H #ifndef __IFXMIPS_IRQ_H
#define __DANUBE_IRQ_H #define __IFXMIPS_IRQ_H
#define NR_IRQS 256 #define NR_IRQS 256
#include_next <irq.h> #include_next <irq.h>

View file

@ -6,7 +6,7 @@ Index: linux-2.6.23/arch/mips/Kconfig
select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN
select GENERIC_HARDIRQS_NO__DO_IRQ select GENERIC_HARDIRQS_NO__DO_IRQ
+config DANUBE +config IFXMIPS
+ bool "Danube support" + bool "Danube support"
+ select DMA_NONCOHERENT + select DMA_NONCOHERENT
+ select IRQ_CPU + select IRQ_CPU
@ -37,11 +37,11 @@ Index: linux-2.6.23/arch/mips/Makefile
load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000 load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000
+# +#
+# Infineon DANUBE +# Infineon IFXMIPS
+# +#
+core-$(CONFIG_DANUBE) += arch/mips/danube/ +core-$(CONFIG_IFXMIPS) += arch/mips/danube/
+cflags-$(CONFIG_DANUBE) += -Iinclude/asm-mips/mach-danube +cflags-$(CONFIG_IFXMIPS) += -Iinclude/asm-mips/mach-danube
+load-$(CONFIG_DANUBE) += 0xffffffff80002000 +load-$(CONFIG_IFXMIPS) += 0xffffffff80002000
+ +
# #
# DECstation family # DECstation family
@ -57,8 +57,8 @@ Index: linux-2.6.23/include/asm-mips/bootinfo.h
+/* +/*
+ * Valid machtype for group ATHEROS + * Valid machtype for group ATHEROS
+ */ + */
+#define MACH_GROUP_DANUBE 29 +#define MACH_GROUP_IFXMIPS 29
+#define MACH_INFINEON_DANUBE 0 +#define MACH_INFINEON_IFXMIPS 0
+ +
+ +
#define CL_SIZE COMMAND_LINE_SIZE #define CL_SIZE COMMAND_LINE_SIZE

View file

@ -6,9 +6,9 @@ Index: linux-2.6.23/drivers/serial/Kconfig
Currently, only 8250 compatible ports are supported, but Currently, only 8250 compatible ports are supported, but
others can easily be added. others can easily be added.
+config SERIAL_DANUBE +config SERIAL_IFXMIPS
+ bool "Danube serial driver" + bool "Danube serial driver"
+ depends on DANUBE + depends on IFXMIPS
+ help + help
+ Driver for the danubes built in ASC hardware + Driver for the danubes built in ASC hardware
+ +
@ -21,7 +21,7 @@ Index: linux-2.6.23/drivers/serial/Makefile
obj-$(CONFIG_SERIAL_NETX) += netx-serial.o obj-$(CONFIG_SERIAL_NETX) += netx-serial.o
obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_serial.o obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_serial.o
obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o
+obj-$(CONFIG_SERIAL_DANUBE) += danube_asc.o +obj-$(CONFIG_SERIAL_IFXMIPS) += danube_asc.o
Index: linux-2.6.23/drivers/mtd/maps/Makefile Index: linux-2.6.23/drivers/mtd/maps/Makefile
=================================================================== ===================================================================
--- linux-2.6.23.orig/drivers/mtd/maps/Makefile 2007-12-13 20:41:42.000000000 +0100 --- linux-2.6.23.orig/drivers/mtd/maps/Makefile 2007-12-13 20:41:42.000000000 +0100
@ -30,7 +30,7 @@ Index: linux-2.6.23/drivers/mtd/maps/Makefile
obj-$(CONFIG_MTD_OMAP_NOR) += omap_nor.o obj-$(CONFIG_MTD_OMAP_NOR) += omap_nor.o
obj-$(CONFIG_MTD_MTX1) += mtx-1_flash.o obj-$(CONFIG_MTD_MTX1) += mtx-1_flash.o
obj-$(CONFIG_MTD_TQM834x) += tqm834x.o obj-$(CONFIG_MTD_TQM834x) += tqm834x.o
+obj-$(CONFIG_MTD_DANUBE) += danube.o +obj-$(CONFIG_MTD_IFXMIPS) += danube.o
Index: linux-2.6.23/drivers/net/Kconfig Index: linux-2.6.23/drivers/net/Kconfig
=================================================================== ===================================================================
--- linux-2.6.23.orig/drivers/net/Kconfig 2007-12-13 20:41:42.000000000 +0100 --- linux-2.6.23.orig/drivers/net/Kconfig 2007-12-13 20:41:42.000000000 +0100
@ -39,15 +39,15 @@ Index: linux-2.6.23/drivers/net/Kconfig
source "drivers/net/arm/Kconfig" source "drivers/net/arm/Kconfig"
+config DANUBE_MII0 +config IFXMIPS_MII0
+ tristate "Infineon Danube eth0 driver" + tristate "Infineon Danube eth0 driver"
+ depends on DANUBE + depends on IFXMIPS
+ help + help
+ Support for the MII0 inside the Danube SOC + Support for the MII0 inside the Danube SOC
+ +
+config DANUBE_MII1 +config IFXMIPS_MII1
+ tristate "Infineon Danube eth1 driver" + tristate "Infineon Danube eth1 driver"
+ depends on DANUBE + depends on IFXMIPS
+ help + help
+ Support for the MII1 inside the Danube SOC + Support for the MII1 inside the Danube SOC
+ +
@ -62,7 +62,7 @@ Index: linux-2.6.23/drivers/net/Makefile
obj-$(CONFIG_FEC_8XX) += fec_8xx/ obj-$(CONFIG_FEC_8XX) += fec_8xx/
obj-$(CONFIG_PASEMI_MAC) += pasemi_mac.o obj-$(CONFIG_PASEMI_MAC) += pasemi_mac.o
obj-$(CONFIG_MLX4_CORE) += mlx4/ obj-$(CONFIG_MLX4_CORE) += mlx4/
+obj-$(CONFIG_DANUBE_MII0) += danube_mii0.o +obj-$(CONFIG_IFXMIPS_MII0) += danube_mii0.o
obj-$(CONFIG_MACB) += macb.o obj-$(CONFIG_MACB) += macb.o
@ -74,7 +74,7 @@ Index: linux-2.6.23/drivers/char/watchdog/Makefile
obj-$(CONFIG_INDYDOG) += indydog.o obj-$(CONFIG_INDYDOG) += indydog.o
obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
+obj-$(CONFIG_DANUBE_WDT) += danube_wdt.o +obj-$(CONFIG_IFXMIPS_WDT) += danube_wdt.o
# PARISC Architecture # PARISC Architecture
@ -87,7 +87,7 @@ Index: linux-2.6.23/drivers/char/Makefile
endif endif
+ +
+obj-$(CONFIG_DANUBE_LED) += danube_led.o +obj-$(CONFIG_IFXMIPS_LED) += danube_led.o
+obj-$(CONFIG_DANUBE_GPIO) += danube_gpio.o +obj-$(CONFIG_IFXMIPS_GPIO) += danube_gpio.o
+obj-$(CONFIG_DANUBE_SSC) += danube_ssc.o +obj-$(CONFIG_IFXMIPS_SSC) += danube_ssc.o
+obj-$(CONFIG_DANUBE_EEPROM) += danube_eeprom.o +obj-$(CONFIG_IFXMIPS_EEPROM) += danube_eeprom.o

View file

@ -7,7 +7,7 @@ Index: linux-2.6.23/drivers/mtd/chips/cfi_cmdset_0002.c
map_word oldd; map_word oldd;
int retry_cnt = 0; int retry_cnt = 0;
- -
+#ifdef CONFIG_DANUBE +#ifdef CONFIG_IFXMIPS
+ adr ^= 2; + adr ^= 2;
+#endif +#endif
adr += chip->start; adr += chip->start;