2 ***************************************************************************
3 * Definitions for IDT RC323434 CPU.
5 ****************************************************************************
9 ****************************************************************************
10 * P. Sadik Oct 08, 2003
12 * Started revision history
13 * Made IDT_BUS_FREQ a kernel configuration parameter
14 ****************************************************************************
15 * P. Sadik Oct 10, 2003
17 * Removed IDT_BUS_FREQ, since this parameter is no longer required. Instead
18 * idt_cpu_freq is used everywhere
19 ****************************************************************************
20 * P. Sadik Oct 20, 2003
22 * Removed RC32434_BASE_BAUD
23 ****************************************************************************
28 #include <linux/autoconf.h>
29 #include <linux/delay.h>
32 #define RC32434_REG_BASE 0x18000000
34 #define interrupt ((volatile INT_t ) INT0_VirtualAddress)
35 #define gpio ((volatile GPIO_t) GPIO0_VirtualAddress)
38 #define IDT_CLOCK_MULT 2
39 #define MIPS_CPU_TIMER_IRQ 7
40 /* Interrupt Controller */
41 #define IC_GROUP0_PEND (RC32434_REG_BASE + 0x38000)
42 #define IC_GROUP0_MASK (RC32434_REG_BASE + 0x38008)
43 #define IC_GROUP_OFFSET 0x0C
45 #define NUM_INTR_GROUPS 5
48 #define GROUP0_IRQ_BASE 8 /* GRP2 IRQ numbers start here */
49 #define GROUP1_IRQ_BASE (GROUP0_IRQ_BASE + 32) /* GRP3 IRQ numbers start here */
50 #define GROUP2_IRQ_BASE (GROUP1_IRQ_BASE + 32) /* GRP4 IRQ numbers start here */
51 #define GROUP3_IRQ_BASE (GROUP2_IRQ_BASE + 32) /* GRP5 IRQ numbers start here */
52 #define GROUP4_IRQ_BASE (GROUP3_IRQ_BASE + 32)
56 #define RC32434_UART0_BASE (RC32434_REG_BASE + 0x58003)
58 #define RC32434_UART0_BASE (RC32434_REG_BASE + 0x58000)
61 #define RC32434_UART0_IRQ GROUP3_IRQ_BASE + 0
62 // #define EB434_UART1_IRQ GROUP4_IRQ_BASE + 11
64 #define local_readl(addr) __raw_readl(addr)
65 #define local_writel(l,addr) __raw_writel(l,addr)
67 /* cpu pipeline flush */
68 static inline void rc32434_sync(void)
70 __asm__
volatile ("sync");
73 static inline void rc32434_sync_udelay(int us
)
75 __asm__
volatile ("sync");
79 static inline void rc32434_sync_delay(int ms
)
81 __asm__
volatile ("sync");
86 * C access to CLZ and CLO instructions
87 * (count leading zeroes/ones).
89 static inline int rc32434_clz(unsigned long val
)
105 static inline int rc32434_clo(unsigned long val
)
109 ".set\tnoreorder\n\t"
122 #endif /* _RC32434_H_ */
This page took 0.047918 seconds and 5 git commands to generate.