Changeset 18368
- Timestamp:
- 02/05/12 17:56:07 (16 months ago)
- Location:
- src/linux/universal/linux-3.2
- Files:
-
- 32 added
- 17 edited
-
arch/mips/Kconfig (modified) (7 diffs)
-
arch/mips/Makefile (modified) (1 diff)
-
arch/mips/pci/Makefile (modified) (1 diff)
-
arch/mips/ralink (added)
-
arch/mips/ralink/Kconfig (added)
-
arch/mips/ralink/common (added)
-
arch/mips/ralink/common/Makefile (added)
-
arch/mips/ralink/common/dev-gpio-buttons.c (added)
-
arch/mips/ralink/common/dev-gpio-leds.c (added)
-
arch/mips/ralink/common/gpio.c (added)
-
arch/mips/ralink/common/intc.c (added)
-
arch/mips/ralink/common/lm.c (added)
-
arch/mips/ralink/common/prom.c (added)
-
arch/mips/ralink/common/setup.c (added)
-
arch/mips/ralink/rt288x (added)
-
arch/mips/ralink/rt288x/Makefile (added)
-
arch/mips/ralink/rt288x/clock.c (added)
-
arch/mips/ralink/rt288x/common.h (added)
-
arch/mips/ralink/rt288x/devices.c (added)
-
arch/mips/ralink/rt288x/devices.h (added)
-
arch/mips/ralink/rt288x/early_printk.c (added)
-
arch/mips/ralink/rt288x/irq.c (added)
-
arch/mips/ralink/rt288x/rt288x.c (added)
-
arch/mips/ralink/rt288x/setup.c (added)
-
arch/mips/ralink/rt305x (added)
-
arch/mips/ralink/rt305x/Kconfig (added)
-
arch/mips/ralink/rt305x/Makefile (added)
-
arch/mips/ralink/rt305x/clock.c (added)
-
arch/mips/ralink/rt305x/common.h (added)
-
arch/mips/ralink/rt305x/devices.c (added)
-
arch/mips/ralink/rt305x/devices.h (added)
-
arch/mips/ralink/rt305x/early_printk.c (added)
-
arch/mips/ralink/rt305x/irq.c (added)
-
arch/mips/ralink/rt305x/rt305x.c (added)
-
arch/mips/ralink/rt305x/setup.c (added)
-
arch/mips/rt2880/Kconfig (modified) (1 diff)
-
arch/mips/rt2880/Makefile (modified) (1 diff)
-
arch/mips/rt2880/init.c (modified) (4 diffs)
-
arch/mips/rt2880/irq.c (modified) (3 diffs)
-
arch/mips/rt2880/printf.c (modified) (1 diff)
-
arch/mips/rt2880/setup.c (modified) (2 diffs)
-
arch/mips/rt2880/time.c (modified) (2 diffs)
-
drivers/char/spi_drv.c (modified) (1 diff)
-
drivers/net/ethernet/raeth/raether.c (modified) (1 diff)
-
drivers/tty/serial/8250.c (modified) (7 diffs)
-
drivers/tty/serial/8250_early.c (modified) (1 diff)
-
drivers/tty/serial/Kconfig (modified) (1 diff)
-
drivers/tty/serial/serial_core.c (modified) (1 diff)
-
drivers/usb/dwc_otg_ralink/dwc_otg_driver.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/linux/universal/linux-3.2/arch/mips/Kconfig
r18354 r18368 32 32 bool 33 33 34 config RALINK_DEVICE 35 bool 34 36 config RALINK_RT2880_MP 35 37 bool … … 44 46 config RALINK_RT3883_MP 45 47 bool 46 config RALINK_DEVICE 48 config RALINK_RT3052 49 bool 50 config RALINK_RT2880 47 51 bool 48 52 … … 51 55 prompt "System type" 52 56 default SGI_IP22 53 54 config RALINK_RT288055 bool "Ralink RT2880 board"56 select DMA_NONCOHERENT57 select CEVT_R4K_LIB58 select CSRC_R4K_LIB59 select RALINK_DEVICE60 select SYS_HAS_EARLY_PRINTK61 select IRQ_CPU62 select HW_HAS_PCI63 select SWAP_IO_SPACE64 select SYS_HAS_CPU_MIPS32_R165 select SYS_SUPPORTS_LITTLE_ENDIAN66 select BOOT_ELF3267 select SYS_SUPPORTS_32BIT_KERNEL68 select RALINK_RT2880_MP69 help70 Ralink evaluation board based on RT288071 72 config RALINK_RT288373 bool "Ralink RT2883 board"74 select DMA_NONCOHERENT75 select CEVT_R4K_LIB76 select CSRC_R4K_LIB77 select RALINK_DEVICE78 select SYS_HAS_EARLY_PRINTK79 select IRQ_CPU80 select HW_HAS_PCI81 select SWAP_IO_SPACE82 select SYS_HAS_CPU_MIPS32_R183 select SYS_SUPPORTS_LITTLE_ENDIAN84 select BOOT_ELF3285 select SYS_SUPPORTS_32BIT_KERNEL86 select RALINK_RT2883_MP87 help88 Ralink evaluation board based on RT288389 90 91 config RALINK_RT305292 bool "Ralink RT305x/RT3350 board"93 select DMA_NONCOHERENT94 select CEVT_R4K_LIB95 select CSRC_R4K_LIB96 select RALINK_DEVICE97 select SYS_HAS_EARLY_PRINTK98 select IRQ_CPU99 select SWAP_IO_SPACE100 select SYS_HAS_CPU_MIPS32_R1101 select SYS_HAS_CPU_MIPS32_R2102 select SYS_SUPPORTS_LITTLE_ENDIAN103 select BOOT_ELF32104 select SYS_SUPPORTS_32BIT_KERNEL105 select RALINK_RT3052_MP2 if !RALINK_RT3350106 help107 Ralink evaluation board based on RT3052108 109 config RALINK_RT3352110 bool "Ralink RT3352 board"111 select DMA_NONCOHERENT112 select CEVT_R4K_LIB113 select CSRC_R4K_LIB114 select RALINK_DEVICE115 select SYS_HAS_EARLY_PRINTK116 select IRQ_CPU117 select SWAP_IO_SPACE118 select SYS_HAS_CPU_MIPS32_R1119 select SYS_HAS_CPU_MIPS32_R2120 select SYS_SUPPORTS_LITTLE_ENDIAN121 select BOOT_ELF32122 select SYS_SUPPORTS_32BIT_KERNEL123 select RALINK_RT3352_MP124 help125 Ralink evaluation board based on RT3352126 127 config RALINK_RT5350128 bool "Ralink RT5350 board"129 select DMA_NONCOHERENT130 select CEVT_R4K_LIB131 select CSRC_R4K_LIB132 select SYS_HAS_EARLY_PRINTK133 select RALINK_DEVICE134 select IRQ_CPU135 select SWAP_IO_SPACE136 select SYS_HAS_CPU_MIPS32_R1137 select SYS_HAS_CPU_MIPS32_R2138 select SYS_SUPPORTS_LITTLE_ENDIAN139 select BOOT_ELF32140 select SYS_SUPPORTS_32BIT_KERNEL141 select RALINK_RT5350_MP142 help143 Ralink evaluation board based on RT5350144 145 config RALINK_RT3883146 bool "Ralink RT3883 board"147 select DMA_NONCOHERENT148 select CEVT_R4K_LIB149 select RALINK_DEVICE150 select CSRC_R4K_LIB151 select SYS_HAS_EARLY_PRINTK152 select IRQ_CPU153 select HW_HAS_PCI154 select SWAP_IO_SPACE155 select SYS_HAS_CPU_MIPS32_R1156 select SYS_HAS_CPU_MIPS32_R2157 select SYS_SUPPORTS_LITTLE_ENDIAN158 select BOOT_ELF32159 select SYS_SUPPORTS_32BIT_KERNEL160 select RALINK_RT3883_MP161 help162 Ralink evaluation board based on RT3883163 164 57 165 58 config MIPS_ALCHEMY … … 214 107 help 215 108 Support for the Atheros AR71XX/AR724X/AR913X SoCs. 109 110 config MIPS_RALINK 111 bool "Ralink MIPS SoC based boards" 216 112 217 113 config BCM47XX … … 1019 915 1020 916 if RALINK_DEVICE 1021 source "arch/mips/rt2880/Kconfig"917 #source "arch/mips/rt2880/Kconfig" 1022 918 endif 1023 919 source "arch/mips/alchemy/Kconfig" … … 1029 925 source "arch/mips/lantiq/Kconfig" 1030 926 source "arch/mips/lasat/Kconfig" 927 source "arch/mips/ralink/Kconfig" 1031 928 source "arch/mips/pmc-sierra/Kconfig" 1032 929 source "arch/mips/powertv/Kconfig" … … 1379 1276 config MIPS_L1_CACHE_SHIFT 1380 1277 int 1381 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL 1278 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL || RALINK_RT2880 || RALINK_RT288X 1382 1279 default "6" if MIPS_CPU_SCACHE 1383 1280 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON -
src/linux/universal/linux-3.2/arch/mips/Makefile
r18352 r18368 160 160 161 161 162 # 163 # Ralink RT2880 board 164 # 165 core-$(CONFIG_RALINK_RT2880) += arch/mips/rt2880/ 166 cflags-$(CONFIG_RALINK_RT2880) += -I$(srctree)/arch/mips/include/asm/rt2880 167 load-$(CONFIG_RALINK_RT2880) += 0x88000000 168 169 # 170 # Ralink RT2883 board 171 # 172 core-$(CONFIG_RALINK_RT2883) += arch/mips/rt2880/ 173 cflags-$(CONFIG_RALINK_RT2883) += -I$(srctree)/arch/mips/include/asm/rt2880 174 load-$(CONFIG_RALINK_RT2883) += 0x80000000 175 176 # 177 # Ralink RT3052 board 178 # 179 core-$(CONFIG_RALINK_RT3052) += arch/mips/rt2880/ 180 cflags-$(CONFIG_RALINK_RT3052) += -I$(srctree)/arch/mips/include/asm/rt2880 181 load-$(CONFIG_RALINK_RT3052) += 0x80000000 182 183 # 184 # Ralink RT3352 board 185 # 186 core-$(CONFIG_RALINK_RT3352) += arch/mips/rt2880/ 187 cflags-$(CONFIG_RALINK_RT3352) += -I$(srctree)/arch/mips/include/asm/rt2880 188 load-$(CONFIG_RALINK_RT3352) += 0x80000000 189 190 # 191 # Ralink RT3883 board 192 # 193 core-$(CONFIG_RALINK_RT3883) += arch/mips/rt2880/ 194 cflags-$(CONFIG_RALINK_RT3883) += -I$(srctree)/arch/mips/include/asm/rt2880 195 load-$(CONFIG_RALINK_RT3883) += 0x80000000 162 163 # 164 # Ralink SoC common stuff 165 # 166 core-$(CONFIG_MIPS_RALINK) += arch/mips/ralink/common/ 167 cflags-$(CONFIG_MIPS_RALINK) += -I$(srctree)/arch/mips/include/asm/mach-ralink 168 169 # 170 # Ralink RT288x 171 # 172 core-$(CONFIG_RALINK_RT288X) += arch/mips/ralink/rt288x/ 173 cflags-$(CONFIG_RALINK_RT288X) += -I$(srctree)//arch/mips/include/asm/mach-ralink/rt288x -I$(srctree)/arch/mips/include/asm/rt2880 174 load-$(CONFIG_RALINK_RT288X) += 0xffffffff88000000 175 176 # 177 # Ralink RT305x 178 # 179 core-$(CONFIG_RALINK_RT305X) += arch/mips/ralink/rt305x/ 180 cflags-$(CONFIG_RALINK_RT305X) += -I$(srctree)/arch/mips/include/asm/mach-ralink/rt305x -I$(srctree)/arch/mips/include/asm/rt2880 181 load-$(CONFIG_RALINK_RT305X) += 0xffffffff80000000 182 183 196 184 # 197 185 -
src/linux/universal/linux-3.2/arch/mips/pci/Makefile
r18226 r18368 67 67 obj-$(CONFIG_MACH_AR7240) += pci-ar724x.o pci-ar71xx.o 68 68 #+obj-$(CONFIG_ATHEROS_AR71XX) += pci-ar71xx.o pci-ar724x.o 69 obj-$(CONFIG_SOC_RT288X) += pci-rt288x.o -
src/linux/universal/linux-3.2/arch/mips/rt2880/Kconfig
r18354 r18368 145 145 prompt "DRAM Size" 146 146 default RT2880_DRAM_16M 147 depends on RALINK_RT2880148 147 149 148 config RT2880_DRAM_8M -
src/linux/universal/linux-3.2/arch/mips/rt2880/Makefile
r18352 r18368 15 15 16 16 obj-y := mipsIRQ.o reset.o init.o irq.o \ 17 memory.o printf.o cmdline.o setup.o time.o 17 memory.o printf.o cmdline.o setup.o time.o early_printk.o 18 18 obj-$(CONFIG_PCI) += pci.o 19 19 obj-$(CONFIG_DWC_OTG_RALINK) += lm.o -
src/linux/universal/linux-3.2/arch/mips/rt2880/init.c
r18352 r18368 341 341 ** this function is called. 342 342 */ 343 #define STD_COM_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST) 344 extern int early_serial_setup(struct uart_port *port);343 void __init ramips_early_serial_setup(int line, unsigned base, unsigned freq, 344 unsigned irq); 345 345 346 346 static struct uart_port serial_req[2]; … … 348 348 { 349 349 350 /* 351 * baud rate = system clock freq / (CLKDIV * 16) 352 * CLKDIV=system clock freq/16/baud rate 353 */ 354 memset(serial_req, 0, 2*sizeof(struct uart_port)); 355 356 serial_req[0].type = PORT_16550A; 357 serial_req[0].line = 0; 358 serial_req[0].irq = SURFBOARDINT_UART; 359 serial_req[0].flags = STD_COM_FLAGS; 360 serial_req[0].uartclk = 57600 *16; 361 serial_req[0].iotype = SERIAL_IO_PORT; 362 serial_req[0].iobase = KSEG1ADDR(RALINK_UART_BASE); 363 serial_req[0].regshift = 2; 364 serial_req[0].mapbase = RALINK_UART_BASE; 365 serial_req[0].membase = ioremap_nocache(serial_req[0].mapbase, PAGE_SIZE); 366 #if defined (CONFIG_RALINK_RT3883) || defined (CONFIG_RALINK_RT3352) || defined (CONFIG_RALINK_RT5350) 367 serial_req[0].custom_divisor = (40000000 / SURFBOARD_BAUD_DIV / 57600); 368 #else 369 serial_req[0].custom_divisor = (surfboard_sysclk / SURFBOARD_BAUD_DIV / 57600); 370 #endif 371 372 serial_req[1].type = PORT_16550A; 373 serial_req[1].line = 1; 374 serial_req[1].irq = SURFBOARDINT_UART1; 375 serial_req[1].flags = STD_COM_FLAGS; 376 serial_req[1].uartclk = 57600 *16; 377 serial_req[1].iotype = SERIAL_IO_PORT; 378 serial_req[1].iobase = KSEG1ADDR(RALINK_UART_LITE_BASE); 379 serial_req[1].regshift = 2; 380 serial_req[1].mapbase = RALINK_UART_LITE_BASE; 381 serial_req[1].membase = ioremap_nocache(serial_req[1].mapbase, PAGE_SIZE); 382 #if defined (CONFIG_RALINK_RT3883) || defined (CONFIG_RALINK_RT3352) || defined (CONFIG_RALINK_RT5350) 383 serial_req[1].custom_divisor = (40000000 / SURFBOARD_BAUD_DIV / 57600); 384 #else 385 serial_req[1].custom_divisor = (surfboard_sysclk / SURFBOARD_BAUD_DIV / 57600); 386 #endif 387 388 early_serial_setup(&serial_req[0]); 389 early_serial_setup(&serial_req[1]); 350 351 ramips_early_serial_setup(0, RALINK_UART_BASE, surfboard_sysclk,SURFBOARDINT_UART); 352 ramips_early_serial_setup(1, RALINK_UART_LITE_BASE, surfboard_sysclk,SURFBOARDINT_UART1); 390 353 391 354 return(0); … … 415 378 } 416 379 417 static void serial_setbrg(unsigned long wBaud)418 {419 unsigned int clock_divisor = 0;420 clock_divisor = (surfboard_sysclk / SURFBOARD_BAUD_DIV);421 422 #if 1423 //fix at 57600 8 n 1 n424 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0xC08)= 0;425 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0xC10)= 0;426 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0xC14)= 0x3;427 #if defined (CONFIG_RALINK_RT3883) || defined (CONFIG_RALINK_RT3352) || defined (CONFIG_RALINK_RT5350)428 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0xC28)= (40000000 / SURFBOARD_BAUD_DIV / 57600);429 #else430 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0xC28)= (surfboard_sysclk / SURFBOARD_BAUD_DIV / 57600);431 #endif432 //fix at 57600 8 n 1 n433 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0x508)= 0;434 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0x510)= 0;435 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0x514)= 0x3;436 #if defined (CONFIG_RALINK_RT3883) || defined (CONFIG_RALINK_RT3352) || defined (CONFIG_RALINK_RT5350)437 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0x528)= (40000000 / SURFBOARD_BAUD_DIV / 57600);438 #else439 *(volatile u32 *)(RALINK_SYSCTL_BASE + 0x528)= (surfboard_sysclk / SURFBOARD_BAUD_DIV / 57600);440 #endif441 #else442 IER(CFG_RT2880_CONSOLE) = 0; /* Disable for now */443 FCR(CFG_RT2880_CONSOLE) = 0; /* No fifos enabled */444 445 /* set baud rate */446 LCR(CFG_RT2880_CONSOLE) = LCR_WLS0 | LCR_WLS1 | LCR_DLAB;447 DLL(CFG_RT2880_CONSOLE) = clock_divisor &0xffff;448 LCR(CFG_RT2880_CONSOLE) = LCR_WLS0 | LCR_WLS1;449 #endif450 }451 452 453 int serial_init(unsigned long wBaud)454 {455 serial_setbrg(wBaud);456 457 return (0);458 }459 380 __init void prom_init(void) 460 381 { … … 473 394 set_io_port_base(KSEG1); 474 395 write_c0_wired(0); 475 serial_init(57600);396 // serial_init(57600); 476 397 477 398 prom_init_serial_port(); /* Needed for Serial Console */ -
src/linux/universal/linux-3.2/arch/mips/rt2880/irq.c
r18352 r18368 299 299 } 300 300 301 301 302 void __init arch_init_irq(void) 302 303 { … … 309 310 310 311 mips_cpu_irq_init(); 311 312 #if 1 313 int mips_cp0_cause, mips_cp0_status; 314 mips_cp0_cause = read_32bit_cp0_register(CP0_CAUSE); 315 mips_cp0_status = read_32bit_cp0_register(CP0_STATUS); 316 printk("cause = %x, status = %x\n", mips_cp0_cause, mips_cp0_status); 317 mips_cp0_status= mips_cp0_status& ~(CAUSEF_IP0|CAUSEF_IP1|CAUSEF_IP2|CAUSEF_IP3|CAUSEF_IP4|CAUSEF_IP5|CAUSEF_IP6|CAUSEF_IP7); 318 write_32bit_cp0_register(CP0_STATUS, mips_cp0_status); 319 #endif 312 surfboard_hw0_icregs->intDisable = ~0; 313 surfboard_hw0_icregs->intType = 0; 320 314 321 315 memset(irq_desc, 0, sizeof(irq_desc)); 322 316 323 for (i = 0; i <= SURFBOARDINT_END; i++) {317 for (i = 8; i <= 8 + 32; i++) { 324 318 irq_set_chip_and_handler(i, &surfboard_irq_type, 325 319 handle_level_irq); 326 320 } 327 321 328 /* Enable global interrupt bit */ 329 // surfboard_hw0_icregs->intDisable = 0xffffffff; 322 // setup_irq(2, &ramips_intc_irqaction); 323 330 324 surfboard_hw0_icregs->intEnable = M_SURFBOARD_GLOBAL_INT; 331 325 … … 455 449 unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM; 456 450 if (pending & CAUSEF_IP7) 457 mips_timer_interrupt();451 do_IRQ(7); 458 452 else 459 453 rt2880_irqdispatch(); -
src/linux/universal/linux-3.2/arch/mips/rt2880/printf.c
r18352 r18368 74 74 } 75 75 76 void prom_putchar(unsigned char ch)77 {78 putPromChar(ch);79 }80 76 81 77 char getPromChar(void) -
src/linux/universal/linux-3.2/arch/mips/rt2880/setup.c
r18352 r18368 82 82 extern int early_serial_setup(struct uart_port *port); 83 83 84 void __init ramips_early_serial_setup(int line, unsigned base, unsigned freq, 85 unsigned irq) 86 { 87 struct uart_port p; 88 int err; 89 90 memset(&p, 0, sizeof(p)); 91 p.flags = UPF_SKIP_TEST | UPF_FIXED_TYPE; 92 p.iotype = UPIO_AU; 93 p.uartclk = freq; 94 p.regshift = 2; 95 p.type = PORT_16550A; 96 97 p.mapbase = base; 98 p.membase = ioremap_nocache(p.mapbase, PAGE_SIZE); 99 p.line = line; 100 p.irq = irq; 101 102 err = early_serial_setup(&p); 103 if (err) 104 printk(KERN_ERR "early serial%d registration failed %d\n", 105 line, err); 106 } 107 108 int getCPUClock(void); 109 110 84 111 void __init rt2880_setup(void) 85 112 { … … 149 176 // board_time_init = mips_time_init; 150 177 //board_timer_setup = mips_timer_setup; 178 printk(KERN_INFO "running at %lu MHz\n", getCPUClock()); 151 179 152 180 mips_reboot_setup(); 153 181 154 #ifdef CONFIG_TIXI155 int i;156 for (i=0; 4 > i; i++) {157 serial_aboard[i].type = PORT_16550A;158 serial_aboard[i].line = i+2;159 serial_aboard[i].irq = SURFBOARDINT_GPIO;160 //serial_aboard[i].flags = STD_COM_FLAGS;161 serial_aboard[i].flags = STD_COM_TIXI_FLAGS;162 serial_aboard[i].uartclk = 57600 *16;163 serial_aboard[i].iotype = TIXI8_UART;164 serial_aboard[i].iobase = 0x118-(i*8);165 serial_aboard[i].regshift = 0;166 serial_aboard[i].mapbase = NULL;167 //serial_aboard[i].custom_divisor = (40000000 / SURFBOARD_BAUD_DIV / 57600);168 //serial_aboard[i].custom_divisor = (3686400 / SURFBOARD_BAUD_DIV / 115200);169 serial_aboard[i].custom_divisor = (3686400 / SURFBOARD_BAUD_DIV / 9600);170 }171 172 printk("+serial8250_register_port 0");173 early_serial_setup(&serial_aboard[0]);174 early_serial_setup(&serial_aboard[1]);175 early_serial_setup(&serial_aboard[2]);176 early_serial_setup(&serial_aboard[3]);177 #endif178 182 } 179 183 -
src/linux/universal/linux-3.2/arch/mips/rt2880/time.c
r18352 r18368 105 105 void __init plat_time_init(void) 106 106 { 107 unsigned long flags;108 unsigned int est_freq;109 #ifdef CONFIG_RALINK_EXTERNAL_TIMER110 u32 reg;111 #endif112 113 114 /* to generate the first timer interrupt */115 #ifndef CONFIG_RALINK_EXTERNAL_TIMER116 r4k_cur = (read_c0_count() + r4k_offset);117 write_c0_compare(r4k_cur);118 #else119 r4k_cur = ((*((volatile u32 *)(RALINK_COUNT))) + r4k_offset);120 (*((volatile u32 *)(RALINK_COMPARE))) = r4k_cur;121 (*((volatile u32 *)(RALINK_MCNT_CFG))) = 3;122 #endif123 set_c0_status(ALLINTS);124 125 126 local_irq_save(flags);127 128 #ifndef CONFIG_RALINK_EXTERNAL_TIMER129 107 mips_hpt_frequency = mips_cpu_feq/2; 130 #else131 mips_hpt_frequency = 50000;132 #endif133 134 printk("calculating r4koff... ");135 r4k_offset = cal_r4koff();136 printk("%08x(%d)\n", r4k_offset, r4k_offset);137 138 #if 0139 if ((read_c0_prid() & 0xffff00) ==140 (PRID_COMP_MIPS | PRID_IMP_20KC))141 est_freq = r4k_offset*HZ;142 else143 est_freq = 2*r4k_offset*HZ;144 #endif145 146 147 est_freq = r4k_offset*HZ;148 est_freq += 5000; /* round */149 est_freq -= est_freq%10000;150 printk("CPU frequency %d.%02d MHz\n", est_freq/1000000,151 (est_freq%1000000)*100/1000000);152 153 local_irq_restore(flags);154 108 } 155 109 … … 159 113 } 160 114 161 unsigned int __cpuinit get_c0_compare_int(void)115 /*unsigned int __cpuinit get_c0_compare_int(void) 162 116 { 163 117 return RALINK_CPU_TIMER_IRQ; 164 } 118 }*/ 165 119 166 120 u32 get_surfboard_sysclk(void) -
src/linux/universal/linux-3.2/drivers/char/spi_drv.c
r18353 r18368 34 34 #include <linux/init.h> 35 35 #include <linux/version.h> 36 #include <linux/autoconf.h>37 36 #include <linux/module.h> 38 37 #include <linux/kernel.h> -
src/linux/universal/linux-3.2/drivers/net/ethernet/raeth/raether.c
r18367 r18368 1952 1952 INIT_WORK(&ei_local->kill_sig_wq, kill_sig_workq); 1953 1953 #endif 1954 err = request_irq( SURFBOARDINT_ESW, esw_interrupt, IRQF_DISABLED, "Ralink_ESW", dev);1954 err = request_irq(25, esw_interrupt, IRQF_DISABLED, "Ralink_ESW", dev); 1955 1955 if (err) 1956 1956 { -
src/linux/universal/linux-3.2/drivers/tty/serial/8250.c
r18352 r18368 319 319 }; 320 320 321 #if defined(CONFIG_MIPS_ALCHEMY) 322 323 /* Au1x00 UART hardware has a weird register layout */321 #if defined(CONFIG_MIPS_ALCHEMY) || defined (CONFIG_SERIAL_8250_RT288X) 322 323 /* Au1x00 and RT288x UART hardware has a weird register layout */ 324 324 static const u8 au_io_in_map[] = { 325 325 [UART_RX] = 0, … … 453 453 } 454 454 455 456 457 455 static unsigned int au_serial_in(struct uart_port *p, int offset) 458 456 { … … 470 468 { 471 469 offset = map_8250_in_reg(p, offset) << p->regshift; 472 #if defined (CONFIG_RALINK_RT2880) || \ 473 defined (CONFIG_RALINK_RT2883) || \ 474 defined (CONFIG_RALINK_RT3883) || \ 475 defined (CONFIG_RALINK_RT3352) || \ 476 defined (CONFIG_RALINK_RT5350) || \ 477 defined (CONFIG_RALINK_RT3052) 478 return (*(int*)(p->iobase + offset)); 479 #else 480 return inb(p->iobase + offset); 481 #endif 470 return inb(p->iobase + offset); 482 471 } 483 472 … … 485 474 { 486 475 offset = map_8250_out_reg(p, offset) << p->regshift; 487 #if defined (CONFIG_RALINK_RT2880) || \ 488 defined (CONFIG_RALINK_RT2883) || \ 489 defined (CONFIG_RALINK_RT3883) || \ 490 defined (CONFIG_RALINK_RT3352) || \ 491 defined (CONFIG_RALINK_RT5350) || \ 492 defined (CONFIG_RALINK_RT3052) 493 *(int*)(p->iobase + offset) = value; 494 #else 495 outb(value, p->iobase + offset); 496 #endif 476 outb(value, p->iobase + offset); 497 477 } 498 478 … … 582 562 serial_outp(up, UART_DLM, value >> 8 & 0xff); 583 563 } 584 #if defined (CONFIG_RALINK_RT2880) || \ 585 defined (CONFIG_RALINK_RT2883) || \ 586 defined (CONFIG_RALINK_RT3883) || \ 587 defined (CONFIG_RALINK_RT3352) || \ 588 defined (CONFIG_RALINK_RT5350) || \ 589 defined (CONFIG_RALINK_RT3052) 590 /* Ralink haven't got a standard divisor latch */ 591 static int serial_dl_read(struct uart_8250_port *up) 592 { 593 return serial_inp(up, UART_DLL); 594 } 595 596 static void serial_dl_write(struct uart_8250_port *up, int value) 597 { 598 serial_outp(up, UART_DLL, value); 599 } 600 601 #elif defined(CONFIG_MIPS_ALCHEMY) 602 /* Au1x00 haven't got a standard divisor latch */ 564 565 #if defined(CONFIG_MIPS_ALCHEMY) || defined (CONFIG_SERIAL_8250_RT288X) 566 /* Au1x00 and RT288x haven't got a standard divisor latch */ 603 567 static int serial_dl_read(struct uart_8250_port *up) 604 568 { … … 807 771 static unsigned int autoconfig_read_divisor_id(struct uart_8250_port *p) 808 772 { 809 unsigned char old_dll, old_dlm, old_lcr; 773 unsigned char old_lcr; 774 unsigned int old_dl; 810 775 unsigned int id; 811 #if defined (CONFIG_RALINK_RT2880) || \ 812 defined (CONFIG_RALINK_RT2883) || \ 813 defined (CONFIG_RALINK_RT3883) || \ 814 defined (CONFIG_RALINK_RT3352) || \ 815 defined (CONFIG_RALINK_RT5350) || \ 816 defined (CONFIG_RALINK_RT3052) 817 unsigned short old_dl; 776 777 old_lcr = serial_inp(p, UART_LCR); 778 serial_outp(p, UART_LCR, UART_LCR_CONF_MODE_A); 818 779 819 780 old_dl = serial_dl_read(p); 781 820 782 serial_dl_write(p, 0); 821 783 id = serial_dl_read(p); 784 822 785 serial_dl_write(p, old_dl); 823 824 old_lcr = serial_inp(p, UART_LCR);825 serial_outp(p, UART_LCR, UART_LCR_DLAB);826 #else827 828 old_lcr = serial_inp(p, UART_LCR);829 serial_outp(p, UART_LCR, UART_LCR_CONF_MODE_A);830 831 old_dll = serial_inp(p, UART_DLL);832 old_dlm = serial_inp(p, UART_DLM);833 834 serial_outp(p, UART_DLL, 0);835 serial_outp(p, UART_DLM, 0);836 837 id = serial_inp(p, UART_DLL) | serial_inp(p, UART_DLM) << 8;838 839 serial_outp(p, UART_DLL, old_dll);840 serial_outp(p, UART_DLM, old_dlm);841 #endif842 786 serial_outp(p, UART_LCR, old_lcr); 843 787 … … 965 909 * Exar ST16C2550 "A2" devices incorrectly detect as 966 910 * having an EFR, and report an ID of 0x0201. See 967 * http://linux.derkeiler.com/Mailing-Lists/Kernel/2004-11/4812.html 911 * http://linux.derkeiler.com/Mailing-Lists/Kernel/2004-11/4812.html 968 912 */ 969 913 if (autoconfig_read_divisor_id(up) == 0x0201 && size_fifo(up) == 16) -
src/linux/universal/linux-3.2/drivers/tty/serial/8250_early.c
r18352 r18368 122 122 lcr = serial_in(port, UART_LCR); 123 123 serial_out(port, UART_LCR, lcr | UART_LCR_DLAB); 124 125 #if defined (CONFIG_RALINK_RT2880) || \126 defined (CONFIG_RALINK_RT2883) || \127 defined (CONFIG_RALINK_RT3883) || \128 defined (CONFIG_RALINK_RT3352) || \129 defined (CONFIG_RALINK_RT5350) || \130 defined (CONFIG_RALINK_RT3052)131 quot= serial_in(port, UART_DLL);132 #else133 124 dll = serial_in(port, UART_DLL); 134 125 dlm = serial_in(port, UART_DLM); 135 quot = (dlm << 8) | dll;136 #endif137 126 serial_out(port, UART_LCR, lcr); 127 138 128 quot = (dlm << 8) | dll; 139 129 return (port->uartclk / 16) / quot; -
src/linux/universal/linux-3.2/drivers/tty/serial/Kconfig
r18294 r18368 273 273 cards. If unsure, say N. 274 274 275 config SERIAL_8250_RT288X 276 bool "Ralink RT288x/RT305x serial port support" 277 depends on SERIAL_8250 != n && (RALINK_DEVICE) 278 help 279 If you have a Ralink RT288x/RT305x SoC based board and want to use the 280 serial port, say Y to this option. The driver can handle up to 2 serial 281 ports. If unsure, say N. 282 275 283 config SERIAL_8250_RM9K 276 284 bool "Support for MIPS RM9xxx integrated serial port" -
src/linux/universal/linux-3.2/drivers/tty/serial/serial_core.c
r18352 r18368 425 425 else 426 426 quot = (port->uartclk + (8 * baud)) / (16 * baud); 427 428 #if defined (CONFIG_RALINK_RT2880) || \429 defined (CONFIG_RALINK_RT2883) || \430 defined (CONFIG_RALINK_RT3883) || \431 defined (CONFIG_RALINK_RT5350) || \432 defined (CONFIG_RALINK_RT3352) || \433 defined (CONFIG_RALINK_RT3052)434 quot = port->custom_divisor;435 #endif436 427 437 428 return quot; -
src/linux/universal/linux-3.2/drivers/usb/dwc_otg_ralink/dwc_otg_driver.c
r18352 r18368 886 886 lmdev->resource.end = RALINK_USB_OTG_BASE + SZ_256K - 1; 887 887 lmdev->resource.flags = IORESOURCE_MEM; 888 lmdev->irq = RALINK_INTCTL_OTG_IRQN;888 lmdev->irq = 26; 889 889 lmdev->id = 0; 890 890
Note: See TracChangeset
for help on using the changeset viewer.
