diff options
Diffstat (limited to 'target/linux/adm8668/files/arch/mips/include/asm/mach-adm8668/adm8668.h')
-rw-r--r-- | target/linux/adm8668/files/arch/mips/include/asm/mach-adm8668/adm8668.h | 110 |
1 files changed, 20 insertions, 90 deletions
diff --git a/target/linux/adm8668/files/arch/mips/include/asm/mach-adm8668/adm8668.h b/target/linux/adm8668/files/arch/mips/include/asm/mach-adm8668/adm8668.h index 2cf65d81a..8a16863c0 100644 --- a/target/linux/adm8668/files/arch/mips/include/asm/mach-adm8668/adm8668.h +++ b/target/linux/adm8668/files/arch/mips/include/asm/mach-adm8668/adm8668.h @@ -9,8 +9,6 @@ #ifndef __ADM8668_H__ #define __ADM8668_H__ -#define SYS_CLOCK 175000000 - /*======================= Physical Memory Map ============================*/ #define ADM8668_SDRAM_BASE 0 #define ADM8668_SMEM1_BASE 0x10000000 @@ -26,71 +24,28 @@ #define ADM8668_SMEM0_BASE 0x1FC00000 #define ADM8668_NAND_BASE 0x1FFFFF00 -#define PCICFG_BASE 0x12200000 -#define PCIDAT_BASE 0x12400000 - -/** onboard uart **/ -#define ADM8668_UARTCLK_FREQ 62500000 -/* registers */ -#define UART_DR_REG 0x00 -#define UART_RSR_REG 0x04 -#define UART_CR_REG 0x14 -#define UART_FR_REG 0x18 -#define UART_IIR_REG 0x1C - -/* rsr reg */ -#define UART_FRAMING_ERR 0x01 -#define UART_PARITY_ERR 0x02 -#define UART_BREAK_ERR 0x04 -#define UART_OVERRUN_ERR 0x08 -#define UART_RX_STATUS_MASK 0x0F - -/* cr reg */ -#define UART_RX_INT_EN 0x10 -#define UART_TX_INT_EN 0x20 -#define UART_RX_TIMEOUT_INT_EN 0x40 - -/* fr reg */ -#define UART_RX_FIFO_EMPTY 0x10 -#define UART_TX_FIFO_FULL 0x20 - -/* iir reg */ -#define UART_RX_INT 0x02 -#define UART_TX_INT 0x04 -#define UART_RX_TIMEOUT_INT 0x08 - -/* interrupt controller */ -#define IRQ_STATUS_REG 0x00 /* Read */ -#define IRQ_ENABLE_REG 0x08 /* Read/Write */ -#define IRQ_DISABLE_REG 0x0C /* Write */ +#define ADM8668_PCICFG_BASE 0x12200000 +#define ADM8668_PCIDAT_BASE 0x12400000 /* interrupt levels */ -#define INT_LVL_SWI 1 -#define INT_LVL_COMMS_RX 2 -#define INT_LVL_COMMS_TX 3 -#define INT_LVL_TIMERINT0 4 -#define INT_LVL_TIMERINT1 5 -#define INT_LVL_UART0 6 -#define INT_LVL_LAN 7 -#define INT_LVL_WAN 8 -#define INT_LVL_WLAN 9 -#define INT_LVL_GPIO 10 -#define INT_LVL_IDE 11 -#define INT_LVL_PCI2 12 -#define INT_LVL_PCI1 13 -#define INT_LVL_PCI0 14 -#define INT_LVL_USB 15 -#define INT_LVL_MAX INT_LVL_USB +#define ADM8668_SWI_IRQ 1 +#define ADM8668_COMMS_RX_IRQ 2 +#define ADM8668_COMMS_TX_IRQ 3 +#define ADM8668_TIMER0_IRQ 4 +#define ADM8668_TIMER1_IRQ 5 +#define ADM8668_UART0_IRQ 6 +#define ADM8668_LAN_IRQ 7 +#define ADM8668_WAN_IRQ 8 +#define ADM8668_WLAN_IRQ 9 +#define ADM8668_GPIO_IRQ 10 +#define ADM8668_IDE_IRQ 11 +#define ADM8668_PCI2_IRQ 12 +#define ADM8668_PCI1_IRQ 13 +#define ADM8668_PCI0_IRQ 14 +#define ADM8668_USB_IRQ 15 +#define ADM8668_IRQ_MAX ADM8668_USB_IRQ /* register access macros */ -#define ADM8668_INTC_REG(_reg) \ - (*((volatile unsigned long *)(KSEG1ADDR(ADM8668_INTC_BASE + (_reg))))) -#define ADM8668_LAN_REG(_reg) \ - (*((volatile unsigned int *)(KSEG1ADDR(ADM8668_LAN_BASE + (_reg))))) -#define ADM8668_WAN_REG(_reg) \ - (*((volatile unsigned int *)(KSEG1ADDR(ADM8668_WAN_BASE + (_reg))))) -#define ADM8668_WLAN_REG(_reg) \ - (*((volatile unsigned int *)(KSEG1ADDR(ADM8668_WLAN_BASE + (_reg))))) #define ADM8668_CONFIG_REG(_reg) \ (*((volatile unsigned int *)(KSEG1ADDR(ADM8668_CONFIG_BASE + (_reg))))) @@ -103,37 +58,12 @@ #define ADM8668_CR0 0x00 #define ADM8668_CR1 0x04 #define ADM8668_CR3 0x0C +#define ADM8668_CR66 0x108 /** For GPIO control **/ #define GPIO_REG 0x5C /* on WLAN */ #define CRGPIO_REG 0x20 /* on CPU */ -#define GPIO0_OUTPUT_ENABLE 0x1000 -#define GPIO1_OUTPUT_ENABLE 0x2000 -#define GPIO2_OUTPUT_ENABLE 0x4000 -#define GPIO_OUTPUT_ENABLE_ALL 0x7000 -#define GPIO0_OUTPUT_1 0x40 -#define GPIO1_OUTPUT_1 0x80 -#define GPIO2_OUTPUT_1 0x100 -#define GPIO0_INPUT_1 0x1 -#define GPIO1_INPUT_1 0x2 -#define GPIO2_INPUT_1 0x4 - -#define GPIO_SET_HI(num) \ - ADM8668_WLAN_REG(GPIO_REG) |= (1 << (6 + num)) - -#define GPIO_SET_LOW(num) \ - ADM8668_WLAN_REG(GPIO_REG) &= ~(1 << (6 + num)) - -#define GPIO_TOGGLE(num) \ - ADM8668_WLAN_REG(GPIO_REG) ^= (1 << (6 + num)) - -#define CRGPIO_SET_HI(num) \ - ADM8668_CONFIG_REG(CRGPIO_REG) |= (1 << (6 + num)) - -#define CRGPIO_SET_LOW(num) \ - ADM8668_CONFIG_REG(CRGPIO_REG) &= ~(1 << (6 + num)) -#define CRGPIO_TOGGLE(num) \ - ADM8668_CONFIG_REG(CRGPIO_REG) ^= (1 << (6 + num)) +void adm8668_init_clocks(void); #endif /* __ADM8668_H__ */ |