Changeset 28721


Ignore:
Timestamp:
2011-11-03T16:15:52+01:00 (6 years ago)
Author:
blogic
Message:

lantiq: bump to 3.1

Location:
trunk/target/linux/lantiq
Files:
13 added
58 deleted
2 edited
49 moved

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/lantiq/Makefile

    r28405 r28721  
    1313DEFAULT_SUBTARGET:=danube 
    1414 
    15 LINUX_VERSION:=3.0.3 
     15LINUX_VERSION:=3.1 
    1616 
    1717CFLAGS=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves 
  • trunk/target/linux/lantiq/danube/profiles/002-arcadyan.mk

    r28405 r28721  
    6969endef 
    7070 
    71 define Profile/ARV4525PW/Description 
     71define Profile/ARV7525PW/Description 
    7272        Package set optimized for the ARV4525PW 
    7373endef 
  • trunk/target/linux/lantiq/files-3.1/arch/mips/include/asm/mach-lantiq/dev-gpio-leds.h

    r28718 r28721  
    1515#include <linux/leds.h> 
    1616 
    17 void ltq_add_device_leds_gpio(int id, 
    18                                  unsigned num_leds, 
    19                                  struct gpio_led *leds) __init; 
     17void ltq_add_device_gpio_leds(int id, 
     18        unsigned num_leds, 
     19        struct gpio_led *leds) __init; 
    2020 
    2121#endif /* _LANTIQ_DEV_LEDS_GPIO_H */ 
  • trunk/target/linux/lantiq/files-3.1/arch/mips/lantiq/dev-gpio-buttons.c

    r28718 r28721  
    1010 */ 
    1111 
    12 #include "linux/init.h" 
    13 #include "linux/slab.h" 
     12#include <linux/init.h> 
     13#include <linux/slab.h> 
    1414#include <linux/platform_device.h> 
    1515 
    16 #include "dev-gpio-buttons.h" 
     16#include <dev-gpio-buttons.h> 
    1717 
    1818void __init ltq_register_gpio_keys_polled(int id, 
  • trunk/target/linux/lantiq/files-3.1/arch/mips/lantiq/dev-gpio-leds.c

    r28718 r28721  
    1616#include <linux/platform_device.h> 
    1717 
    18 #include "dev-leds-gpio.h" 
     18#include <dev-gpio-leds.h> 
    1919 
    20 void __init ltq_add_device_leds_gpio(int id, unsigned num_leds, 
     20void __init ltq_add_device_gpio_leds(int id, unsigned num_leds, 
    2121                                        struct gpio_led *leds) 
    2222{ 
     
    3232        memcpy(p, leds, num_leds * sizeof(*p)); 
    3333 
    34         pdev = platform_device_alloc("leds-gpio", id); 
     34        pdev = platform_device_alloc("gpio-leds", id); 
    3535        if (!pdev) 
    3636                goto err_free_leds; 
  • trunk/target/linux/lantiq/files-3.1/arch/mips/lantiq/falcon/mach-95C3AM1.c

    r28718 r28721  
    22#include <linux/platform_device.h> 
    33#include <linux/i2c-gpio.h> 
     4 
     5#include <dev-gpio-leds.h> 
     6 
    47#include "../machtypes.h" 
    5  
    68#include "devices.h" 
    7 #include "dev-leds-gpio.h" 
    89 
    910#define BOARD_95C3AM1_GPIO_LED_0 10 
     
    4849}; 
    4950 
    50 static struct gpio_led board_95C3AM1_leds_gpio[] __initdata = { 
     51static struct gpio_led board_95C3AM1_gpio_leds[] __initdata = { 
    5152        { 
    5253                .name           = "power", 
     
    8687        falcon_register_spi_flash(&board_95C3AM1_flash_data); 
    8788        platform_device_register(&board_95C3AM1_i2c_gpio_device); 
    88         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(board_95C3AM1_leds_gpio), 
    89                                                 board_95C3AM1_leds_gpio); 
     89        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(board_95C3AM1_gpio_leds), 
     90                                                board_95C3AM1_gpio_leds); 
    9091} 
    9192 
  • trunk/target/linux/lantiq/files-3.1/arch/mips/lantiq/falcon/mach-easy98020.c

    r28718 r28721  
    1111#include <linux/spi/flash.h> 
    1212 
     13#include <dev-gpio-leds.h> 
     14 
    1315#include "../machtypes.h" 
    1416#include "devices.h" 
    15 #include "dev-leds-gpio.h" 
    1617 
    1718#define EASY98020_GPIO_LED_0 9 
     
    6061}; 
    6162 
    62 static struct gpio_led easy98020_leds_gpio[] __initdata = { 
     63static struct gpio_led easy98020_gpio_leds[] __initdata = { 
    6364        { 
    6465                .name           = "easy98020:green:0", 
     
    100101        falcon_register_i2c(); 
    101102        falcon_register_spi_flash(&easy98020_spi_flash_data); 
    102         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(easy98020_leds_gpio), 
    103                                         easy98020_leds_gpio); 
     103        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(easy98020_gpio_leds), 
     104                                        easy98020_gpio_leds); 
    104105} 
    105106 
  • trunk/target/linux/lantiq/files-3.1/arch/mips/lantiq/xway/mach-arv45xx.c

    r28718 r28721  
    2222#include <lantiq_soc.h> 
    2323#include <lantiq_platform.h> 
     24#include <dev-gpio-leds.h> 
    2425 
    2526#include "../machtypes.h" 
    26 #include "../dev-leds-gpio.h" 
    2727#include "devices.h" 
    2828#include "dev-dwc_otg.h" 
     
    7676}; 
    7777 
     78static struct mtd_partition arv7525_partitions[] = 
     79{ 
     80        { 
     81                .name   = "uboot", 
     82                .offset = 0x0, 
     83                .size   = 0x10000, 
     84        }, 
     85        { 
     86                .name   = "uboot_env", 
     87                .offset = 0x10000, 
     88                .size   = 0x10000, 
     89        }, 
     90        { 
     91                .name   = "linux", 
     92                .offset = 0x20000, 
     93                .size   = 0x3d0000, 
     94        }, 
     95        { 
     96                .name   = "board_config", 
     97                .offset = 0x3f0000, 
     98                .size   = 0x10000, 
     99        }, 
     100}; 
     101 
    78102static struct mtd_partition arv75xx_partitions[] = 
    79103{ 
     
    108132        .nr_parts       = ARRAY_SIZE(arv45xx_partitions), 
    109133        .parts          = arv45xx_partitions, 
     134}; 
     135 
     136static struct physmap_flash_data arv7525_flash_data = { 
     137        .nr_parts       = ARRAY_SIZE(arv7525_partitions), 
     138        .parts          = arv7525_partitions, 
    110139}; 
    111140 
     
    128157 
    129158static struct gpio_led 
    130 arv4510pw_leds_gpio[] __initdata = { 
     159arv4510pw_gpio_leds[] __initdata = { 
    131160        { .name = "soc:green:foo", .gpio = 4, .active_low = 1, }, 
    132161}; 
    133162 
    134163static struct gpio_led 
    135 arv4518pw_leds_gpio[] __initdata = { 
     164arv4518pw_gpio_leds[] __initdata = { 
    136165        { .name = "soc:green:power", .gpio = 3, .active_low = 1, .default_trigger = "default-on" }, 
    137166        { .name = "soc:green:adsl", .gpio = 4, .active_low = 1, .default_trigger = "default-on" }, 
     
    155184 
    156185static struct gpio_led 
    157 arv4520pw_leds_gpio[] __initdata = { 
     186arv4520pw_gpio_leds[] __initdata = { 
    158187        { .name = "soc:blue:power", .gpio = 3, .active_low = 1, }, 
    159188        { .name = "soc:blue:adsl", .gpio = 4, .active_low = 1, }, 
     
    172201 
    173202static struct gpio_led 
    174 arv452cpw_leds_gpio[] __initdata = { 
     203arv452cpw_gpio_leds[] __initdata = { 
    175204        { .name = "soc:blue:power", .gpio = 3, .active_low = 1, .default_trigger = "default-on" }, 
    176205        { .name = "soc:blue:adsl", .gpio = 4, .active_low = 1, .default_trigger = "default-on" }, 
     
    191220 
    192221static struct gpio_led 
    193 arv4525pw_leds_gpio[] __initdata = { 
     222arv4525pw_gpio_leds[] __initdata = { 
    194223        { .name = "soc:green:festnetz", .gpio = 4, .active_low = 1, .default_trigger = "default-on" }, 
    195224        { .name = "soc:green:internet", .gpio = 5, .active_low = 1, .default_trigger = "default-on" }, 
     
    200229 
    201230static struct gpio_led 
    202 arv752dpw22_leds_gpio[] __initdata = { 
     231arv752dpw22_gpio_leds[] __initdata = { 
    203232        { .name = "soc:blue:power", .gpio = 3, .active_low = 1, .default_trigger = "default-on" }, 
    204233        { .name = "soc:red:internet", .gpio = 5, .active_low = 1, .default_trigger = "default-on" }, 
     
    226255 
    227256static struct gpio_led 
    228 arv7518pw_leds_gpio[] __initdata = { 
     257arv7518pw_gpio_leds[] __initdata = { 
    229258        { .name = "soc:green:power", .gpio = 2, .active_low = 1, }, 
    230259        { .name = "soc:green:adsl", .gpio = 4, .active_low = 1, }, 
     
    313342{ 
    314343        ltq_register_gpio_stp(); 
    315         //ltq_add_device_leds_gpio(arv3527p_leds_gpio, ARRAY_SIZE(arv3527p_leds_gpio)); 
     344        //ltq_add_device_gpio_leds(arv3527p_gpio_leds, ARRAY_SIZE(arv3527p_gpio_leds)); 
    316345        ltq_register_nor(&arv45xx_flash_data); 
    317346        arv45xx_register_ethernet(); 
     
    327356{ 
    328357        ltq_register_gpio_stp(); 
    329         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(arv4510pw_leds_gpio), arv4510pw_leds_gpio); 
     358        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(arv4510pw_gpio_leds), arv4510pw_gpio_leds); 
    330359        ltq_register_nor(&arv4510_flash_data); 
    331360        ltq_pci_data.irq[12] = (INT_NUM_IM2_IRL0 + 31); 
     
    347376#define ARV4518PW_USB                   14 
    348377#define ARV4518PW_SWITCH_RESET          13 
     378#define ARV4518PW_MADWIFI_ADDR          0xb07f0400 
    349379 
    350380        ltq_register_gpio_ebu(ARV4518PW_EBU); 
    351         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(arv4518pw_leds_gpio), arv4518pw_leds_gpio); 
     381        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(arv4518pw_gpio_leds), arv4518pw_gpio_leds); 
    352382        ltq_register_gpio_buttons(arv4518pw_gpio_buttons, ARRAY_SIZE(arv4518pw_gpio_buttons)); 
    353383        ltq_register_nor(&arv45xx_flash_data); 
    354384        ltq_pci_data.gpio = PCI_GNT2 | PCI_REQ2; 
    355385        ltq_register_pci(&ltq_pci_data); 
    356         ltq_register_madwifi_eep(); 
     386        ltq_register_madwifi_eep(ARV4518PW_MADWIFI_ADDR); 
    357387        xway_register_dwc(ARV4518PW_USB); 
    358388        arv45xx_register_ethernet(); 
     
    377407 
    378408        ltq_register_gpio_ebu(ARV4520PW_EBU); 
    379         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(arv4520pw_leds_gpio), arv4520pw_leds_gpio); 
     409        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(arv4520pw_gpio_leds), arv4520pw_gpio_leds); 
    380410        ltq_register_nor(&arv45xx_flash_data); 
    381411        ltq_register_pci(&ltq_pci_data); 
     
    401431#define ARV452CPW_RELAY2                107 
    402432#define ARV452CPW_SWITCH_RESET          110 
     433#define ARV452CPW_MADWIFI_ADDR          0xb07f0400 
    403434 
    404435        ltq_register_gpio_ebu(ARV452CPW_EBU); 
    405         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(arv452cpw_leds_gpio), arv452cpw_leds_gpio); 
     436        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(arv452cpw_gpio_leds), arv452cpw_gpio_leds); 
    406437        ltq_register_nor(&arv45xx_flash_data); 
    407438        ltq_register_pci(&ltq_pci_data); 
    408         ltq_register_madwifi_eep(); 
     439        ltq_register_madwifi_eep(ARV452CPW_MADWIFI_ADDR); 
    409440        xway_register_dwc(ARV452CPW_USB); 
    410441        arv45xx_register_ethernet(); 
     
    429460                        arv452Cpw_init); 
    430461 
     462#define ARV4525PW_MADWIFI_ADDR          0xb07f0400 
     463 
    431464static void __init 
    432465arv4525pw_init(void) 
    433466{ 
    434         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(arv4525pw_leds_gpio), arv4525pw_leds_gpio); 
     467        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(arv4525pw_gpio_leds), arv4525pw_gpio_leds); 
    435468        ltq_register_nor(&arv45xx_flash_data); 
    436469        ltq_pci_data.clock = PCI_CLOCK_INT; 
    437470        ltq_register_pci(&ltq_pci_data); 
    438         ltq_register_madwifi_eep(); 
     471        ltq_register_madwifi_eep(ARV4525PW_MADWIFI_ADDR); 
    439472        ltq_eth_data.mii_mode = PHY_INTERFACE_MODE_MII; 
    440473        arv45xx_register_ethernet(); 
     
    447480 
    448481static void __init 
     482arv7525pw_init(void) 
     483{ 
     484        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(arv4525pw_gpio_leds), arv4525pw_gpio_leds); 
     485        ltq_register_nor(&arv7525_flash_data); 
     486        ltq_pci_data.clock = PCI_CLOCK_INT; 
     487        ltq_register_pci(&ltq_pci_data); 
     488        ltq_eth_data.mii_mode = PHY_INTERFACE_MODE_MII; 
     489        arv45xx_register_ethernet(); 
     490} 
     491 
     492MIPS_MACHINE(LANTIQ_MACH_ARV7525PW, 
     493                        "ARV7525PW", 
     494                        "ARV7525PW - Speedport W303V", 
     495                        arv7525pw_init); 
     496 
     497static void __init 
    449498arv7518pw_init(void) 
    450499{ 
     
    453502 
    454503        ltq_register_gpio_ebu(ARV7518PW_EBU); 
    455         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(arv7518pw_leds_gpio), arv7518pw_leds_gpio); 
     504        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(arv7518pw_gpio_leds), arv7518pw_gpio_leds); 
    456505        ltq_register_gpio_buttons(arv7518pw_gpio_buttons, ARRAY_SIZE(arv7518pw_gpio_buttons)); 
    457506        ltq_register_nor(&arv75xx_flash_data); 
     
    476525 
    477526        ltq_register_gpio_ebu(ARV752DPW22_EBU); 
    478         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(arv752dpw22_leds_gpio), arv752dpw22_leds_gpio); 
     527        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(arv752dpw22_gpio_leds), arv752dpw22_gpio_leds); 
    479528        ltq_register_gpio_buttons(arv752dpw22_gpio_buttons, ARRAY_SIZE(arv752dpw22_gpio_buttons)); 
    480529        ltq_register_nor(&arv75xx_flash_data); 
  • trunk/target/linux/lantiq/files-3.1/arch/mips/lantiq/xway/mach-wbmr.c

    r28718 r28721  
    1919#include <lantiq_soc.h> 
    2020#include <irq.h> 
     21#include <dev-gpio-leds.h> 
     22#include <dev-gpio-buttons.h> 
    2123 
    2224#include "../machtypes.h" 
    23 #include "../dev-leds-gpio.h" 
    24 #include "../dev-gpio-buttons.h" 
    2525#include "devices.h" 
    2626#include "dev-dwc_otg.h" 
     
    5656 
    5757static struct gpio_led 
    58 wbmr_leds_gpio[] __initdata = { 
     58wbmr_gpio_leds[] __initdata = { 
    5959        { .name = "soc:blue:movie", .gpio = 20, .active_low = 1, }, 
    6060        { .name = "soc:red:internet", .gpio = 18, .active_low = 1, }, 
     
    105105#define WMBR_BRN_MAC                    0x1fd0024 
    106106 
    107         ltq_add_device_leds_gpio(-1, ARRAY_SIZE(wbmr_leds_gpio), wbmr_leds_gpio); 
     107        ltq_add_device_gpio_leds(-1, ARRAY_SIZE(wbmr_gpio_leds), wbmr_gpio_leds); 
    108108        ltq_register_gpio_keys_polled(-1, LTQ_KEYS_POLL_INTERVAL, ARRAY_SIZE(wbmr_gpio_keys), wbmr_gpio_keys); 
    109109        ltq_register_nor(&wbmr_flash_data); 
  • trunk/target/linux/lantiq/patches/0001-MIPS-lantiq-fix-early-printk.patch

    r28718 r28721  
    1616 2 files changed, 12 insertions(+), 6 deletions(-) 
    1717 
    18 diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    19 index 8a3c6be..e6d1ca0 100644 
    2018--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    2119+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
     
    3129 #define LTQ_RCU_BASE_ADDR      0x1F203000 
    3230 #define LTQ_RCU_SIZE           0x1000 
    33 diff --git a/arch/mips/lantiq/early_printk.c b/arch/mips/lantiq/early_printk.c 
    34 index 972e05f..5089075 100644 
    3531--- a/arch/mips/lantiq/early_printk.c 
    3632+++ b/arch/mips/lantiq/early_printk.c 
     
    6359        local_irq_restore(flags); 
    6460 } 
    65 --  
    66 1.7.5.4 
    67  
  • trunk/target/linux/lantiq/patches/0002-MIPS-lantiq-fix-cmdline-parsing.patch

    r28718 r28721  
    1414 1 files changed, 4 insertions(+), 2 deletions(-) 
    1515 
    16 diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c 
    17 index 56ba007..5035c10 100644 
    1816--- a/arch/mips/lantiq/prom.c 
    1917+++ b/arch/mips/lantiq/prom.c 
    20 @@ -45,10 +45,12 @@ static void __init prom_init_cmdline(void) 
     18@@ -45,10 +45,12 @@ static void __init prom_init_cmdline(voi 
    2119        char **argv = (char **) KSEG1ADDR(fw_arg1); 
    2220        int i; 
     
    3331                        strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline)); 
    3432                } 
    35 --  
    36 1.7.5.4 
    37  
  • trunk/target/linux/lantiq/patches/0004-MIPS-lantiq-reorganize-xway-code.patch

    r28718 r28721  
    4141 create mode 100644 arch/mips/lantiq/xway/sysctrl.c 
    4242 
    43 diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h 
    44 index ce2f029..66d7300 100644 
    4543--- a/arch/mips/include/asm/mach-lantiq/lantiq.h 
    4644+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h 
     
    6967 extern unsigned int ltq_get_soc_type(void); 
    7068  
    71 @@ -51,7 +43,9 @@ extern void ltq_enable_irq(struct irq_data *data); 
     69@@ -51,7 +43,9 @@ extern void ltq_enable_irq(struct irq_da 
    7270  
    7371 /* find out what caused the last cpu reset */ 
     
    8078 #define IOPORT_RESOURCE_START  0x10000000 
    8179 #define IOPORT_RESOURCE_END    0xffffffff 
    82 diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    83 index e6d1ca0..da8ff95 100644 
    8480--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    8581+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
     
    124120 static inline int ltq_is_ar9(void) 
    125121 { 
    126 diff --git a/arch/mips/lantiq/clk.c b/arch/mips/lantiq/clk.c 
    127 index 7e9c0ff..4254f08 100644 
    128122--- a/arch/mips/lantiq/clk.c 
    129123+++ b/arch/mips/lantiq/clk.c 
     
    159153-       if (insert_resource(&iomem_resource, &ltq_cgu_resource) < 0) 
    160154-               panic("Failed to insert cgu memory\n"); 
    161 - 
     155+       ltq_soc_init(); 
     156  
    162157-       if (request_mem_region(ltq_cgu_resource.start, 
    163158-                       resource_size(&ltq_cgu_resource), "cgu") < 0) 
    164159-               panic("Failed to request cgu memory\n"); 
    165 +       ltq_soc_init(); 
    166   
     160- 
    167161-       ltq_cgu_membase = ioremap_nocache(ltq_cgu_resource.start, 
    168162-                               resource_size(&ltq_cgu_resource)); 
     
    177171        clk_put(clk); 
    178172 } 
    179 diff --git a/arch/mips/lantiq/devices.c b/arch/mips/lantiq/devices.c 
    180 index 44a3677..81c7aab 100644 
    181173--- a/arch/mips/lantiq/devices.c 
    182174+++ b/arch/mips/lantiq/devices.c 
     
    196188 static struct platform_device ltq_nor = { 
    197189        .name           = "ltq_nor", 
    198 @@ -47,12 +43,8 @@ void __init ltq_register_nor(struct physmap_flash_data *data) 
     190@@ -47,12 +43,8 @@ void __init ltq_register_nor(struct phys 
    199191 } 
    200192  
     
    238230        IRQ_RES(rx, LTQ_ASC_RIR(1)), 
    239231        IRQ_RES(err, LTQ_ASC_EIR(1)), 
    240 diff --git a/arch/mips/lantiq/devices.h b/arch/mips/lantiq/devices.h 
    241 index 2947bb1..a03c23f 100644 
    242232--- a/arch/mips/lantiq/devices.h 
    243233+++ b/arch/mips/lantiq/devices.h 
     
    253243 extern void ltq_register_nor(struct physmap_flash_data *data); 
    254244 extern void ltq_register_wdt(void); 
    255 diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c 
    256 index 5035c10..fead2cc 100644 
    257245--- a/arch/mips/lantiq/prom.c 
    258246+++ b/arch/mips/lantiq/prom.c 
     
    268256  
    269257 unsigned int ltq_get_cpu_ver(void) 
    270 @@ -57,16 +61,50 @@ static void __init prom_init_cmdline(void) 
     258@@ -57,16 +61,50 @@ static void __init prom_init_cmdline(voi 
    271259        } 
    272260 } 
     
    278266+       __iomem void *ret = NULL; 
    279267+       struct resource *lookup = lookup_resource(&iomem_resource, res->start); 
    280 + 
     268  
    281269+       if (lookup && strcmp(lookup->name, res->name)) { 
    282270+               panic("conflicting memory range %s\n", res->name); 
     
    294282+               goto err_res; 
    295283+       } 
    296   
     284+ 
    297285+       ret = ioremap_nocache(res->start, resource_size(res)); 
    298286+       if (!ret) 
     
    325313        pr_info("SoC: %s\n", soc_info.sys_type); 
    326314        prom_init_cmdline(); 
    327 diff --git a/arch/mips/lantiq/prom.h b/arch/mips/lantiq/prom.h 
    328 index b4229d9..51dba1b 100644 
    329315--- a/arch/mips/lantiq/prom.h 
    330316+++ b/arch/mips/lantiq/prom.h 
     
    351337  
    352338 #endif 
    353 diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile 
    354 index c517f2e..6678402 100644 
    355339--- a/arch/mips/lantiq/xway/Makefile 
    356340+++ b/arch/mips/lantiq/xway/Makefile 
     
    366350 obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o 
    367351 obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o 
    368 diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c 
    369 index d0e32ab..9bacaa8 100644 
    370352--- a/arch/mips/lantiq/xway/devices.c 
    371353+++ b/arch/mips/lantiq/xway/devices.c 
     
    440422 static struct platform_device ltq_etop = { 
    441423        .name           = "ltq_etop", 
    442 diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c 
    443 index 4278a45..af35e62 100644 
    444424--- a/arch/mips/lantiq/xway/dma.c 
    445425+++ b/arch/mips/lantiq/xway/dma.c 
     
    487467                panic("Failed to remap dma memory\n"); 
    488468  
    489 diff --git a/arch/mips/lantiq/xway/ebu.c b/arch/mips/lantiq/xway/ebu.c 
    490 deleted file mode 100644 
    491 index 66eb52f..0000000 
    492469--- a/arch/mips/lantiq/xway/ebu.c 
    493470+++ /dev/null 
    494 @@ -1,53 +0,0 @@ 
     471@@ -1,52 +0,0 @@ 
    495472-/* 
    496473- *  This program is free software; you can redistribute it and/or modify it 
     
    505482-#include <linux/kernel.h> 
    506483-#include <linux/module.h> 
    507 -#include <linux/version.h> 
    508484-#include <linux/ioport.h> 
    509485- 
     
    546522- 
    547523-postcore_initcall(lantiq_ebu_init); 
    548 diff --git a/arch/mips/lantiq/xway/pmu.c b/arch/mips/lantiq/xway/pmu.c 
    549 deleted file mode 100644 
    550 index 9d69f01e..0000000 
    551524--- a/arch/mips/lantiq/xway/pmu.c 
    552525+++ /dev/null 
    553 @@ -1,70 +0,0 @@ 
     526@@ -1,69 +0,0 @@ 
    554527-/* 
    555528- *  This program is free software; you can redistribute it and/or modify it 
     
    562535-#include <linux/kernel.h> 
    563536-#include <linux/module.h> 
    564 -#include <linux/version.h> 
    565537-#include <linux/ioport.h> 
    566538- 
     
    622594- 
    623595-core_initcall(ltq_pmu_init); 
    624 diff --git a/arch/mips/lantiq/xway/prom-ase.c b/arch/mips/lantiq/xway/prom-ase.c 
    625 index abe49f4..aaccdcb 100644 
    626596--- a/arch/mips/lantiq/xway/prom-ase.c 
    627597+++ b/arch/mips/lantiq/xway/prom-ase.c 
     
    634604  
    635605 #define SOC_AMAZON_SE  "Amazon_SE" 
    636 @@ -26,6 +27,7 @@ void __init ltq_soc_detect(struct ltq_soc_info *i) 
     606@@ -26,6 +27,7 @@ void __init ltq_soc_detect(struct ltq_so 
    637607 { 
    638608        i->partnum = (ltq_r32(LTQ_MPS_CHIPID) & PART_MASK) >> PART_SHIFT; 
     
    642612        case SOC_ID_AMAZON_SE: 
    643613                i->name = SOC_AMAZON_SE; 
    644 @@ -37,3 +39,10 @@ void __init ltq_soc_detect(struct ltq_soc_info *i) 
     614@@ -37,3 +39,10 @@ void __init ltq_soc_detect(struct ltq_so 
    645615                break; 
    646616        } 
     
    653623+       ltq_register_wdt(); 
    654624+} 
    655 diff --git a/arch/mips/lantiq/xway/prom-xway.c b/arch/mips/lantiq/xway/prom-xway.c 
    656 index 1686692a..f3d1228 100644 
    657625--- a/arch/mips/lantiq/xway/prom-xway.c 
    658626+++ b/arch/mips/lantiq/xway/prom-xway.c 
     
    665633  
    666634 #define SOC_DANUBE     "Danube" 
    667 @@ -28,6 +29,7 @@ void __init ltq_soc_detect(struct ltq_soc_info *i) 
     635@@ -28,6 +29,7 @@ void __init ltq_soc_detect(struct ltq_so 
    668636 { 
    669637        i->partnum = (ltq_r32(LTQ_MPS_CHIPID) & PART_MASK) >> PART_SHIFT; 
     
    673641        case SOC_ID_DANUBE1: 
    674642        case SOC_ID_DANUBE2: 
    675 @@ -52,3 +54,11 @@ void __init ltq_soc_detect(struct ltq_soc_info *i) 
     643@@ -52,3 +54,11 @@ void __init ltq_soc_detect(struct ltq_so 
    676644                break; 
    677645        } 
     
    685653+       ltq_register_wdt(); 
    686654+} 
    687 diff --git a/arch/mips/lantiq/xway/reset.c b/arch/mips/lantiq/xway/reset.c 
    688 index a1be36d..e701a48 100644 
    689655--- a/arch/mips/lantiq/xway/reset.c 
    690656+++ b/arch/mips/lantiq/xway/reset.c 
     
    732698                panic("Failed to remap rcu memory\n"); 
    733699  
    734 diff --git a/arch/mips/lantiq/xway/setup-ase.c b/arch/mips/lantiq/xway/setup-ase.c 
    735 deleted file mode 100644 
    736 index f6f3267..0000000 
    737700--- a/arch/mips/lantiq/xway/setup-ase.c 
    738701+++ /dev/null 
     
    757720-       ltq_register_wdt(); 
    758721-} 
    759 diff --git a/arch/mips/lantiq/xway/setup-xway.c b/arch/mips/lantiq/xway/setup-xway.c 
    760 deleted file mode 100644 
    761 index c292f64..0000000 
    762722--- a/arch/mips/lantiq/xway/setup-xway.c 
    763723+++ /dev/null 
     
    783743-       ltq_register_wdt(); 
    784744-} 
    785 diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c 
    786 new file mode 100644 
    787 index 0000000..a29944f 
    788745--- /dev/null 
    789746+++ b/arch/mips/lantiq/xway/sysctrl.c 
     
    866823+       ltq_ebu_w32(ltq_ebu_r32(LTQ_EBU_BUSCON0) & ~EBU_WRDIS, LTQ_EBU_BUSCON0); 
    867824+} 
    868 diff --git a/drivers/watchdog/lantiq_wdt.c b/drivers/watchdog/lantiq_wdt.c 
    869 index 102aed0..179bf98 100644 
    870825--- a/drivers/watchdog/lantiq_wdt.c 
    871826+++ b/drivers/watchdog/lantiq_wdt.c 
     
    879834 /* Section 3.4 of the datasheet 
    880835  * The password sequence protects the WDT control register from unintended 
    881 --  
    882 1.7.5.4 
    883  
  • trunk/target/linux/lantiq/patches/0005-MIPS-lantiq-make-irq.c-support-the-FALC-ON.patch

    r28718 r28721  
    1818 1 files changed, 13 insertions(+), 11 deletions(-) 
    1919 
    20 diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c 
    21 index f9737bb..17c057f 100644 
    2220--- a/arch/mips/lantiq/irq.c 
    2321+++ b/arch/mips/lantiq/irq.c 
    24 @@ -195,7 +195,7 @@ static void ltq_hw_irqdispatch(int module) 
     22@@ -195,7 +195,7 @@ static void ltq_hw_irqdispatch(int modul 
    2523        do_IRQ((int)irq + INT_NUM_IM0_IRL0 + (INT_NUM_IM_OFFSET * module)); 
    2624  
     
    4038+               if (insert_resource(&iomem_resource, &ltq_eiu_resource) < 0) 
    4139+                       panic("Failed to insert eiu memory\n"); 
     40+ 
     41+               if (request_mem_region(ltq_eiu_resource.start, 
     42+                               resource_size(&ltq_eiu_resource), "eiu") < 0) 
     43+                       panic("Failed to request eiu memory\n"); 
    4244  
    4345-       if (request_mem_region(ltq_eiu_resource.start, 
    4446-                       resource_size(&ltq_eiu_resource), "eiu") < 0) 
    4547-               panic("Failed to request eiu memory\n"); 
    46 +               if (request_mem_region(ltq_eiu_resource.start, 
    47 +                               resource_size(&ltq_eiu_resource), "eiu") < 0) 
    48 +                       panic("Failed to request eiu memory\n"); 
    49   
     48- 
    5049-       ltq_eiu_membase = ioremap_nocache(ltq_eiu_resource.start, 
    5150+               ltq_eiu_membase = ioremap_nocache(ltq_eiu_resource.start, 
     
    7069                                handle_level_irq); 
    7170                /* EIU3-5 only exist on ar9 and vr9 */ 
    72 --  
    73 1.7.5.4 
    74  
  • trunk/target/linux/lantiq/patches/0006-MIPS-lantiq-add-basic-support-for-FALC-ON.patch

    r28718 r28721  
    3737 create mode 100644 arch/mips/lantiq/falcon/sysctrl.c 
    3838 
    39 diff --git a/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h 
    40 new file mode 100644 
    41 index 0000000..4dc6466 
    4239--- /dev/null 
    4340+++ b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h 
     
    311308+ 
    312309+#endif /* _FALCON_IRQ__ */ 
    313 diff --git a/arch/mips/include/asm/mach-lantiq/falcon/irq.h b/arch/mips/include/asm/mach-lantiq/falcon/irq.h 
    314 new file mode 100644 
    315 index 0000000..2caccd9 
    316310--- /dev/null 
    317311+++ b/arch/mips/include/asm/mach-lantiq/falcon/irq.h 
     
    335329+ 
    336330+#endif 
    337 diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h 
    338 new file mode 100644 
    339 index 0000000..c092531 
    340331--- /dev/null 
    341332+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h 
     
    481472+#endif /* CONFIG_SOC_FALCON */ 
    482473+#endif /* _LTQ_XWAY_H__ */ 
    483 diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h 
    484 index 66d7300..188de0f 100644 
    485474--- a/arch/mips/include/asm/mach-lantiq/lantiq.h 
    486475+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h 
    487 @@ -25,6 +25,7 @@ extern unsigned int ltq_get_soc_type(void); 
     476@@ -25,6 +25,7 @@ extern unsigned int ltq_get_soc_type(voi 
    488477 /* clock speeds */ 
    489478 #define CLOCK_60M      60000000 
     
    493482 #define CLOCK_133M     133333333 
    494483 #define CLOCK_167M     166666667 
    495 diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig 
    496 index 3fccf21..cb6b39f 100644 
    497484--- a/arch/mips/lantiq/Kconfig 
    498485+++ b/arch/mips/lantiq/Kconfig 
     
    510497  
    511498 endif 
    512 diff --git a/arch/mips/lantiq/Makefile b/arch/mips/lantiq/Makefile 
    513 index e5dae0e..7e9c69e 100644 
    514499--- a/arch/mips/lantiq/Makefile 
    515500+++ b/arch/mips/lantiq/Makefile 
    516 @@ -9,3 +9,4 @@ obj-y := irq.o setup.o clk.o prom.o devices.o 
     501@@ -9,3 +9,4 @@ obj-y := irq.o setup.o clk.o prom.o devi 
    517502 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 
    518503  
    519504 obj-$(CONFIG_SOC_TYPE_XWAY) += xway/ 
    520505+obj-$(CONFIG_SOC_FALCON) += falcon/ 
    521 diff --git a/arch/mips/lantiq/Platform b/arch/mips/lantiq/Platform 
    522 index f3dff05..b3ec498 100644 
    523506--- a/arch/mips/lantiq/Platform 
    524507+++ b/arch/mips/lantiq/Platform 
     
    528511 cflags-$(CONFIG_SOC_TYPE_XWAY) += -I$(srctree)/arch/mips/include/asm/mach-lantiq/xway 
    529512+cflags-$(CONFIG_SOC_FALCON)    += -I$(srctree)/arch/mips/include/asm/mach-lantiq/falcon 
    530 diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile 
    531 new file mode 100644 
    532 index 0000000..e9c7455 
    533513--- /dev/null 
    534514+++ b/arch/mips/lantiq/falcon/Makefile 
    535515@@ -0,0 +1 @@ 
    536516+obj-y := clk.o prom.o reset.o sysctrl.o devices.o 
    537 diff --git a/arch/mips/lantiq/falcon/clk.c b/arch/mips/lantiq/falcon/clk.c 
    538 new file mode 100644 
    539 index 0000000..1a550ea 
    540517--- /dev/null 
    541518+++ b/arch/mips/lantiq/falcon/clk.c 
     
    585562+} 
    586563+EXPORT_SYMBOL(ltq_get_fpi_hz); 
    587 diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c 
    588 new file mode 100644 
    589 index 0000000..c4606f2 
    590564--- /dev/null 
    591565+++ b/arch/mips/lantiq/falcon/devices.c 
     
    678652+       platform_device_register(&ltq_flash_nand); 
    679653+} 
    680 diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h 
    681 new file mode 100644 
    682 index 0000000..e802a7c 
    683654--- /dev/null 
    684655+++ b/arch/mips/lantiq/falcon/devices.h 
     
    702673+ 
    703674+#endif 
    704 diff --git a/arch/mips/lantiq/falcon/prom.c b/arch/mips/lantiq/falcon/prom.c 
    705 new file mode 100644 
    706 index 0000000..89367c4 
    707675--- /dev/null 
    708676+++ b/arch/mips/lantiq/falcon/prom.c 
     
    780748+       } 
    781749+} 
    782 diff --git a/arch/mips/lantiq/falcon/reset.c b/arch/mips/lantiq/falcon/reset.c 
    783 new file mode 100644 
    784 index 0000000..d3289ca 
    785750--- /dev/null 
    786751+++ b/arch/mips/lantiq/falcon/reset.c 
     
    873838+ 
    874839+arch_initcall(mips_reboot_setup); 
    875 diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c 
    876 new file mode 100644 
    877 index 0000000..d20b46b 
    878840--- /dev/null 
    879841+++ b/arch/mips/lantiq/falcon/sysctrl.c 
     
    10601022+       ltq_gpe_enable(); 
    10611023+} 
    1062 --  
    1063 1.7.5.4 
    1064  
  • trunk/target/linux/lantiq/patches/0007-MIPS-lantiq-add-support-for-FALC-ON-GPIOs.patch

    r28718 r28721  
    1818 create mode 100644 arch/mips/lantiq/falcon/gpio.c 
    1919 
    20 diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile 
    21 index e9c7455..de72209 100644 
    2220--- a/arch/mips/lantiq/falcon/Makefile 
    2321+++ b/arch/mips/lantiq/falcon/Makefile 
     
    2523-obj-y := clk.o prom.o reset.o sysctrl.o devices.o 
    2624+obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o 
    27 diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c 
    28 index c4606f2..4f47b44 100644 
    2925--- a/arch/mips/lantiq/falcon/devices.c 
    3026+++ b/arch/mips/lantiq/falcon/devices.c 
     
    8177+               ACTS_PADCTRL3 | ACTS_PADCTRL4 | ACTS_P3 | ACTS_P4); 
    8278+} 
    83 diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h 
    84 index e802a7c..18be8b6 100644 
    8579--- a/arch/mips/lantiq/falcon/devices.h 
    8680+++ b/arch/mips/lantiq/falcon/devices.h 
     
    9387  
    9488 #endif 
    95 diff --git a/arch/mips/lantiq/falcon/gpio.c b/arch/mips/lantiq/falcon/gpio.c 
    96 new file mode 100644 
    97 index 0000000..b87582d 
    9889--- /dev/null 
    9990+++ b/arch/mips/lantiq/falcon/gpio.c 
     
    497488+ 
    498489+postcore_initcall(falcon_gpio_init); 
    499 --  
    500 1.7.5.4 
    501  
  • trunk/target/linux/lantiq/patches/0008-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch

    r28718 r28721  
    1919 create mode 100644 arch/mips/lantiq/falcon/mach-easy98000.c 
    2020 
    21 diff --git a/arch/mips/lantiq/falcon/Kconfig b/arch/mips/lantiq/falcon/Kconfig 
    22 new file mode 100644 
    23 index 0000000..03e999d 
    2421--- /dev/null 
    2522+++ b/arch/mips/lantiq/falcon/Kconfig 
     
    3633+ 
    3734+endif 
    38 diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile 
    39 index de72209..56b22eb 100644 
    4035--- a/arch/mips/lantiq/falcon/Makefile 
    4136+++ b/arch/mips/lantiq/falcon/Makefile 
     
    4338 obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o 
    4439+obj-$(CONFIG_LANTIQ_MACH_EASY98000) += mach-easy98000.o 
    45 diff --git a/arch/mips/lantiq/falcon/mach-easy98000.c b/arch/mips/lantiq/falcon/mach-easy98000.c 
    46 new file mode 100644 
    47 index 0000000..361b8f0 
    4840--- /dev/null 
    4941+++ b/arch/mips/lantiq/falcon/mach-easy98000.c 
     
    159151+                       "EASY98000 Eval Board (NAND Flash)", 
    160152+                       easy98000nand_init); 
    161 diff --git a/arch/mips/lantiq/machtypes.h b/arch/mips/lantiq/machtypes.h 
    162 index 7e01b8c..dfc6af7 100644 
    163153--- a/arch/mips/lantiq/machtypes.h 
    164154+++ b/arch/mips/lantiq/machtypes.h 
     
    175165  
    176166 #endif 
    177 --  
    178 1.7.5.4 
    179  
  • trunk/target/linux/lantiq/patches/0009-MIPS-make-oprofile-use-cp0_perfcount_irq-if-it-is-se.patch

    r28718 r28721  
    1515 1 files changed, 12 insertions(+), 0 deletions(-) 
    1616 
    17 diff --git a/arch/mips/oprofile/op_model_mipsxx.c b/arch/mips/oprofile/op_model_mipsxx.c 
    18 index 54759f1..86cf234 100644 
    1917--- a/arch/mips/oprofile/op_model_mipsxx.c 
    2018+++ b/arch/mips/oprofile/op_model_mipsxx.c 
    21 @@ -298,6 +298,11 @@ static void reset_counters(void *arg) 
    22         } 
     19@@ -303,6 +303,11 @@ static irqreturn_t mipsxx_perfcount_int( 
     20        return mipsxx_perfcount_handler(); 
    2321 } 
    2422  
     
    3129 { 
    3230        int counters; 
    33 @@ -374,6 +379,10 @@ static int __init mipsxx_init(void) 
    34         save_perf_irq = perf_irq; 
    35         perf_irq = mipsxx_perfcount_handler; 
     31@@ -383,6 +388,10 @@ static int __init mipsxx_init(void) 
     32                return request_irq(cp0_perfcount_irq, mipsxx_perfcount_int, 
     33                        IRQF_SHARED, "Perfcounter", save_perf_irq); 
    3634  
    3735+       if (cp0_perfcount_irq >= 0) 
     
    4240 } 
    4341  
    44 @@ -381,6 +390,9 @@ static void mipsxx_exit(void) 
    45  { 
    46         int counters = op_model_mipsxx_ops.num_counters; 
     42@@ -392,6 +401,9 @@ static void mipsxx_exit(void) 
    4743  
     44        if (cp0_perfcount_irq >= 0) 
     45                free_irq(cp0_perfcount_irq, save_perf_irq); 
     46+ 
    4847+       if (cp0_perfcount_irq >= 0) 
    4948+               free_irq(cp0_perfcount_irq, save_perf_irq); 
    50 + 
     49  
    5150        counters = counters_per_cpu_to_total(counters); 
    5251        on_each_cpu(reset_counters, (void *)(long)counters, 1); 
    53   
    54 --  
    55 1.7.5.4 
    56  
  • trunk/target/linux/lantiq/patches/0010-MIPS-enable-oprofile-support-on-lantiq-targets.patch

    r28718 r28721  
    1313 2 files changed, 6 insertions(+), 0 deletions(-) 
    1414 
    15 diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig 
    16 index b122adc..0cf5bbd 100644 
    1715--- a/arch/mips/Kconfig 
    1816+++ b/arch/mips/Kconfig 
     
    2523  
    2624 config LASAT 
    27 diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c 
    28 index 17c057f..0b2ed87 100644 
    2925--- a/arch/mips/lantiq/irq.c 
    3026+++ b/arch/mips/lantiq/irq.c 
     
    4844  
    4945 unsigned int __cpuinit get_c0_compare_int(void) 
    50 --  
    51 1.7.5.4 
    52  
  • trunk/target/linux/lantiq/patches/0011-MIPS-lantiq-adds-falcon-I2C.patch

    r28718 r28721  
    1313 create mode 100644 drivers/i2c/busses/i2c-falcon.c 
    1414 
    15 diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c 
    16 index 4f47b44..a998b6b 100644 
    1715--- a/arch/mips/lantiq/falcon/devices.c 
    1816+++ b/arch/mips/lantiq/falcon/devices.c 
     
    4240+       platform_device_register_simple("ltq_falcon_deu", 0, NULL, 0); 
    4341+} 
    44 diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h 
    45 index 18be8b6..2fdcb08 100644 
    4642--- a/arch/mips/lantiq/falcon/devices.h 
    4743+++ b/arch/mips/lantiq/falcon/devices.h 
     
    5349  
    5450 #endif 
    55 diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig 
    56 index 646068e..e6c3ab6 100644 
    5751--- a/drivers/i2c/busses/Kconfig 
    5852+++ b/drivers/i2c/busses/Kconfig 
     
    6862        tristate "Atmel AT91 I2C Two-Wire interface (TWI)" 
    6963        depends on ARCH_AT91 && EXPERIMENTAL && BROKEN 
    70 diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile 
    71 index e6cf294..83e9250 100644 
    7264--- a/drivers/i2c/busses/Makefile 
    7365+++ b/drivers/i2c/busses/Makefile 
     
    7971  
    8072 ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG 
    81 diff --git a/drivers/i2c/busses/i2c-falcon.c b/drivers/i2c/busses/i2c-falcon.c 
    82 new file mode 100644 
    83 index 0000000..7bb1253 
    8473--- /dev/null 
    8574+++ b/drivers/i2c/busses/i2c-falcon.c 
     
    900889+MODULE_LICENSE("GPL"); 
    901890+MODULE_VERSION(DRV_VERSION); 
    902 --  
    903 1.7.5.4 
    904  
  • trunk/target/linux/lantiq/patches/0013-MIPS-lantiq-adds-FALC-ON-spi-driver.patch

    r28718 r28721  
    1919 create mode 100644 drivers/spi/spi-falcon.c 
    2020 
    21 Index: linux-3.0.3/arch/mips/lantiq/falcon/devices.c 
    22 =================================================================== 
    23 --- linux-3.0.3.orig/arch/mips/lantiq/falcon/devices.c  2011-10-05 12:30:34.584838403 +0200 
    24 +++ linux-3.0.3/arch/mips/lantiq/falcon/devices.c       2011-10-05 12:42:58.696870214 +0200 
    25 @@ -129,7 +129,7 @@ 
     21--- a/arch/mips/lantiq/falcon/devices.c 
     22+++ b/arch/mips/lantiq/falcon/devices.c 
     23@@ -129,7 +129,7 @@ falcon_register_gpio_extra(void) 
    2624  
    2725 /* i2c */ 
     
    3230        IRQ_RES("i2c_b", FALCON_IRQ_I2C_BREQ), 
    3331        IRQ_RES("i2c_err", FALCON_IRQ_I2C_I2C_ERR), 
    34 @@ -140,10 +140,18 @@ 
     32@@ -140,10 +140,18 @@ void __init falcon_register_i2c(void) 
    3533 { 
    3634        platform_device_register_simple("i2c-falcon", 0, 
     
    5452+       platform_device_register(&ltq_spi); 
    5553 } 
    56 Index: linux-3.0.3/arch/mips/lantiq/falcon/devices.h 
    57 =================================================================== 
    58 --- linux-3.0.3.orig/arch/mips/lantiq/falcon/devices.h  2011-10-05 12:30:34.584838403 +0200 
    59 +++ linux-3.0.3/arch/mips/lantiq/falcon/devices.h       2011-10-05 12:30:34.600838405 +0200 
     54--- a/arch/mips/lantiq/falcon/devices.h 
     55+++ b/arch/mips/lantiq/falcon/devices.h 
    6056@@ -11,11 +11,15 @@ 
    6157 #ifndef _FALCON_DEVICES_H__ 
     
    7470  
    7571 #endif 
    76 Index: linux-3.0.3/arch/mips/lantiq/falcon/mach-easy98000.c 
    77 =================================================================== 
    78 --- linux-3.0.3.orig/arch/mips/lantiq/falcon/mach-easy98000.c   2011-10-05 12:30:34.552838402 +0200 
    79 +++ linux-3.0.3/arch/mips/lantiq/falcon/mach-easy98000.c        2011-10-05 12:30:34.600838405 +0200 
    80 @@ -40,6 +40,21 @@ 
     72--- a/arch/mips/lantiq/falcon/mach-easy98000.c 
     73+++ b/arch/mips/lantiq/falcon/mach-easy98000.c 
     74@@ -40,6 +40,21 @@ struct physmap_flash_data easy98000_nor_ 
    8175        .parts          = easy98000_nor_partitions, 
    8276 }; 
     
    10094 #define SPI_GPIO_MRST          102 
    10195 #define SPI_GPIO_MTSR          103 
    102 @@ -93,6 +108,13 @@ 
     96@@ -93,6 +108,13 @@ easy98000_init(void) 
    10397 } 
    10498  
     
    114108 { 
    115109        easy98000_init_common(); 
    116 @@ -104,6 +126,11 @@ 
     110@@ -104,6 +126,11 @@ MIPS_MACHINE(LANTIQ_MACH_EASY98000, 
    117111                        "EASY98000 Eval Board", 
    118112                        easy98000_init); 
     
    126120                        "EASY98000NAND", 
    127121                        "EASY98000 Eval Board (NAND Flash)", 
    128 Index: linux-3.0.3/drivers/spi/Kconfig 
    129 =================================================================== 
    130 --- linux-3.0.3.orig/drivers/spi/Kconfig        2011-10-05 12:30:33.608838362 +0200 
    131 +++ linux-3.0.3/drivers/spi/Kconfig     2011-10-05 12:41:56.864867570 +0200 
    132 @@ -219,6 +219,10 @@ 
     122--- a/drivers/spi/Kconfig 
     123+++ b/drivers/spi/Kconfig 
     124@@ -189,6 +189,10 @@ config SPI_MPC52xx 
    133125          This drivers supports the MPC52xx SPI controller in master SPI 
    134126          mode. 
     
    141133        tristate "Freescale MPC52xx PSC SPI controller" 
    142134        depends on PPC_MPC52xx && EXPERIMENTAL 
    143 Index: linux-3.0.3/drivers/spi/Makefile 
    144 =================================================================== 
    145 --- linux-3.0.3.orig/drivers/spi/Makefile       2011-10-05 12:30:33.608838362 +0200 
    146 +++ linux-3.0.3/drivers/spi/Makefile    2011-10-05 12:41:56.884867571 +0200 
    147 @@ -56,6 +56,7 @@ 
    148  obj-$(CONFIG_SPI_SH_MSIOF)             += spi_sh_msiof.o 
    149  obj-$(CONFIG_SPI_STMP3XXX)             += spi_stmp.o 
    150  obj-$(CONFIG_SPI_NUC900)               += spi_nuc900.o 
     135--- a/drivers/spi/Makefile 
     136+++ b/drivers/spi/Makefile 
     137@@ -25,6 +25,7 @@ obj-$(CONFIG_SPI_DW_MMIO)             += spi-dw-mmi 
     138 obj-$(CONFIG_SPI_DW_PCI)               += spi-dw-midpci.o 
     139 spi-dw-midpci-objs                     := spi-dw-pci.o spi-dw-mid.o 
     140 obj-$(CONFIG_SPI_EP93XX)               += spi-ep93xx.o 
    151141+obj-$(CONFIG_SPI_FALCON)               += spi-falcon.o 
    152   
    153  # special build for s3c24xx spi driver with fiq support 
    154  spi_s3c24xx_hw-y                       := spi_s3c24xx.o 
    155 Index: linux-3.0.3/drivers/spi/spi-falcon.c 
    156 =================================================================== 
    157 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    158 +++ linux-3.0.3/drivers/spi/spi-falcon.c        2011-10-05 12:30:34.600838405 +0200 
     142 obj-$(CONFIG_SPI_FSL_LIB)              += spi-fsl-lib.o 
     143 obj-$(CONFIG_SPI_FSL_ESPI)             += spi-fsl-espi.o 
     144 obj-$(CONFIG_SPI_FSL_SPI)              += spi-fsl-spi.o 
     145--- /dev/null 
     146+++ b/drivers/spi/spi-falcon.c 
    159147@@ -0,0 +1,477 @@ 
    160148+/* 
     
    635623+MODULE_LICENSE("GPL"); 
    636624+MODULE_DESCRIPTION("Lantiq Falcon SPI controller driver"); 
    637 Index: linux-3.0.3/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h 
    638 =================================================================== 
    639 --- linux-3.0.3.orig/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h      2011-10-05 12:38:16.176858136 +0200 
    640 +++ linux-3.0.3/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h   2011-10-05 12:39:54.936862358 +0200 
     625--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h 
     626+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h 
    641627@@ -48,6 +48,10 @@ 
    642628  
  • trunk/target/linux/lantiq/patches/0014-MIPS-lantiq-adds-xway-spi.patch

    r28718 r28721  
    1414 create mode 100644 drivers/spi/spi-xway.c 
    1515 
    16 Index: linux-3.0.3/arch/mips/include/asm/mach-lantiq/lantiq_platform.h 
    17 =================================================================== 
    18 --- linux-3.0.3.orig/arch/mips/include/asm/mach-lantiq/lantiq_platform.h        2011-08-17 19:57:16.000000000 +0200 
    19 +++ linux-3.0.3/arch/mips/include/asm/mach-lantiq/lantiq_platform.h     2011-10-04 20:05:23.962311503 +0200 
    20 @@ -50,4 +50,13 @@ 
     16--- a/arch/mips/include/asm/mach-lantiq/lantiq_platform.h 
     17+++ b/arch/mips/include/asm/mach-lantiq/lantiq_platform.h 
     18@@ -50,4 +50,13 @@ struct ltq_eth_data { 
    2119        int mii_mode; 
    2220 }; 
     
    3230+ 
    3331 #endif 
    34 Index: linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h 
    35 =================================================================== 
    36 --- linux-3.0.3.orig/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h        2011-08-17 19:57:16.000000000 +0200 
    37 +++ linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h     2011-10-04 20:05:23.962311503 +0200 
     32--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h 
     33+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h 
    3834@@ -27,6 +27,8 @@ 
    3935  
     
    4541  
    4642 #define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21) 
    47 Index: linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    48 =================================================================== 
    49 --- linux-3.0.3.orig/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h        2011-10-04 20:03:54.934307699 +0200 
    50 +++ linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h     2011-10-04 20:05:23.966311504 +0200 
     43--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
     44+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    5145@@ -81,6 +81,7 @@ 
    5246  
     
    5751 #define PMU_GPT                        0x1000 
    5852 #define PMU_PPE                        0x2000 
    59 Index: linux-3.0.3/drivers/spi/Kconfig 
    60 =================================================================== 
    61 --- linux-3.0.3.orig/drivers/spi/Kconfig        2011-10-04 20:05:07.030310779 +0200 
    62 +++ linux-3.0.3/drivers/spi/Kconfig     2011-10-04 20:05:23.966311504 +0200 
    63 @@ -433,6 +433,14 @@ 
     53--- a/drivers/spi/Kconfig 
     54+++ b/drivers/spi/Kconfig 
     55@@ -393,6 +393,14 @@ config SPI_NUC900 
    6456        help 
    6557          SPI driver for Nuvoton NUC900 series ARM SoCs 
     
    7668 # Add new SPI master controllers in alphabetical order above this line 
    7769 # 
    78 Index: linux-3.0.3/drivers/spi/Makefile 
    79 =================================================================== 
    80 --- linux-3.0.3.orig/drivers/spi/Makefile       2011-10-04 20:05:20.000000000 +0200 
    81 +++ linux-3.0.3/drivers/spi/Makefile    2011-10-04 20:05:35.802312011 +0200 
    82 @@ -57,6 +57,7 @@ 
    83  obj-$(CONFIG_SPI_STMP3XXX)             += spi_stmp.o 
    84  obj-$(CONFIG_SPI_NUC900)               += spi_nuc900.o 
    85  obj-$(CONFIG_SPI_FALCON)               += spi-falcon.o 
     70--- a/drivers/spi/Makefile 
     71+++ b/drivers/spi/Makefile 
     72@@ -60,4 +60,5 @@ obj-$(CONFIG_SPI_TLE62X0)             += spi-tle62x 
     73 obj-$(CONFIG_SPI_TOPCLIFF_PCH)         += spi-topcliff-pch.o 
     74 obj-$(CONFIG_SPI_TXX9)                 += spi-txx9.o 
     75 obj-$(CONFIG_SPI_XILINX)               += spi-xilinx.o 
    8676+obj-$(CONFIG_SPI_XWAY)                 += spi-xway.o 
    8777  
    88  # special build for s3c24xx spi driver with fiq support 
    89  spi_s3c24xx_hw-y                       := spi_s3c24xx.o 
    90 Index: linux-3.0.3/drivers/spi/spi-xway.c 
    91 =================================================================== 
    92 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    93 +++ linux-3.0.3/drivers/spi/spi-xway.c  2011-10-04 20:05:23.966311504 +0200 
     78--- /dev/null 
     79+++ b/drivers/spi/spi-xway.c 
    9480@@ -0,0 +1,1062 @@ 
    9581+/* 
  • trunk/target/linux/lantiq/patches/0015-MIPS-lantiq-adds-etop-support-for-ase-ar9.patch

    r28718 r28721  
    1818 5 files changed, 180 insertions(+), 40 deletions(-) 
    1919 
    20 Index: linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h 
    21 =================================================================== 
    22 --- linux-3.0.3.orig/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h        2011-10-04 20:05:23.000000000 +0200 
    23 +++ linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h     2011-10-04 20:05:44.146312365 +0200 
     20--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h 
     21+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h 
    2422@@ -40,26 +40,8 @@ 
    2523  
     
    5149 #define LTQ_PPE_MBOX_INT       (INT_NUM_IM2_IRL0 + 24) 
    5250  
    53 Index: linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    54 =================================================================== 
    55 --- linux-3.0.3.orig/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h        2011-10-04 20:05:23.000000000 +0200 
    56 +++ linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h     2011-10-04 20:05:44.146312365 +0200 
     51--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
     52+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    5753@@ -80,6 +80,7 @@ 
    5854 #define LTQ_PMU_SIZE           0x1000 
     
    7470 #define LTQ_DMA_BASE_ADDR      0x1E104100 
    7571 #define LTQ_DMA_SIZE           0x800 
    76 @@ -148,6 +153,11 @@ 
     72@@ -148,6 +153,11 @@ extern void ltq_pmu_enable(unsigned int 
    7773 extern void ltq_pmu_disable(unsigned int module); 
    7874 extern void ltq_cgu_enable(unsigned int clk); 
     
    8682 { 
    8783        return (ltq_get_soc_type() == SOC_TYPE_AR9); 
    88 Index: linux-3.0.3/arch/mips/lantiq/xway/devices.c 
    89 =================================================================== 
    90 --- linux-3.0.3.orig/arch/mips/lantiq/xway/devices.c    2011-10-04 20:03:54.000000000 +0200 
    91 +++ linux-3.0.3/arch/mips/lantiq/xway/devices.c 2011-10-04 20:05:44.146312365 +0200 
    92 @@ -79,18 +79,23 @@ 
     84--- a/arch/mips/lantiq/xway/devices.c 
     85+++ b/arch/mips/lantiq/xway/devices.c 
     86@@ -77,18 +77,23 @@ void __init ltq_register_ase_asc(void) 
    9387 } 
    9488  
     
    117111                ltq_etop.dev.platform_data = eth; 
    118112                platform_device_register(&ltq_etop); 
    119 Index: linux-3.0.3/drivers/net/lantiq_etop.c 
    120 =================================================================== 
    121 --- linux-3.0.3.orig/drivers/net/lantiq_etop.c  2011-08-17 19:57:16.000000000 +0200 
    122 +++ linux-3.0.3/drivers/net/lantiq_etop.c       2011-10-04 20:05:44.146312365 +0200 
     113--- a/drivers/net/lantiq_etop.c 
     114+++ b/drivers/net/lantiq_etop.c 
    123115@@ -34,6 +34,7 @@ 
    124116 #include <linux/init.h> 
     
    191183 struct ltq_etop_chan { 
    192184        int idx; 
    193 @@ -108,6 +148,9 @@ 
     185@@ -108,6 +148,9 @@ struct ltq_etop_priv { 
    194186        spinlock_t lock; 
    195187 }; 
     
    201193 ltq_etop_alloc_skb(struct ltq_etop_chan *ch) 
    202194 { 
    203 @@ -209,7 +252,7 @@ 
     195@@ -209,7 +252,7 @@ static irqreturn_t 
    204196 ltq_etop_dma_irq(int irq, void *_priv) 
    205197 { 
     
    210202        napi_schedule(&priv->ch[ch].napi); 
    211203        return IRQ_HANDLED; 
    212 @@ -242,26 +285,66 @@ 
     204@@ -242,26 +285,66 @@ ltq_etop_hw_exit(struct net_device *dev) 
    213205                        ltq_etop_free_channel(dev, &priv->ch[i]); 
    214206 } 
     
    278270                        priv->pldata->mii_mode); 
    279271                return -ENOTSUPP; 
    280 @@ -273,7 +356,7 @@ 
     272@@ -273,7 +356,7 @@ ltq_etop_hw_init(struct net_device *dev) 
    281273        ltq_dma_init_port(DMA_PORT_ETOP); 
    282274  
     
    287279  
    288280                ch->idx = ch->dma.nr = i; 
    289 @@ -337,6 +420,39 @@ 
     281@@ -337,6 +420,39 @@ static const struct ethtool_ops ltq_etop 
    290282 }; 
    291283  
     
    327319 { 
    328320        u32 val = MDIO_REQUEST | 
    329 @@ -377,14 +493,11 @@ 
     321@@ -377,14 +493,11 @@ ltq_etop_mdio_probe(struct net_device *d 
    330322 { 
    331323        struct ltq_etop_priv *priv = netdev_priv(dev); 
     
    346338        if (!phydev) { 
    347339                netdev_err(dev, "no PHY found\n"); 
    348 @@ -406,6 +519,9 @@ 
     340@@ -406,6 +519,9 @@ ltq_etop_mdio_probe(struct net_device *d 
    349341                              | SUPPORTED_Autoneg 
    350342                              | SUPPORTED_MII 
     
    356348        phydev->advertising = phydev->supported; 
    357349        priv->phydev = phydev; 
    358 @@ -431,8 +547,13 @@ 
     350@@ -431,8 +547,13 @@ ltq_etop_mdio_init(struct net_device *de 
    359351        } 
    360352  
     
    372364        snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%x", 0); 
    373365        priv->mii_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL); 
    374 @@ -522,9 +643,9 @@ 
     366@@ -522,9 +643,9 @@ ltq_etop_tx(struct sk_buff *skb, struct 
    375367        struct ltq_etop_priv *priv = netdev_priv(dev); 
    376368        struct ltq_etop_chan *ch = &priv->ch[(queue << 1) | 1]; 
     
    383375        len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len; 
    384376  
    385 @@ -698,7 +819,7 @@ 
     377@@ -698,7 +819,7 @@ ltq_etop_probe(struct platform_device *p 
    386378 { 
    387379        struct net_device *dev; 
     
    392384        int i; 
    393385  
    394 @@ -726,6 +847,23 @@ 
     386@@ -726,6 +847,23 @@ ltq_etop_probe(struct platform_device *p 
    395387                goto err_out; 
    396388        } 
  • trunk/target/linux/lantiq/patches/0016-MIPS-lantiq-adds-xway-nand-driver.patch

    r28718 r28721  
    2525 create mode 100644 arch/mips/lantiq/xway/nand.c 
    2626 
    27 diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    28 index 86ed0d2..729dfa2 100644 
    2927--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    3028+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
     
    3836 #define ltq_cgu_r32(x)         ltq_r32(ltq_cgu_membase + (x)) 
    3937  
    40 diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile 
    41 index 6678402..ac7cc34 100644 
    4238--- a/arch/mips/lantiq/xway/Makefile 
    4339+++ b/arch/mips/lantiq/xway/Makefile 
     
    4844 obj-$(CONFIG_SOC_XWAY) += clk-xway.o prom-xway.o 
    4945 obj-$(CONFIG_SOC_AMAZON_SE) += clk-ase.o prom-ase.o 
    50 diff --git a/arch/mips/lantiq/xway/nand.c b/arch/mips/lantiq/xway/nand.c 
    51 new file mode 100644 
    52 index 0000000..ba2443c 
    5346--- /dev/null 
    5447+++ b/arch/mips/lantiq/xway/nand.c 
     
    239232+       platform_device_register(&ltq_flash_nand); 
    240233+} 
    241 diff --git a/drivers/mtd/nand/plat_nand.c b/drivers/mtd/nand/plat_nand.c 
    242 index 633c04b..c3e3ef6 100644 
    243234--- a/drivers/mtd/nand/plat_nand.c 
    244235+++ b/drivers/mtd/nand/plat_nand.c 
    245 @@ -77,6 +77,7 @@ static int __devinit plat_nand_probe(struct platform_device *pdev) 
     236@@ -77,6 +77,7 @@ static int __devinit plat_nand_probe(str 
    246237        data->chip.select_chip = pdata->ctrl.select_chip; 
    247238        data->chip.write_buf = pdata->ctrl.write_buf; 
     
    251242        data->chip.options |= pdata->chip.options; 
    252243  
    253 diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h 
    254 index c2b9ac4..597e1a0 100644 
    255244--- a/include/linux/mtd/nand.h 
    256245+++ b/include/linux/mtd/nand.h 
    257 @@ -656,6 +656,7 @@ struct platform_nand_ctrl { 
     246@@ -657,6 +657,7 @@ struct platform_nand_ctrl { 
    258247        void (*cmd_ctrl)(struct mtd_info *mtd, int dat, unsigned int ctrl); 
    259248        void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); 
     
    263252 }; 
    264253  
    265 --  
    266 1.7.5.4 
    267  
  • trunk/target/linux/lantiq/patches/0017-MIPS-lantiq-adds-GPTU-driver.patch

    r28718 r28721  
    1212 create mode 100644 arch/mips/lantiq/xway/timer.c 
    1313 
    14 diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_timer.h b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h 
    15 new file mode 100644 
    16 index 0000000..ef564ab 
    1714--- /dev/null 
    1815+++ b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h 
     
    173170+ 
    174171+#endif /* __DANUBE_GPTU_DEV_H__2005_07_26__10_19__ */ 
    175 diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile 
    176 index ac7cc34..1f41239 100644 
    177172--- a/arch/mips/lantiq/xway/Makefile 
    178173+++ b/arch/mips/lantiq/xway/Makefile 
     
    183178 obj-$(CONFIG_SOC_XWAY) += clk-xway.o prom-xway.o 
    184179 obj-$(CONFIG_SOC_AMAZON_SE) += clk-ase.o prom-ase.o 
    185 diff --git a/arch/mips/lantiq/xway/timer.c b/arch/mips/lantiq/xway/timer.c 
    186 new file mode 100644 
    187 index 0000000..cac2ea8 
    188180--- /dev/null 
    189181+++ b/arch/mips/lantiq/xway/timer.c 
     
    10191011+module_init(lq_gptu_init); 
    10201012+module_exit(lq_gptu_exit); 
    1021 --  
    1022 1.7.5.4 
    1023  
  • trunk/target/linux/lantiq/patches/0018-MIPS-lantiq-adds-dwc_otg.patch

    r28718 r28721  
    4646 create mode 100644 drivers/usb/dwc_otg/dwc_otg_regs.h 
    4747 
    48 diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig 
    49 index 48f1781..b48c1bd 100644 
    5048--- a/drivers/usb/Kconfig 
    5149+++ b/drivers/usb/Kconfig 
     
    5957  
    6058 source "drivers/usb/renesas_usbhs/Kconfig" 
    61 diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile 
    62 index 30ddf8d..ba3b993 100644 
    6359--- a/drivers/usb/Makefile 
    6460+++ b/drivers/usb/Makefile 
     
    7268 obj-$(CONFIG_USB_PRINTER)      += class/ 
    7369 obj-$(CONFIG_USB_WDM)          += class/ 
    74 diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c 
    75 index a428aa0..115ae9a 100644 
    7670--- a/drivers/usb/core/hub.c 
    7771+++ b/drivers/usb/core/hub.c 
    78 @@ -2885,11 +2885,11 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1, 
     72@@ -2885,11 +2885,11 @@ hub_port_init (struct usb_hub *hub, stru 
    7973                udev->ttport = hdev->ttport; 
    8074        } else if (udev->speed != USB_SPEED_HIGH 
     
    9084                udev->ttport = port1; 
    9185        } 
    92 diff --git a/drivers/usb/dwc_otg/Kconfig b/drivers/usb/dwc_otg/Kconfig 
    93 new file mode 100644 
    94 index 0000000..e018490 
    9586--- /dev/null 
    9687+++ b/drivers/usb/dwc_otg/Kconfig 
     
    133124+        bool "Enable debug mode" 
    134125+        depends on DWC_OTG 
    135 diff --git a/drivers/usb/dwc_otg/Makefile b/drivers/usb/dwc_otg/Makefile 
    136 new file mode 100644 
    137 index 0000000..d4d2355 
    138126--- /dev/null 
    139127+++ b/drivers/usb/dwc_otg/Makefile 
     
    178166+#obj-$(CONFIG_DWC_OTG_IFX)     := dwc_otg_ifx.o 
    179167+#dwc_otg_ifx-objs              := dwc_otg_ifx.o 
    180 diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.c b/drivers/usb/dwc_otg/dwc_otg_attr.c 
    181 new file mode 100644 
    182 index 0000000..4675a5c 
    183168--- /dev/null 
    184169+++ b/drivers/usb/dwc_otg/dwc_otg_attr.c 
     
    986971+       device_remove_file(_dev, &dev_attr_wr_reg_test); 
    987972+} 
    988 diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.h b/drivers/usb/dwc_otg/dwc_otg_attr.h 
    989 new file mode 100644 
    990 index 0000000..4bbf7df 
    991973--- /dev/null 
    992974+++ b/drivers/usb/dwc_otg/dwc_otg_attr.h 
     
    10591041+ 
    10601042+#endif 
    1061 diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.c b/drivers/usb/dwc_otg/dwc_otg_cil.c 
    1062 new file mode 100644 
    1063 index 0000000..42c69eb 
    10641043--- /dev/null 
    10651044+++ b/drivers/usb/dwc_otg/dwc_otg_cil.c 
     
    40904069+} 
    40914070+ 
    4092 diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.h b/drivers/usb/dwc_otg/dwc_otg_cil.h 
    4093 new file mode 100644 
    4094 index 0000000..bbb9516 
    40954071--- /dev/null 
    40964072+++ b/drivers/usb/dwc_otg/dwc_otg_cil.h 
     
    50074983+ 
    50084984+#endif 
    5009 diff --git a/drivers/usb/dwc_otg/dwc_otg_cil_ifx.h b/drivers/usb/dwc_otg/dwc_otg_cil_ifx.h 
    5010 new file mode 100644 
    5011 index 0000000..b0298ec 
    50124985--- /dev/null 
    50134986+++ b/drivers/usb/dwc_otg/dwc_otg_cil_ifx.h 
     
    50715044+#endif // __DWC_OTG_CIL_IFX_H__ 
    50725045+ 
    5073 diff --git a/drivers/usb/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c 
    5074 new file mode 100644 
    5075 index 0000000..d469ab4 
    50765046--- /dev/null 
    50775047+++ b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c 
     
    57855755+        return retval; 
    57865756+} 
    5787 diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.c b/drivers/usb/dwc_otg/dwc_otg_driver.c 
    5788 new file mode 100644 
    5789 index 0000000..1b0daab 
    57905757--- /dev/null 
    57915758+++ b/drivers/usb/dwc_otg/dwc_otg_driver.c 
     
    70657032+ 
    70667033+*/ 
    7067 diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.h b/drivers/usb/dwc_otg/dwc_otg_driver.h 
    7068 new file mode 100644 
    7069 index 0000000..7e6940d 
    70707034--- /dev/null 
    70717035+++ b/drivers/usb/dwc_otg/dwc_otg_driver.h 
     
    71557119+ 
    71567120+#endif 
    7157 diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.c b/drivers/usb/dwc_otg/dwc_otg_hcd.c 
    7158 new file mode 100644 
    7159 index 0000000..ad6bc72 
    71607121--- /dev/null 
    71617122+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.c 
     
    100319992+} 
    100329993+#endif /* DWC_DEVICE_ONLY */ 
    10033 diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.h b/drivers/usb/dwc_otg/dwc_otg_hcd.h 
    10034 new file mode 100644 
    10035 index 0000000..8a20dff 
    100369994--- /dev/null 
    100379995+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.h 
     
    1071310671+#endif // __DWC_HCD_H__ 
    1071410672+#endif /* DWC_DEVICE_ONLY */ 
    10715 diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c 
    10716 new file mode 100644 
    10717 index 0000000..834b5e0 
    1071810673--- /dev/null 
    1071910674+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c 
     
    1256012515+ 
    1256112516+#endif /* DWC_DEVICE_ONLY */ 
    12562 diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c 
    12563 new file mode 100644 
    12564 index 0000000..fcb5ce6 
    1256512517--- /dev/null 
    1256612518+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c 
     
    1336013312+ 
    1336113313+#endif /* DWC_DEVICE_ONLY */ 
    13362 diff --git a/drivers/usb/dwc_otg/dwc_otg_ifx.c b/drivers/usb/dwc_otg/dwc_otg_ifx.c 
    13363 new file mode 100644 
    13364 index 0000000..0a4c209 
    1336513314--- /dev/null 
    1336613315+++ b/drivers/usb/dwc_otg/dwc_otg_ifx.c 
     
    1346613415+{ 
    1346713416+} 
    13468 diff --git a/drivers/usb/dwc_otg/dwc_otg_ifx.h b/drivers/usb/dwc_otg/dwc_otg_ifx.h 
    13469 new file mode 100644 
    13470 index 0000000..402d7a6 
    1347113417--- /dev/null 
    1347213418+++ b/drivers/usb/dwc_otg/dwc_otg_ifx.h 
     
    1355713503+} 
    1355813504+#endif //__DWC_OTG_IFX_H__ 
    13559 diff --git a/drivers/usb/dwc_otg/dwc_otg_plat.h b/drivers/usb/dwc_otg/dwc_otg_plat.h 
    13560 new file mode 100644 
    13561 index 0000000..727d0c4 
    1356213505--- /dev/null 
    1356313506+++ b/drivers/usb/dwc_otg/dwc_otg_plat.h 
     
    1383213775+#endif 
    1383313776+ 
    13834 diff --git a/drivers/usb/dwc_otg/dwc_otg_regs.h b/drivers/usb/dwc_otg/dwc_otg_regs.h 
    13835 new file mode 100644 
    13836 index 0000000..397a954 
    1383713777--- /dev/null 
    1383813778+++ b/drivers/usb/dwc_otg/dwc_otg_regs.h 
     
    1563515575+ 
    1563615576+#endif 
    15637 --  
    15638 1.7.5.4 
    15639  
  • trunk/target/linux/lantiq/patches/0019-MIPS-lantiq-adds-VPE-extensions.patch

    r28718 r28721  
     1From c6c810d83f0d95f54c3a6b338d219cec7ccef4c9 Mon Sep 17 00:00:00 2001 
     2From: John Crispin <blogic@openwrt.org> 
     3Date: Thu, 29 Sep 2011 20:30:40 +0200 
     4Subject: [PATCH 19/24] MIPS: lantiq: adds VPE extensions 
     5 
     6--- 
     7 arch/mips/Kconfig                  |   22 +++ 
     8 arch/mips/include/asm/mipsmtregs.h |   54 +++++++ 
     9 arch/mips/kernel/Makefile          |    3 +- 
     10 arch/mips/kernel/mips-mt.c         |   97 +++++++++++-- 
     11 arch/mips/kernel/mtsched_proc.c    |  279 ++++++++++++++++++++++++++++++++++++ 
     12 arch/mips/kernel/perf_proc.c       |  191 ++++++++++++++++++++++++ 
     13 arch/mips/kernel/proc.c            |   17 +++ 
     14 arch/mips/kernel/smtc.c            |    7 + 
     15 arch/mips/kernel/vpe.c             |  250 ++++++++++++++++++++++++++++++++- 
     16 9 files changed, 905 insertions(+), 15 deletions(-) 
     17 create mode 100644 arch/mips/kernel/mtsched_proc.c 
     18 create mode 100644 arch/mips/kernel/perf_proc.c 
     19 
    120--- a/arch/mips/Kconfig 
    221+++ b/arch/mips/Kconfig 
    3 @@ -1871,6 +1871,28 @@ config MIPS_VPE_LOADER 
     22@@ -1915,6 +1915,28 @@ config MIPS_VPE_LOADER 
    423          Includes a loader for loading an elf relocatable object 
    524          onto another VPE and running it. 
     
    141160--- a/arch/mips/kernel/Makefile 
    142161+++ b/arch/mips/kernel/Makefile 
    143 @@ -85,7 +85,8 @@ obj-$(CONFIG_MIPS32_O32)      += binfmt_elfo3 
     162@@ -86,7 +86,8 @@ obj-$(CONFIG_MIPS32_O32)      += binfmt_elfo3 
    144163  
    145164 obj-$(CONFIG_KGDB)             += kgdb.o 
     
    291310  
    292311 /* 
    293 --- a/arch/mips/kernel/proc.c 
    294 +++ b/arch/mips/kernel/proc.c 
    295 @@ -7,6 +7,7 @@ 
    296  #include <linux/kernel.h> 
    297  #include <linux/sched.h> 
    298  #include <linux/seq_file.h> 
    299 +#include <linux/proc_fs.h> 
    300  #include <asm/bootinfo.h> 
    301  #include <asm/cpu.h> 
    302  #include <asm/cpu-features.h> 
    303 @@ -110,3 +111,19 @@ const struct seq_operations cpuinfo_op = 
    304         .stop   = c_stop, 
    305         .show   = show_cpuinfo, 
    306  }; 
    307 + 
    308 +/* 
    309 + * Support for MIPS/local /proc hooks in /proc/mips/ 
    310 + */ 
    311 + 
    312 +static struct proc_dir_entry *mips_proc = NULL; 
    313 + 
    314 +struct proc_dir_entry *get_mips_proc_dir(void) 
    315 +{ 
    316 +       /* 
    317 +        * This ought not to be preemptable. 
    318 +        */ 
    319 +       if(mips_proc == NULL) 
    320 +               mips_proc = proc_mkdir("mips", NULL); 
    321 +       return(mips_proc); 
    322 +} 
    323 --- a/arch/mips/kernel/smtc.c 
    324 +++ b/arch/mips/kernel/smtc.c 
    325 @@ -1334,6 +1334,13 @@ void smtc_get_new_mmu_context(struct mm_ 
    326         asid = asid_cache(cpu); 
    327   
    328         do { 
    329 +#ifdef CONFIG_IFX_VPE_EXT 
    330 +               /* If TLB is shared between AP and RP (AP is running SMTC), 
    331 +                  leave out max ASID i.e., ASID_MASK for RP 
    332 +                */ 
    333 +               if (!nostlb && ((asid & ASID_MASK) == (ASID_MASK - 1))) 
    334 +                       asid++; 
    335 +#endif 
    336                 if (!((asid += ASID_INC) & ASID_MASK) ) { 
    337                         if (cpu_has_vtag_icache) 
    338                                 flush_icache_all(); 
    339 --- a/arch/mips/kernel/vpe.c 
    340 +++ b/arch/mips/kernel/vpe.c 
    341 @@ -76,6 +76,58 @@ static struct kspd_notifications kspd_ev 
    342  static int kspd_events_reqd; 
    343  #endif 
    344   
    345 +#ifdef CONFIG_IFX_VPE_EXT 
    346 +static int is_sdepgm; 
    347 +extern int stlb; 
    348 +extern int vpe0_wired; 
    349 +extern int vpe1_wired; 
    350 +unsigned int vpe1_load_addr; 
    351 + 
    352 +static int __init load_address(char *str) 
    353 +{ 
    354 +       get_option(&str, &vpe1_load_addr); 
    355 +       return 1; 
    356 +} 
    357 +__setup("vpe1_load_addr=", load_address); 
    358 + 
    359 +#include <asm/mipsmtregs.h> 
    360 +#define write_vpe_c0_wired(val)                mttc0(6, 0, val) 
    361 + 
    362 +#ifndef COMMAND_LINE_SIZE 
    363 +#      define COMMAND_LINE_SIZE        512 
    364 +#endif 
    365 + 
    366 +char command_line[COMMAND_LINE_SIZE * 2]; 
    367 + 
    368 +static unsigned int vpe1_mem; 
    369 +static int __init vpe1mem(char *str) 
    370 +{ 
    371 +       vpe1_mem = memparse(str, &str); 
    372 +       return 1; 
    373 +} 
    374 +__setup("vpe1_mem=", vpe1mem); 
    375 + 
    376 +uint32_t vpe1_wdog_ctr; 
    377 +static int __init wdog_ctr(char *str) 
    378 +{ 
    379 +       get_option(&str, &vpe1_wdog_ctr); 
    380 +       return 1; 
    381 +} 
    382 + 
    383 +__setup("vpe1_wdog_ctr_addr=", wdog_ctr); 
    384 +EXPORT_SYMBOL(vpe1_wdog_ctr); 
    385 + 
    386 +uint32_t vpe1_wdog_timeout; 
    387 +static int __init wdog_timeout(char *str) 
    388 +{ 
    389 +        get_option(&str, &vpe1_wdog_timeout); 
    390 +        return 1; 
    391 +} 
    392 + 
    393 +__setup("vpe1_wdog_timeout=", wdog_timeout); 
    394 +EXPORT_SYMBOL(vpe1_wdog_timeout); 
    395 + 
    396 +#endif 
    397  /* grab the likely amount of memory we will need. */ 
    398  #ifdef CONFIG_MIPS_VPE_LOADER_TOM 
    399  #define P_SIZE (2 * 1024 * 1024) 
    400 @@ -268,6 +320,13 @@ static void *alloc_progmem(unsigned long 
    401         void *addr; 
    402   
    403  #ifdef CONFIG_MIPS_VPE_LOADER_TOM 
    404 +#ifdef CONFIG_IFX_VPE_EXT 
    405 +       if (vpe1_load_addr) { 
    406 +               memset((void *)vpe1_load_addr, 0, len); 
    407 +               return (void *)vpe1_load_addr; 
    408 +       } 
    409 +#endif 
    410 + 
    411         /* 
    412          * This means you must tell Linux to use less memory than you 
    413          * physically have, for example by passing a mem= boot argument. 
    414 @@ -746,6 +805,12 @@ static int vpe_run(struct vpe * v) 
    415         } 
    416   
    417         /* Write the address we want it to start running from in the TCPC register. */ 
    418 +#if defined(CONFIG_IFX_VPE_EXT) && 0 
    419 +       if (stlb) 
    420 +               write_vpe_c0_wired(vpe0_wired + vpe1_wired); 
    421 +       else 
    422 +               write_vpe_c0_wired(vpe1_wired); 
    423 +#endif 
    424         write_tc_c0_tcrestart((unsigned long)v->__start); 
    425         write_tc_c0_tccontext((unsigned long)0); 
    426   
    427 @@ -759,6 +824,20 @@ static int vpe_run(struct vpe * v) 
    428   
    429         write_tc_c0_tchalt(read_tc_c0_tchalt() & ~TCHALT_H); 
    430   
    431 +#if defined(CONFIG_IFX_VPE_EXT) && 0 
    432 +       /* 
    433 +        * $a2 & $a3 are used to pass command line parameters to VPE1. $a2 
    434 +        * points to the start of the command line string and $a3 points to 
    435 +        * the end of the string. This convention is identical to the Linux 
    436 +        * kernel boot parameter passing mechanism. Please note that $a3 is 
    437 +        * used to pass physical memory size or 0 in SDE tool kit. So, if you 
    438 +        * are passing comand line parameters through $a2 & $a3 SDE programs 
    439 +        * don't work as desired. 
    440 +        */ 
    441 +       mttgpr(6, command_line); 
    442 +       mttgpr(7, (command_line + strlen(command_line))); 
    443 +       if (is_sdepgm) 
    444 +#endif 
    445         /* 
    446          * The sde-kit passes 'memsize' to __start in $a3, so set something 
    447          * here...  Or set $a3 to zero and define DFLT_STACK_SIZE and 
    448 @@ -833,6 +912,9 @@ static int find_vpe_symbols(struct vpe * 
    449         if ( (v->__start == 0) || (v->shared_ptr == NULL)) 
    450                 return -1; 
    451   
    452 +#ifdef CONFIG_IFX_VPE_EXT 
    453 +       is_sdepgm = 1; 
    454 +#endif 
    455         return 0; 
    456  } 
    457   
    458 @@ -994,6 +1076,15 @@ static int vpe_elfload(struct vpe * v) 
    459                            (unsigned long)v->load_addr + v->len); 
    460   
    461         if ((find_vpe_symbols(v, sechdrs, symindex, strtab, &mod)) < 0) { 
    462 +#ifdef CONFIG_IFX_VPE_EXT 
    463 +               if (vpe1_load_addr) { 
    464 +                       /* Conversion to KSEG1 is required ??? */ 
    465 +                       v->__start = KSEG1ADDR(vpe1_load_addr); 
    466 +                       is_sdepgm = 0; 
    467 +                       return 0; 
    468 +               } 
    469 +#endif 
    470 + 
    471                 if (v->__start == 0) { 
    472                         printk(KERN_WARNING "VPE loader: program does not contain " 
    473                                "a __start symbol\n"); 
    474 @@ -1064,6 +1155,9 @@ static int vpe_open(struct inode *inode, 
    475         struct vpe_notifications *not; 
    476         struct vpe *v; 
    477         int ret; 
    478 +#ifdef CONFIG_IFX_VPE_EXT 
    479 +   int progsize; 
    480 +#endif 
    481   
    482         if (minor != iminor(inode)) { 
    483                 /* assume only 1 device at the moment. */ 
    484 @@ -1089,7 +1183,12 @@ static int vpe_open(struct inode *inode, 
    485                 release_progmem(v->load_addr); 
    486                 cleanup_tc(get_tc(tclimit)); 
    487         } 
    488 - 
    489 +#ifdef CONFIG_IFX_VPE_EXT 
    490 +       progsize = (vpe1_mem  != 0) ? vpe1_mem : P_SIZE; 
    491 +       //printk("progsize = %x\n", progsize); 
    492 +       v->pbuffer = vmalloc(progsize); 
    493 +       v->plen = progsize; 
    494 +#else 
    495         /* this of-course trashes what was there before... */ 
    496         v->pbuffer = vmalloc(P_SIZE); 
    497         if (!v->pbuffer) { 
    498 @@ -1097,11 +1196,14 @@ static int vpe_open(struct inode *inode, 
    499                 return -ENOMEM; 
    500         } 
    501         v->plen = P_SIZE; 
    502 +#endif 
    503         v->load_addr = NULL; 
    504         v->len = 0; 
    505   
    506 +#if 0 
    507         v->uid = filp->f_cred->fsuid; 
    508         v->gid = filp->f_cred->fsgid; 
    509 +#endif 
    510   
    511  #ifdef CONFIG_MIPS_APSP_KSPD 
    512         /* get kspd to tell us when a syscall_exit happens */ 
    513 @@ -1349,6 +1451,133 @@ static void kspd_sp_exit( int sp_id) 
    514         cleanup_tc(get_tc(sp_id)); 
    515  } 
    516  #endif 
    517 +#ifdef CONFIG_IFX_VPE_EXT 
    518 +int32_t vpe1_sw_start(void* sw_start_addr, uint32_t tcmask, uint32_t flags) 
    519 +{ 
    520 +       enum vpe_state state; 
    521 +       struct vpe *v = get_vpe(tclimit); 
    522 +       struct vpe_notifications *not; 
    523 + 
    524 +       if (tcmask || flags) { 
    525 +               printk(KERN_WARNING "Currently tcmask and flags should be 0.\ 
    526 +                               other values not supported\n"); 
    527 +               return -1; 
    528 +       } 
    529 + 
    530 +       state = xchg(&v->state, VPE_STATE_INUSE); 
    531 +       if (state != VPE_STATE_UNUSED) { 
    532 +               vpe_stop(v); 
    533 + 
    534 +               list_for_each_entry(not, &v->notify, list) { 
    535 +                       not->stop(tclimit); 
    536 +               } 
    537 +       } 
    538 + 
    539 +       v->__start = (unsigned long)sw_start_addr; 
    540 +       is_sdepgm = 0; 
    541 + 
    542 +       if (!vpe_run(v)) { 
    543 +               printk(KERN_DEBUG "VPE loader: VPE1 running successfully\n"); 
    544 +               return 0; 
    545 +       } 
    546 +       return -1; 
    547 +} 
    548 + 
    549 +EXPORT_SYMBOL(vpe1_sw_start); 
    550 + 
    551 +int32_t vpe1_sw_stop(uint32_t flags) 
    552 +{ 
    553 +       struct vpe *v = get_vpe(tclimit); 
    554 + 
    555 +       if (!vpe_free(v)) { 
    556 +               printk(KERN_DEBUG "RP Stopped\n"); 
    557 +               return 0; 
    558 +       } 
    559 +       else 
    560 +               return -1; 
    561 +} 
    562 + 
    563 +EXPORT_SYMBOL(vpe1_sw_stop); 
    564 + 
    565 +uint32_t vpe1_get_load_addr (uint32_t flags) 
    566 +{ 
    567 +       return vpe1_load_addr; 
    568 +} 
    569 + 
    570 +EXPORT_SYMBOL(vpe1_get_load_addr); 
    571 + 
    572 +uint32_t vpe1_get_max_mem (uint32_t flags) 
    573 +{ 
    574 +       if (!vpe1_mem) 
    575 +               return P_SIZE; 
    576 +       else 
    577 +               return vpe1_mem; 
    578 +} 
    579 + 
    580 +EXPORT_SYMBOL(vpe1_get_max_mem); 
    581 + 
    582 +void* vpe1_get_cmdline_argument(void) 
    583 +{ 
    584 +       return saved_command_line; 
    585 +} 
    586 + 
    587 +EXPORT_SYMBOL(vpe1_get_cmdline_argument); 
    588 + 
    589 +int32_t vpe1_set_boot_param(char *field, char *value, char flags) 
    590 +{ 
    591 +       char *ptr, string[64]; 
    592 +       int start_off, end_off; 
    593 +       if (!field) 
    594 +               return -1; 
    595 +       strcpy(string, field); 
    596 +       if (value) { 
    597 +               strcat(string, "="); 
    598 +               strcat(string, value); 
    599 +               strcat(command_line, " "); 
    600 +               strcat(command_line, string); 
    601 +       } 
    602 +       else { 
    603 +               ptr = strstr(command_line, string); 
    604 +               if (ptr) { 
    605 +                       start_off = ptr - command_line; 
    606 +                       ptr += strlen(string); 
    607 +                       while ((*ptr != ' ') && (*ptr != '\0')) 
    608 +                               ptr++; 
    609 +                       end_off = ptr - command_line; 
    610 +                       command_line[start_off] = '\0'; 
    611 +                       strcat (command_line, command_line+end_off); 
    612 +               } 
    613 +       } 
    614 +       return 0; 
    615 +} 
    616 + 
    617 +EXPORT_SYMBOL(vpe1_set_boot_param); 
    618 + 
    619 +int32_t vpe1_get_boot_param(char *field, char **value, char flags) 
    620 +{ 
    621 +       char *ptr, string[64]; 
    622 +       int i = 0; 
    623 +       if (!field) 
    624 +               return -1; 
    625 +       if ((ptr = strstr(command_line, field))) { 
    626 +               ptr += strlen(field) + 1; /* including = */ 
    627 +               while ((*ptr != ' ') && (*ptr != '\0')) 
    628 +                       string[i++] = *ptr++; 
    629 +               string[i] = '\0'; 
    630 +               *value = kmalloc((strlen(string) + 1), GFP_KERNEL); 
    631 +               if (*value != NULL) 
    632 +                       strcpy(*value, string); 
    633 +       } 
    634 +       else 
    635 +               *value = NULL; 
    636 + 
    637 +       return 0; 
    638 +} 
    639 + 
    640 +EXPORT_SYMBOL(vpe1_get_boot_param); 
    641 + 
    642 +extern void configure_tlb(void); 
    643 +#endif 
    644   
    645  static ssize_t store_kill(struct device *dev, struct device_attribute *attr, 
    646                           const char *buf, size_t len) 
    647 @@ -1430,6 +1659,18 @@ static int __init vpe_module_init(void) 
    648                 printk("VPE loader: not a MIPS MT capable processor\n"); 
    649                 return -ENODEV; 
    650         } 
    651 +#ifdef CONFIG_IFX_VPE_EXT 
    652 +#ifndef CONFIG_MIPS_MT_SMTC 
    653 +       configure_tlb(); 
    654 +#endif 
    655 +#endif 
    656 + 
    657 +#ifndef CONFIG_MIPS_MT_SMTC 
    658 +       if (!vpelimit) 
    659 +               vpelimit = 1; 
    660 +       if (!tclimit) 
    661 +               tclimit = 1; 
    662 +#endif 
    663   
    664         if (vpelimit == 0) { 
    665                 printk(KERN_WARNING "No VPEs reserved for AP/SP, not " 
    666 @@ -1474,10 +1715,12 @@ static int __init vpe_module_init(void) 
    667         mtflags = dmt(); 
    668         vpflags = dvpe(); 
    669   
    670 +       back_to_back_c0_hazard(); 
    671 + 
    672         /* Put MVPE's into 'configuration state' */ 
    673         set_c0_mvpcontrol(MVPCONTROL_VPC); 
    674   
    675 -       /* dump_mtregs(); */ 
    676 +       dump_mtregs(); 
    677   
    678         val = read_c0_mvpconf0(); 
    679         hw_tcs = (val & MVPCONF0_PTC) + 1; 
    680 @@ -1489,6 +1732,7 @@ static int __init vpe_module_init(void) 
    681                  * reschedule send IPIs or similar we might hang. 
    682                  */ 
    683                 clear_c0_mvpcontrol(MVPCONTROL_VPC); 
    684 +               back_to_back_c0_hazard(); 
    685                 evpe(vpflags); 
    686                 emt(mtflags); 
    687                 local_irq_restore(flags); 
    688 @@ -1514,6 +1758,7 @@ static int __init vpe_module_init(void) 
    689                         } 
    690   
    691                         v->ntcs = hw_tcs - tclimit; 
    692 +                        write_tc_c0_tcbind((read_tc_c0_tcbind() & ~TCBIND_CURVPE) | 1); 
    693   
    694                         /* add the tc to the list of this vpe's tc's. */ 
    695                         list_add(&t->tc, &v->tc); 
    696 @@ -1582,6 +1827,7 @@ static int __init vpe_module_init(void) 
    697  out_reenable: 
    698         /* release config state */ 
    699         clear_c0_mvpcontrol(MVPCONTROL_VPC); 
    700 +       back_to_back_c0_hazard(); 
    701   
    702         evpe(vpflags); 
    703         emt(mtflags); 
    704312--- /dev/null 
    705313+++ b/arch/mips/kernel/mtsched_proc.c 
     
    1178786+/* Automagically create the entry */ 
    1179787+module_init(init_perf_proc); 
     788--- a/arch/mips/kernel/proc.c 
     789+++ b/arch/mips/kernel/proc.c 
     790@@ -7,6 +7,7 @@ 
     791 #include <linux/kernel.h> 
     792 #include <linux/sched.h> 
     793 #include <linux/seq_file.h> 
     794+#include <linux/proc_fs.h> 
     795 #include <asm/bootinfo.h> 
     796 #include <asm/cpu.h> 
     797 #include <asm/cpu-features.h> 
     798@@ -110,3 +111,19 @@ const struct seq_operations cpuinfo_op = 
     799        .stop   = c_stop, 
     800        .show   = show_cpuinfo, 
     801 }; 
     802+ 
     803+/* 
     804+ * Support for MIPS/local /proc hooks in /proc/mips/ 
     805+ */ 
     806+ 
     807+static struct proc_dir_entry *mips_proc = NULL; 
     808+ 
     809+struct proc_dir_entry *get_mips_proc_dir(void) 
     810+{ 
     811+       /* 
     812+        * This ought not to be preemptable. 
     813+        */ 
     814+       if(mips_proc == NULL) 
     815+               mips_proc = proc_mkdir("mips", NULL); 
     816+       return(mips_proc); 
     817+} 
     818--- a/arch/mips/kernel/smtc.c 
     819+++ b/arch/mips/kernel/smtc.c 
     820@@ -1334,6 +1334,13 @@ void smtc_get_new_mmu_context(struct mm_ 
     821        asid = asid_cache(cpu); 
     822  
     823        do { 
     824+#ifdef CONFIG_IFX_VPE_EXT 
     825+               /* If TLB is shared between AP and RP (AP is running SMTC), 
     826+                  leave out max ASID i.e., ASID_MASK for RP 
     827+                */ 
     828+               if (!nostlb && ((asid & ASID_MASK) == (ASID_MASK - 1))) 
     829+                       asid++; 
     830+#endif 
     831                if (!((asid += ASID_INC) & ASID_MASK) ) { 
     832                        if (cpu_has_vtag_icache) 
     833                                flush_icache_all(); 
     834--- a/arch/mips/kernel/vpe.c 
     835+++ b/arch/mips/kernel/vpe.c 
     836@@ -76,6 +76,58 @@ static struct kspd_notifications kspd_ev 
     837 static int kspd_events_reqd; 
     838 #endif 
     839  
     840+#ifdef CONFIG_IFX_VPE_EXT 
     841+static int is_sdepgm; 
     842+extern int stlb; 
     843+extern int vpe0_wired; 
     844+extern int vpe1_wired; 
     845+unsigned int vpe1_load_addr; 
     846+ 
     847+static int __init load_address(char *str) 
     848+{ 
     849+       get_option(&str, &vpe1_load_addr); 
     850+       return 1; 
     851+} 
     852+__setup("vpe1_load_addr=", load_address); 
     853+ 
     854+#include <asm/mipsmtregs.h> 
     855+#define write_vpe_c0_wired(val)                mttc0(6, 0, val) 
     856+ 
     857+#ifndef COMMAND_LINE_SIZE 
     858+#      define COMMAND_LINE_SIZE        512 
     859+#endif 
     860+ 
     861+char command_line[COMMAND_LINE_SIZE * 2]; 
     862+ 
     863+static unsigned int vpe1_mem; 
     864+static int __init vpe1mem(char *str) 
     865+{ 
     866+       vpe1_mem = memparse(str, &str); 
     867+       return 1; 
     868+} 
     869+__setup("vpe1_mem=", vpe1mem); 
     870+ 
     871+uint32_t vpe1_wdog_ctr; 
     872+static int __init wdog_ctr(char *str) 
     873+{ 
     874+       get_option(&str, &vpe1_wdog_ctr); 
     875+       return 1; 
     876+} 
     877+ 
     878+__setup("vpe1_wdog_ctr_addr=", wdog_ctr); 
     879+EXPORT_SYMBOL(vpe1_wdog_ctr); 
     880+ 
     881+uint32_t vpe1_wdog_timeout; 
     882+static int __init wdog_timeout(char *str) 
     883+{ 
     884+        get_option(&str, &vpe1_wdog_timeout); 
     885+        return 1; 
     886+} 
     887+ 
     888+__setup("vpe1_wdog_timeout=", wdog_timeout); 
     889+EXPORT_SYMBOL(vpe1_wdog_timeout); 
     890+ 
     891+#endif 
     892 /* grab the likely amount of memory we will need. */ 
     893 #ifdef CONFIG_MIPS_VPE_LOADER_TOM 
     894 #define P_SIZE (2 * 1024 * 1024) 
     895@@ -268,6 +320,13 @@ static void *alloc_progmem(unsigned long 
     896        void *addr; 
     897  
     898 #ifdef CONFIG_MIPS_VPE_LOADER_TOM 
     899+#ifdef CONFIG_IFX_VPE_EXT 
     900+       if (vpe1_load_addr) { 
     901+               memset((void *)vpe1_load_addr, 0, len); 
     902+               return (void *)vpe1_load_addr; 
     903+       } 
     904+#endif 
     905+ 
     906        /* 
     907         * This means you must tell Linux to use less memory than you 
     908         * physically have, for example by passing a mem= boot argument. 
     909@@ -746,6 +805,12 @@ static int vpe_run(struct vpe * v) 
     910        } 
     911  
     912        /* Write the address we want it to start running from in the TCPC register. */ 
     913+#if defined(CONFIG_IFX_VPE_EXT) && 0 
     914+       if (stlb) 
     915+               write_vpe_c0_wired(vpe0_wired + vpe1_wired); 
     916+       else 
     917+               write_vpe_c0_wired(vpe1_wired); 
     918+#endif 
     919        write_tc_c0_tcrestart((unsigned long)v->__start); 
     920        write_tc_c0_tccontext((unsigned long)0); 
     921  
     922@@ -759,6 +824,20 @@ static int vpe_run(struct vpe * v) 
     923  
     924        write_tc_c0_tchalt(read_tc_c0_tchalt() & ~TCHALT_H); 
     925  
     926+#if defined(CONFIG_IFX_VPE_EXT) && 0 
     927+       /* 
     928+        * $a2 & $a3 are used to pass command line parameters to VPE1. $a2 
     929+        * points to the start of the command line string and $a3 points to 
     930+        * the end of the string. This convention is identical to the Linux 
     931+        * kernel boot parameter passing mechanism. Please note that $a3 is 
     932+        * used to pass physical memory size or 0 in SDE tool kit. So, if you 
     933+        * are passing comand line parameters through $a2 & $a3 SDE programs 
     934+        * don't work as desired. 
     935+        */ 
     936+       mttgpr(6, command_line); 
     937+       mttgpr(7, (command_line + strlen(command_line))); 
     938+       if (is_sdepgm) 
     939+#endif 
     940        /* 
     941         * The sde-kit passes 'memsize' to __start in $a3, so set something 
     942         * here...  Or set $a3 to zero and define DFLT_STACK_SIZE and 
     943@@ -833,6 +912,9 @@ static int find_vpe_symbols(struct vpe * 
     944        if ( (v->__start == 0) || (v->shared_ptr == NULL)) 
     945                return -1; 
     946  
     947+#ifdef CONFIG_IFX_VPE_EXT 
     948+       is_sdepgm = 1; 
     949+#endif 
     950        return 0; 
     951 } 
     952  
     953@@ -994,6 +1076,15 @@ static int vpe_elfload(struct vpe * v) 
     954                           (unsigned long)v->load_addr + v->len); 
     955  
     956        if ((find_vpe_symbols(v, sechdrs, symindex, strtab, &mod)) < 0) { 
     957+#ifdef CONFIG_IFX_VPE_EXT 
     958+               if (vpe1_load_addr) { 
     959+                       /* Conversion to KSEG1 is required ??? */ 
     960+                       v->__start = KSEG1ADDR(vpe1_load_addr); 
     961+                       is_sdepgm = 0; 
     962+                       return 0; 
     963+               } 
     964+#endif 
     965+ 
     966                if (v->__start == 0) { 
     967                        printk(KERN_WARNING "VPE loader: program does not contain " 
     968                               "a __start symbol\n"); 
     969@@ -1064,6 +1155,9 @@ static int vpe_open(struct inode *inode, 
     970        struct vpe_notifications *not; 
     971        struct vpe *v; 
     972        int ret; 
     973+#ifdef CONFIG_IFX_VPE_EXT 
     974+   int progsize; 
     975+#endif 
     976  
     977        if (minor != iminor(inode)) { 
     978                /* assume only 1 device at the moment. */ 
     979@@ -1089,7 +1183,12 @@ static int vpe_open(struct inode *inode, 
     980                release_progmem(v->load_addr); 
     981                cleanup_tc(get_tc(tclimit)); 
     982        } 
     983- 
     984+#ifdef CONFIG_IFX_VPE_EXT 
     985+       progsize = (vpe1_mem  != 0) ? vpe1_mem : P_SIZE; 
     986+       //printk("progsize = %x\n", progsize); 
     987+       v->pbuffer = vmalloc(progsize); 
     988+       v->plen = progsize; 
     989+#else 
     990        /* this of-course trashes what was there before... */ 
     991        v->pbuffer = vmalloc(P_SIZE); 
     992        if (!v->pbuffer) { 
     993@@ -1097,11 +1196,14 @@ static int vpe_open(struct inode *inode, 
     994                return -ENOMEM; 
     995        } 
     996        v->plen = P_SIZE; 
     997+#endif 
     998        v->load_addr = NULL; 
     999        v->len = 0; 
     1000  
     1001+#if 0 
     1002        v->uid = filp->f_cred->fsuid; 
     1003        v->gid = filp->f_cred->fsgid; 
     1004+#endif 
     1005  
     1006 #ifdef CONFIG_MIPS_APSP_KSPD 
     1007        /* get kspd to tell us when a syscall_exit happens */ 
     1008@@ -1349,6 +1451,133 @@ static void kspd_sp_exit( int sp_id) 
     1009        cleanup_tc(get_tc(sp_id)); 
     1010 } 
     1011 #endif 
     1012+#ifdef CONFIG_IFX_VPE_EXT 
     1013+int32_t vpe1_sw_start(void* sw_start_addr, uint32_t tcmask, uint32_t flags) 
     1014+{ 
     1015+       enum vpe_state state; 
     1016+       struct vpe *v = get_vpe(tclimit); 
     1017+       struct vpe_notifications *not; 
     1018+ 
     1019+       if (tcmask || flags) { 
     1020+               printk(KERN_WARNING "Currently tcmask and flags should be 0.\ 
     1021+                               other values not supported\n"); 
     1022+               return -1; 
     1023+       } 
     1024+ 
     1025+       state = xchg(&v->state, VPE_STATE_INUSE); 
     1026+       if (state != VPE_STATE_UNUSED) { 
     1027+               vpe_stop(v); 
     1028+ 
     1029+               list_for_each_entry(not, &v->notify, list) { 
     1030+                       not->stop(tclimit); 
     1031+               } 
     1032+       } 
     1033+ 
     1034+       v->__start = (unsigned long)sw_start_addr; 
     1035+       is_sdepgm = 0; 
     1036+ 
     1037+       if (!vpe_run(v)) { 
     1038+               printk(KERN_DEBUG "VPE loader: VPE1 running successfully\n"); 
     1039+               return 0; 
     1040+       } 
     1041+       return -1; 
     1042+} 
     1043+ 
     1044+EXPORT_SYMBOL(vpe1_sw_start); 
     1045+ 
     1046+int32_t vpe1_sw_stop(uint32_t flags) 
     1047+{ 
     1048+       struct vpe *v = get_vpe(tclimit); 
     1049+ 
     1050+       if (!vpe_free(v)) { 
     1051+               printk(KERN_DEBUG "RP Stopped\n"); 
     1052+               return 0; 
     1053+       } 
     1054+       else 
     1055+               return -1; 
     1056+} 
     1057+ 
     1058+EXPORT_SYMBOL(vpe1_sw_stop); 
     1059+ 
     1060+uint32_t vpe1_get_load_addr (uint32_t flags) 
     1061+{ 
     1062+       return vpe1_load_addr; 
     1063+} 
     1064+ 
     1065+EXPORT_SYMBOL(vpe1_get_load_addr); 
     1066+ 
     1067+uint32_t vpe1_get_max_mem (uint32_t flags) 
     1068+{ 
     1069+       if (!vpe1_mem) 
     1070+               return P_SIZE; 
     1071+       else 
     1072+               return vpe1_mem; 
     1073+} 
     1074+ 
     1075+EXPORT_SYMBOL(vpe1_get_max_mem); 
     1076+ 
     1077+void* vpe1_get_cmdline_argument(void) 
     1078+{ 
     1079+       return saved_command_line; 
     1080+} 
     1081+ 
     1082+EXPORT_SYMBOL(vpe1_get_cmdline_argument); 
     1083+ 
     1084+int32_t vpe1_set_boot_param(char *field, char *value, char flags) 
     1085+{ 
     1086+       char *ptr, string[64]; 
     1087+       int start_off, end_off; 
     1088+       if (!field) 
     1089+               return -1; 
     1090+       strcpy(string, field); 
     1091+       if (value) { 
     1092+               strcat(string, "="); 
     1093+               strcat(string, value); 
     1094+               strcat(command_line, " "); 
     1095+               strcat(command_line, string); 
     1096+       } 
     1097+       else { 
     1098+               ptr = strstr(command_line, string); 
     1099+               if (ptr) { 
     1100+                       start_off = ptr - command_line; 
     1101+                       ptr += strlen(string); 
     1102+                       while ((*ptr != ' ') && (*ptr != '\0')) 
     1103+                               ptr++; 
     1104+                       end_off = ptr - command_line; 
     1105+                       command_line[start_off] = '\0'; 
     1106+                       strcat (command_line, command_line+end_off); 
     1107+               } 
     1108+       } 
     1109+       return 0; 
     1110+} 
     1111+ 
     1112+EXPORT_SYMBOL(vpe1_set_boot_param); 
     1113+ 
     1114+int32_t vpe1_get_boot_param(char *field, char **value, char flags) 
     1115+{ 
     1116+       char *ptr, string[64]; 
     1117+       int i = 0; 
     1118+       if (!field) 
     1119+               return -1; 
     1120+       if ((ptr = strstr(command_line, field))) { 
     1121+               ptr += strlen(field) + 1; /* including = */ 
     1122+               while ((*ptr != ' ') && (*ptr != '\0')) 
     1123+                       string[i++] = *ptr++; 
     1124+               string[i] = '\0'; 
     1125+               *value = kmalloc((strlen(string) + 1), GFP_KERNEL); 
     1126+               if (*value != NULL) 
     1127+                       strcpy(*value, string); 
     1128+       } 
     1129+       else 
     1130+               *value = NULL; 
     1131+ 
     1132+       return 0; 
     1133+} 
     1134+ 
     1135+EXPORT_SYMBOL(vpe1_get_boot_param); 
     1136+ 
     1137+extern void configure_tlb(void); 
     1138+#endif 
     1139  
     1140 static ssize_t store_kill(struct device *dev, struct device_attribute *attr, 
     1141                          const char *buf, size_t len) 
     1142@@ -1430,6 +1659,18 @@ static int __init vpe_module_init(void) 
     1143                printk("VPE loader: not a MIPS MT capable processor\n"); 
     1144                return -ENODEV; 
     1145        } 
     1146+#ifdef CONFIG_IFX_VPE_EXT 
     1147+#ifndef CONFIG_MIPS_MT_SMTC 
     1148+       configure_tlb(); 
     1149+#endif 
     1150+#endif 
     1151+ 
     1152+#ifndef CONFIG_MIPS_MT_SMTC 
     1153+       if (!vpelimit) 
     1154+               vpelimit = 1; 
     1155+       if (!tclimit) 
     1156+               tclimit = 1; 
     1157+#endif 
     1158  
     1159        if (vpelimit == 0) { 
     1160                printk(KERN_WARNING "No VPEs reserved for AP/SP, not " 
     1161@@ -1474,10 +1715,12 @@ static int __init vpe_module_init(void) 
     1162        mtflags = dmt(); 
     1163        vpflags = dvpe(); 
     1164  
     1165+       back_to_back_c0_hazard(); 
     1166+ 
     1167        /* Put MVPE's into 'configuration state' */ 
     1168        set_c0_mvpcontrol(MVPCONTROL_VPC); 
     1169  
     1170-       /* dump_mtregs(); */ 
     1171+       dump_mtregs(); 
     1172  
     1173        val = read_c0_mvpconf0(); 
     1174        hw_tcs = (val & MVPCONF0_PTC) + 1; 
     1175@@ -1489,6 +1732,7 @@ static int __init vpe_module_init(void) 
     1176                 * reschedule send IPIs or similar we might hang. 
     1177                 */ 
     1178                clear_c0_mvpcontrol(MVPCONTROL_VPC); 
     1179+               back_to_back_c0_hazard(); 
     1180                evpe(vpflags); 
     1181                emt(mtflags); 
     1182                local_irq_restore(flags); 
     1183@@ -1514,6 +1758,7 @@ static int __init vpe_module_init(void) 
     1184                        } 
     1185  
     1186                        v->ntcs = hw_tcs - tclimit; 
     1187+                        write_tc_c0_tcbind((read_tc_c0_tcbind() & ~TCBIND_CURVPE) | 1); 
     1188  
     1189                        /* add the tc to the list of this vpe's tc's. */ 
     1190                        list_add(&t->tc, &v->tc); 
     1191@@ -1582,6 +1827,7 @@ static int __init vpe_module_init(void) 
     1192 out_reenable: 
     1193        /* release config state */ 
     1194        clear_c0_mvpcontrol(MVPCONTROL_VPC); 
     1195+       back_to_back_c0_hazard(); 
     1196  
     1197        evpe(vpflags); 
     1198        emt(mtflags); 
  • trunk/target/linux/lantiq/patches/0020-MIPS-lantiq-adds-falcon-VPE-softdog.patch

    r28718 r28721  
    1111 create mode 100644 arch/mips/lantiq/falcon/softdog_vpe.c 
    1212 
    13 Index: linux-3.0.3/arch/mips/include/asm/mach-lantiq/falcon/vpe.h 
    14 =================================================================== 
    15 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    16 +++ linux-3.0.3/arch/mips/include/asm/mach-lantiq/falcon/vpe.h  2011-10-05 13:26:22.732981532 +0200 
     13--- /dev/null 
     14+++ b/arch/mips/include/asm/mach-lantiq/falcon/vpe.h 
    1715@@ -0,0 +1,44 @@ 
    1816+/* 
     
    6058+ 
    6159+#endif 
    62 Index: linux-3.0.3/arch/mips/lantiq/falcon/softdog_vpe.c 
    63 =================================================================== 
    64 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    65 +++ linux-3.0.3/arch/mips/lantiq/falcon/softdog_vpe.c   2011-10-05 13:26:22.736981533 +0200 
     60--- /dev/null 
     61+++ b/arch/mips/lantiq/falcon/softdog_vpe.c 
    6662@@ -0,0 +1,109 @@ 
    6763+/* 
     
    174170+MODULE_DESCRIPTION("Software Watchdog For VPE1"); 
    175171+MODULE_LICENSE("GPL"); 
    176 Index: linux-3.0.3/arch/mips/lantiq/falcon/Makefile 
    177 =================================================================== 
    178 --- linux-3.0.3.orig/arch/mips/lantiq/falcon/Makefile   2011-10-05 13:38:41.801013127 +0200 
    179 +++ linux-3.0.3/arch/mips/lantiq/falcon/Makefile        2011-10-05 13:38:47.341013363 +0200 
     172--- a/arch/mips/lantiq/falcon/Makefile 
     173+++ b/arch/mips/lantiq/falcon/Makefile 
    180174@@ -1,2 +1,2 @@ 
    181175-obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o 
  • trunk/target/linux/lantiq/patches/0021-MIPS-lantiq-adds-cache-split.patch

    r28718 r28721  
    1010 3 files changed, 260 insertions(+), 0 deletions(-) 
    1111 
    12 Index: linux-3.0.3/arch/mips/Kconfig 
    13 =================================================================== 
    14 --- linux-3.0.3.orig/arch/mips/Kconfig  2011-10-05 12:53:54.792898260 +0200 
    15 +++ linux-3.0.3/arch/mips/Kconfig       2011-10-05 12:53:54.852898263 +0200 
    16 @@ -1913,6 +1913,28 @@ 
     12--- a/arch/mips/Kconfig 
     13+++ b/arch/mips/Kconfig 
     14@@ -1922,6 +1922,28 @@ config IFX_VPE_EXT 
    1715        help 
    1816          IFX included extensions in APRP 
     
    4341        bool "34K Performance counters" 
    4442        depends on MIPS_MT && PROC_FS 
    45 Index: linux-3.0.3/arch/mips/kernel/vpe.c 
    46 =================================================================== 
    47 --- linux-3.0.3.orig/arch/mips/kernel/vpe.c     2011-10-05 12:53:54.800898262 +0200 
    48 +++ linux-3.0.3/arch/mips/kernel/vpe.c  2011-10-05 12:53:54.852898263 +0200 
    49 @@ -128,6 +128,13 @@ 
     43--- a/arch/mips/kernel/vpe.c 
     44+++ b/arch/mips/kernel/vpe.c 
     45@@ -128,6 +128,13 @@ __setup("vpe1_wdog_timeout=", wdog_timeo 
    5046 EXPORT_SYMBOL(vpe1_wdog_timeout); 
    5147  
     
    6157 #ifdef CONFIG_MIPS_VPE_LOADER_TOM 
    6258 #define P_SIZE (2 * 1024 * 1024) 
    63 @@ -866,6 +873,65 @@ 
     59@@ -866,6 +873,65 @@ static int vpe_run(struct vpe * v) 
    6460        /* enable this VPE */ 
    6561        write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_VPA); 
     
    127123        write_vpe_c0_status(0); 
    128124        write_vpe_c0_cause(0); 
    129 Index: linux-3.0.3/arch/mips/mm/c-r4k.c 
    130 =================================================================== 
    131 --- linux-3.0.3.orig/arch/mips/mm/c-r4k.c       2011-08-17 19:57:16.000000000 +0200 
    132 +++ linux-3.0.3/arch/mips/mm/c-r4k.c    2011-10-05 12:53:54.852898263 +0200 
    133 @@ -1346,6 +1346,106 @@ 
     125--- a/arch/mips/mm/c-r4k.c 
     126+++ b/arch/mips/mm/c-r4k.c 
     127@@ -1350,6 +1350,106 @@ static int __init setcoherentio(char *st 
    134128 __setup("coherentio", setcoherentio); 
    135129 #endif 
     
    238232 { 
    239233        extern void build_clear_page(void); 
    240 @@ -1365,6 +1465,78 @@ 
     234@@ -1369,6 +1469,78 @@ void __cpuinit r4k_cache_init(void) 
    241235                break; 
    242236        } 
     
    317311        setup_scache(); 
    318312  
    319 Index: linux-3.0.3/arch/mips/lantiq/setup.c 
    320 =================================================================== 
    321 --- linux-3.0.3.orig/arch/mips/lantiq/setup.c   2011-10-05 13:20:49.808967301 +0200 
    322 +++ linux-3.0.3/arch/mips/lantiq/setup.c        2011-10-05 13:23:27.796974054 +0200 
     313--- a/arch/mips/lantiq/setup.c 
     314+++ b/arch/mips/lantiq/setup.c 
    323315@@ -18,10 +18,11 @@ 
    324316 #include "devices.h" 
     
    335327  
    336328        ioport_resource.start = IOPORT_RESOURCE_START; 
    337 @@ -35,13 +36,13 @@ 
     329@@ -35,13 +36,13 @@ void __init plat_mem_setup(void) 
    338330                char *e = (char *)KSEG1ADDR(*envp); 
    339331                if (!strncmp(e, "memsize=", 8)) { 
  • trunk/target/linux/lantiq/patches/0022-MIPS-lantiq-adds-udp-in-kernel-redirect.patch

    r28718 r28721  
    1414 create mode 100644 net/ipv4/udp_redirect_symb.c 
    1515 
    16 diff --git a/include/linux/udp_redirect.h b/include/linux/udp_redirect.h 
    17 new file mode 100644 
    18 index 0000000..de1e64f 
    1916--- /dev/null 
    2017+++ b/include/linux/udp_redirect.h 
     
    7774+                               int fraglen, int odd, struct sk_buff *skb); 
    7875+#endif 
    79 diff --git a/net/Kconfig b/net/Kconfig 
    80 index a073148..d13e3fa 100644 
    8176--- a/net/Kconfig 
    8277+++ b/net/Kconfig 
     
    9489 source "net/ipv4/Kconfig" 
    9590 source "net/ipv6/Kconfig" 
    96 diff --git a/net/ipv4/Makefile b/net/ipv4/Makefile 
    97 index f2dc69c..6badd72 100644 
    9891--- a/net/ipv4/Makefile 
    9992+++ b/net/ipv4/Makefile 
    100 @@ -14,6 +14,9 @@ obj-y     := route.o inetpeer.o protocol.o \ 
     93@@ -14,6 +14,9 @@ obj-y     := route.o inetpeer.o protocol 
    10194             inet_fragment.o ping.o 
    10295  
     
    108101 obj-$(CONFIG_IP_MULTIPLE_TABLES) += fib_rules.o 
    109102 obj-$(CONFIG_IP_MROUTE) += ipmr.o 
    110 diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c 
    111 index 1b5a193..4d15cf6 100644 
    112103--- a/net/ipv4/udp.c 
    113104+++ b/net/ipv4/udp.c 
     
    123114 EXPORT_SYMBOL(udp_table); 
    124115  
    125 @@ -803,7 +807,7 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, 
     116@@ -803,7 +807,7 @@ int udp_sendmsg(struct kiocb *iocb, stru 
    126117        u8  tos; 
    127118        int err, is_udplite = IS_UDPLITE(sk); 
     
    132123        struct ip_options_data opt_copy; 
    133124  
    134 @@ -820,7 +824,13 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, 
     125@@ -820,7 +824,13 @@ int udp_sendmsg(struct kiocb *iocb, stru 
    135126        ipc.opt = NULL; 
    136127        ipc.tx_flags = 0; 
     
    147138        fl4 = &inet->cork.fl.u.ip4; 
    148139        if (up->pending) { 
    149 @@ -1621,6 +1631,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable, 
     140@@ -1621,6 +1631,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, 
    150141        struct rtable *rt = skb_rtable(skb); 
    151142        __be32 saddr, daddr; 
     
    155146        /* 
    156147         *  Validate the packet. 
    157 @@ -1653,7 +1664,16 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable, 
     148@@ -1653,7 +1664,16 @@ int __udp4_lib_rcv(struct sk_buff *skb, 
    158149        sk = __udp4_lib_lookup_skb(skb, uh->source, uh->dest, udptable); 
    159150  
     
    182173 #ifdef CONFIG_PROC_FS 
    183174  
    184 diff --git a/net/ipv4/udp_redirect_symb.c b/net/ipv4/udp_redirect_symb.c 
    185 new file mode 100644 
    186 index 0000000..5617e86 
    187175--- /dev/null 
    188176+++ b/net/ipv4/udp_redirect_symb.c 
     
    374362+EXPORT_SYMBOL(udpredirect_getfrag_fn); 
    375363+#endif /* CONFIG_IFX_UDP_REDIRECT* */ 
    376 --  
    377 1.7.5.4 
    378  
  • trunk/target/linux/lantiq/patches/0023-MIPS-lantiq-adds-basic-vr9-support.patch

    r28718 r28721  
    2020 create mode 100644 arch/mips/lantiq/xway/prom-vr9.c 
    2121 
    22 Index: linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    23 =================================================================== 
    24 --- linux-3.0.3.orig/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h        2011-10-04 20:05:48.000000000 +0200 
    25 +++ linux-3.0.3/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h     2011-10-04 20:05:54.234312800 +0200 
     22--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
     23+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    2624@@ -21,6 +21,7 @@ 
    2725 #define SOC_ID_ARX188          0x16C 
     
    4038  
    4139 /* GBIT - gigabit switch */ 
    42 Index: linux-3.0.3/arch/mips/lantiq/Kconfig 
    43 =================================================================== 
    44 --- linux-3.0.3.orig/arch/mips/lantiq/Kconfig   2011-10-04 20:03:54.000000000 +0200 
    45 +++ linux-3.0.3/arch/mips/lantiq/Kconfig        2011-10-04 20:05:54.238312800 +0200 
     40--- a/arch/mips/lantiq/Kconfig 
     41+++ b/arch/mips/lantiq/Kconfig 
    4642@@ -1,5 +1,8 @@ 
    4743 if LANTIQ 
     
    5349        bool 
    5450        default n 
    55 @@ -17,6 +20,12 @@ 
     51@@ -17,6 +20,12 @@ config SOC_XWAY 
    5652        select SOC_TYPE_XWAY 
    5753        select HW_HAS_PCI 
     
    6662        bool "FALCON" 
    6763 endchoice 
    68 Index: linux-3.0.3/arch/mips/lantiq/Platform 
    69 =================================================================== 
    70 --- linux-3.0.3.orig/arch/mips/lantiq/Platform  2011-10-04 20:03:54.000000000 +0200 
    71 +++ linux-3.0.3/arch/mips/lantiq/Platform       2011-10-04 20:05:54.238312800 +0200 
    72 @@ -6,4 +6,5 @@ 
     64--- a/arch/mips/lantiq/Platform 
     65+++ b/arch/mips/lantiq/Platform 
     66@@ -6,4 +6,5 @@ platform-$(CONFIG_LANTIQ)       += lantiq/ 
    7367 cflags-$(CONFIG_LANTIQ)                += -I$(srctree)/arch/mips/include/asm/mach-lantiq 
    7468 load-$(CONFIG_LANTIQ)          = 0xffffffff80002000 
     
    7670+cflags-$(CONFIG_SOC_TYPE_VR9)  += -I$(srctree)/arch/mips/include/asm/mach-lantiq/xway 
    7771 cflags-$(CONFIG_SOC_FALCON)    += -I$(srctree)/arch/mips/include/asm/mach-lantiq/falcon 
    78 Index: linux-3.0.3/arch/mips/lantiq/machtypes.h 
    79 =================================================================== 
    80 --- linux-3.0.3.orig/arch/mips/lantiq/machtypes.h       2011-10-04 20:03:54.000000000 +0200 
    81 +++ linux-3.0.3/arch/mips/lantiq/machtypes.h    2011-10-04 20:05:54.238312800 +0200 
    82 @@ -20,6 +20,9 @@ 
     72--- a/arch/mips/lantiq/machtypes.h 
     73+++ b/arch/mips/lantiq/machtypes.h 
     74@@ -20,6 +20,9 @@ enum lantiq_mach_type { 
    8375        LANTIQ_MACH_EASY98000,          /* Falcon Eval Board, NOR Flash */ 
    8476        LANTIQ_MACH_EASY98000SF,        /* Falcon Eval Board, Serial Flash */ 
     
    9082  
    9183 #endif 
    92 Index: linux-3.0.3/arch/mips/lantiq/xway/Kconfig 
    93 =================================================================== 
    94 --- linux-3.0.3.orig/arch/mips/lantiq/xway/Kconfig      2011-08-17 19:57:16.000000000 +0200 
    95 +++ linux-3.0.3/arch/mips/lantiq/xway/Kconfig   2011-10-04 20:05:54.238312800 +0200 
    96 @@ -21,3 +21,15 @@ 
     84--- a/arch/mips/lantiq/xway/Kconfig 
     85+++ b/arch/mips/lantiq/xway/Kconfig 
     86@@ -21,3 +21,15 @@ config LANTIQ_MACH_EASY50601 
    9787 endmenu 
    9888  
     
    110100+ 
    111101+endif 
    112 Index: linux-3.0.3/arch/mips/lantiq/xway/Makefile 
    113 =================================================================== 
    114 --- linux-3.0.3.orig/arch/mips/lantiq/xway/Makefile     2011-10-04 20:05:50.000000000 +0200 
    115 +++ linux-3.0.3/arch/mips/lantiq/xway/Makefile  2011-10-04 20:05:54.238312800 +0200 
    116 @@ -2,6 +2,8 @@ 
     102--- a/arch/mips/lantiq/xway/Makefile 
     103+++ b/arch/mips/lantiq/xway/Makefile 
     104@@ -2,6 +2,8 @@ obj-y := sysctrl.o reset.o gpio.o gpio_s 
    117105  
    118106 obj-$(CONFIG_SOC_XWAY) += clk-xway.o prom-xway.o 
     
    123111 obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o 
    124112+obj-$(CONFIG_LANTIQ_MACH_FRITZ3370) += mach-fritz.o 
    125 Index: linux-3.0.3/arch/mips/lantiq/xway/clk-vr9.c 
    126 =================================================================== 
    127 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    128 +++ linux-3.0.3/arch/mips/lantiq/xway/clk-vr9.c 2011-10-04 20:05:54.238312800 +0200 
     113--- /dev/null 
     114+++ b/arch/mips/lantiq/xway/clk-vr9.c 
    129115@@ -0,0 +1,78 @@ 
    130116+/* 
     
    206192+} 
    207193+EXPORT_SYMBOL(ltq_get_fpi_bus_clock); 
    208 Index: linux-3.0.3/arch/mips/lantiq/xway/prom-vr9.c 
    209 =================================================================== 
    210 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    211 +++ linux-3.0.3/arch/mips/lantiq/xway/prom-vr9.c        2011-10-04 20:05:54.238312800 +0200 
     194--- /dev/null 
     195+++ b/arch/mips/lantiq/xway/prom-vr9.c 
    212196@@ -0,0 +1,55 @@ 
    213197+/* 
     
    266250+       ltq_register_wdt(); 
    267251+} 
    268 Index: linux-3.0.3/arch/mips/pci/Makefile 
    269 =================================================================== 
    270 --- linux-3.0.3.orig/arch/mips/pci/Makefile     2011-08-17 19:57:16.000000000 +0200 
    271 +++ linux-3.0.3/arch/mips/pci/Makefile  2011-10-04 20:05:54.238312800 +0200 
    272 @@ -41,7 +41,7 @@ 
     252--- a/arch/mips/pci/Makefile 
     253+++ b/arch/mips/pci/Makefile 
     254@@ -41,7 +41,7 @@ obj-$(CONFIG_SIBYTE_SB1250)   += fixup-sb1 
    273255 obj-$(CONFIG_SIBYTE_BCM112X)   += fixup-sb1250.o pci-sb1250.o 
    274256 obj-$(CONFIG_SIBYTE_BCM1x80)   += pci-bcm1480.o pci-bcm1480ht.o 
  • trunk/target/linux/lantiq/patches/0026-MIPS-lantiq-adds-GPIO3-support-on-AR9.patch

    r28718 r28721  
    1 From 6b5e2ee7c8f9722d59213f17d423b3f90d80f822 Mon Sep 17 00:00:00 2001 
     1From 92b24777385cd8388e0fa8b9f1d24e5bc4466641 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Sat, 13 Aug 2011 13:59:50 +0200 
    4 Subject: [PATCH 12/24] MIPS: lantiq: adds GPIO3 support on AR9 
     4Subject: [PATCH 12/22] MIPS: lantiq: make GPIO3 work on AR9 
    55 
    66There are 3 16bit and 1 8bit gpio ports on AR9. The gpio driver needs a hack 
     
    1919 5 files changed, 57 insertions(+), 16 deletions(-) 
    2020 
    21 diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    22 index da8ff95..421768e 100644 
    2321--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    2422+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
     
    3331 /* SSC */ 
    3432 #define LTQ_SSC_BASE_ADDR      0x1e100800 
    35 diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c 
    36 index 9bacaa8..b7efac5 100644 
    3733--- a/arch/mips/lantiq/xway/devices.c 
    3834+++ b/arch/mips/lantiq/xway/devices.c 
    39 @@ -34,6 +34,7 @@ static struct resource ltq_gpio_resource[] = { 
     35@@ -34,6 +34,7 @@ static struct resource ltq_gpio_resource 
    4036        MEM_RES("gpio0", LTQ_GPIO0_BASE_ADDR, LTQ_GPIO_SIZE), 
    4137        MEM_RES("gpio1", LTQ_GPIO1_BASE_ADDR, LTQ_GPIO_SIZE), 
     
    5450 } 
    5551  
    56 diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c 
    57 index a321451..2c48c17 100644 
    5852--- a/arch/mips/lantiq/xway/gpio.c 
    5953+++ b/arch/mips/lantiq/xway/gpio.c 
    60 @@ -21,9 +21,15 @@ 
    61  #define LTQ_GPIO_ALTSEL0       0x0C 
    62  #define LTQ_GPIO_ALTSEL1       0x10 
     54@@ -23,9 +23,15 @@ 
    6355 #define LTQ_GPIO_OD            0x14 
     56 #define LTQ_GPIO_PUDSEL                0x1C 
     57 #define LTQ_GPIO_PUDEN         0x20 
    6458+#define LTQ_GPIO3_OD           0x24 
    6559+#define LTQ_GPIO3_ALTSEL1      0x24 
     
    7569 #define ltq_gpio_getbit(m, r, p)       (!!(ltq_r32(m + r) & (1 << p))) 
    7670 #define ltq_gpio_setbit(m, r, p)       ltq_w32_mask(0, (1 << p), m + r) 
    77 @@ -53,7 +59,7 @@ int ltq_gpio_request(unsigned int pin, unsigned int alt0, 
     71@@ -55,7 +61,7 @@ int ltq_gpio_request(unsigned int pin, u 
    7872 { 
    7973        int id = 0; 
     
    8478        if (gpio_request(pin, name)) { 
    8579                pr_err("failed to setup lantiq gpio: %s\n", name); 
    86 @@ -73,12 +79,21 @@ int ltq_gpio_request(unsigned int pin, unsigned int alt0, 
     80@@ -75,12 +81,21 @@ int ltq_gpio_request(unsigned int pin, u 
    8781        else 
    8882                ltq_gpio_clearbit(ltq_gpio_port[id].membase, 
     
    112106 } 
    113107 EXPORT_SYMBOL(ltq_gpio_request); 
    114 @@ -104,7 +119,11 @@ static int ltq_gpio_direction_input(struct gpio_chip *chip, unsigned int offset) 
     108@@ -106,7 +121,11 @@ static int ltq_gpio_direction_input(stru 
    115109 { 
    116110        struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip); 
     
    123117+               ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_OD, offset); 
    124118        ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_DIR, offset); 
    125   
    126         return 0; 
    127 @@ -115,7 +134,10 @@ static int ltq_gpio_direction_output(struct gpio_chip *chip, 
     119        ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_PUDSEL, offset); 
     120        ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_PUDEN, offset); 
     121@@ -119,7 +138,10 @@ static int ltq_gpio_direction_output(str 
    128122 { 
    129123        struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip); 
     
    135129+               ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_OD, offset); 
    136130        ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_DIR, offset); 
    137         ltq_gpio_set(chip, offset, value); 
    138   
    139 @@ -127,7 +149,11 @@ static int ltq_gpio_req(struct gpio_chip *chip, unsigned offset) 
     131        ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_PUDSEL, offset); 
     132        ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_PUDEN, offset); 
     133@@ -133,7 +155,11 @@ static int ltq_gpio_req(struct gpio_chip 
    140134        struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip); 
    141135  
     
    150144 } 
    151145  
    152 @@ -140,6 +166,15 @@ static int ltq_gpio_probe(struct platform_device *pdev) 
     146@@ -146,6 +172,15 @@ static int ltq_gpio_probe(struct platfor 
    153147                        pdev->id); 
    154148                return -EINVAL; 
     
    166160        if (!res) { 
    167161                dev_err(&pdev->dev, "failed to get memory for gpio port %d\n", 
    168 @@ -169,7 +204,10 @@ static int ltq_gpio_probe(struct platform_device *pdev) 
     162@@ -175,7 +210,10 @@ static int ltq_gpio_probe(struct platfor 
    169163        ltq_gpio_port[pdev->id].chip.set = ltq_gpio_set; 
    170164        ltq_gpio_port[pdev->id].chip.request = ltq_gpio_req; 
     
    178172        return gpiochip_add(&ltq_gpio_port[pdev->id].chip); 
    179173 } 
    180 diff --git a/arch/mips/lantiq/xway/gpio_ebu.c b/arch/mips/lantiq/xway/gpio_ebu.c 
    181 index a479355..729f8e3 100644 
    182174--- a/arch/mips/lantiq/xway/gpio_ebu.c 
    183175+++ b/arch/mips/lantiq/xway/gpio_ebu.c 
     
    193185 }; 
    194186  
    195 diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c 
    196 index 67d59d6..c01294e 100644 
    197187--- a/arch/mips/lantiq/xway/gpio_stp.c 
    198188+++ b/arch/mips/lantiq/xway/gpio_stp.c 
    199 @@ -70,9 +70,8 @@ static struct gpio_chip ltq_stp_chip = { 
     189@@ -72,9 +72,8 @@ static struct gpio_chip ltq_stp_chip = { 
    200190        .label = "ltq_stp", 
    201191        .direction_output = ltq_stp_direction_output, 
     
    208198 }; 
    209199  
    210 --  
    211 1.7.5.4 
    212  
  • trunk/target/linux/lantiq/patches/200-owrt-netif_receive_skb.patch

    r28718 r28721  
    11--- a/drivers/net/lantiq_etop.c 
    22+++ b/drivers/net/lantiq_etop.c 
    3 @@ -147,8 +147,12 @@ ltq_etop_hw_receive(struct ltq_etop_chan 
     3@@ -190,8 +190,12 @@ ltq_etop_hw_receive(struct ltq_etop_chan 
    44  
    55        skb_put(skb, len); 
  • trunk/target/linux/lantiq/patches/202-owrt-atm.patch

    r28718 r28721  
    1 Index: linux-3.0.3/arch/mips/lantiq/irq.c 
    2 =================================================================== 
    3 --- linux-3.0.3.orig/arch/mips/lantiq/irq.c     2011-09-29 20:43:07.000000000 +0200 
    4 +++ linux-3.0.3/arch/mips/lantiq/irq.c  2011-09-29 20:45:14.785132132 +0200 
     1--- a/arch/mips/lantiq/irq.c 
     2+++ b/arch/mips/lantiq/irq.c 
    53@@ -9,6 +9,7 @@ 
    64  
     
    119 #include <asm/bootinfo.h> 
    1210 #include <asm/irq_cpu.h> 
    13 @@ -102,6 +103,7 @@ 
     11@@ -102,6 +103,7 @@ void ltq_mask_and_ack_irq(struct irq_dat 
    1412        ltq_icu_w32(ltq_icu_r32(ier) & ~(1 << irq_nr), ier); 
    1513        ltq_icu_w32((1 << irq_nr), isr); 
  • trunk/target/linux/lantiq/patches/203-owrt-cmdline.patch

    r28718 r28721  
    11--- a/arch/mips/lantiq/prom.c 
    22+++ b/arch/mips/lantiq/prom.c 
    3 @@ -39,6 +39,34 @@ void prom_free_prom_memory(void) 
     3@@ -43,6 +43,34 @@ void prom_free_prom_memory(void) 
    44 { 
    55 } 
     
    3636 { 
    3737        int argc = fw_arg0; 
    38 @@ -53,6 +81,7 @@ static void __init prom_init_cmdline(voi 
     38@@ -59,6 +87,7 @@ static void __init prom_init_cmdline(voi 
    3939                        strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline)); 
    4040                } 
     
    4343 } 
    4444  
    45  void __init prom_init(void) 
     45 void __iomem *ltq_remap_resource(struct resource *res) 
  • trunk/target/linux/lantiq/patches/204-owrt-dm9000-polling.patch

    r28718 r28721  
    99 #include <linux/ioport.h> 
    1010 #include <linux/netdevice.h> 
    11 @@ -125,6 +126,8 @@ typedef struct board_info { 
     11@@ -126,6 +127,8 @@ typedef struct board_info { 
    1212        struct delayed_work phy_poll; 
    1313        struct net_device  *ndev; 
     
    1818  
    1919        struct mii_if_info mii; 
    20 @@ -824,6 +827,8 @@ static void dm9000_timeout(struct net_de 
     20@@ -839,6 +842,8 @@ static void dm9000_timeout(struct net_de 
    2121        netif_stop_queue(dev); 
    2222        dm9000_reset(db); 
     
    2727        dev->trans_start = jiffies; /* prevent tx timeout */ 
    2828        netif_wake_queue(dev); 
    29 @@ -895,6 +900,12 @@ dm9000_start_xmit(struct sk_buff *skb, s 
     29@@ -910,6 +915,12 @@ dm9000_start_xmit(struct sk_buff *skb, s 
    3030        /* free this SKB */ 
    3131        dev_kfree_skb(skb); 
     
    4040 } 
    4141  
    42 @@ -1136,6 +1147,18 @@ static void dm9000_poll_controller(struc 
     42@@ -1151,6 +1162,18 @@ static void dm9000_poll_controller(struc 
    4343 } 
    4444 #endif 
     
    5959  *  Open the interface. 
    6060  *  The interface is opened whenever "ifconfig" actives it. 
    61 @@ -1149,14 +1172,15 @@ dm9000_open(struct net_device *dev) 
     61@@ -1164,14 +1187,15 @@ dm9000_open(struct net_device *dev) 
    6262        if (netif_msg_ifup(db)) 
    6363                dev_dbg(db->dev, "enabling %s\n", dev->name); 
     
    8181        iow(db, DM9000_GPR, 0); /* REG_1F bit0 activate phyxcer */ 
    8282        mdelay(1); /* delay needs by DM9000B */ 
    83 @@ -1165,8 +1189,14 @@ dm9000_open(struct net_device *dev) 
     83@@ -1180,8 +1204,14 @@ dm9000_open(struct net_device *dev) 
    8484        dm9000_reset(db); 
    8585        dm9000_init_dm9000(dev); 
     
    9898        /* Init driver variable */ 
    9999        db->dbug_cnt = 0; 
    100 @@ -1174,6 +1204,9 @@ dm9000_open(struct net_device *dev) 
     100@@ -1189,6 +1219,9 @@ dm9000_open(struct net_device *dev) 
    101101        mii_check_media(&db->mii, netif_msg_link(db), 1); 
    102102        netif_start_queue(dev); 
     
    108108  
    109109        return 0; 
    110 @@ -1371,6 +1404,7 @@ dm9000_probe(struct platform_device *pde 
     110@@ -1386,6 +1419,7 @@ dm9000_probe(struct platform_device *pde 
    111111        mutex_init(&db->addr_lock); 
    112112  
  • trunk/target/linux/lantiq/patches/205-owrt-gpio-export.patch

    r28718 r28721  
    1 Index: linux-3.0.3/drivers/gpio/gpiolib.c 
    2 =================================================================== 
    3 --- linux-3.0.3.orig/drivers/gpio/gpiolib.c     2011-10-03 00:13:35.359561120 +0200 
    4 +++ linux-3.0.3/drivers/gpio/gpiolib.c  2011-10-03 09:52:55.785047081 +0200 
    5 @@ -64,9 +64,9 @@ 
     1--- a/drivers/gpio/gpiolib.c 
     2+++ b/drivers/gpio/gpiolib.c 
     3@@ -64,9 +64,9 @@ struct gpio_desc { 
    64 #define GPIO_FLAGS_MASK                ((1 << ID_SHIFT) - 1) 
    75 #define GPIO_TRIGGER_MASK      (BIT(FLAG_TRIG_FALL) | BIT(FLAG_TRIG_RISE)) 
     
    1513 static struct gpio_desc gpio_desc[ARCH_NR_GPIOS]; 
    1614  
    17 @@ -76,9 +76,9 @@ 
     15@@ -76,9 +76,9 @@ static DEFINE_IDR(dirent_idr); 
    1816  
    1917 static inline void desc_set_label(struct gpio_desc *d, const char *label) 
     
    2725  
    2826 /* Warn when drivers omit gpio_request() calls -- legal but ill-advised 
    29 @@ -727,7 +727,8 @@ 
     27@@ -727,7 +727,8 @@ int gpio_export(unsigned gpio, bool dire 
    3028  
    3129        if (desc->chip->names && desc->chip->names[gpio - desc->chip->base]) 
     
    3735                struct device   *dev; 
    3836  
    39 @@ -1347,11 +1348,11 @@ 
     37@@ -1347,11 +1348,11 @@ const char *gpiochip_is_requested(struct 
    4038                return NULL; 
    4139        if (test_bit(FLAG_REQUESTED, &gpio_desc[gpio].flags) == 0) 
  • trunk/target/linux/lantiq/patches/210-machtypes.patch

    r28718 r28721  
    1 Index: linux-3.0.3/arch/mips/lantiq/machtypes.h 
    2 =================================================================== 
    3 --- linux-3.0.3.orig/arch/mips/lantiq/machtypes.h       2011-10-05 14:32:23.173150836 +0200 
    4 +++ linux-3.0.3/arch/mips/lantiq/machtypes.h    2011-10-05 14:32:23.385150846 +0200 
    5 @@ -20,9 +20,33 @@ 
     1Index: linux-3.1/arch/mips/lantiq/machtypes.h 
     2=================================================================== 
     3--- linux-3.1.orig/arch/mips/lantiq/machtypes.h 2011-11-03 10:32:53.117317313 +0100 
     4+++ linux-3.1/arch/mips/lantiq/machtypes.h      2011-11-03 15:57:57.106151011 +0100 
     5@@ -20,9 +20,34 @@ 
    66        LANTIQ_MACH_EASY98000,          /* Falcon Eval Board, NOR Flash */ 
    77        LANTIQ_MACH_EASY98000SF,        /* Falcon Eval Board, Serial Flash */ 
     
    2222+       LANTIQ_MACH_ARV452CPW,          /* Arcor EasyboxA801 */ 
    2323+       LANTIQ_MACH_ARV4525PW,          /* Speedport W502V */ 
     24+       LANTIQ_MACH_ARV7525PW,          /* Speedport W303V */ 
    2425+       LANTIQ_MACH_ARV752DPW,          /* Arcor easybox a802 */ 
    2526+       LANTIQ_MACH_ARV752DPW22,        /* Arcor easybox a803 */ 
     
    3738  
    3839 #endif 
    39 Index: linux-3.0.3/arch/mips/lantiq/xway/Kconfig 
    40 =================================================================== 
    41 --- linux-3.0.3.orig/arch/mips/lantiq/xway/Kconfig      2011-10-05 14:32:23.173150836 +0200 
    42 +++ linux-3.0.3/arch/mips/lantiq/xway/Kconfig   2011-10-05 14:32:23.385150846 +0200 
     40Index: linux-3.1/arch/mips/lantiq/xway/Kconfig 
     41=================================================================== 
     42--- linux-3.1.orig/arch/mips/lantiq/xway/Kconfig        2011-11-03 10:32:53.117317313 +0100 
     43+++ linux-3.1/arch/mips/lantiq/xway/Kconfig     2011-11-03 10:32:53.409317325 +0100 
    4344@@ -6,6 +6,22 @@ 
    4445        bool "Easy50712 - Danube" 
     
    6465  
    6566 endif 
    66 Index: linux-3.0.3/arch/mips/lantiq/xway/Makefile 
    67 =================================================================== 
    68 --- linux-3.0.3.orig/arch/mips/lantiq/xway/Makefile     2011-10-05 14:32:23.173150836 +0200 
    69 +++ linux-3.0.3/arch/mips/lantiq/xway/Makefile  2011-10-05 15:46:10.061340080 +0200 
     67Index: linux-3.1/arch/mips/lantiq/xway/Makefile 
     68=================================================================== 
     69--- linux-3.1.orig/arch/mips/lantiq/xway/Makefile       2011-11-03 10:32:53.117317313 +0100 
     70+++ linux-3.1/arch/mips/lantiq/xway/Makefile    2011-11-03 15:57:59.222151170 +0100 
    7071@@ -7,3 +7,7 @@ 
    7172 obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o 
     
    7677+obj-$(CONFIG_LANTIQ_MACH_GIGASX76X) += mach-gigasx76x.o 
    7778+obj-$(CONFIG_LANTIQ_MACH_WBMR) += mach-wbmr.o 
    78 Index: linux-3.0.3/arch/mips/lantiq/falcon/Kconfig 
    79 =================================================================== 
    80 --- linux-3.0.3.orig/arch/mips/lantiq/falcon/Kconfig    2011-10-05 14:32:22.745150818 +0200 
    81 +++ linux-3.0.3/arch/mips/lantiq/falcon/Kconfig 2011-10-05 14:32:23.385150846 +0200 
     79Index: linux-3.1/arch/mips/lantiq/falcon/Kconfig 
     80=================================================================== 
     81--- linux-3.1.orig/arch/mips/lantiq/falcon/Kconfig      2011-11-03 10:32:52.697317294 +0100 
     82+++ linux-3.1/arch/mips/lantiq/falcon/Kconfig   2011-11-03 10:32:53.409317325 +0100 
    8283@@ -6,6 +6,14 @@ 
    8384        bool "Easy98000" 
     
    9596  
    9697 endif 
    97 Index: linux-3.0.3/arch/mips/lantiq/falcon/Makefile 
    98 =================================================================== 
    99 --- linux-3.0.3.orig/arch/mips/lantiq/falcon/Makefile   2011-10-05 14:32:23.089150832 +0200 
    100 +++ linux-3.0.3/arch/mips/lantiq/falcon/Makefile        2011-10-05 14:32:23.389150846 +0200 
     98Index: linux-3.1/arch/mips/lantiq/falcon/Makefile 
     99=================================================================== 
     100--- linux-3.1.orig/arch/mips/lantiq/falcon/Makefile     2011-11-03 10:32:53.033317309 +0100 
     101+++ linux-3.1/arch/mips/lantiq/falcon/Makefile  2011-11-03 10:32:53.409317325 +0100 
    101102@@ -1,2 +1,6 @@ 
    102103 obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o softdog_vpe.o 
     
    106107+obj-$(CONFIG_LANTIQ_MACH_EASY98020) += mach-easy98020.o 
    107108+obj-$(CONFIG_LANTIQ_MACH_95C3AM1)   += mach-95C3AM1.o 
    108 Index: linux-3.0.3/arch/mips/lantiq/falcon/mach-easy98000.c 
    109 =================================================================== 
    110 --- linux-3.0.3.orig/arch/mips/lantiq/falcon/mach-easy98000.c   2011-10-05 15:17:45.445267210 +0200 
    111 +++ linux-3.0.3/arch/mips/lantiq/falcon/mach-easy98000.c        2011-10-05 15:45:54.153339399 +0200 
     109Index: linux-3.1/arch/mips/lantiq/falcon/mach-easy98000.c 
     110=================================================================== 
     111--- linux-3.1.orig/arch/mips/lantiq/falcon/mach-easy98000.c     2011-11-03 10:32:52.805317298 +0100 
     112+++ linux-3.1/arch/mips/lantiq/falcon/mach-easy98000.c  2011-11-03 10:32:53.413317324 +0100 
    112113@@ -1,23 +1,38 @@ 
    113114-/* 
  • trunk/target/linux/lantiq/patches/211-devices.patch

    r28718 r28721  
    1 Index: linux-3.0.3/arch/mips/lantiq/devices.c 
    2 =================================================================== 
    3 --- linux-3.0.3.orig/arch/mips/lantiq/devices.c 2011-10-04 20:03:54.000000000 +0200 
    4 +++ linux-3.0.3/arch/mips/lantiq/devices.c      2011-10-04 20:07:28.514316826 +0200 
    5 @@ -20,6 +20,7 @@ 
     1--- a/arch/mips/lantiq/devices.c 
     2+++ b/arch/mips/lantiq/devices.c 
     3@@ -18,6 +18,7 @@ 
     4 #include <linux/time.h> 
    65 #include <linux/io.h> 
    76 #include <linux/gpio.h> 
    8  #include <linux/leds.h> 
    97+#include <linux/dma-mapping.h> 
    108  
    119 #include <asm/bootinfo.h> 
    1210 #include <asm/irq.h> 
    13 @@ -102,3 +103,20 @@ 
     11@@ -100,3 +101,20 @@ void __init ltq_register_pci(struct ltq_ 
    1412        pr_err("kernel is compiled without PCI support\n"); 
    1513 } 
     
    3230+               (void*)CPHYSADDR(dma_alloc_coherent(NULL, CP1_SIZE, &dma, GFP_ATOMIC)); 
    3331+} 
    34 Index: linux-3.0.3/arch/mips/lantiq/devices.h 
    35 =================================================================== 
    36 --- linux-3.0.3.orig/arch/mips/lantiq/devices.h 2011-10-04 20:03:54.000000000 +0200 
    37 +++ linux-3.0.3/arch/mips/lantiq/devices.h      2011-10-04 20:07:13.362316180 +0200 
    38 @@ -23,5 +23,6 @@ 
     32--- a/arch/mips/lantiq/devices.h 
     33+++ b/arch/mips/lantiq/devices.h 
     34@@ -23,5 +23,6 @@ extern void ltq_register_nor(struct phys 
    3935 extern void ltq_register_wdt(void); 
    4036 extern void ltq_register_asc(int port); 
     
    4339  
    4440 #endif 
    45 Index: linux-3.0.3/arch/mips/lantiq/xway/Makefile 
    46 =================================================================== 
    47 --- linux-3.0.3.orig/arch/mips/lantiq/xway/Makefile     2011-10-04 20:07:01.000000000 +0200 
    48 +++ linux-3.0.3/arch/mips/lantiq/xway/Makefile  2011-10-04 20:07:13.362316180 +0200 
     41--- a/arch/mips/lantiq/xway/Makefile 
     42+++ b/arch/mips/lantiq/xway/Makefile 
    4943@@ -1,5 +1,7 @@ 
    5044 obj-y := sysctrl.o reset.o gpio.o gpio_stp.o gpio_ebu.o devices.o dma.o nand.o timer.o 
     
    5549 obj-$(CONFIG_SOC_AMAZON_SE) += clk-ase.o prom-ase.o 
    5650 obj-$(CONFIG_SOC_VR9) += clk-vr9.o prom-vr9.o 
    57 Index: linux-3.0.3/arch/mips/lantiq/xway/devices.c 
    58 =================================================================== 
    59 --- linux-3.0.3.orig/arch/mips/lantiq/xway/devices.c    2011-10-04 20:05:44.000000000 +0200 
    60 +++ linux-3.0.3/arch/mips/lantiq/xway/devices.c 2011-10-04 20:07:44.070317494 +0200 
    61 @@ -21,6 +21,7 @@ 
     51--- a/arch/mips/lantiq/xway/devices.c 
     52+++ b/arch/mips/lantiq/xway/devices.c 
     53@@ -19,6 +19,7 @@ 
     54 #include <linux/time.h> 
    6255 #include <linux/io.h> 
    6356 #include <linux/gpio.h> 
    64  #include <linux/leds.h> 
    6557+#include <linux/spi/spi.h> 
    6658  
    6759 #include <asm/bootinfo.h> 
    6860 #include <asm/irq.h> 
    69 @@ -101,3 +102,94 @@ 
     61@@ -99,3 +100,98 @@ ltq_register_etop(struct ltq_eth_data *e 
    7062                platform_device_register(&ltq_etop); 
    7163        } 
     
    7668+EXPORT_SYMBOL(lantiq_emulate_madwifi_eep); 
    7769+ 
     70+int lantiq_madwifi_eep_addr = 0; 
     71+EXPORT_SYMBOL(lantiq_madwifi_eep_addr); 
     72+ 
    7873+void __init 
    79 +ltq_register_madwifi_eep(void) 
     74+ltq_register_madwifi_eep(unsigned long long addr) 
    8075+{ 
     76+       lantiq_madwifi_eep_addr = addr; 
    8177+       lantiq_emulate_madwifi_eep = 1; 
    8278+} 
     
    162158+       platform_device_register(&ltq_spi); 
    163159+} 
    164 Index: linux-3.0.3/arch/mips/lantiq/xway/devices.h 
    165 =================================================================== 
    166 --- linux-3.0.3.orig/arch/mips/lantiq/xway/devices.h    2011-08-17 19:57:16.000000000 +0200 
    167 +++ linux-3.0.3/arch/mips/lantiq/xway/devices.h 2011-10-04 20:07:13.366316178 +0200 
     160--- a/arch/mips/lantiq/xway/devices.h 
     161+++ b/arch/mips/lantiq/xway/devices.h 
    168162@@ -11,10 +11,17 @@ 
    169163  
     
    180174+extern void ltq_register_spi(struct ltq_spi_platform_data *pdata, 
    181175+       struct spi_board_info const *info, unsigned n); 
    182 +extern void ltq_register_madwifi_eep(void); 
     176+extern void ltq_register_madwifi_eep(unsigned long long addr); 
    183177+extern void ltq_register_gpio_buttons(struct gpio_button *buttons, int cnt); 
    184178  
    185179 #endif 
    186 Index: linux-3.0.3/arch/mips/lantiq/Makefile 
    187 =================================================================== 
    188 --- linux-3.0.3.orig/arch/mips/lantiq/Makefile  2011-10-04 20:03:54.000000000 +0200 
    189 +++ linux-3.0.3/arch/mips/lantiq/Makefile       2011-10-04 20:08:10.406318621 +0200 
     180--- a/arch/mips/lantiq/Makefile 
     181+++ b/arch/mips/lantiq/Makefile 
    190182@@ -4,7 +4,7 @@ 
    191183 # under the terms of the GNU General Public License version 2 as published 
     
    193185  
    194186-obj-y := irq.o setup.o clk.o prom.o devices.o 
    195 +obj-y := irq.o setup.o clk.o prom.o devices.o dev-leds-gpio.o dev-gpio-buttons.o 
     187+obj-y := irq.o setup.o clk.o prom.o devices.o dev-gpio-leds.o dev-gpio-buttons.o 
    196188  
    197189 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 
  • trunk/target/linux/lantiq/patches/800-fix-etop.patch

    r28718 r28721  
    1 Index: linux-3.0.3/drivers/net/lantiq_etop.c 
    2 =================================================================== 
    3 --- linux-3.0.3.orig/drivers/net/lantiq_etop.c  2011-10-07 11:03:00.140000754 +0200 
    4 +++ linux-3.0.3/drivers/net/lantiq_etop.c       2011-10-07 11:03:06.088001008 +0200 
    5 @@ -397,7 +397,10 @@ 
     1--- a/drivers/net/lantiq_etop.c 
     2+++ b/drivers/net/lantiq_etop.c 
     3@@ -397,7 +397,10 @@ ltq_etop_get_settings(struct net_device 
    64 { 
    75        struct ltq_etop_priv *priv = netdev_priv(dev); 
     
    1513  
    1614 static int 
    17 @@ -405,7 +408,10 @@ 
     15@@ -405,7 +408,10 @@ ltq_etop_set_settings(struct net_device 
    1816 { 
    1917        struct ltq_etop_priv *priv = netdev_priv(dev); 
     
    2725  
    2826 static int 
    29 @@ -413,7 +419,10 @@ 
     27@@ -413,7 +419,10 @@ ltq_etop_nway_reset(struct net_device *d 
    3028 { 
    3129        struct ltq_etop_priv *priv = netdev_priv(dev); 
     
    3937  
    4038 static const struct ethtool_ops ltq_etop_ethtool_ops = { 
    41 @@ -615,7 +624,8 @@ 
     39@@ -615,7 +624,8 @@ ltq_etop_open(struct net_device *dev) 
    4240                ltq_dma_open(&ch->dma); 
    4341                napi_enable(&ch->napi); 
     
    4947        return 0; 
    5048 } 
    51 @@ -627,7 +637,8 @@ 
     49@@ -627,7 +637,8 @@ ltq_etop_stop(struct net_device *dev) 
    5250        int i; 
    5351  
     
    5957                struct ltq_etop_chan *ch = &priv->ch[i]; 
    6058  
    61 @@ -775,7 +786,7 @@ 
     59@@ -775,7 +786,7 @@ ltq_etop_init(struct net_device *dev) 
    6260        ltq_etop_set_multicast_list(dev); 
    6361        err = ltq_etop_mdio_init(dev); 
Note: See TracChangeset for help on using the changeset viewer.