Changeset 18368


Ignore:
Timestamp:
02/05/12 17:56:07 (16 months ago)
Author:
BrainSlayer
Message:

others

Location:
src/linux/universal/linux-3.2
Files:
32 added
17 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-3.2/arch/mips/Kconfig

    r18354 r18368  
    3232        bool 
    3333 
     34config RALINK_DEVICE 
     35        bool 
    3436config RALINK_RT2880_MP 
    3537        bool 
     
    4446config RALINK_RT3883_MP 
    4547        bool 
    46 config RALINK_DEVICE 
     48config RALINK_RT3052 
     49        bool 
     50config RALINK_RT2880 
    4751        bool 
    4852 
     
    5155        prompt "System type" 
    5256        default SGI_IP22 
    53  
    54 config RALINK_RT2880 
    55         bool "Ralink RT2880 board" 
    56         select DMA_NONCOHERENT 
    57         select CEVT_R4K_LIB 
    58         select CSRC_R4K_LIB 
    59         select RALINK_DEVICE 
    60         select SYS_HAS_EARLY_PRINTK 
    61         select IRQ_CPU 
    62         select HW_HAS_PCI 
    63         select SWAP_IO_SPACE 
    64         select SYS_HAS_CPU_MIPS32_R1 
    65         select SYS_SUPPORTS_LITTLE_ENDIAN 
    66         select BOOT_ELF32 
    67         select SYS_SUPPORTS_32BIT_KERNEL 
    68         select RALINK_RT2880_MP 
    69         help 
    70          Ralink evaluation board based on RT2880 
    71  
    72 config RALINK_RT2883 
    73         bool "Ralink RT2883 board" 
    74         select DMA_NONCOHERENT 
    75         select CEVT_R4K_LIB 
    76         select CSRC_R4K_LIB 
    77         select RALINK_DEVICE 
    78         select SYS_HAS_EARLY_PRINTK 
    79         select IRQ_CPU 
    80         select HW_HAS_PCI 
    81         select SWAP_IO_SPACE 
    82         select SYS_HAS_CPU_MIPS32_R1 
    83         select SYS_SUPPORTS_LITTLE_ENDIAN 
    84         select BOOT_ELF32 
    85         select SYS_SUPPORTS_32BIT_KERNEL 
    86         select RALINK_RT2883_MP 
    87     help 
    88          Ralink evaluation board based on RT2883 
    89  
    90  
    91 config RALINK_RT3052 
    92         bool "Ralink RT305x/RT3350 board" 
    93         select DMA_NONCOHERENT 
    94         select CEVT_R4K_LIB 
    95         select CSRC_R4K_LIB 
    96         select RALINK_DEVICE 
    97         select SYS_HAS_EARLY_PRINTK 
    98         select IRQ_CPU 
    99         select SWAP_IO_SPACE 
    100         select SYS_HAS_CPU_MIPS32_R1 
    101         select SYS_HAS_CPU_MIPS32_R2 
    102         select SYS_SUPPORTS_LITTLE_ENDIAN 
    103         select BOOT_ELF32 
    104         select SYS_SUPPORTS_32BIT_KERNEL 
    105         select RALINK_RT3052_MP2 if !RALINK_RT3350 
    106         help 
    107          Ralink evaluation board based on RT3052 
    108  
    109  config RALINK_RT3352 
    110         bool "Ralink RT3352 board" 
    111         select DMA_NONCOHERENT 
    112         select CEVT_R4K_LIB 
    113         select CSRC_R4K_LIB 
    114         select RALINK_DEVICE 
    115         select SYS_HAS_EARLY_PRINTK 
    116         select IRQ_CPU 
    117         select SWAP_IO_SPACE 
    118         select SYS_HAS_CPU_MIPS32_R1 
    119         select SYS_HAS_CPU_MIPS32_R2 
    120         select SYS_SUPPORTS_LITTLE_ENDIAN 
    121         select BOOT_ELF32 
    122         select SYS_SUPPORTS_32BIT_KERNEL 
    123         select RALINK_RT3352_MP 
    124         help 
    125          Ralink evaluation board based on RT3352 
    126  
    127 config RALINK_RT5350 
    128         bool "Ralink RT5350 board" 
    129         select DMA_NONCOHERENT 
    130         select CEVT_R4K_LIB 
    131         select CSRC_R4K_LIB 
    132         select SYS_HAS_EARLY_PRINTK 
    133         select RALINK_DEVICE 
    134         select IRQ_CPU 
    135         select SWAP_IO_SPACE 
    136         select SYS_HAS_CPU_MIPS32_R1 
    137         select SYS_HAS_CPU_MIPS32_R2 
    138         select SYS_SUPPORTS_LITTLE_ENDIAN 
    139         select BOOT_ELF32 
    140         select SYS_SUPPORTS_32BIT_KERNEL 
    141         select RALINK_RT5350_MP 
    142         help 
    143          Ralink evaluation board based on RT5350 
    144  
    145 config RALINK_RT3883 
    146         bool "Ralink RT3883 board" 
    147         select DMA_NONCOHERENT 
    148         select CEVT_R4K_LIB 
    149         select RALINK_DEVICE 
    150         select CSRC_R4K_LIB 
    151         select SYS_HAS_EARLY_PRINTK 
    152         select IRQ_CPU 
    153         select HW_HAS_PCI 
    154         select SWAP_IO_SPACE 
    155         select SYS_HAS_CPU_MIPS32_R1 
    156         select SYS_HAS_CPU_MIPS32_R2 
    157         select SYS_SUPPORTS_LITTLE_ENDIAN 
    158         select BOOT_ELF32 
    159         select SYS_SUPPORTS_32BIT_KERNEL 
    160         select RALINK_RT3883_MP 
    161         help 
    162          Ralink evaluation board based on RT3883 
    163  
    16457 
    16558config MIPS_ALCHEMY 
     
    214107        help 
    215108          Support for the Atheros AR71XX/AR724X/AR913X SoCs. 
     109 
     110config MIPS_RALINK 
     111        bool "Ralink MIPS SoC based boards" 
    216112 
    217113config BCM47XX 
     
    1019915 
    1020916if RALINK_DEVICE 
    1021 source "arch/mips/rt2880/Kconfig" 
     917#source "arch/mips/rt2880/Kconfig" 
    1022918endif 
    1023919source "arch/mips/alchemy/Kconfig" 
     
    1029925source "arch/mips/lantiq/Kconfig" 
    1030926source "arch/mips/lasat/Kconfig" 
     927source "arch/mips/ralink/Kconfig" 
    1031928source "arch/mips/pmc-sierra/Kconfig" 
    1032929source "arch/mips/powertv/Kconfig" 
     
    13791276config MIPS_L1_CACHE_SHIFT 
    13801277        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 
    13821279        default "6" if MIPS_CPU_SCACHE 
    13831280        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  
    160160 
    161161 
    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# 
     166core-$(CONFIG_MIPS_RALINK)      += arch/mips/ralink/common/ 
     167cflags-$(CONFIG_MIPS_RALINK)    += -I$(srctree)/arch/mips/include/asm/mach-ralink 
     168 
     169# 
     170# Ralink RT288x 
     171# 
     172core-$(CONFIG_RALINK_RT288X)    += arch/mips/ralink/rt288x/ 
     173cflags-$(CONFIG_RALINK_RT288X)  += -I$(srctree)//arch/mips/include/asm/mach-ralink/rt288x  -I$(srctree)/arch/mips/include/asm/rt2880 
     174load-$(CONFIG_RALINK_RT288X)    += 0xffffffff88000000 
     175 
     176# 
     177# Ralink RT305x 
     178# 
     179core-$(CONFIG_RALINK_RT305X)    += arch/mips/ralink/rt305x/ 
     180cflags-$(CONFIG_RALINK_RT305X)  += -I$(srctree)/arch/mips/include/asm/mach-ralink/rt305x -I$(srctree)/arch/mips/include/asm/rt2880 
     181load-$(CONFIG_RALINK_RT305X)    += 0xffffffff80000000 
     182 
     183 
    196184# 
    197185 
  • src/linux/universal/linux-3.2/arch/mips/pci/Makefile

    r18226 r18368  
    6767obj-$(CONFIG_MACH_AR7240)       += pci-ar724x.o pci-ar71xx.o 
    6868#+obj-$(CONFIG_ATHEROS_AR71XX)  += pci-ar71xx.o pci-ar724x.o 
     69obj-$(CONFIG_SOC_RT288X)        += pci-rt288x.o 
  • src/linux/universal/linux-3.2/arch/mips/rt2880/Kconfig

    r18354 r18368  
    145145       prompt "DRAM Size" 
    146146       default RT2880_DRAM_16M 
    147        depends on RALINK_RT2880 
    148147 
    149148config RT2880_DRAM_8M 
  • src/linux/universal/linux-3.2/arch/mips/rt2880/Makefile

    r18352 r18368  
    1515 
    1616obj-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 
    1818obj-$(CONFIG_PCI) += pci.o 
    1919obj-$(CONFIG_DWC_OTG_RALINK) += lm.o 
  • src/linux/universal/linux-3.2/arch/mips/rt2880/init.c

    r18352 r18368  
    341341** this function is called. 
    342342*/ 
    343 #define STD_COM_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST) 
    344 extern int early_serial_setup(struct uart_port *port); 
     343void __init ramips_early_serial_setup(int line, unsigned base, unsigned freq, 
     344                                      unsigned irq); 
    345345 
    346346static struct uart_port serial_req[2]; 
     
    348348{ 
    349349 
    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); 
    390353 
    391354  return(0); 
     
    415378} 
    416379 
    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 1 
    423         //fix at 57600 8 n 1 n 
    424         *(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 #else 
    430         *(volatile u32 *)(RALINK_SYSCTL_BASE + 0xC28)= (surfboard_sysclk / SURFBOARD_BAUD_DIV / 57600); 
    431 #endif 
    432         //fix at 57600 8 n 1 n 
    433         *(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 #else 
    439         *(volatile u32 *)(RALINK_SYSCTL_BASE + 0x528)= (surfboard_sysclk / SURFBOARD_BAUD_DIV / 57600); 
    440 #endif 
    441 #else 
    442         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 #endif 
    450 } 
    451  
    452  
    453 int serial_init(unsigned long wBaud) 
    454 { 
    455         serial_setbrg(wBaud); 
    456  
    457         return (0); 
    458 } 
    459380__init void prom_init(void) 
    460381{ 
     
    473394        set_io_port_base(KSEG1); 
    474395        write_c0_wired(0); 
    475         serial_init(57600); 
     396//      serial_init(57600); 
    476397 
    477398        prom_init_serial_port();  /* Needed for Serial Console */ 
  • src/linux/universal/linux-3.2/arch/mips/rt2880/irq.c

    r18352 r18368  
    299299} 
    300300 
     301 
    301302void __init arch_init_irq(void) 
    302303{ 
     
    309310 
    310311        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; 
    320314         
    321315        memset(irq_desc, 0, sizeof(irq_desc)); 
    322316 
    323         for (i = 0; i <= SURFBOARDINT_END; i++) { 
     317        for (i = 8; i <= 8 + 32; i++) { 
    324318                irq_set_chip_and_handler(i, &surfboard_irq_type, 
    325319                                         handle_level_irq); 
    326320        } 
    327321 
    328         /* Enable global interrupt bit */ 
    329 //      surfboard_hw0_icregs->intDisable = 0xffffffff; 
     322//      setup_irq(2, &ramips_intc_irqaction); 
     323 
    330324        surfboard_hw0_icregs->intEnable = M_SURFBOARD_GLOBAL_INT; 
    331325 
     
    455449        unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM; 
    456450        if (pending & CAUSEF_IP7) 
    457                 mips_timer_interrupt(); 
     451                do_IRQ(7); 
    458452        else 
    459453                rt2880_irqdispatch(); 
  • src/linux/universal/linux-3.2/arch/mips/rt2880/printf.c

    r18352 r18368  
    7474} 
    7575 
    76 void prom_putchar(unsigned char ch) 
    77 { 
    78         putPromChar(ch); 
    79 } 
    8076 
    8177char getPromChar(void) 
  • src/linux/universal/linux-3.2/arch/mips/rt2880/setup.c

    r18352 r18368  
    8282extern int early_serial_setup(struct uart_port *port); 
    8383 
     84void __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 
     108int getCPUClock(void); 
     109 
     110 
    84111void __init rt2880_setup(void) 
    85112{ 
     
    149176//      board_time_init = mips_time_init; 
    150177        //board_timer_setup = mips_timer_setup; 
     178        printk(KERN_INFO "running at %lu MHz\n", getCPUClock()); 
    151179 
    152180        mips_reboot_setup(); 
    153181 
    154 #ifdef CONFIG_TIXI 
    155         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 #endif 
    178182} 
    179183 
  • src/linux/universal/linux-3.2/arch/mips/rt2880/time.c

    r18352 r18368  
    105105void __init plat_time_init(void) 
    106106{ 
    107         unsigned long flags; 
    108         unsigned int est_freq; 
    109 #ifdef CONFIG_RALINK_EXTERNAL_TIMER 
    110         u32 reg; 
    111 #endif 
    112  
    113  
    114         /* to generate the first timer interrupt */ 
    115 #ifndef CONFIG_RALINK_EXTERNAL_TIMER 
    116         r4k_cur = (read_c0_count() + r4k_offset); 
    117         write_c0_compare(r4k_cur); 
    118 #else 
    119         r4k_cur = ((*((volatile u32 *)(RALINK_COUNT))) + r4k_offset); 
    120         (*((volatile u32 *)(RALINK_COMPARE))) = r4k_cur; 
    121         (*((volatile u32 *)(RALINK_MCNT_CFG))) = 3; 
    122 #endif 
    123         set_c0_status(ALLINTS); 
    124  
    125  
    126         local_irq_save(flags); 
    127  
    128 #ifndef CONFIG_RALINK_EXTERNAL_TIMER 
    129107        mips_hpt_frequency = mips_cpu_feq/2; 
    130 #else 
    131         mips_hpt_frequency = 50000; 
    132 #endif 
    133  
    134         printk("calculating r4koff... "); 
    135         r4k_offset = cal_r4koff(); 
    136         printk("%08x(%d)\n", r4k_offset, r4k_offset); 
    137  
    138 #if 0 
    139         if ((read_c0_prid() & 0xffff00) == 
    140             (PRID_COMP_MIPS | PRID_IMP_20KC)) 
    141                 est_freq = r4k_offset*HZ; 
    142         else 
    143                 est_freq = 2*r4k_offset*HZ; 
    144 #endif 
    145  
    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); 
    154108} 
    155109 
     
    159113} 
    160114 
    161 unsigned int __cpuinit get_c0_compare_int(void) 
     115/*unsigned int __cpuinit get_c0_compare_int(void) 
    162116{ 
    163117        return RALINK_CPU_TIMER_IRQ; 
    164 } 
     118}*/ 
    165119 
    166120u32 get_surfboard_sysclk(void)  
  • src/linux/universal/linux-3.2/drivers/char/spi_drv.c

    r18353 r18368  
    3434#include <linux/init.h> 
    3535#include <linux/version.h> 
    36 #include <linux/autoconf.h> 
    3736#include <linux/module.h> 
    3837#include <linux/kernel.h>    
  • src/linux/universal/linux-3.2/drivers/net/ethernet/raeth/raether.c

    r18367 r18368  
    19521952        INIT_WORK(&ei_local->kill_sig_wq, kill_sig_workq); 
    19531953#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); 
    19551955        if (err) 
    19561956        { 
  • src/linux/universal/linux-3.2/drivers/tty/serial/8250.c

    r18352 r18368  
    319319}; 
    320320 
    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 */ 
    324324static const u8 au_io_in_map[] = { 
    325325        [UART_RX]  = 0, 
     
    453453} 
    454454 
    455  
    456  
    457455static unsigned int au_serial_in(struct uart_port *p, int offset) 
    458456{ 
     
    470468{ 
    471469        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); 
    482471} 
    483472 
     
    485474{ 
    486475        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); 
    497477} 
    498478 
     
    582562        serial_outp(up, UART_DLM, value >> 8 & 0xff); 
    583563} 
    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 */ 
    603567static int serial_dl_read(struct uart_8250_port *up) 
    604568{ 
     
    807771static unsigned int autoconfig_read_divisor_id(struct uart_8250_port *p) 
    808772{ 
    809         unsigned char old_dll, old_dlm, old_lcr; 
     773        unsigned char old_lcr; 
     774        unsigned int old_dl; 
    810775        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); 
    818779 
    819780        old_dl = serial_dl_read(p); 
     781 
    820782        serial_dl_write(p, 0); 
    821783        id = serial_dl_read(p); 
     784 
    822785        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 #else 
    827  
    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 #endif 
    842786        serial_outp(p, UART_LCR, old_lcr); 
    843787 
     
    965909         * Exar ST16C2550 "A2" devices incorrectly detect as 
    966910         * 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 
    968912         */ 
    969913        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  
    122122        lcr = serial_in(port, UART_LCR); 
    123123        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 #else 
    133124        dll = serial_in(port, UART_DLL); 
    134125        dlm = serial_in(port, UART_DLM); 
    135         quot = (dlm << 8) | dll; 
    136 #endif 
    137126        serial_out(port, UART_LCR, lcr); 
     127 
    138128        quot = (dlm << 8) | dll; 
    139129        return (port->uartclk / 16) / quot; 
  • src/linux/universal/linux-3.2/drivers/tty/serial/Kconfig

    r18294 r18368  
    273273          cards.  If unsure, say N. 
    274274 
     275config 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 
    275283config SERIAL_8250_RM9K 
    276284        bool "Support for MIPS RM9xxx integrated serial port" 
  • src/linux/universal/linux-3.2/drivers/tty/serial/serial_core.c

    r18352 r18368  
    425425        else 
    426426                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 #endif 
    436427 
    437428        return quot; 
  • src/linux/universal/linux-3.2/drivers/usb/dwc_otg_ralink/dwc_otg_driver.c

    r18352 r18368  
    886886        lmdev->resource.end = RALINK_USB_OTG_BASE + SZ_256K - 1; 
    887887        lmdev->resource.flags = IORESOURCE_MEM; 
    888         lmdev->irq = RALINK_INTCTL_OTG_IRQN; 
     888        lmdev->irq = 26; 
    889889        lmdev->id = 0; 
    890890 
Note: See TracChangeset for help on using the changeset viewer.