Changeset 38031


Ignore:
Timestamp:
2013-09-17T23:46:10+02:00 (4 years ago)
Author:
blogic
Message:

lantiq: add v3.10 patches

Signed-off-by: John Crispin <blogic@…>

Location:
trunk
Files:
12 added
3 deleted
8 edited
25 copied

Legend:

Unmodified
Added
Removed
  • trunk/package/kernel/lantiq/ltq-hcd/src/Makefile

    r37007 r38031  
    1 ltq_hcd_$(BUILD_VARIANT)-objs    := ifxusb_driver.o ifxusb_ctl.o ifxusb_cif.o \ 
     1ltq_hcd_$(BUILD_VARIANT)-objs    := ifxusb_driver.o ifxusb_cif.o \ 
    22                        ifxusb_cif_h.o ifxhcd.o ifxhcd_es.o \ 
    33                        ifxhcd_intr.o ifxhcd_queue.o 
  • trunk/package/kernel/lantiq/ltq-hcd/src/ifxusb_driver.c

    r37007 r38031  
    289289        #endif 
    290290        /* Remove the device attributes */ 
    291         #ifdef __IS_HOST__ 
     291/*      #ifdef __IS_HOST__ 
    292292                ifxusb_attr_remove_h(&_pdev->dev); 
    293293        #else 
    294294                ifxusb_attr_remove_d(&_pdev->dev); 
    295         #endif 
     295        #endif*/ 
    296296        return 0; 
    297297} 
     
    463463        #endif 
    464464 
    465         #ifdef __IS_HOST__ 
     465/*      #ifdef __IS_HOST__ 
    466466                ifxusb_attr_create_h(&_pdev->dev); 
    467467        #else 
    468468                ifxusb_attr_create_d(&_pdev->dev); 
    469         #endif 
     469        #endif*/ 
    470470 
    471471        gpio_count = of_gpio_count(np); 
  • trunk/package/kernel/lantiq/ltq-vdsl-mei/patches/100-compat.patch

    r37007 r38031  
    22=================================================================== 
    33--- drv_mei_cpe-1.2.0.orig/src/drv_mei_cpe_common.c     2011-10-26 00:49:51.000000000 +0200 
    4 +++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_common.c  2012-11-28 15:14:10.421633418 +0100 
     4+++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_common.c  2013-09-01 21:04:12.197022086 +0200 
    55@@ -20,7 +20,6 @@ 
    66 /* get at first the driver configuration */ 
     
    1414=================================================================== 
    1515--- drv_mei_cpe-1.2.0.orig/configure.in 2012-01-20 17:41:07.000000000 +0100 
    16 +++ drv_mei_cpe-1.2.0/configure.in      2012-11-28 15:14:10.421633418 +0100 
     16+++ drv_mei_cpe-1.2.0/configure.in      2013-09-01 21:04:12.197022086 +0200 
    1717@@ -140,7 +140,7 @@ 
    1818 AC_ARG_ENABLE(kernelbuild, 
     
    2727=================================================================== 
    2828--- drv_mei_cpe-1.2.0.orig/configure    2012-01-20 17:50:02.000000000 +0100 
    29 +++ drv_mei_cpe-1.2.0/configure 2012-11-28 15:14:56.637634577 +0100 
     29+++ drv_mei_cpe-1.2.0/configure 2013-09-01 21:04:14.361022179 +0200 
    3030@@ -617,6 +617,7 @@ 
    3131 am__fastdepCC_FALSE 
     
    8989=================================================================== 
    9090--- drv_mei_cpe-1.2.0.orig/src/drv_mei_cpe_linux.h      2011-07-25 20:41:02.000000000 +0200 
    91 +++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_linux.h   2012-11-28 15:14:10.429633419 +0100 
     91+++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_linux.h   2013-09-01 21:04:12.197022086 +0200 
    9292@@ -34,8 +34,6 @@ 
    9393 #include <linux/sched.h> 
     
    111111=================================================================== 
    112112--- drv_mei_cpe-1.2.0.orig/src/drv_mei_cpe_mei_vr9.h    2011-07-25 20:41:02.000000000 +0200 
    113 +++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_mei_vr9.h 2012-11-28 15:14:10.429633419 +0100 
     113+++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_mei_vr9.h 2013-09-01 21:04:12.197022086 +0200 
    114114@@ -40,12 +40,6 @@ 
    115115 #endif 
     
    128128=================================================================== 
    129129--- drv_mei_cpe-1.2.0.orig/src/drv_mei_cpe_api_atm_ptm_intern.c 2011-07-25 20:41:02.000000000 +0200 
    130 +++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_api_atm_ptm_intern.c      2012-11-28 15:14:10.429633419 +0100 
     130+++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_api_atm_ptm_intern.c      2013-09-01 21:04:12.197022086 +0200 
    131131@@ -25,11 +25,7 @@ 
    132132 #include "ifx_types.h" 
     
    145145=================================================================== 
    146146--- drv_mei_cpe-1.2.0.orig/src/drv_mei_cpe_linux.c      2011-07-25 20:41:02.000000000 +0200 
    147 +++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_linux.c   2012-11-28 15:24:56.269649609 +0100 
     147+++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_linux.c   2013-09-01 21:04:12.197022086 +0200 
    148148@@ -32,11 +32,9 @@ 
    149149 #include <linux/module.h> 
     
    160160 #include <linux/irq.h> 
    161161 #include <asm/io.h> 
    162 @@ -87,6 +85,8 @@ 
     162@@ -67,6 +65,9 @@ 
     163  
     164 #include "drv_mei_cpe_msg_process.h" 
     165  
     166+#undef MEI_SUPPORT_PROCFS_CONFIG 
     167+#undef CONFIG_PROC_FS 
     168+ 
     169 #if (MEI_SUPPORT_PROCFS_CONFIG == 1) 
     170 #include "drv_mei_cpe_linux_proc_config.h" 
     171 #endif /* MEI_SUPPORT_PROCFS_CONFIG */ 
     172@@ -87,6 +88,8 @@ 
    163173 #include "drv_mei_cpe_device_cntrl.h" 
    164174 #endif 
     
    169179    extern function declarations 
    170180    =================================== */ 
    171 @@ -122,7 +122,7 @@ 
     181@@ -122,7 +125,7 @@ 
    172182                      size_t length, 
    173183                      loff_t * ppos); 
     
    178188  
    179189 static unsigned int MEI_Poll (struct file *filp, poll_table *table); 
    180 @@ -137,7 +137,7 @@ 
     190@@ -137,7 +140,7 @@ 
    181191  
    182192 static void MEI_IfxFreeIrq(unsigned int usedIrq, void *pUsedDevId); 
     
    187197  
    188198 #if CONFIG_PROC_FS 
    189 @@ -194,7 +194,9 @@ 
     199@@ -194,7 +197,9 @@ 
    190200 /* =================================== */ 
    191201 /* Local variables (LINUX)             */ 
     
    198208 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)) 
    199209 MODULE_PARM(major_number, "b"); 
    200 @@ -242,7 +244,7 @@ 
     210@@ -242,7 +247,7 @@ 
    201211         MEI_Write, 
    202212     poll: 
     
    207217     open: 
    208218         MEI_OpenOS, 
    209 @@ -457,7 +459,7 @@ 
     219@@ -457,7 +462,7 @@ 
    210220    0 and positive values - success, 
    211221    negative value - ioctl failed 
     
    216226 { 
    217227    int ret = 0, retSize = sizeof(IOCTL_MEI_ioctl_t); 
    218 @@ -1242,7 +1246,7 @@ 
     228@@ -1242,7 +1247,7 @@ 
    219229 \remark 
    220230    None. 
     
    225235    IFX_int32_t    meiIntCnt = 0; 
    226236    MEIX_CNTRL_T *pMeiXCntrlList = (MEIX_CNTRL_T*)dev_id; 
    227 @@ -1691,6 +1695,7 @@ 
     237@@ -1691,6 +1696,7 @@ 
    228238 static int __init MEI_module_init (void) 
    229239 { 
     
    233243    printk(KERN_INFO "%s" MEI_DRV_CRLF, &MEI_WHATVERSION[4]); 
    234244    printk(KERN_INFO "(c) Copyright 2009, Infineon Technologies AG" MEI_DRV_CRLF); 
    235 @@ -1730,6 +1735,8 @@ 
     245@@ -1730,6 +1736,8 @@ 
    236246       return (result); 
    237247    } 
     
    245255=================================================================== 
    246256--- drv_mei_cpe-1.2.0.orig/src/drv_mei_cpe_mei_access_vr9.c     2011-07-25 20:41:02.000000000 +0200 
    247 +++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_mei_access_vr9.c  2012-11-28 15:14:10.433633419 +0100 
     257+++ drv_mei_cpe-1.2.0/src/drv_mei_cpe_mei_access_vr9.c  2013-09-01 21:04:12.197022086 +0200 
    248258@@ -37,6 +37,7 @@ 
    249259  
     
    297307    return IFX_SUCCESS; 
    298308 } 
     309Index: drv_mei_cpe-1.2.0/src/Makefile.am 
     310=================================================================== 
     311--- drv_mei_cpe-1.2.0.orig/src/Makefile.am      2013-09-01 21:05:24.581025175 +0200 
     312+++ drv_mei_cpe-1.2.0/src/Makefile.am   2013-09-01 21:05:30.765025452 +0200 
     313@@ -97,8 +97,6 @@ 
     314        drv_mei_cpe_dbg_driver.h\ 
     315        drv_mei_cpe_linux.c\ 
     316        drv_mei_cpe_linux.h\ 
     317-       drv_mei_cpe_linux_proc_config.c\ 
     318-       drv_mei_cpe_linux_proc_config.h\ 
     319        drv_mei_cpe_vxworks.c\ 
     320        drv_mei_cpe_vxworks.h\ 
     321        drv_mei_cpe_vxworks_bsp.c\ 
  • trunk/target/linux/lantiq/Makefile

    r38029 r38031  
    1212SUBTARGETS=xway xrx200 ase falcon 
    1313 
    14 LINUX_VERSION:=3.8.13 
     14LINUX_VERSION:=3.10.12 
    1515 
    1616CFLAGS=-Os -pipe -mips32r2 -mno-branch-likely 
  • trunk/target/linux/lantiq/base-files/lib/upgrade/platform.sh

    r37719 r38031  
    1 PART_NAME=linux 
     1PART_NAME=firmware 
    22 
    33platform_check_image() { 
  • trunk/target/linux/lantiq/config-default

    r38002 r38031  
    162162CONFIG_USB_ARCH_HAS_XHCI=y 
    163163CONFIG_USE_OF=y 
    164 CONFIG_XRX200_PHY_FW=y 
    165164CONFIG_ZONE_DMA_FLAG=0 
  • trunk/target/linux/lantiq/patches-3.10/0001-MIPS-lantiq-add-pcie-driver.patch

    r38030 r38031  
    1 From 86b0b37729298b067157263b7bf5dbf735527e7c Mon Sep 17 00:00:00 2001 
     1From 1b5fced71edb0a4e71012d79be29f1003c7b099f Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Wed, 13 Mar 2013 09:39:02 +0100 
    4 Subject: [PATCH 30/40] MIPS: lantiq: add pcie driver 
     4Subject: [PATCH 01/34] MIPS: lantiq: add pcie driver 
    55 
    66--- 
     
    88 arch/mips/lantiq/xway/sysctrl.c    |    2 + 
    99 arch/mips/pci/Makefile             |    2 + 
    10  arch/mips/pci/fixup-lantiq-pcie.c  |   82 ++ 
    11  arch/mips/pci/fixup-lantiq.c       |    3 + 
     10 arch/mips/pci/fixup-lantiq-pcie.c  |   82 +++ 
     11 arch/mips/pci/fixup-lantiq.c       |    5 +- 
    1212 arch/mips/pci/ifxmips_pci_common.h |   57 ++ 
    13  arch/mips/pci/ifxmips_pcie.c       | 1607 ++++++++++++++++++++++++++++++++++++ 
    14  arch/mips/pci/ifxmips_pcie.h       |  135 +++ 
    15  arch/mips/pci/ifxmips_pcie_ar10.h  |  290 +++++++ 
    16  arch/mips/pci/ifxmips_pcie_msi.c   |  392 +++++++++ 
    17  arch/mips/pci/ifxmips_pcie_phy.c   |  478 +++++++++++ 
    18  arch/mips/pci/ifxmips_pcie_pm.c    |  176 ++++ 
     13 arch/mips/pci/ifxmips_pcie.c       | 1099 ++++++++++++++++++++++++++++++ 
     14 arch/mips/pci/ifxmips_pcie.h       |  135 ++++ 
     15 arch/mips/pci/ifxmips_pcie_ar10.h  |  290 ++++++++ 
     16 arch/mips/pci/ifxmips_pcie_msi.c   |  392 +++++++++++ 
     17 arch/mips/pci/ifxmips_pcie_phy.c   |  478 +++++++++++++ 
     18 arch/mips/pci/ifxmips_pcie_pm.c    |  176 +++++ 
    1919 arch/mips/pci/ifxmips_pcie_pm.h    |   36 + 
    20  arch/mips/pci/ifxmips_pcie_reg.h   | 1001 ++++++++++++++++++++++ 
    21  arch/mips/pci/ifxmips_pcie_vr9.h   |  271 ++++++ 
     20 arch/mips/pci/ifxmips_pcie_reg.h   | 1001 +++++++++++++++++++++++++++ 
     21 arch/mips/pci/ifxmips_pcie_vr9.h   |  271 ++++++++ 
    2222 arch/mips/pci/pci.c                |   25 + 
     23 arch/mips/pci/pcie-lantiq.h        | 1305 ++++++++++++++++++++++++++++++++++++ 
    2324 drivers/pci/pcie/aer/Kconfig       |    2 +- 
    2425 include/linux/pci.h                |    2 + 
    2526 include/linux/pci_ids.h            |    6 + 
    26  19 files changed, 4576 insertions(+), 1 deletion(-) 
     27 20 files changed, 5374 insertions(+), 2 deletions(-) 
    2728 create mode 100644 arch/mips/pci/fixup-lantiq-pcie.c 
    2829 create mode 100644 arch/mips/pci/ifxmips_pci_common.h 
     
    3637 create mode 100644 arch/mips/pci/ifxmips_pcie_reg.h 
    3738 create mode 100644 arch/mips/pci/ifxmips_pcie_vr9.h 
     39 create mode 100644 arch/mips/pci/pcie-lantiq.h 
    3840 
    39 Index: linux-3.8.13/arch/mips/lantiq/Kconfig 
    40 =================================================================== 
    41 --- linux-3.8.13.orig/arch/mips/lantiq/Kconfig  2013-07-25 20:01:18.211262427 +0200 
    42 +++ linux-3.8.13/arch/mips/lantiq/Kconfig       2013-07-25 20:01:18.399262431 +0200 
    43 @@ -18,6 +18,7 @@ 
     41diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig 
     42index c002191..1621b1d 100644 
     43--- a/arch/mips/lantiq/Kconfig 
     44+++ b/arch/mips/lantiq/Kconfig 
     45@@ -17,6 +17,7 @@ config SOC_XWAY 
    4446        bool "XWAY" 
    4547        select SOC_TYPE_XWAY 
     
    4951 config SOC_FALCON 
    5052        bool "FALCON" 
    51 @@ -37,6 +38,15 @@ 
     53@@ -36,6 +37,15 @@ config PCI_LANTIQ 
    5254        bool "PCI Support" 
    5355        depends on SOC_XWAY && PCI 
     
    6567        bool "XRX200 PHY firmware loader" 
    6668        depends on SOC_XWAY 
    67 Index: linux-3.8.13/arch/mips/lantiq/xway/sysctrl.c 
    68 =================================================================== 
    69 --- linux-3.8.13.orig/arch/mips/lantiq/xway/sysctrl.c   2013-07-25 20:01:18.375262431 +0200 
    70 +++ linux-3.8.13/arch/mips/lantiq/xway/sysctrl.c        2013-07-25 20:01:18.399262431 +0200 
    71 @@ -377,6 +377,8 @@ 
     69diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c 
     70index c24924f..e30dde8 100644 
     71--- a/arch/mips/lantiq/xway/sysctrl.c 
     72+++ b/arch/mips/lantiq/xway/sysctrl.c 
     73@@ -377,6 +377,8 @@ void __init ltq_soc_init(void) 
    7274                                PMU_PPE_EMA | PMU_PPE_TC | PMU_PPE_SLL01 | 
    7375                                PMU_PPE_QSB | PMU_PPE_TOP); 
     
    7880                clkdev_add_static(ltq_ar9_cpu_hz(), ltq_ar9_fpi_hz(), 
    7981                                ltq_ar9_fpi_hz(), CLOCK_250M); 
    80 Index: linux-3.8.13/arch/mips/pci/Makefile 
    81 =================================================================== 
    82 --- linux-3.8.13.orig/arch/mips/pci/Makefile    2013-05-11 22:57:46.000000000 +0200 
    83 +++ linux-3.8.13/arch/mips/pci/Makefile 2013-07-25 20:01:18.399262431 +0200 
    84 @@ -42,6 +42,8 @@ 
     82diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile 
     83index 2cb1d31..8ba7fff 100644 
     84--- a/arch/mips/pci/Makefile 
     85+++ b/arch/mips/pci/Makefile 
     86@@ -41,6 +41,8 @@ obj-$(CONFIG_SIBYTE_BCM1x80)  += pci-bcm1480.o pci-bcm1480ht.o 
    8587 obj-$(CONFIG_SNI_RM)           += fixup-sni.o ops-sni.o 
    8688 obj-$(CONFIG_LANTIQ)           += fixup-lantiq.o 
     
    9193 obj-$(CONFIG_TANBAC_TB0226)    += fixup-tb0226.o 
    9294 obj-$(CONFIG_TANBAC_TB0287)    += fixup-tb0287.o 
    93 Index: linux-3.8.13/arch/mips/pci/fixup-lantiq-pcie.c 
    94 =================================================================== 
    95 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    96 +++ linux-3.8.13/arch/mips/pci/fixup-lantiq-pcie.c      2013-07-25 20:01:18.403262431 +0200 
     95diff --git a/arch/mips/pci/fixup-lantiq-pcie.c b/arch/mips/pci/fixup-lantiq-pcie.c 
     96new file mode 100644 
     97index 0000000..3325e24 
     98--- /dev/null 
     99+++ b/arch/mips/pci/fixup-lantiq-pcie.c 
    97100@@ -0,0 +1,82 @@ 
    98101+/****************************************************************************** 
     
    178181+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LANTIQ, PCI_DEVICE_ID_LANTIQ_PCIE, 
    179182+     ifx_pcie_rc_class_early_fixup); 
    180 Index: linux-3.8.13/arch/mips/pci/fixup-lantiq.c 
    181 =================================================================== 
    182 --- linux-3.8.13.orig/arch/mips/pci/fixup-lantiq.c      2013-05-11 22:57:46.000000000 +0200 
    183 +++ linux-3.8.13/arch/mips/pci/fixup-lantiq.c   2013-07-25 20:46:47.227327456 +0200 
     183diff --git a/arch/mips/pci/fixup-lantiq.c b/arch/mips/pci/fixup-lantiq.c 
     184index 6c829df..50ec0b5 100644 
     185--- a/arch/mips/pci/fixup-lantiq.c 
     186+++ b/arch/mips/pci/fixup-lantiq.c 
    184187@@ -11,11 +11,12 @@ 
    185188  
     
    196199        if (ltq_pci_plat_dev_init) 
    197200                return ltq_pci_plat_dev_init(dev); 
    198 @@ -28,6 +29,8 @@ 
     201@@ -28,6 +29,8 @@ int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 
    199202        struct of_irq dev_irq; 
    200203        int irq; 
     
    205208                dev_err(&dev->dev, "trying to map irq for unknown slot:%d pin:%d\n", 
    206209                        slot, pin); 
    207 Index: linux-3.8.13/arch/mips/pci/ifxmips_pci_common.h 
    208 =================================================================== 
    209 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    210 +++ linux-3.8.13/arch/mips/pci/ifxmips_pci_common.h     2013-07-25 20:01:18.403262431 +0200 
     210diff --git a/arch/mips/pci/ifxmips_pci_common.h b/arch/mips/pci/ifxmips_pci_common.h 
     211new file mode 100644 
     212index 0000000..46f4cb2 
     213--- /dev/null 
     214+++ b/arch/mips/pci/ifxmips_pci_common.h 
    211215@@ -0,0 +1,57 @@ 
    212216+/****************************************************************************** 
     
    267271+#endif /* IFXMIPS_PCI_COMMON_H */ 
    268272+ 
    269 Index: linux-3.8.13/arch/mips/pci/ifxmips_pcie.c 
    270 =================================================================== 
    271 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    272 +++ linux-3.8.13/arch/mips/pci/ifxmips_pcie.c   2013-07-25 20:01:18.403262431 +0200 
     273diff --git a/arch/mips/pci/ifxmips_pcie.c b/arch/mips/pci/ifxmips_pcie.c 
     274new file mode 100644 
     275index 0000000..4128898 
     276--- /dev/null 
     277+++ b/arch/mips/pci/ifxmips_pcie.c 
    273278@@ -0,0 +1,1099 @@ 
    274279+/* 
     
    13711376+MODULE_DESCRIPTION("Infineon builtin PCIe RC driver"); 
    13721377+ 
    1373 Index: linux-3.8.13/arch/mips/pci/ifxmips_pcie.h 
    1374 =================================================================== 
    1375 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    1376 +++ linux-3.8.13/arch/mips/pci/ifxmips_pcie.h   2013-07-25 20:01:18.403262431 +0200 
     1378diff --git a/arch/mips/pci/ifxmips_pcie.h b/arch/mips/pci/ifxmips_pcie.h 
     1379new file mode 100644 
     1380index 0000000..c6f92f5 
     1381--- /dev/null 
     1382+++ b/arch/mips/pci/ifxmips_pcie.h 
    13771383@@ -0,0 +1,135 @@ 
    13781384+/****************************************************************************** 
     
    15111517+#endif  /* IFXMIPS_PCIE_H */ 
    15121518+ 
    1513 Index: linux-3.8.13/arch/mips/pci/ifxmips_pcie_ar10.h 
    1514 =================================================================== 
    1515 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    1516 +++ linux-3.8.13/arch/mips/pci/ifxmips_pcie_ar10.h      2013-07-25 20:01:18.407262431 +0200 
     1519diff --git a/arch/mips/pci/ifxmips_pcie_ar10.h b/arch/mips/pci/ifxmips_pcie_ar10.h 
     1520new file mode 100644 
     1521index 0000000..99ff463 
     1522--- /dev/null 
     1523+++ b/arch/mips/pci/ifxmips_pcie_ar10.h 
    15171524@@ -0,0 +1,290 @@ 
    15181525+/**************************************************************************** 
     
    18061813+ 
    18071814+#endif /* IFXMIPS_PCIE_AR10_H */ 
    1808 Index: linux-3.8.13/arch/mips/pci/ifxmips_pcie_msi.c 
    1809 =================================================================== 
    1810 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    1811 +++ linux-3.8.13/arch/mips/pci/ifxmips_pcie_msi.c       2013-07-25 20:01:18.407262431 +0200 
     1815diff --git a/arch/mips/pci/ifxmips_pcie_msi.c b/arch/mips/pci/ifxmips_pcie_msi.c 
     1816new file mode 100644 
     1817index 0000000..bffd6fa 
     1818--- /dev/null 
     1819+++ b/arch/mips/pci/ifxmips_pcie_msi.c 
    18121820@@ -0,0 +1,392 @@ 
    18131821+/****************************************************************************** 
     
    22032211+MODULE_DESCRIPTION("Infineon PCIe IP builtin MSI PIC driver"); 
    22042212+ 
    2205 Index: linux-3.8.13/arch/mips/pci/ifxmips_pcie_phy.c 
    2206 =================================================================== 
    2207 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    2208 +++ linux-3.8.13/arch/mips/pci/ifxmips_pcie_phy.c       2013-07-25 20:01:18.407262431 +0200 
     2213diff --git a/arch/mips/pci/ifxmips_pcie_phy.c b/arch/mips/pci/ifxmips_pcie_phy.c 
     2214new file mode 100644 
     2215index 0000000..f5b0f13 
     2216--- /dev/null 
     2217+++ b/arch/mips/pci/ifxmips_pcie_phy.c 
    22092218@@ -0,0 +1,478 @@ 
    22102219+/****************************************************************************** 
     
    26862695+} 
    26872696+ 
    2688 Index: linux-3.8.13/arch/mips/pci/ifxmips_pcie_pm.c 
    2689 =================================================================== 
    2690 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    2691 +++ linux-3.8.13/arch/mips/pci/ifxmips_pcie_pm.c        2013-07-25 20:01:18.407262431 +0200 
     2697diff --git a/arch/mips/pci/ifxmips_pcie_pm.c b/arch/mips/pci/ifxmips_pcie_pm.c 
     2698new file mode 100644 
     2699index 0000000..a10ecad 
     2700--- /dev/null 
     2701+++ b/arch/mips/pci/ifxmips_pcie_pm.c 
    26922702@@ -0,0 +1,176 @@ 
    26932703+/****************************************************************************** 
     
    28672877+} 
    28682878+ 
    2869 Index: linux-3.8.13/arch/mips/pci/ifxmips_pcie_pm.h 
    2870 =================================================================== 
    2871 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    2872 +++ linux-3.8.13/arch/mips/pci/ifxmips_pcie_pm.h        2013-07-25 20:01:18.407262431 +0200 
     2879diff --git a/arch/mips/pci/ifxmips_pcie_pm.h b/arch/mips/pci/ifxmips_pcie_pm.h 
     2880new file mode 100644 
     2881index 0000000..6ece20d 
     2882--- /dev/null 
     2883+++ b/arch/mips/pci/ifxmips_pcie_pm.h 
    28732884@@ -0,0 +1,36 @@ 
    28742885+/****************************************************************************** 
     
    29082919+#endif /* IFXMIPS_PCIE_PM_H  */ 
    29092920+ 
    2910 Index: linux-3.8.13/arch/mips/pci/ifxmips_pcie_reg.h 
    2911 =================================================================== 
    2912 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    2913 +++ linux-3.8.13/arch/mips/pci/ifxmips_pcie_reg.h       2013-07-25 20:01:18.411262431 +0200 
     2921diff --git a/arch/mips/pci/ifxmips_pcie_reg.h b/arch/mips/pci/ifxmips_pcie_reg.h 
     2922new file mode 100644 
     2923index 0000000..e7e4b6c 
     2924--- /dev/null 
     2925+++ b/arch/mips/pci/ifxmips_pcie_reg.h 
    29142926@@ -0,0 +1,1001 @@ 
    29152927+/****************************************************************************** 
     
    39143926+#endif /* IFXMIPS_PCIE_REG_H */ 
    39153927+ 
    3916 Index: linux-3.8.13/arch/mips/pci/ifxmips_pcie_vr9.h 
    3917 =================================================================== 
    3918 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    3919 +++ linux-3.8.13/arch/mips/pci/ifxmips_pcie_vr9.h       2013-07-25 20:01:18.411262431 +0200 
     3928diff --git a/arch/mips/pci/ifxmips_pcie_vr9.h b/arch/mips/pci/ifxmips_pcie_vr9.h 
     3929new file mode 100644 
     3930index 0000000..57d9368 
     3931--- /dev/null 
     3932+++ b/arch/mips/pci/ifxmips_pcie_vr9.h 
    39203933@@ -0,0 +1,271 @@ 
    39213934+/**************************************************************************** 
     
    41904203+#endif /* IFXMIPS_PCIE_VR9_H */ 
    41914204+ 
    4192 Index: linux-3.8.13/arch/mips/pci/pci.c 
    4193 =================================================================== 
    4194 --- linux-3.8.13.orig/arch/mips/pci/pci.c       2013-07-25 20:01:13.135262305 +0200 
    4195 +++ linux-3.8.13/arch/mips/pci/pci.c    2013-07-25 20:01:18.411262431 +0200 
    4196 @@ -255,6 +255,31 @@ 
     4205diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c 
     4206index 594e60d..2e75400 100644 
     4207--- a/arch/mips/pci/pci.c 
     4208+++ b/arch/mips/pci/pci.c 
     4209@@ -266,6 +266,31 @@ static int __init pcibios_init(void) 
    41974210  
    41984211 subsys_initcall(pcibios_init); 
     
    42264239 { 
    42274240        u16 cmd, old_cmd; 
    4228 Index: linux-3.8.13/drivers/pci/pcie/aer/Kconfig 
    4229 =================================================================== 
    4230 --- linux-3.8.13.orig/drivers/pci/pcie/aer/Kconfig      2013-05-11 22:57:46.000000000 +0200 
    4231 +++ linux-3.8.13/drivers/pci/pcie/aer/Kconfig   2013-07-25 20:01:18.411262431 +0200 
    4232 @@ -5,7 +5,7 @@ 
    4233  config PCIEAER 
    4234         boolean "Root Port Advanced Error Reporting support" 
    4235         depends on PCIEPORTBUS 
    4236 -       default y 
    4237 +       default n 
    4238         help 
    4239           This enables PCI Express Root Port Advanced Error Reporting 
    4240           (AER) driver support. Error reporting messages sent to Root 
    4241 Index: linux-3.8.13/include/linux/pci.h 
    4242 =================================================================== 
    4243 --- linux-3.8.13.orig/include/linux/pci.h       2013-07-25 20:01:13.111262305 +0200 
    4244 +++ linux-3.8.13/include/linux/pci.h    2013-07-25 20:01:18.415262432 +0200 
    4245 @@ -1059,6 +1059,8 @@ 
    4246  int pci_cfg_space_size_ext(struct pci_dev *dev); 
    4247  int pci_cfg_space_size(struct pci_dev *dev); 
    4248  unsigned char pci_bus_max_busnr(struct pci_bus *bus); 
    4249 +int pcibios_host_nr(void); 
    4250 +int pcibios_1st_host_bus_nr(void); 
    4251  void pci_setup_bridge(struct pci_bus *bus); 
    4252  resource_size_t pcibios_window_alignment(struct pci_bus *bus, 
    4253                                          unsigned long type); 
    4254 Index: linux-3.8.13/include/linux/pci_ids.h 
    4255 =================================================================== 
    4256 --- linux-3.8.13.orig/include/linux/pci_ids.h   2013-05-11 22:57:46.000000000 +0200 
    4257 +++ linux-3.8.13/include/linux/pci_ids.h        2013-07-25 20:01:18.415262432 +0200 
    4258 @@ -1040,6 +1040,12 @@ 
    4259  #define PCI_DEVICE_ID_SGI_LITHIUM      0x1002 
    4260  #define PCI_DEVICE_ID_SGI_IOC4         0x100a 
    4261   
    4262 +#define PCI_VENDOR_ID_INFINEON         0x15D1 
    4263 +#define PCI_DEVICE_ID_INFINEON_DANUBE  0x000F 
    4264 +#define PCI_DEVICE_ID_INFINEON_PCIE    0x0011 
    4265 +#define PCI_VENDOR_ID_LANTIQ           0x1BEF 
    4266 +#define PCI_DEVICE_ID_LANTIQ_PCIE      0x00 
    4267 + 
    4268  #define PCI_VENDOR_ID_WINBOND          0x10ad 
    4269  #define PCI_DEVICE_ID_WINBOND_82C105   0x0105 
    4270  #define PCI_DEVICE_ID_WINBOND_83C553   0x0565 
    4271 Index: linux-3.8.13/arch/mips/pci/pcie-lantiq.h 
    4272 =================================================================== 
    4273 --- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    4274 +++ linux-3.8.13/arch/mips/pci/pcie-lantiq.h    2013-07-25 20:01:18.419262432 +0200 
     4241diff --git a/arch/mips/pci/pcie-lantiq.h b/arch/mips/pci/pcie-lantiq.h 
     4242new file mode 100644 
     4243index 0000000..d877c23 
     4244--- /dev/null 
     4245+++ b/arch/mips/pci/pcie-lantiq.h 
    42754246@@ -0,0 +1,1305 @@ 
    42764247+/****************************************************************************** 
     
    55795550+#endif /* IFXMIPS_PCIE_VR9_H */ 
    55805551+ 
     5552diff --git a/drivers/pci/pcie/aer/Kconfig b/drivers/pci/pcie/aer/Kconfig 
     5553index 50e94e0..4bf848f 100644 
     5554--- a/drivers/pci/pcie/aer/Kconfig 
     5555+++ b/drivers/pci/pcie/aer/Kconfig 
     5556@@ -5,7 +5,7 @@ 
     5557 config PCIEAER 
     5558        boolean "Root Port Advanced Error Reporting support" 
     5559        depends on PCIEPORTBUS 
     5560-       default y 
     5561+       default n 
     5562        help 
     5563          This enables PCI Express Root Port Advanced Error Reporting 
     5564          (AER) driver support. Error reporting messages sent to Root 
     5565diff --git a/include/linux/pci.h b/include/linux/pci.h 
     5566index 3a24e4f..25b0349 100644 
     5567--- a/include/linux/pci.h 
     5568+++ b/include/linux/pci.h 
     5569@@ -1082,6 +1082,8 @@ void pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void *), 
     5570 int pci_cfg_space_size_ext(struct pci_dev *dev); 
     5571 int pci_cfg_space_size(struct pci_dev *dev); 
     5572 unsigned char pci_bus_max_busnr(struct pci_bus *bus); 
     5573+int pcibios_host_nr(void); 
     5574+int pcibios_1st_host_bus_nr(void); 
     5575 void pci_setup_bridge(struct pci_bus *bus); 
     5576 resource_size_t pcibios_window_alignment(struct pci_bus *bus, 
     5577                                         unsigned long type); 
     5578diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h 
     5579index c129162..c503ac9 100644 
     5580--- a/include/linux/pci_ids.h 
     5581+++ b/include/linux/pci_ids.h 
     5582@@ -1042,6 +1042,12 @@ 
     5583 #define PCI_DEVICE_ID_SGI_LITHIUM      0x1002 
     5584 #define PCI_DEVICE_ID_SGI_IOC4         0x100a 
     5585  
     5586+#define PCI_VENDOR_ID_INFINEON         0x15D1 
     5587+#define PCI_DEVICE_ID_INFINEON_DANUBE  0x000F 
     5588+#define PCI_DEVICE_ID_INFINEON_PCIE    0x0011 
     5589+#define PCI_VENDOR_ID_LANTIQ           0x1BEF 
     5590+#define PCI_DEVICE_ID_LANTIQ_PCIE      0x00 
     5591+ 
     5592 #define PCI_VENDOR_ID_WINBOND          0x10ad 
     5593 #define PCI_DEVICE_ID_WINBOND_82C105   0x0105 
     5594 #define PCI_DEVICE_ID_WINBOND_83C553   0x0565 
     5595--  
     55961.7.10.4 
     5597 
  • trunk/target/linux/lantiq/patches-3.10/0002-MIPS-lantiq-adds-minimal-dcdc-driver.patch

    r38030 r38031  
    1 From 1f95983593d5b6634c13ead8f923237484dc611e Mon Sep 17 00:00:00 2001 
     1From 82a678435e9937dc8a7cb801f476e340fcfbc23e Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    3 Date: Wed, 5 Dec 2012 17:38:48 +0100 
    4 Subject: [PATCH 31/40] MIPS: lantiq: adds minimal dcdc driver 
     3Date: Thu, 8 Aug 2013 14:02:23 +0200 
     4Subject: [PATCH 02/34] MIPS: lantiq: adds minimal dcdc driver 
    55 
    66This driver so far only reads the core voltage. 
    77 
    88Signed-off-by: John Crispin <blogic@openwrt.org> 
     9 
     10Acked-by: John Crispin <blogic@openwrt.org> 
     11Patchwork: http://patchwork.linux-mips.org/patch/5677/ 
    912--- 
    1013 arch/mips/lantiq/xway/Makefile |    2 +- 
    11  arch/mips/lantiq/xway/dcdc.c   |   74 ++++++++++++++++++++++++++++++++++++++++ 
    12  2 files changed, 75 insertions(+), 1 deletion(-) 
     14 arch/mips/lantiq/xway/dcdc.c   |   63 ++++++++++++++++++++++++++++++++++++++++ 
     15 2 files changed, 64 insertions(+), 1 deletion(-) 
    1316 create mode 100644 arch/mips/lantiq/xway/dcdc.c 
    1417 
     18diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile 
     19index 7a13660..087497d 100644 
    1520--- a/arch/mips/lantiq/xway/Makefile 
    1621+++ b/arch/mips/lantiq/xway/Makefile 
     
    2025  
    2126 obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o 
     27diff --git a/arch/mips/lantiq/xway/dcdc.c b/arch/mips/lantiq/xway/dcdc.c 
     28new file mode 100644 
     29index 0000000..7688ac0 
    2230--- /dev/null 
    2331+++ b/arch/mips/lantiq/xway/dcdc.c 
    24 @@ -0,0 +1,74 @@ 
     32@@ -0,0 +1,63 @@ 
    2533+/* 
    2634+ *  This program is free software; you can redistribute it and/or modify it 
     
    3240+ */ 
    3341+ 
    34 +#include <linux/interrupt.h> 
    3542+#include <linux/ioport.h> 
    36 +#include <linux/module.h> 
    3743+#include <linux/of_platform.h> 
    38 +#include <linux/of_irq.h> 
    3944+ 
    4045+#include <lantiq_soc.h> 
     
    5560+ 
    5661+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 
    57 +       if (!res) { 
    58 +               dev_err(&pdev->dev, "Failed to get resource\n"); 
    59 +               return -ENOMEM; 
    60 +       } 
     62+       dcdc_membase = devm_ioremap_resource(&pdev->dev, res); 
     63+       if (IS_ERR(dcdc_membase)) 
     64+               return PTR_ERR(dcdc_membase); 
    6165+ 
    62 +       /* remap dcdc register range */ 
    63 +       dcdc_membase = devm_request_and_ioremap(&pdev->dev, res); 
    64 +       if (!dcdc_membase) { 
    65 +               dev_err(&pdev->dev, "Failed to remap resource\n"); 
    66 +               return -ENOMEM; 
    67 +       } 
    68 + 
    69 +       dev_info(&pdev->dev, "Core Voltage : %d mV\n", dcdc_r8(DCDC_BIAS_VREG1) * 8); 
     66+       dev_info(&pdev->dev, "Core Voltage : %d mV\n", 
     67+               dcdc_r8(DCDC_BIAS_VREG1) * 8); 
    7068+ 
    7169+       return 0; 
     
    7674+       {}, 
    7775+}; 
    78 +MODULE_DEVICE_TABLE(of, dcdc_match); 
    7976+ 
    8077+static struct platform_driver dcdc_driver = { 
     
    9794+ 
    9895+arch_initcall(dcdc_init); 
     96--  
     971.7.10.4 
     98 
  • trunk/target/linux/lantiq/patches-3.10/0006-MIPS-lantiq-dtb-image-hack.patch

    r38030 r38031  
    1 From 34188b104874841296548a8c7e09d6e98771634f Mon Sep 17 00:00:00 2001 
     1From 7d62b24b4d94dabadeed552d84ac2665d53a802f Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Wed, 13 Mar 2013 09:36:16 +0100 
    4 Subject: [PATCH 17/22] owrt: lantiq dtb image hack 
     4Subject: [PATCH 06/34] MIPS: lantiq: dtb image hack 
    55 
     6Signed-off-by: John Crispin <blogic@openwrt.org> 
    67--- 
    78 arch/mips/lantiq/Makefile |    2 -- 
     
    910 2 files changed, 3 insertions(+), 3 deletions(-) 
    1011 
     12diff --git a/arch/mips/lantiq/Makefile b/arch/mips/lantiq/Makefile 
     13index d6bdc57..690257a 100644 
    1114--- a/arch/mips/lantiq/Makefile 
    1215+++ b/arch/mips/lantiq/Makefile 
     
    2023  
    2124 obj-$(CONFIG_SOC_TYPE_XWAY) += xway/ 
     25diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c 
     26index 9f9e875..72b183a 100644 
    2227--- a/arch/mips/lantiq/prom.c 
    2328+++ b/arch/mips/lantiq/prom.c 
    24 @@ -57,6 +57,8 @@ static void __init prom_init_cmdline(voi 
     29@@ -57,6 +57,8 @@ static void __init prom_init_cmdline(void) 
    2530        } 
    2631 } 
     
    4045  
    4146 void __init device_tree_init(void) 
     47--  
     481.7.10.4 
     49 
  • trunk/target/linux/lantiq/patches-3.10/0007-MIPS-lantiq-handle-vmmc-memory-reservation.patch

    r38030 r38031  
    1 From 6af001cc662f4aa3740c550ac43c6b6f75df67c8 Mon Sep 17 00:00:00 2001 
     1From 45aa29b444db4b0bf9ff49f8b9ca010608a6825b Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Wed, 13 Mar 2013 10:04:01 +0100 
    4 Subject: [PATCH 38/40] owrt: lantiq: handle vmmc memory reservation 
     4Subject: [PATCH 07/34] MIPS: lantiq: handle vmmc memory reservation 
    55 
     6Signed-off-by: John Crispin <blogic@openwrt.org> 
    67--- 
    7  arch/mips/lantiq/xway/Makefile |    2 +- 
     8 arch/mips/lantiq/xway/Makefile |    2 ++ 
    89 arch/mips/lantiq/xway/vmmc.c   |   63 ++++++++++++++++++++++++++++++++++++++++ 
    9  2 files changed, 64 insertions(+), 1 deletion(-) 
     10 2 files changed, 65 insertions(+) 
    1011 create mode 100644 arch/mips/lantiq/xway/vmmc.c 
    1112 
     13diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile 
     14index 087497d..a2edc53 100644 
    1215--- a/arch/mips/lantiq/xway/Makefile 
    1316+++ b/arch/mips/lantiq/xway/Makefile 
    14 @@ -1,6 +1,6 @@ 
     17@@ -1,3 +1,5 @@ 
    1518 obj-y := prom.o sysctrl.o clk.o reset.o dma.o gptu.o dcdc.o 
    1619  
    17 -obj-y += eth_mac.o 
    18 +obj-y += eth_mac.o vmmc.o 
    19  obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o 
    20   
     20+obj-y += vmmc.o 
     21+ 
    2122 obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o 
     23diff --git a/arch/mips/lantiq/xway/vmmc.c b/arch/mips/lantiq/xway/vmmc.c 
     24new file mode 100644 
     25index 0000000..6dedf77 
    2226--- /dev/null 
    2327+++ b/arch/mips/lantiq/xway/vmmc.c 
     
    8690+ 
    8791+module_platform_driver(vmmc_driver); 
     92--  
     931.7.10.4 
     94 
  • trunk/target/linux/lantiq/patches-3.10/0008-NET-PHY-adds-driver-for-lantiq-PHY11G.patch

    r38030 r38031  
    1 From 615cd43fa886a79cf717bba38a3243aeb3b66217 Mon Sep 17 00:00:00 2001 
     1From 0721e9f0502e633390044e651970692213283686 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    3 Date: Sat, 29 Jun 2013 19:13:39 +0200 
    4 Subject: [PATCH 09/22] NET: PHY: adds driver for lantiq PHY11G 
     3Date: Wed, 13 Mar 2013 09:30:22 +0100 
     4Subject: [PATCH 27/40] NET: PHY: adds driver for lantiq PHY11G 
    55 
    66Signed-off-by: John Crispin <blogic@openwrt.org> 
     
    3838--- /dev/null 
    3939+++ b/drivers/net/phy/lantiq.c 
    40 @@ -0,0 +1,220 @@ 
     40@@ -0,0 +1,231 @@ 
    4141+/* 
    4242+ *   This program is free software; you can redistribute it and/or modify 
     
    119119+       phy_read(phydev, MII_VR9_11G_ISTAT); 
    120120+ 
     121+       vr9_gphy_mmd_write(phydev, 0x1e0, 0xc5); 
     122+       vr9_gphy_mmd_write(phydev, 0x1e1, 0x67); 
     123+       vr9_gphy_mmd_write(phydev, 0x1e2, 0x42); 
     124+       vr9_gphy_mmd_write(phydev, 0x1e3, 0x10); 
     125+       vr9_gphy_mmd_write(phydev, 0x1e4, 0x70); 
     126+       vr9_gphy_mmd_write(phydev, 0x1e5, 0x03); 
     127+       vr9_gphy_mmd_write(phydev, 0x1e6, 0x20); 
     128+       vr9_gphy_mmd_write(phydev, 0x1e7, 0x00); 
     129+       vr9_gphy_mmd_write(phydev, 0x1e8, 0x40); 
     130+       vr9_gphy_mmd_write(phydev, 0x1e9, 0x20); 
     131+ 
    121132+       return 0; 
    122133+} 
  • trunk/target/linux/lantiq/patches-3.10/0009-MIPS-lantiq-add-atm-hack.patch

    r38030 r38031  
    1 From 51130632baa3dfabca87ce5d5b57376a7927b7d3 Mon Sep 17 00:00:00 2001 
     1From 65c07535b97006d7bd50ec14871a116e793a24ad Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Fri, 3 Aug 2012 10:27:25 +0200 
    4 Subject: [PATCH 21/22] owrt: lantiq: add atm hack 
     4Subject: [PATCH 09/34] MIPS: lantiq: add atm hack 
    55 
     6Signed-off-by: John Crispin <blogic@openwrt.org> 
    67--- 
    78 arch/mips/include/asm/mach-lantiq/lantiq_atm.h |  196 +++++++++++++++++++++++ 
     
    1617 create mode 100644 arch/mips/include/asm/mach-lantiq/lantiq_ptm.h 
    1718 
     19diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_atm.h b/arch/mips/include/asm/mach-lantiq/lantiq_atm.h 
     20new file mode 100644 
     21index 0000000..bf045a9 
    1822--- /dev/null 
    1923+++ b/arch/mips/include/asm/mach-lantiq/lantiq_atm.h 
     
    215219+#endif  //  IFX_ATM_H 
    216220+ 
     221diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_ptm.h b/arch/mips/include/asm/mach-lantiq/lantiq_ptm.h 
     222new file mode 100644 
     223index 0000000..698e5c3 
    217224--- /dev/null 
    218225+++ b/arch/mips/include/asm/mach-lantiq/lantiq_ptm.h 
     
    421428+#endif  //  IFX_PTM_H 
    422429+ 
     430diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c 
     431index 5119487..6d2c486 100644 
    423432--- a/arch/mips/lantiq/irq.c 
    424433+++ b/arch/mips/lantiq/irq.c 
     
    431440 #include <asm/bootinfo.h> 
    432441 #include <asm/irq_cpu.h> 
    433 @@ -99,6 +100,7 @@ void ltq_mask_and_ack_irq(struct irq_dat 
     442@@ -99,6 +100,7 @@ void ltq_mask_and_ack_irq(struct irq_data *d) 
    434443        ltq_icu_w32(im, ltq_icu_r32(im, ier) & ~BIT(offset), ier); 
    435444        ltq_icu_w32(im, BIT(offset), isr); 
     
    439448 static void ltq_ack_irq(struct irq_data *d) 
    440449 { 
     450diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c 
     451index 5aeb3eb..11aa4e6 100644 
    441452--- a/arch/mips/mm/cache.c 
    442453+++ b/arch/mips/mm/cache.c 
    443 @@ -58,6 +58,8 @@ void (*_dma_cache_wback)(unsigned long s 
     454@@ -58,6 +58,8 @@ void (*_dma_cache_wback)(unsigned long start, unsigned long size); 
    444455 void (*_dma_cache_inv)(unsigned long start, unsigned long size); 
    445456  
     
    450461 #endif /* CONFIG_DMA_NONCOHERENT */ 
    451462  
     463diff --git a/include/uapi/linux/atm.h b/include/uapi/linux/atm.h 
     464index 88399db..78c8bbc 100644 
    452465--- a/include/uapi/linux/atm.h 
    453466+++ b/include/uapi/linux/atm.h 
     
    467480        unsigned char   traffic_class;  /* traffic class (ATM_UBR, ...) */ 
    468481        int             max_pcr;        /* maximum PCR in cells per second */ 
     482diff --git a/net/atm/common.c b/net/atm/common.c 
     483index 737bef5..959008d 100644 
    469484--- a/net/atm/common.c 
    470485+++ b/net/atm/common.c 
    471 @@ -62,11 +62,17 @@ static void vcc_remove_socket(struct soc 
     486@@ -62,11 +62,17 @@ static void vcc_remove_socket(struct sock *sk) 
    472487        write_unlock_irq(&vcc_sklist_lock); 
    473488 } 
     
    487502                pr_debug("Sorry: wmem_alloc = %d, size = %d, sndbuf = %d\n", 
    488503                         sk_wmem_alloc_get(sk), size, sk->sk_sndbuf); 
     504diff --git a/net/atm/proc.c b/net/atm/proc.c 
     505index bbb6461..ecb584a 100644 
    489506--- a/net/atm/proc.c 
    490507+++ b/net/atm/proc.c 
    491 @@ -154,7 +154,7 @@ static void *vcc_seq_next(struct seq_fil 
     508@@ -154,7 +154,7 @@ static void *vcc_seq_next(struct seq_file *seq, void *v, loff_t *pos) 
    492509 static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc) 
    493510 { 
     
    498515                "---",  "1",    "2",    "3/4",  /*  0- 3 */ 
    499516                "???",  "5",    "???",  "???",  /*  4- 7 */ 
     517--  
     5181.7.10.4 
     519 
  • trunk/target/linux/lantiq/patches-3.10/0010-MIPS-lantiq-wifi-and-ethernet-eeprom-handling.patch

    r38030 r38031  
    1 From 591a9bdde1fa9aa6f1c6132ea04771bb1dcd6180 Mon Sep 17 00:00:00 2001 
     1From 8c19ced548538d964dcfb83bdf9ea9e8fbb7bdb1 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Wed, 13 Mar 2013 10:02:58 +0100 
    4 Subject: [PATCH 18/22] owrt: lantiq: wifi and ethernet eeprom handling 
     4Subject: [PATCH 10/34] MIPS: lantiq: wifi and ethernet eeprom handling 
    55 
     6Signed-off-by: John Crispin <blogic@openwrt.org> 
    67--- 
    78 arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h  |    6 + 
    89 .../mips/include/asm/mach-lantiq/xway/lantiq_soc.h |    3 + 
    9  arch/mips/lantiq/xway/Makefile                     |    3 + 
    10  arch/mips/lantiq/xway/ath_eep.c                    |  248 ++++++++++++++++++++ 
    11  arch/mips/lantiq/xway/eth_mac.c                    |   76 ++++++ 
     10 arch/mips/lantiq/xway/Makefile                     |    2 + 
     11 arch/mips/lantiq/xway/ath_eep.c                    |  237 ++++++++++++++++++++ 
    1212 arch/mips/lantiq/xway/pci-ath-fixup.c              |  109 +++++++++ 
    1313 arch/mips/lantiq/xway/rt_eep.c                     |   60 +++++ 
    14  arch/mips/pci/pci-lantiq.c                         |    2 +- 
    15  8 files changed, 506 insertions(+), 1 deletion(-) 
     14 6 files changed, 417 insertions(+) 
    1615 create mode 100644 arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h 
    1716 create mode 100644 arch/mips/lantiq/xway/ath_eep.c 
    18  create mode 100644 arch/mips/lantiq/xway/eth_mac.c 
    1917 create mode 100644 arch/mips/lantiq/xway/pci-ath-fixup.c 
    2018 create mode 100644 arch/mips/lantiq/xway/rt_eep.c 
    2119 
     20diff --git a/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h b/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h 
     21new file mode 100644 
     22index 0000000..095d261 
    2223--- /dev/null 
    2324+++ b/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h 
     
    2930+ 
    3031+#endif /* _PCI_ATH_FIXUP */ 
     32diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
     33index 133336b..779715c 100644 
    3134--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    3235+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h 
    33 @@ -90,5 +90,8 @@ int xrx200_gphy_boot(struct device *dev, 
     36@@ -90,5 +90,8 @@ int xrx200_gphy_boot(struct device *dev, unsigned int id, dma_addr_t dev_addr); 
    3437 extern void ltq_pmu_enable(unsigned int module); 
    3538 extern void ltq_pmu_disable(unsigned int module); 
     
    4043 #endif /* CONFIG_SOC_TYPE_XWAY */ 
    4144 #endif /* _LTQ_XWAY_H__ */ 
     45diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile 
     46index da51fe0..0af7a54 100644 
    4247--- a/arch/mips/lantiq/xway/Makefile 
    4348+++ b/arch/mips/lantiq/xway/Makefile 
    44 @@ -1,3 +1,6 @@ 
    45  obj-y := prom.o sysctrl.o clk.o reset.o dma.o gptu.o dcdc.o 
     49@@ -2,4 +2,6 @@ obj-y := prom.o sysctrl.o clk.o reset.o dma.o timer.o dcdc.o 
    4650  
    47 +obj-y += eth_mac.o 
     51 obj-y += vmmc.o 
     52  
    4853+obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o 
    4954+ 
    5055 obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o 
     56diff --git a/arch/mips/lantiq/xway/ath_eep.c b/arch/mips/lantiq/xway/ath_eep.c 
     57new file mode 100644 
     58index 0000000..1146f01 
    5159--- /dev/null 
    5260+++ b/arch/mips/lantiq/xway/ath_eep.c 
    53 @@ -0,0 +1,248 @@ 
     61@@ -0,0 +1,237 @@ 
    5462+/* 
    5563+ *  Copyright (C) 2011 Luca Olivetti <luca@ventoso.org> 
     
    7583+#include <pci-ath-fixup.h> 
    7684+#include <lantiq_soc.h> 
     85+#include <linux/of_net.h> 
    7786+ 
    7887+extern int (*ltq_pci_plat_dev_init)(struct pci_dev *dev); 
     
    92101+{ 
    93102+       struct device_node *np = pdev->dev.of_node, *mtd_np; 
    94 +       struct resource *eep_res, *mac_res = NULL; 
    95 +       void __iomem *eep, *mac; 
    96103+       int mac_offset; 
    97104+       u32 mac_inc = 0, pci_slot = 0; 
     
    103110+       phandle phandle; 
    104111+ 
    105 +       if ((list = of_get_property(np, "ath,eep-flash", &i)) && i == 2 * 
    106 +                       sizeof(*list) && (phandle = be32_to_cpup(list++)) && 
    107 +                       (mtd_np = of_find_node_by_phandle(phandle)) && ((part = 
    108 +                       of_get_property(mtd_np, "label", NULL)) || (part = 
    109 +                       mtd_np->name)) && (the_mtd = get_mtd_device_nm(part)) 
    110 +                       != ERR_PTR(-ENODEV)) { 
    111 +               i = mtd_read(the_mtd, be32_to_cpup(list), 
    112 +                               ATH9K_PLAT_EEP_MAX_WORDS << 1, &flash_readlen, 
    113 +                               (void *) ath9k_pdata.eeprom_data); 
    114 +               put_mtd_device(the_mtd); 
    115 +               if ((sizeof(ath9k_pdata.eeprom_data) != flash_readlen) || i) { 
    116 +                       dev_err(&pdev->dev, "failed to load eeprom from mtd\n"); 
    117 +                       return -ENODEV; 
    118 +               } 
    119 +       } else { 
    120 +               eep_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 
    121 +               mac_res = platform_get_resource(pdev, IORESOURCE_MEM, 1); 
    122 + 
    123 +               if (!eep_res) { 
    124 +                       dev_err(&pdev->dev, "failed to load eeprom address\n"); 
    125 +                       return -ENODEV; 
    126 +               } 
    127 +               if (resource_size(eep_res) != ATH9K_PLAT_EEP_MAX_WORDS << 1) { 
    128 +                       dev_err(&pdev->dev, "eeprom has an invalid size\n"); 
    129 +                       return -EINVAL; 
    130 +               } 
    131 + 
    132 +               eep = ioremap(eep_res->start, resource_size(eep_res)); 
    133 +               memcpy_fromio(ath9k_pdata.eeprom_data, eep, 
    134 +                               ATH9K_PLAT_EEP_MAX_WORDS << 1); 
     112+       list = of_get_property(np, "ath,eep-flash", &i); 
     113+       if (!list || (i !=  (2 * sizeof(*list)))) { 
     114+               dev_err(&pdev->dev, "failed to find ath,eep-flash\n"); 
     115+               return -ENODEV; 
     116+       } 
     117+ 
     118+       phandle = be32_to_cpup(list++); 
     119+       if (!phandle) { 
     120+               dev_err(&pdev->dev, "failed to find phandle\n"); 
     121+               return -ENODEV; 
     122+       } 
     123+ 
     124+       mtd_np = of_find_node_by_phandle(phandle); 
     125+       if (!mtd_np) { 
     126+               dev_err(&pdev->dev, "failed to find mtd node\n"); 
     127+               return -ENODEV; 
     128+       } 
     129+ 
     130+       part = of_get_property(mtd_np, "label", NULL); 
     131+       if (!part) 
     132+               part = mtd_np->name; 
     133+ 
     134+       the_mtd = get_mtd_device_nm(part); 
     135+       if (the_mtd == ERR_PTR(-ENODEV)) { 
     136+               dev_err(&pdev->dev, "failed to find mtd device\n"); 
     137+               return -ENODEV; 
     138+       } 
     139+ 
     140+       i = mtd_read(the_mtd, be32_to_cpup(list), 
     141+                       ATH9K_PLAT_EEP_MAX_WORDS << 1, &flash_readlen, 
     142+                       (void *) ath9k_pdata.eeprom_data); 
     143+       put_mtd_device(the_mtd); 
     144+       if ((sizeof(ath9k_pdata.eeprom_data) != flash_readlen) || i) { 
     145+               dev_err(&pdev->dev, "failed to load eeprom from mtd\n"); 
     146+               return -ENODEV; 
    135147+       } 
    136148+ 
     
    147159+       if (!of_property_read_u32(np, "ath,mac-offset", &mac_offset)) { 
    148160+               memcpy_fromio(athxk_eeprom_mac, (void*) ath9k_pdata.eeprom_data + mac_offset, 6); 
    149 +       } else if (mac_res) { 
    150 +               if (resource_size(mac_res) != 6) { 
    151 +                       dev_err(&pdev->dev, "mac has an invalid size\n"); 
    152 +                       return -EINVAL; 
    153 +               } 
    154 +               mac = ioremap(mac_res->start, resource_size(mac_res)); 
    155 +               memcpy_fromio(athxk_eeprom_mac, mac, 6); 
    156 +       } else if (ltq_get_eth_mac()) 
    157 +               memcpy(athxk_eeprom_mac, ltq_get_eth_mac(), 6); 
    158 +       else { 
    159 +               dev_warn(&pdev->dev, "using random mac\n"); 
     161+       } else { 
    160162+               random_ether_addr(athxk_eeprom_mac); 
     163+               if (of_get_mac_address_mtd(np, athxk_eeprom_mac)) 
     164+                       dev_warn(&pdev->dev, "using random mac\n"); 
    161165+       } 
    162166+ 
     
    169173+       if (!of_property_read_u32(np, "ath,pci-slot", &pci_slot)) { 
    170174+               ltq_pci_ath_fixup(pci_slot, ath9k_pdata.eeprom_data); 
    171 + 
    172175+               dev_info(&pdev->dev, "pci slot: %u\n", pci_slot); 
    173176+       } 
     
    195198+       return platform_driver_probe(&ath9k_eeprom_driver, of_ath9k_eeprom_probe); 
    196199+} 
    197 +arch_initcall(of_ath9k_eeprom_init); 
     200+late_initcall(of_ath9k_eeprom_init); 
    198201+ 
    199202+ 
     
    207210+{ 
    208211+       struct device_node *np = pdev->dev.of_node, *mtd_np; 
    209 +       struct resource *eep_res, *mac_res = NULL; 
    210 +       void __iomem *eep, *mac; 
    211212+       int mac_offset; 
    212213+       u32 mac_inc = 0; 
     
    218219+       phandle phandle; 
    219220+ 
    220 +       if ((list = of_get_property(np, "ath,eep-flash", &i)) && i == 2 * 
    221 +                       sizeof(*list) && (phandle = be32_to_cpup(list++)) && 
    222 +                       (mtd_np = of_find_node_by_phandle(phandle)) && ((part = 
    223 +                       of_get_property(mtd_np, "label", NULL)) || (part = 
    224 +                       mtd_np->name)) && (the_mtd = get_mtd_device_nm(part)) 
    225 +                       != ERR_PTR(-ENODEV)) { 
    226 +               i = mtd_read(the_mtd, be32_to_cpup(list), 
    227 +                               ATH5K_PLAT_EEP_MAX_WORDS << 1, &flash_readlen, 
    228 +                               (void *) ath5k_pdata.eeprom_data); 
    229 +               put_mtd_device(the_mtd); 
    230 +               if ((sizeof(ATH5K_PLAT_EEP_MAX_WORDS << 1) != flash_readlen) 
    231 +                               || i) { 
    232 +                       dev_err(&pdev->dev, "failed to load eeprom from mtd\n"); 
    233 +                       return -ENODEV; 
    234 +               } 
    235 +       } else { 
    236 +               eep_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 
    237 +               mac_res = platform_get_resource(pdev, IORESOURCE_MEM, 1); 
    238 + 
    239 +               if (!eep_res) { 
    240 +                       dev_err(&pdev->dev, "failed to load eeprom address\n"); 
    241 +                       return -ENODEV; 
    242 +               } 
    243 +               if (resource_size(eep_res) != ATH5K_PLAT_EEP_MAX_WORDS << 1) { 
    244 +                       dev_err(&pdev->dev, "eeprom has an invalid size\n"); 
    245 +                       return -EINVAL; 
    246 +               } 
    247 + 
    248 +               eep = ioremap(eep_res->start, resource_size(eep_res)); 
    249 +               memcpy_fromio(ath5k_pdata.eeprom_data, eep, 
    250 +                               ATH5K_PLAT_EEP_MAX_WORDS << 1); 
     221+       list = of_get_property(np, "ath,eep-flash", &i); 
     222+       if (!list || (i !=  (2 * sizeof(*list)))) { 
     223+               dev_err(&pdev->dev, "failed to find ath,eep-flash\n"); 
     224+               return -ENODEV; 
     225+       } 
     226+ 
     227+       phandle = be32_to_cpup(list++); 
     228+       if (!phandle) { 
     229+               dev_err(&pdev->dev, "failed to find phandle\n"); 
     230+               return -ENODEV; 
     231+       } 
     232+ 
     233+       mtd_np = of_find_node_by_phandle(phandle); 
     234+       if (!mtd_np) { 
     235+               dev_err(&pdev->dev, "failed to find mtd node\n"); 
     236+               return -ENODEV; 
     237+       } 
     238+ 
     239+       part = of_get_property(mtd_np, "label", NULL); 
     240+       if (!part) 
     241+               part = mtd_np->name; 
     242+ 
     243+       the_mtd = get_mtd_device_nm(part); 
     244+       if (the_mtd == ERR_PTR(-ENODEV)) { 
     245+               dev_err(&pdev->dev, "failed to find mtd device\n"); 
     246+               return -ENODEV; 
     247+       } 
     248+ 
     249+       i = mtd_read(the_mtd, be32_to_cpup(list), 
     250+                       ATH5K_PLAT_EEP_MAX_WORDS << 1, &flash_readlen, 
     251+                       (void *) ath5k_pdata.eeprom_data); 
     252+       put_mtd_device(the_mtd); 
     253+       if ((sizeof(ath5k_pdata.eeprom_data) != flash_readlen) || i) { 
     254+               dev_err(&pdev->dev, "failed to load eeprom from mtd\n"); 
     255+               return -ENODEV; 
    251256+       } 
    252257+ 
    253258+       if (of_find_property(np, "ath,eep-swap", NULL)) 
    254259+               for (i = 0; i < ATH5K_PLAT_EEP_MAX_WORDS; i++) 
    255 +                       ath5k_pdata.eeprom_data[i] = swab16(ath5k_pdata.eeprom_data[i]); 
     260+                       ath5k_pdata.eeprom_data[i] = swab16(ath9k_pdata.eeprom_data[i]); 
    256261+ 
    257262+       if (!of_property_read_u32(np, "ath,mac-offset", &mac_offset)) { 
    258263+               memcpy_fromio(athxk_eeprom_mac, (void*) ath5k_pdata.eeprom_data + mac_offset, 6); 
    259 +       } else if (mac_res) { 
    260 +               if (resource_size(mac_res) != 6) { 
    261 +                       dev_err(&pdev->dev, "mac has an invalid size\n"); 
    262 +                       return -EINVAL; 
    263 +               } 
    264 +               mac = ioremap(mac_res->start, resource_size(mac_res)); 
    265 +               memcpy_fromio(athxk_eeprom_mac, mac, 6); 
    266 +       } else if (ltq_get_eth_mac()) 
    267 +               memcpy(athxk_eeprom_mac, ltq_get_eth_mac(), 6); 
    268 +       else { 
    269 +               dev_warn(&pdev->dev, "using random mac\n"); 
     264+       } else { 
    270265+               random_ether_addr(athxk_eeprom_mac); 
     266+               if (of_get_mac_address_mtd(np, athxk_eeprom_mac)) 
     267+                       dev_warn(&pdev->dev, "using random mac\n"); 
    271268+       } 
    272269+ 
     
    300297+} 
    301298+device_initcall(of_ath5k_eeprom_init); 
    302 --- /dev/null 
    303 +++ b/arch/mips/lantiq/xway/eth_mac.c 
    304 @@ -0,0 +1,76 @@ 
    305 +/* 
    306 + *  Copyright (C) 2012 John Crispin <blogic@openwrt.org> 
    307 + * 
    308 + *  This program is free software; you can redistribute it and/or modify it 
    309 + *  under the terms of the GNU General Public License version 2 as published 
    310 + *  by the Free Software Foundation. 
    311 + */ 
    312 + 
    313 +#include <linux/init.h> 
    314 +#include <linux/module.h> 
    315 +#include <linux/of_platform.h> 
    316 +#include <linux/if_ether.h> 
    317 + 
    318 +static u8 eth_mac[6]; 
    319 +static int eth_mac_set; 
    320 + 
    321 +const u8* ltq_get_eth_mac(void) 
    322 +{ 
    323 +       return eth_mac; 
    324 +} 
    325 + 
    326 +static int __init setup_ethaddr(char *str) 
    327 +{ 
    328 +       eth_mac_set = mac_pton(str, eth_mac); 
    329 +       return !eth_mac_set; 
    330 +} 
    331 +__setup("ethaddr=", setup_ethaddr); 
    332 + 
    333 +int __init of_eth_mac_probe(struct platform_device *pdev) 
    334 +{ 
    335 +       struct device_node *np = pdev->dev.of_node; 
    336 +       struct resource *mac_res; 
    337 +       void __iomem *mac; 
    338 +       u32 mac_inc = 0; 
    339 + 
    340 +       if (eth_mac_set) { 
    341 +               dev_err(&pdev->dev, "mac was already set by bootloader\n"); 
    342 +               return -EINVAL; 
    343 +       } 
    344 +       mac_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 
    345 + 
    346 +       if (!mac_res) { 
    347 +               dev_err(&pdev->dev, "failed to load mac\n"); 
    348 +               return -EINVAL; 
    349 +       } 
    350 +       if (resource_size(mac_res) != 6) { 
    351 +               dev_err(&pdev->dev, "mac has an invalid size\n"); 
    352 +               return -EINVAL; 
    353 +       } 
    354 +       mac = ioremap(mac_res->start, resource_size(mac_res)); 
    355 +       memcpy_fromio(eth_mac, mac, 6); 
    356 + 
    357 +       if (!of_property_read_u32(np, "mac-increment", &mac_inc)) 
    358 +               eth_mac[5] += mac_inc; 
    359 + 
    360 +       return 0; 
    361 +} 
    362 + 
    363 +static struct of_device_id eth_mac_ids[] = { 
    364 +       { .compatible = "lantiq,eth-mac" }, 
    365 +       { /* sentinel */ } 
    366 +}; 
    367 + 
    368 +static struct platform_driver eth_mac_driver = { 
    369 +       .driver         = { 
    370 +               .name           = "lantiq,eth-mac", 
    371 +               .owner  = THIS_MODULE, 
    372 +               .of_match_table = of_match_ptr(eth_mac_ids), 
    373 +       }, 
    374 +}; 
    375 + 
    376 +static int __init of_eth_mac_init(void) 
    377 +{ 
    378 +       return platform_driver_probe(&eth_mac_driver, of_eth_mac_probe); 
    379 +} 
    380 +device_initcall(of_eth_mac_init); 
     299diff --git a/arch/mips/lantiq/xway/pci-ath-fixup.c b/arch/mips/lantiq/xway/pci-ath-fixup.c 
     300new file mode 100644 
     301index 0000000..c87ffb2 
    381302--- /dev/null 
    382303+++ b/arch/mips/lantiq/xway/pci-ath-fixup.c 
     
    491412+       ath_num_fixups++; 
    492413+} 
     414diff --git a/arch/mips/lantiq/xway/rt_eep.c b/arch/mips/lantiq/xway/rt_eep.c 
     415new file mode 100644 
     416index 0000000..00f2d4c 
    493417--- /dev/null 
    494418+++ b/arch/mips/lantiq/xway/rt_eep.c 
     
    554478+} 
    555479+device_initcall(of_ralink_eeprom_init); 
     480--  
     4811.7.10.4 
     482 
  • trunk/target/linux/lantiq/patches-3.10/0012-MTD-m25p80-allow-loading-mtd-name-from-OF.patch

    r38030 r38031  
    1 From 0a27a5e5917d8d5e179763788c204d12895c278b Mon Sep 17 00:00:00 2001 
     1From 65d48cd98505800c6765ff94fc007797e00d466f Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Tue, 29 Jan 2013 21:11:55 +0100 
    4 Subject: [PATCH 01/22] MTD: m25p80: allow loading mtd name from OF 
     4Subject: [PATCH 12/34] MTD: m25p80: allow loading mtd name from OF 
    55 
    66In accordance with the physmap flash we should honour the linux,mtd-name 
     
    1313 1 file changed, 5 insertions(+) 
    1414 
     15diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c 
     16index 2f3d2a5..1828704 100644 
    1517--- a/drivers/mtd/devices/m25p80.c 
    1618+++ b/drivers/mtd/devices/m25p80.c 
    17 @@ -922,10 +922,13 @@ static int m25p_probe(struct spi_device 
     19@@ -909,10 +909,13 @@ static int m25p_probe(struct spi_device *spi) 
    1820        unsigned                        i; 
    1921        struct mtd_part_parser_data     ppdata; 
     
    2931  
    3032        /* Platform data helps sort out which chip type we have, as 
    31 @@ -1001,6 +1004,8 @@ static int m25p_probe(struct spi_device 
     33@@ -988,6 +991,8 @@ static int m25p_probe(struct spi_device *spi) 
    3234  
    3335        if (data && data->name) 
     
    3840                flash->mtd.name = dev_name(&spi->dev); 
    3941  
     42--  
     431.7.10.4 
     44 
  • trunk/target/linux/lantiq/patches-3.10/0013-MTD-lantiq-Add-NAND-support-on-Lantiq-Falcon-SoC.patch

    r38030 r38031  
    1 From 6bfb122580ccf67b82abf6c5fe2ae1e770812f0d Mon Sep 17 00:00:00 2001 
     1From f910293ab75fcdbf4989539f1c7eb7a04f17e803 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Wed, 30 Jan 2013 21:12:47 +0100 
    4 Subject: [PATCH 13/22] MTD: lantiq: Add NAND support on Lantiq Falcon SoC. 
     4Subject: [PATCH 13/34] MTD: lantiq: Add NAND support on Lantiq Falcon SoC. 
    55 
    66The driver uses plat_nand. As the platform_device is loaded from DT, we need 
     
    1717 create mode 100644 drivers/mtd/nand/falcon_nand.c 
    1818 
     19diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig 
     20index a60f6c1..74b1323 100644 
    1921--- a/drivers/mtd/nand/Kconfig 
    2022+++ b/drivers/mtd/nand/Kconfig 
    21 @@ -574,4 +574,12 @@ config MTD_NAND_XWAY 
     23@@ -544,4 +544,12 @@ config MTD_NAND_XWAY 
    2224          Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached 
    2325          to the External Bus Unit (EBU). 
     
    3234+ 
    3335 endif # MTD_NAND 
     36diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile 
     37index bb81891..feb7c9d 100644 
    3438--- a/drivers/mtd/nand/Makefile 
    3539+++ b/drivers/mtd/nand/Makefile 
    36 @@ -53,5 +53,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740)         += jz4740 
     40@@ -50,5 +50,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740)         += jz4740_nand.o 
    3741 obj-$(CONFIG_MTD_NAND_GPMI_NAND)       += gpmi-nand/ 
    3842 obj-$(CONFIG_MTD_NAND_XWAY)            += xway_nand.o 
     
    4145  
    4246 nand-objs := nand_base.o nand_bbt.o 
     47diff --git a/drivers/mtd/nand/falcon_nand.c b/drivers/mtd/nand/falcon_nand.c 
     48new file mode 100644 
     49index 0000000..13458d3 
    4350--- /dev/null 
    4451+++ b/drivers/mtd/nand/falcon_nand.c 
     
    127134+ 
    128135+arch_initcall(falcon_register_nand); 
     136--  
     1371.7.10.4 
     138 
  • trunk/target/linux/lantiq/patches-3.10/0014-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch

    r38030 r38031  
    1 From 861d86dc228cc78ebca1612e4f978bf057cab31d Mon Sep 17 00:00:00 2001 
     1From 2be714d9730da5723de68b4f9bfd5941ccd5bc4c Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Sat, 29 Jun 2013 19:21:22 +0200 
    4 Subject: [PATCH 15/22] MTD: lantiq: handle NO_XIP on cfi0001 flash 
     4Subject: [PATCH 14/34] MTD: lantiq: handle NO_XIP on cfi0001 flash 
    55 
    66--- 
     
    88 1 file changed, 5 insertions(+), 1 deletion(-) 
    99 
     10diff --git a/drivers/mtd/maps/lantiq-flash.c b/drivers/mtd/maps/lantiq-flash.c 
     11index d7ac65d..95b155a 100644 
    1012--- a/drivers/mtd/maps/lantiq-flash.c 
    1113+++ b/drivers/mtd/maps/lantiq-flash.c 
    12 @@ -135,7 +135,11 @@ ltq_mtd_probe(struct platform_device *pd 
     14@@ -134,7 +134,11 @@ ltq_mtd_probe(struct platform_device *pdev) 
    1315        } 
    1416  
     
    2325        ltq_mtd->map->virt = devm_ioremap_resource(&pdev->dev, ltq_mtd->res); 
    2426        if (IS_ERR(ltq_mtd->map->virt)) { 
     27--  
     281.7.10.4 
     29 
  • trunk/target/linux/lantiq/patches-3.10/0019-NET-lantiq-adds-PHY11G-firmware-blobs.patch

    r38030 r38031  
    1 From cdada9758f836cb6a842c29de435465fe66d66a2 Mon Sep 17 00:00:00 2001 
     1From 316ec4394a58228dc74392766a266952456d3a06 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Mon, 22 Oct 2012 09:26:24 +0200 
    4 Subject: [PATCH 08/22] NET: lantiq: adds PHY11G firmware blobs 
     4Subject: [PATCH 19/34] NET: lantiq: adds PHY11G firmware blobs 
    55 
    66Signed-off-by: John Crispin <blogic@openwrt.org> 
     
    1313 create mode 100644 firmware/lantiq/README 
    1414 
     15diff --git a/firmware/Makefile b/firmware/Makefile 
     16index cbb09ce..c8697df 100644 
    1517--- a/firmware/Makefile 
    1618+++ b/firmware/Makefile 
    17 @@ -134,6 +134,9 @@ fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_P 
     19@@ -134,6 +134,9 @@ fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw 
    1820 fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw 
    1921 fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw 
    2022 fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin 
    21 +fw-shipped-$(CONFIG_SOC_TYPE_XWAY) += lantiq/vr9_phy11g_a1x.bin 
    22 +fw-shipped-$(CONFIG_SOC_TYPE_XWAY) += lantiq/vr9_phy11g_a2x.bin 
    23 +fw-shipped-$(CONFIG_SOC_TYPE_XWAY) += lantiq/vr9_phy22f_a1x.bin 
     23+fw-shipped-$(CONFIG_LANTIQ_XRX200) += lantiq/vr9_phy11g_a1x.bin 
     24+fw-shipped-$(CONFIG_LANTIQ_XRX200) += lantiq/vr9_phy11g_a2x.bin 
     25+fw-shipped-$(CONFIG_LANTIQ_XRX200) += lantiq/vr9_phy22f_a1x.bin 
    2426 fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin 
    2527  
    2628 fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) 
     29diff --git a/firmware/lantiq/COPYING b/firmware/lantiq/COPYING 
     30new file mode 100644 
     31index 0000000..5ec70b2 
    2732--- /dev/null 
    2833+++ b/firmware/lantiq/COPYING 
     
    318323+ 
    319324+                    END OF TERMS AND CONDITIONS 
     325diff --git a/firmware/lantiq/README b/firmware/lantiq/README 
     326new file mode 100644 
     327index 0000000..cb1a10a 
    320328--- /dev/null 
    321329+++ b/firmware/lantiq/README 
     
    366374+lantiq/vr9_phy11g_a2x.bin 
    367375+lantiq/vr9_phy22f_a2x.bin 
     376--  
     3771.7.10.4 
     378 
  • trunk/target/linux/lantiq/patches-3.10/0020-NET-MIPS-lantiq-adds-xrx200-net.patch

    r38030 r38031  
    1 From 0d37b9ab3cff327b7db083785a89f23944c192f4 Mon Sep 17 00:00:00 2001 
     1From 5c7a5ddaf069b7061e1c7b536756b0b70d37b991 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Mon, 22 Oct 2012 12:22:23 +0200 
    4 Subject: [PATCH 07/22] NET: MIPS: lantiq: adds xrx200-net 
     4Subject: [PATCH 20/34] NET: MIPS: lantiq: adds xrx200-net 
    55 
    66--- 
     
    1313 create mode 100644 drivers/net/ethernet/lantiq_xrx200.c 
    1414 
     15diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig 
     16index ed956e0..9261fe4 100644 
    1517--- a/drivers/net/ethernet/Kconfig 
    1618+++ b/drivers/net/ethernet/Kconfig 
     
    3032 source "drivers/net/ethernet/marvell/Kconfig" 
    3133 source "drivers/net/ethernet/mellanox/Kconfig" 
     34diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile 
     35index 8268d85..e8410d8 100644 
    3236--- a/drivers/net/ethernet/Makefile 
    3337+++ b/drivers/net/ethernet/Makefile 
     
    4044 obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/ 
    4145 obj-$(CONFIG_NET_VENDOR_MICREL) += micrel/ 
     46diff --git a/drivers/net/ethernet/lantiq_pce.h b/drivers/net/ethernet/lantiq_pce.h 
     47new file mode 100644 
     48index 0000000..0c38efe 
    4249--- /dev/null 
    4350+++ b/drivers/net/ethernet/lantiq_pce.h 
     
    206213+       MC_ENTRY(0x0000, 0x0000, 39, OUT_NONE,   0, INSTR,   FLAG_END,   0), 
    207214+}; 
     215diff --git a/drivers/net/ethernet/lantiq_xrx200.c b/drivers/net/ethernet/lantiq_xrx200.c 
     216new file mode 100644 
     217index 0000000..2d40c64 
    208218--- /dev/null 
    209219+++ b/drivers/net/ethernet/lantiq_xrx200.c 
     
    446456+       int wan; 
    447457+       unsigned short port_map; 
    448 +       const void *mac; 
     458+       unsigned char mac[6]; 
    449459+ 
    450460+       struct xrx200_hw *hw; 
     
    12681278+       priv = netdev_priv(hw->devs[hw->num_devs]); 
    12691279+       priv->hw = hw; 
    1270 +       priv->mac = of_get_mac_address(iface); 
     1280+       of_get_mac_address_mtd(iface, priv->mac); 
    12711281+       priv->id = hw->num_devs; 
    12721282+ 
     
    14121422+MODULE_DESCRIPTION("Lantiq SoC XRX200 ethernet"); 
    14131423+MODULE_LICENSE("GPL"); 
     1424--  
     14251.7.10.4 
     1426 
  • trunk/target/linux/lantiq/patches-3.10/0021-NET-MIPS-lantiq-update-etop-driver-for-devicetree.patch

    r38030 r38031  
    1 From fd69e82feee0966fd61374ea76d6ff36ce42e51c Mon Sep 17 00:00:00 2001 
     1From e8c43773eac79f73f2dc4f10abd6d76f88540e91 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Sat, 29 Jun 2013 19:42:16 +0200 
    4 Subject: [PATCH 10/22] NET: MIPS: lantiq: update etop driver for devicetree 
     4Subject: [PATCH 21/34] NET: MIPS: lantiq: update etop driver for devicetree 
    55 
    66--- 
    7  drivers/net/ethernet/lantiq_etop.c |  500 +++++++++++++++++++++++++----------- 
    8  1 file changed, 354 insertions(+), 146 deletions(-) 
     7 drivers/net/ethernet/lantiq_etop.c |  501 +++++++++++++++++++++++++----------- 
     8 1 file changed, 355 insertions(+), 146 deletions(-) 
    99 
     10diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c 
     11index bfdb0686..cdc0c0e 100644 
    1012--- a/drivers/net/ethernet/lantiq_etop.c 
    1113+++ b/drivers/net/ethernet/lantiq_etop.c 
     
    3436 #define ETOP_PLEN_UNDER                0x40 
    3537 #define ETOP_CGEN              0x800 
    36 +#define ETOP_CFG_MII0          0x01 
    37   
     38- 
    3839-/* use 2 static channels for TX/RX */ 
    3940-#define LTQ_ETOP_TX_CHANNEL    1 
     
    4142-#define IS_TX(x)               (x == LTQ_ETOP_TX_CHANNEL) 
    4243-#define IS_RX(x)               (x == LTQ_ETOP_RX_CHANNEL) 
     44- 
     45+#define ETOP_CFG_MII0          0x01 
     46+ 
    4347+#define LTQ_GBIT_MDIO_CTL      0xCC 
    4448+#define LTQ_GBIT_MDIO_DATA     0xd0 
     
    7175+#define MDIO_XR9_ADDR_OFFSET   5 
    7276+#define MDIO_XR9_WR_OFFSET     16 
    73   
     77+ 
    7478+#define LTQ_DMA_ETOP   ((of_machine_is_compatible("lantiq,ase")) ? \ 
    7579+                       (INT_NUM_IM3_IRL0) : (INT_NUM_IM2_IRL0)) 
     
    139143                return -ENOMEM; 
    140144        ch->dma.desc_base[ch->dma.desc].addr = dma_map_single(NULL, 
    141 @@ -149,8 +202,11 @@ ltq_etop_hw_receive(struct ltq_etop_chan 
     145@@ -149,8 +202,11 @@ ltq_etop_hw_receive(struct ltq_etop_chan *ch) 
    142146        spin_unlock_irqrestore(&priv->lock, flags); 
    143147  
     
    151155  
    152156 static int 
    153 @@ -158,8 +214,10 @@ ltq_etop_poll_rx(struct napi_struct *nap 
     157@@ -158,8 +214,10 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget) 
    154158 { 
    155159        struct ltq_etop_chan *ch = container_of(napi, 
     
    162166        while ((rx < budget) && !complete) { 
    163167                struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc]; 
    164 @@ -173,7 +231,9 @@ ltq_etop_poll_rx(struct napi_struct *nap 
     168@@ -173,7 +231,9 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget) 
    165169        } 
    166170        if (complete || !rx) { 
     
    172176        return rx; 
    173177 } 
    174 @@ -185,12 +245,14 @@ ltq_etop_poll_tx(struct napi_struct *nap 
     178@@ -185,12 +245,14 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget) 
    175179                container_of(napi, struct ltq_etop_chan, napi); 
    176180        struct ltq_etop_priv *priv = netdev_priv(ch->netdev); 
     
    188192                ch->skb[ch->tx_free] = NULL; 
    189193                memset(&ch->dma.desc_base[ch->tx_free], 0, 
    190 @@ -203,7 +265,9 @@ ltq_etop_poll_tx(struct napi_struct *nap 
     194@@ -203,7 +265,9 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget) 
    191195        if (netif_tx_queue_stopped(txq)) 
    192196                netif_tx_start_queue(txq); 
     
    212216 } 
    213217  
    214 @@ -225,7 +290,7 @@ ltq_etop_free_channel(struct net_device 
     218@@ -225,7 +290,7 @@ ltq_etop_free_channel(struct net_device *dev, struct ltq_etop_chan *ch) 
    215219        ltq_dma_free(&ch->dma); 
    216220        if (ch->dma.irq) 
     
    277281-       int i; 
    278282+       int mii_mode = priv->mii_mode; 
     283+ 
     284+       clk_enable(priv->clk_ppe); 
    279285  
    280286-       ltq_pmu_enable(PMU_PPE); 
    281 +       clk_enable(priv->clk_ppe); 
    282   
    283 -       switch (priv->pldata->mii_mode) { 
    284287+       if (of_machine_is_compatible("lantiq,ar9")) { 
    285288+               ltq_etop_gbit_init(dev); 
     
    287290+               mii_mode = PHY_INTERFACE_MODE_MII; 
    288291+       } 
    289 + 
     292  
     293-       switch (priv->pldata->mii_mode) { 
    290294+       switch (mii_mode) { 
    291295        case PHY_INTERFACE_MODE_RMII: 
     
    383387  
    384388 static void 
    385 @@ -312,7 +445,10 @@ ltq_etop_get_settings(struct net_device 
     389@@ -312,7 +445,10 @@ ltq_etop_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) 
    386390 { 
    387391        struct ltq_etop_priv *priv = netdev_priv(dev); 
     
    395399  
    396400 static int 
    397 @@ -320,7 +456,10 @@ ltq_etop_set_settings(struct net_device 
     401@@ -320,7 +456,10 @@ ltq_etop_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) 
    398402 { 
    399403        struct ltq_etop_priv *priv = netdev_priv(dev); 
     
    407411  
    408412 static int 
    409 @@ -328,7 +467,10 @@ ltq_etop_nway_reset(struct net_device *d 
     413@@ -328,7 +467,10 @@ ltq_etop_nway_reset(struct net_device *dev) 
    410414 { 
    411415        struct ltq_etop_priv *priv = netdev_priv(dev); 
     
    419423  
    420424 static const struct ethtool_ops ltq_etop_ethtool_ops = { 
    421 @@ -339,6 +481,39 @@ static const struct ethtool_ops ltq_etop 
     425@@ -339,6 +481,39 @@ static const struct ethtool_ops ltq_etop_ethtool_ops = { 
    422426 }; 
    423427  
     
    459463 { 
    460464        u32 val = MDIO_REQUEST | 
    461 @@ -379,14 +554,18 @@ ltq_etop_mdio_probe(struct net_device *d 
     465@@ -379,14 +554,18 @@ ltq_etop_mdio_probe(struct net_device *dev) 
    462466 { 
    463467        struct ltq_etop_priv *priv = netdev_priv(dev); 
    464468        struct phy_device *phydev = NULL; 
    465469-       int phy_addr; 
     470- 
     471-       for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) { 
     472-               if (priv->mii_bus->phy_map[phy_addr]) { 
     473-                       phydev = priv->mii_bus->phy_map[phy_addr]; 
     474-                       break; 
     475-               } 
     476-       } 
    466477+       u32 phy_supported =  (SUPPORTED_10baseT_Half 
    467478+                       | SUPPORTED_10baseT_Full 
     
    471482+                       | SUPPORTED_MII 
    472483+                       | SUPPORTED_TP); 
    473   
    474 -       for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) { 
    475 -               if (priv->mii_bus->phy_map[phy_addr]) { 
    476 -                       phydev = priv->mii_bus->phy_map[phy_addr]; 
    477 -                       break; 
    478 -               } 
    479 -       } 
     484+ 
    480485+       if (of_machine_is_compatible("lantiq,ase")) 
    481486+               phydev = priv->mii_bus->phy_map[8]; 
     
    485490        if (!phydev) { 
    486491                netdev_err(dev, "no PHY found\n"); 
    487 @@ -394,21 +573,18 @@ ltq_etop_mdio_probe(struct net_device *d 
     492@@ -394,21 +573,18 @@ ltq_etop_mdio_probe(struct net_device *dev) 
    488493        } 
    489494  
     
    512517        priv->phydev = phydev; 
    513518        pr_info("%s: attached PHY [%s] (phy_addr=%s, irq=%d)\n", 
    514 @@ -433,8 +609,13 @@ ltq_etop_mdio_init(struct net_device *de 
     519@@ -433,8 +609,13 @@ ltq_etop_mdio_init(struct net_device *dev) 
    515520        } 
    516521  
     
    568573-       for (i = 0; i < MAX_DMA_CHAN; i++) { 
    569574-               struct ltq_etop_chan *ch = &priv->ch[i]; 
    570 - 
     575+       if (priv->phydev) 
     576+               phy_stop(priv->phydev); 
     577+       napi_disable(&priv->txch.napi); 
     578+       napi_disable(&priv->rxch.napi); 
     579+ 
     580+       spin_lock_irqsave(&priv->lock, flags); 
     581+       ltq_dma_close(&priv->txch.dma); 
     582+       ltq_dma_close(&priv->rxch.dma); 
     583+       spin_unlock_irqrestore(&priv->lock, flags); 
     584  
    571585-               if (!IS_RX(i) && !IS_TX(i)) 
    572586-                       continue; 
     
    574588-               ltq_dma_close(&ch->dma); 
    575589-       } 
    576 +       if (priv->phydev) 
    577 +               phy_stop(priv->phydev); 
    578 +       napi_disable(&priv->txch.napi); 
    579 +       napi_disable(&priv->rxch.napi); 
    580 + 
    581 +       spin_lock_irqsave(&priv->lock, flags); 
    582 +       ltq_dma_close(&priv->txch.dma); 
    583 +       ltq_dma_close(&priv->rxch.dma); 
    584 +       spin_unlock_irqrestore(&priv->lock, flags); 
    585 + 
    586590        return 0; 
    587591 } 
    588592  
    589 @@ -523,16 +707,16 @@ ltq_etop_tx(struct sk_buff *skb, struct 
     593@@ -523,16 +707,16 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev) 
    590594        int queue = skb_get_queue_mapping(skb); 
    591595        struct netdev_queue *txq = netdev_get_tx_queue(dev, queue); 
     
    609613                netif_tx_stop_queue(txq); 
    610614                return NETDEV_TX_BUSY; 
    611 @@ -540,7 +724,7 @@ ltq_etop_tx(struct sk_buff *skb, struct 
     615@@ -540,7 +724,7 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev) 
    612616  
    613617        /* dma needs to start on a 16 byte aligned address */ 
     
    618622        dev->trans_start = jiffies; 
    619623  
    620 @@ -550,11 +734,11 @@ ltq_etop_tx(struct sk_buff *skb, struct 
     624@@ -550,11 +734,11 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev) 
    621625        wmb(); 
    622626        desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP | 
     
    679683  
    680684 err_netdev: 
    681 @@ -680,6 +863,9 @@ ltq_etop_tx_timeout(struct net_device *d 
     685@@ -680,6 +863,9 @@ ltq_etop_tx_timeout(struct net_device *dev) 
    682686        err = ltq_etop_hw_init(dev); 
    683687        if (err) 
     
    689693        netif_wake_queue(dev); 
    690694        return; 
    691 @@ -703,14 +889,18 @@ static const struct net_device_ops ltq_e 
     695@@ -703,14 +889,18 @@ static const struct net_device_ops ltq_eth_netdev_ops = { 
    692696        .ndo_tx_timeout = ltq_etop_tx_timeout, 
    693697 }; 
     
    712716        res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 
    713717        if (!res) { 
    714 @@ -736,30 +926,60 @@ ltq_etop_probe(struct platform_device *p 
     718@@ -736,30 +926,58 @@ ltq_etop_probe(struct platform_device *pdev) 
    715719                goto err_out; 
    716720        } 
     
    749753+       priv->rx_irq = irqres[1].start; 
    750754+       priv->mii_mode = of_get_phy_mode(pdev->dev.of_node); 
    751 +       priv->mac = ltq_get_eth_mac(); 
    752 +       if (!priv->mac) 
    753 +               priv->mac = of_get_mac_address(pdev->dev.of_node); 
     755+       of_get_mac_address_mtd(pdev->dev.of_node, priv->mac); 
    754756+ 
    755757+       priv->clk_ppe = clk_get(&pdev->dev, NULL); 
     
    788790        err = register_netdev(dev); 
    789791        if (err) 
    790 @@ -788,32 +1008,23 @@ ltq_etop_remove(struct platform_device * 
     792@@ -788,32 +1006,23 @@ ltq_etop_remove(struct platform_device *pdev) 
    791793        return 0; 
    792794 } 
     
    830832 MODULE_AUTHOR("John Crispin <blogic@openwrt.org>"); 
    831833 MODULE_DESCRIPTION("Lantiq SoC ETOP"); 
     834--  
     8351.7.10.4 
     836 
  • trunk/target/linux/lantiq/patches-3.10/0022-NET-multi-phy-support.patch

    r38030 r38031  
    1 From 7407b7d178e783074861a73da858b099f870270d Mon Sep 17 00:00:00 2001 
     1From 88837a59f8a84ced5ac6d64a5096fe129545d8e5 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Sat, 11 May 2013 23:40:19 +0200 
    4 Subject: [PATCH 14/33] NET: multi phy support 
     4Subject: [PATCH 22/34] NET: multi phy support 
    55 
    66Signed-off-by: John Crispin <blogic@openwrt.org> 
     
    1010 2 files changed, 7 insertions(+), 4 deletions(-) 
    1111 
     12diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c 
     13index 38f0b31..ad64a75 100644 
    1214--- a/drivers/net/phy/phy.c 
    1315+++ b/drivers/net/phy/phy.c 
    14 @@ -820,7 +820,8 @@ void phy_state_machine(struct work_struc 
     16@@ -773,7 +773,8 @@ void phy_state_machine(struct work_struct *work) 
    1517                         * negotiation for now */ 
    1618                        if (!phydev->link) { 
     
    2224                                break; 
    2325                        } 
    24 @@ -890,7 +891,8 @@ void phy_state_machine(struct work_struc 
     26@@ -843,7 +844,8 @@ void phy_state_machine(struct work_struct *work) 
    2527                                netif_carrier_on(phydev->attached_dev); 
    2628                        } else { 
     
    3234  
    3335                        phydev->adjust_link(phydev->attached_dev); 
    34 @@ -902,7 +904,8 @@ void phy_state_machine(struct work_struc 
     36@@ -855,7 +857,8 @@ void phy_state_machine(struct work_struct *work) 
    3537                case PHY_HALTED: 
    3638                        if (phydev->link) { 
     
    4244                        } 
    4345                        break; 
     46diff --git a/include/linux/phy.h b/include/linux/phy.h 
     47index 9e11039..9a8ca78 100644 
    4448--- a/include/linux/phy.h 
    4549+++ b/include/linux/phy.h 
     
    5357  
    5458        u32 dev_flags; 
     59--  
     601.7.10.4 
     61 
  • trunk/target/linux/lantiq/patches-3.10/0023-NET-add-of_get_mac_address_mtd.patch

    r38030 r38031  
    1 From 2a41724b2d0af9b4444572c4302570a3af377715 Mon Sep 17 00:00:00 2001 
     1From d79fd47eb2d2d865a433db0b8d0e4b48cac17846 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Sun, 14 Jul 2013 23:26:15 +0200 
    4 Subject: [PATCH 15/33] NET: add of_get_mac_address_mtd() 
     4Subject: [PATCH 23/34] NET: add of_get_mac_address_mtd() 
    55 
    66Many embedded devices have information such as mac addresses stored inside mtd 
     
    1515 2 files changed, 38 insertions(+) 
    1616 
     17diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c 
     18index ffab033..15f4a71 100644 
    1719--- a/drivers/of/of_net.c 
    1820+++ b/drivers/of/of_net.c 
     
    2527 /** 
    2628  * It maps 'enum phy_interface_t' found in include/linux/phy.h 
    27 @@ -92,3 +93,39 @@ const void *of_get_mac_address(struct de 
     29@@ -92,3 +93,39 @@ const void *of_get_mac_address(struct device_node *np) 
    2830        return NULL; 
    2931 } 
     
    6567+} 
    6668+EXPORT_SYMBOL_GPL(of_get_mac_address_mtd); 
     69diff --git a/include/linux/of_net.h b/include/linux/of_net.h 
     70index 61bf53b..6e6b4a9 100644 
    6771--- a/include/linux/of_net.h 
    6872+++ b/include/linux/of_net.h 
     
    7579 static inline const int of_get_phy_mode(struct device_node *np) 
    7680 { 
     81--  
     821.7.10.4 
     83 
  • trunk/target/linux/lantiq/patches-3.10/0024-GPIO-MIPS-lantiq-add-gpio-driver-for-falcon-SoC.patch

    r38030 r38031  
    1 From 0c11f1ffaa2015a791e925741b0cdb38a2ef7e97 Mon Sep 17 00:00:00 2001 
    2 From: John Crispin <blogic@openwrt.org> 
    3 Date: Sat, 23 Jun 2012 15:32:33 +0200 
    4 Subject: [PATCH 03/22] GPIO: MIPS: add gpio driver for falcon SoC 
     1From 4cc24d8a9ac15aceadf2449473494f947c1ead72 Mon Sep 17 00:00:00 2001 
     2From: Thomas Langer <thomas.langer@lantiq.com> 
     3Date: Thu, 8 Aug 2013 16:19:15 +0200 
     4Subject: [PATCH 24/34] GPIO: MIPS: lantiq: add gpio driver for falcon SoC 
    55 
    66Add driver for GPIO blocks found on Lantiq FALCON SoC. The SoC has 5 banks of 
    77up to 32 pads. The GPIO blocks have a per pin IRQs. 
    88 
    9 Signed-off-by: John Crispin <blogic@openwrt.org> 
    109Signed-off-by: Thomas Langer <thomas.langer@lantiq.com> 
    11 Cc: linux-kernel@vger.kernel.org 
     10Acked-by: John Crispin <blogic@openwrt.org> 
     11Cc: linux-mips@linux-mips.org 
     12Cc: linux-gpio@vger.kernel.org 
    1213--- 
    1314 drivers/gpio/Kconfig       |    5 + 
    1415 drivers/gpio/Makefile      |    1 + 
    15  drivers/gpio/gpio-falcon.c |  349 ++++++++++++++++++++++++++++++++++++++++++++ 
    16  3 files changed, 355 insertions(+) 
     16 drivers/gpio/gpio-falcon.c |  348 ++++++++++++++++++++++++++++++++++++++++++++ 
     17 3 files changed, 354 insertions(+) 
    1718 create mode 100644 drivers/gpio/gpio-falcon.c 
    1819 
     20diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig 
     21index 573c449..59b8764 100644 
    1922--- a/drivers/gpio/Kconfig 
    2023+++ b/drivers/gpio/Kconfig 
    21 @@ -136,6 +136,11 @@ config GPIO_EP93XX 
     24@@ -135,6 +135,11 @@ config GPIO_EP93XX 
    2225        depends on ARCH_EP93XX 
    2326        select GPIO_GENERIC 
     
    3134        bool "Lantiq Memory mapped GPIOs" 
    3235        depends on LANTIQ && SOC_XWAY 
     36diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile 
     37index 0cb2d65..542960d 100644 
    3338--- a/drivers/gpio/Makefile 
    3439+++ b/drivers/gpio/Makefile 
    35 @@ -24,6 +24,7 @@ obj-$(CONFIG_GPIO_DA9055)     += gpio-da9055 
     40@@ -24,6 +24,7 @@ obj-$(CONFIG_GPIO_DA9055)     += gpio-da9055.o 
    3641 obj-$(CONFIG_ARCH_DAVINCI)     += gpio-davinci.o 
    3742 obj-$(CONFIG_GPIO_EM)          += gpio-em.o 
     
    3944+obj-$(CONFIG_GPIO_FALCON)      += gpio-falcon.o 
    4045 obj-$(CONFIG_GPIO_GE_FPGA)     += gpio-ge.o 
     46 obj-$(CONFIG_GPIO_GRGPIO)      += gpio-grgpio.o 
    4147 obj-$(CONFIG_GPIO_ICH)         += gpio-ich.o 
    42  obj-$(CONFIG_GPIO_IT8761E)     += gpio-it8761e.o 
     48diff --git a/drivers/gpio/gpio-falcon.c b/drivers/gpio/gpio-falcon.c 
     49new file mode 100644 
     50index 0000000..ae3bdfb 
    4351--- /dev/null 
    4452+++ b/drivers/gpio/gpio-falcon.c 
    45 @@ -0,0 +1,349 @@ 
     53@@ -0,0 +1,348 @@ 
    4654+/* 
    4755+ *  This program is free software; you can redistribute it and/or modify it 
     
    104112+               port_w32(p, (port_r32(p, reg) & ~(clear)) | (set), reg) 
    105113+ 
    106 +#define MAX_PORTS              5 
     114+#define MAX_BANKS              5 
    107115+#define PINS_PER_PORT          32 
    108116+ 
     
    116124+}; 
    117125+ 
     126+static struct irq_chip falcon_gpio_irq_chip; 
     127+ 
    118128+static int falcon_gpio_direction_input(struct gpio_chip *chip, 
    119129+                                       unsigned int offset) 
     
    198208+} 
    199209+ 
    200 +static struct irq_chip falcon_gpio_irq_chip; 
    201210+static int falcon_gpio_irq_type(struct irq_data *d, unsigned int type) 
    202211+{ 
     
    294303+       int ret, size; 
    295304+ 
    296 +       if (!bank || *bank >= MAX_PORTS) 
     305+       if (!bank || *bank >= MAX_BANKS) 
    297306+               return -ENODEV; 
    298307+ 
     
    303312+       } 
    304313+ 
    305 +       gpiores = platform_get_resource(pdev, IORESOURCE_MEM, 0); 
    306 +       if (!gpiores) 
    307 +               return -ENODEV; 
    308 + 
    309314+       gpio_range = devm_kzalloc(&pdev->dev, sizeof(struct pinctrl_gpio_range), 
    310315+                               GFP_KERNEL); 
     
    316321+       if (!gpio_port) 
    317322+               return -ENOMEM; 
     323+ 
    318324+       snprintf(gpio_port->name, 6, "gpio%d", *bank); 
    319325+       gpio_port->gpio_chip.label = gpio_port->name; 
     
    324330+       gpio_port->gpio_chip.request = falcon_gpio_request; 
    325331+       gpio_port->gpio_chip.free = falcon_gpio_free; 
    326 +       gpio_port->gpio_chip.base = -1; 
     332+       gpio_port->gpio_chip.base = *bank * PINS_PER_PORT; 
    327333+       gpio_port->gpio_chip.ngpio = size; 
    328334+       gpio_port->gpio_chip.dev = &pdev->dev; 
    329335+ 
     336+       gpiores = platform_get_resource(pdev, IORESOURCE_MEM, 0); 
    330337+       gpio_port->port = devm_request_and_ioremap(&pdev->dev, gpiores); 
    331 +       if (!gpio_port->port) { 
    332 +               dev_err(&pdev->dev, "Could not map io ranges\n"); 
    333 +               return -ENOMEM; 
    334 +       } 
    335 + 
    336 +       gpio_port->clk = clk_get(&pdev->dev, NULL); 
    337 +       if (IS_ERR(gpio_port->clk)) { 
    338 +               dev_err(&pdev->dev, "Could not get clock\n"); 
     338+       if (IS_ERR(gpio_port->port)) 
     339+               return PTR_ERR(gpio_port->port); 
     340+ 
     341+       gpio_port->clk = devm_clk_get(&pdev->dev, NULL); 
     342+       if (IS_ERR(gpio_port->clk)) 
    339343+               return PTR_ERR(gpio_port->clk); 
    340 +       } 
    341 +       clk_enable(gpio_port->clk); 
     344+       clk_activate(gpio_port->clk); 
    342345+ 
    343346+       if (of_irq_to_resource_table(node, &irqres, 1) == 1) { 
     
    353356+ 
    354357+       ret = gpiochip_add(&gpio_port->gpio_chip); 
    355 +       if (!ret) 
    356 +               platform_set_drvdata(pdev, gpio_port); 
     358+       if (ret) 
     359+               return ret; 
     360+ 
     361+       platform_set_drvdata(pdev, gpio_port); 
    357362+ 
    358363+       gpio_range->name = "FALCON GPIO"; 
    359364+       gpio_range->id = *bank; 
    360365+       gpio_range->base = gpio_port->gpio_chip.base; 
     366+       gpio_range->pin_base = gpio_port->gpio_chip.base; 
    361367+       gpio_range->npins = gpio_port->gpio_chip.ngpio; 
    362368+       gpio_range->gc = &gpio_port->gpio_chip; 
     369+ 
    363370+       pinctrl_falcon_add_gpio_range(gpio_range); 
    364371+ 
    365 +       return ret; 
     372+       return 0; 
    366373+} 
    367374+ 
    368375+static const struct of_device_id falcon_gpio_match[] = { 
    369 +       { .compatible = "lantiq,gpio-falcon" }, 
     376+       { .compatible = "lantiq,falcon-gpio" }, 
    370377+       {}, 
    371378+}; 
     
    393400+ 
    394401+subsys_initcall(falcon_gpio_init); 
     402--  
     4031.7.10.4 
     404 
  • trunk/target/linux/lantiq/patches-3.10/0025-GPIO-add-gpio_export_with_name.patch

    r38030 r38031  
    1 From 8f3ed1fffa35d18c2b20ebb866c71a22cc0589ff Mon Sep 17 00:00:00 2001 
     1From 4bf583c17735a759064bc6177718f05fd990a7ab Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Sun, 23 Jun 2013 00:16:22 +0200 
    4 Subject: [PATCH 29/33] owrt: GPIO: add gpio_export_with_name 
     4Subject: [PATCH 25/34] GPIO: add gpio_export_with_name 
    55 
    66http://lists.infradead.org/pipermail/linux-arm-kernel/2012-November/133856.html 
     
    1515 5 files changed, 172 insertions(+), 12 deletions(-) 
    1616 
     17diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt 
     18index d933af3..c264748 100644 
    1719--- a/Documentation/devicetree/bindings/gpio/gpio.txt 
    1820+++ b/Documentation/devicetree/bindings/gpio/gpio.txt 
     
    8183+       }; 
    8284+}; 
     85diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c 
     86index 665f953..15ec5e5 100644 
    8387--- a/drivers/gpio/gpiolib-of.c 
    8488+++ b/drivers/gpio/gpiolib-of.c 
     
    9296 /* Private data structure for of_gpiochip_find_and_xlate */ 
    9397 struct gg_data { 
    94 @@ -242,3 +244,69 @@ void of_gpiochip_remove(struct gpio_chip 
     98@@ -242,3 +244,69 @@ void of_gpiochip_remove(struct gpio_chip *chip) 
    9599        if (chip->of_node) 
    96100                of_node_put(chip->of_node); 
     
    162166+} 
    163167+device_initcall(of_gpio_export_init); 
     168diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c 
     169index c2534d6..8697c82 100644 
    164170--- a/drivers/gpio/gpiolib.c 
    165171+++ b/drivers/gpio/gpiolib.c 
    166 @@ -96,7 +96,7 @@ static int gpiod_get_value(const struct 
     172@@ -96,7 +96,7 @@ static int gpiod_get_value(const struct gpio_desc *desc); 
    167173 static void gpiod_set_value(struct gpio_desc *desc, int value); 
    168174 static int gpiod_cansleep(const struct gpio_desc *desc); 
     
    173179                             struct gpio_desc *desc); 
    174180 static int gpiod_sysfs_set_active_low(struct gpio_desc *desc, int value); 
    175 @@ -674,7 +674,7 @@ static ssize_t export_store(struct class 
     181@@ -674,7 +674,7 @@ static ssize_t export_store(struct class *class, 
    176182                        status = -ENODEV; 
    177183                goto done; 
     
    203209        unsigned long           flags; 
    204210        int                     status; 
    205 @@ -783,6 +784,8 @@ static int gpiod_export(struct gpio_desc 
     211@@ -783,6 +784,8 @@ static int gpiod_export(struct gpio_desc *desc, bool direction_may_change) 
    206212                goto fail_unlock; 
    207213        } 
     
    227233 static int match_export(struct device *dev, const void *data) 
    228234 { 
    229 @@ -1092,7 +1095,7 @@ static inline void gpiochip_unexport(str 
     235@@ -1092,7 +1095,7 @@ static inline void gpiochip_unexport(struct gpio_chip *chip) 
    230236 } 
    231237  
     
    236242        return -ENOSYS; 
    237243 } 
    238 @@ -1521,6 +1524,9 @@ int gpio_request_one(unsigned gpio, unsi 
     244@@ -1521,6 +1524,9 @@ int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) 
    239245        if (flags & GPIOF_OPEN_SOURCE) 
    240246                set_bit(FLAG_OPEN_SOURCE, &desc->flags); 
     
    246252                err = gpiod_direction_input(desc); 
    247253        else 
    248 @@ -1531,7 +1537,7 @@ int gpio_request_one(unsigned gpio, unsi 
     254@@ -1531,7 +1537,7 @@ int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) 
    249255                goto free_gpio; 
    250256  
     
    255261                        goto free_gpio; 
    256262        } 
     263diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h 
     264index bde6469..3290572 100644 
    257265--- a/include/asm-generic/gpio.h 
    258266+++ b/include/asm-generic/gpio.h 
    259 @@ -202,7 +202,8 @@ extern void gpio_free_array(const struct 
     267@@ -202,7 +202,8 @@ extern void gpio_free_array(const struct gpio *array, size_t num); 
    260268  * A sysfs interface can be exported by individual drivers if they want, 
    261269  * but more typically is configured entirely from userspace. 
     
    277285        return -ENOSYS; 
    278286 } 
     287diff --git a/include/linux/gpio.h b/include/linux/gpio.h 
     288index 552e3f4..07bbbcc7 100644 
    279289--- a/include/linux/gpio.h 
    280290+++ b/include/linux/gpio.h 
     
    289299  * struct gpio - a structure describing a GPIO with configuration 
    290300  * @gpio:      the GPIO number 
    291 @@ -169,7 +172,8 @@ static inline void gpio_set_value_cansle 
     301@@ -169,7 +172,8 @@ static inline void gpio_set_value_cansleep(unsigned gpio, int value) 
    292302        WARN_ON(1); 
    293303 } 
     
    299309        /* GPIO can never have been requested or set as {in,out}put */ 
    300310        WARN_ON(1); 
    301 @@ -236,4 +240,24 @@ int devm_gpio_request_one(struct device 
     311@@ -236,4 +240,24 @@ int devm_gpio_request_one(struct device *dev, unsigned gpio, 
    302312                          unsigned long flags, const char *label); 
    303313 void devm_gpio_free(struct device *dev, unsigned int gpio); 
     
    324334+ 
    325335 #endif /* __LINUX_GPIO_H */ 
     336--  
     3371.7.10.4 
     338 
  • trunk/target/linux/lantiq/patches-3.10/0026-pinctrl-lantiq-fix-up-pinmux.patch

    r38030 r38031  
    1 From ea78e25b769740a801e259f4f6cb93fa92faa244 Mon Sep 17 00:00:00 2001 
     1From f8b5108547119cd650fe5fcc90f488d250a3305d Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    3 Date: Sat, 29 Jun 2013 19:32:08 +0200 
    4 Subject: [PATCH 22/22] PINCTRL: add gpio_irq support 
     3Date: Fri, 9 Aug 2013 20:38:15 +0200 
     4Subject: [PATCH 26/34] pinctrl/lantiq: fix up pinmux 
    55 
     6We found out how to set the gphy led pinmuxing. 
     7 
     8Signed-off-by: John Crispin <blogic@openwrt.org> 
    69--- 
    710 drivers/pinctrl/pinctrl-xway.c |   28 ++++++++++++++++++++++++++-- 
    811 1 file changed, 26 insertions(+), 2 deletions(-) 
    912 
     13diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c 
     14index e92132c..e40b2e6 100644 
    1015--- a/drivers/pinctrl/pinctrl-xway.c 
    1116+++ b/drivers/pinctrl/pinctrl-xway.c 
    12 @@ -564,10 +564,9 @@ static struct pinctrl_desc xway_pctrl_de 
     17@@ -564,10 +564,9 @@ static struct pinctrl_desc xway_pctrl_desc = { 
    1318        .confops        = &xway_pinconf_ops, 
    1419 }; 
     
    2227        u32 alt1_reg = GPIO_ALT1(pin); 
    2328  
    24 @@ -587,6 +586,14 @@ static inline int xway_mux_apply(struct 
     29@@ -587,6 +586,14 @@ static inline int xway_mux_apply(struct pinctrl_dev *pctrldev, 
    2530        return 0; 
    2631 } 
     
    3742        {"lantiq,pull",         LTQ_PINCONF_PARAM_PULL}, 
    3843        {"lantiq,open-drain",   LTQ_PINCONF_PARAM_OPEN_DRAIN}, 
    39 @@ -631,6 +638,10 @@ static int xway_gpio_dir_out(struct gpio 
     44@@ -631,6 +638,10 @@ static int xway_gpio_dir_out(struct gpio_chip *chip, unsigned int pin, int val) 
    4045 { 
    4146        struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev); 
     
    4853        xway_gpio_set(chip, pin, val); 
    4954  
    50 @@ -651,6 +662,18 @@ static void xway_gpio_free(struct gpio_c 
     55@@ -651,6 +662,18 @@ static void xway_gpio_free(struct gpio_chip *chip, unsigned offset) 
    5156        pinctrl_free_gpio(gpio); 
    5257 } 
     
    7580 }; 
    7681  
     82--  
     831.7.10.4 
     84 
  • trunk/target/linux/lantiq/patches-3.10/0027-pinctrl-lantiq-add-missing-gphy-led-setup.patch

    r38030 r38031  
    1 Index: linux-3.8.13/drivers/pinctrl/pinctrl-xway.c 
    2 =================================================================== 
    3 --- linux-3.8.13.orig/drivers/pinctrl/pinctrl-xway.c    2013-07-27 15:05:47.693196681 +0200 
    4 +++ linux-3.8.13/drivers/pinctrl/pinctrl-xway.c 2013-07-29 14:43:05.237674357 +0200 
    5 @@ -101,6 +101,7 @@ 
     1From 5164a36bb033e805c40da76558ceddc82741989b Mon Sep 17 00:00:00 2001 
     2From: John Crispin <blogic@openwrt.org> 
     3Date: Fri, 9 Aug 2013 20:38:15 +0200 
     4Subject: [PATCH 27/34] pinctrl/lantiq: add missing gphy led setup 
     5 
     6We found out how to set the gphy led pinmuxing. 
     7 
     8Signed-off-by: John Crispin <blogic@openwrt.org> 
     9--- 
     10 drivers/pinctrl/pinctrl-xway.c |   30 ++++++++++++++++++++++++------ 
     11 1 file changed, 24 insertions(+), 6 deletions(-) 
     12 
     13diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c 
     14index e40b2e6..b159fd5 100644 
     15--- a/drivers/pinctrl/pinctrl-xway.c 
     16+++ b/drivers/pinctrl/pinctrl-xway.c 
     17@@ -102,6 +102,7 @@ enum xway_mux { 
    618        XWAY_MUX_EPHY, 
    719        XWAY_MUX_DFE, 
     
    1123 }; 
    1224  
    13 @@ -108,12 +109,12 @@ 
     25@@ -109,12 +110,12 @@ static const struct ltq_mfp_pin xway_mfp[] = { 
    1426        /*       pin    f0      f1      f2      f3   */ 
    1527        MFP_XWAY(GPIO0, GPIO,   EXIN,   NONE,   TDM), 
     
    2739        MFP_XWAY(GPIO9, GPIO,   ASC,    SPI,    EXIN), 
    2840        MFP_XWAY(GPIO10, GPIO,  ASC,    SPI,    NONE), 
    29 @@ -150,10 +151,10 @@ 
     41@@ -151,10 +152,10 @@ static const struct ltq_mfp_pin xway_mfp[] = { 
    3042        MFP_XWAY(GPIO41, GPIO,  NONE,   NONE,   NONE), 
    3143        MFP_XWAY(GPIO42, GPIO,  MDIO,   NONE,   NONE), 
     
    4153        MFP_XWAY(GPIO49, GPIO,  EBU,    NONE,   NONE), 
    4254        MFP_XWAY(GPIO50, GPIO,  NONE,   NONE,   NONE), 
    43 @@ -207,6 +208,13 @@ 
     55@@ -208,6 +209,13 @@ static const unsigned pins_stp[] = {GPIO4, GPIO5, GPIO6}; 
    4456 static const unsigned pins_nmi[] = {GPIO8}; 
    4557 static const unsigned pins_mdio[] = {GPIO42, GPIO43}; 
     
    5567 static const unsigned pins_ebu_clk[] = {GPIO21}; 
    5668 static const unsigned pins_ebu_cs1[] = {GPIO23}; 
    57 @@ -321,6 +329,12 @@ 
     69@@ -322,6 +330,12 @@ static const struct ltq_pin_group xway_grps[] = { 
    5870        GRP_MUX("gnt4", PCI, pins_pci_gnt4), 
    5971        GRP_MUX("req4", PCI, pins_pci_gnt4), 
     
    6880  
    6981 static const struct ltq_pin_group ase_grps[] = { 
    70 @@ -364,6 +378,9 @@ 
     82@@ -365,6 +379,9 @@ static const char * const xway_nmi_grps[] = {"nmi"}; 
    7183  
    7284 /* ar9/vr9/gr9 */ 
     
    7890                                                "ebu a25", "ebu cs1", 
    7991                                                "ebu wait", "ebu clk", 
    80 @@ -413,6 +430,7 @@ 
     92@@ -414,6 +431,7 @@ static const struct ltq_pmx_func xrx_funcs[] = { 
    8193        {"pci",         ARRAY_AND_SIZE(xrx_pci_grps)}, 
    8294        {"ebu",         ARRAY_AND_SIZE(xrx_ebu_grps)}, 
     
    8698  
    8799 static const struct ltq_pmx_func ase_funcs[] = { 
     100--  
     1011.7.10.4 
    88102 
  • trunk/target/linux/lantiq/patches-3.10/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch

    r38030 r38031  
    1 From 6a68cfb053a7c95ff36c7c2ce2a092aa98620422 Mon Sep 17 00:00:00 2001 
     1From eaec375aa840b776641f2619dbc974fa6ec44d80 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Sun, 20 May 2012 00:42:39 +0200 
    4 Subject: [PATCH 04/22] I2C: MIPS: lantiq: add FALC-ON i2c bus master 
     4Subject: [PATCH 31/34] I2C: MIPS: lantiq: add FALC-ON i2c bus master 
    55 
    66This patch adds the driver needed to make the I2C bus work on FALC-ON SoCs. 
     
    1717 create mode 100644 drivers/i2c/busses/i2c-lantiq.h 
    1818 
     19diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig 
     20index 631736e..0f0522b 100644 
    1921--- a/drivers/i2c/busses/Kconfig 
    2022+++ b/drivers/i2c/busses/Kconfig 
     
    3638        tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx" 
    3739        depends on PPC 
     40diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile 
     41index 8f4fc23..3273061 100644 
    3842--- a/drivers/i2c/busses/Makefile 
    3943+++ b/drivers/i2c/busses/Makefile 
    40 @@ -48,6 +48,7 @@ obj-$(CONFIG_I2C_IBM_IIC)     += i2c-ibm_iic 
     44@@ -48,6 +48,7 @@ obj-$(CONFIG_I2C_IBM_IIC)     += i2c-ibm_iic.o 
    4145 obj-$(CONFIG_I2C_IMX)          += i2c-imx.o 
    4246 obj-$(CONFIG_I2C_INTEL_MID)    += i2c-intel-mid.o 
     
    4650 obj-$(CONFIG_I2C_MV64XXX)      += i2c-mv64xxx.o 
    4751 obj-$(CONFIG_I2C_MXS)          += i2c-mxs.o 
     52diff --git a/drivers/i2c/busses/i2c-lantiq.c b/drivers/i2c/busses/i2c-lantiq.c 
     53new file mode 100644 
     54index 0000000..9a5f58b 
    4855--- /dev/null 
    4956+++ b/drivers/i2c/busses/i2c-lantiq.c 
     
    796803+MODULE_LICENSE("GPL"); 
    797804+MODULE_VERSION(DRV_VERSION); 
     805diff --git a/drivers/i2c/busses/i2c-lantiq.h b/drivers/i2c/busses/i2c-lantiq.h 
     806new file mode 100644 
     807index 0000000..7a86b89 
    798808--- /dev/null 
    799809+++ b/drivers/i2c/busses/i2c-lantiq.h 
     
    10331043+ 
    10341044+#endif /* I2C_LANTIQ_H */ 
     1045--  
     10461.7.10.4 
     1047 
  • trunk/target/linux/lantiq/patches-3.10/0032-USB-fix-roothub-for-IFXHCD.patch

    r38030 r38031  
    1 From e6c3c0d86a581e0738e18e5a3369ded8527a3315 Mon Sep 17 00:00:00 2001 
     1From 4f861316af87a73fd8738df5436742f9425561b3 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Thu, 6 Dec 2012 19:59:53 +0100 
    4 Subject: [PATCH 23/40] USB: fix roothub for IFXHCD 
     4Subject: [PATCH 32/34] USB: fix roothub for IFXHCD 
    55 
    66--- 
     
    99 2 files changed, 2 insertions(+), 1 deletion(-) 
    1010 
     11diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig 
     12index 1621b1d..4c9a241 100644 
    1113--- a/arch/mips/lantiq/Kconfig 
    1214+++ b/arch/mips/lantiq/Kconfig 
     
    1921  
    2022 choice 
     23diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c 
     24index feef935..db4fb8e 100644 
    2125--- a/drivers/usb/core/hub.c 
    2226+++ b/drivers/usb/core/hub.c 
    23 @@ -4007,7 +4007,7 @@ hub_port_init (struct usb_hub *hub, stru 
     27@@ -4009,7 +4009,7 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1, 
    2428                udev->ttport = hdev->ttport; 
    2529        } else if (udev->speed != USB_SPEED_HIGH 
     
    3034                        retval = -EINVAL; 
    3135                        goto fail; 
     36--  
     371.7.10.4 
     38 
  • trunk/target/linux/lantiq/patches-3.10/0033-SPI-MIPS-lantiq-adds-spi-xway.patch

    r38030 r38031  
    1 From 60092075ded3e51036fd018ba6d9cc49e7079dcd Mon Sep 17 00:00:00 2001 
     1From bc11f9825bf54e38de195fde87d928f8a056826a Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Wed, 13 Mar 2013 09:29:37 +0100 
    4 Subject: [PATCH 24/40] SPI: MIPS: lantiq: adds spi-xway 
     4Subject: [PATCH 33/34] SPI: MIPS: lantiq: adds spi-xway 
    55 
    66This patch adds support for the SPI core found on several Lantiq SoCs. 
     
    1717 create mode 100644 drivers/spi/spi-xway.c 
    1818 
     19diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig 
     20index 92a9345..954c19f 100644 
    1921--- a/drivers/spi/Kconfig 
    2022+++ b/drivers/spi/Kconfig 
    21 @@ -458,6 +458,14 @@ config SPI_NUC900 
     23@@ -487,6 +487,14 @@ config SPI_NUC900 
    2224        help 
    2325          SPI driver for Nuvoton NUC900 series ARM SoCs 
     
    3436 # Add new SPI master controllers in alphabetical order above this line 
    3537 # 
     38diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile 
     39index 33f9c09..0574edf 100644 
    3640--- a/drivers/spi/Makefile 
    3741+++ b/drivers/spi/Makefile 
    38 @@ -69,3 +69,4 @@ obj-$(CONFIG_SPI_TOPCLIFF_PCH)                += spi-t 
     42@@ -74,3 +74,4 @@ obj-$(CONFIG_SPI_TOPCLIFF_PCH)                += spi-topcliff-pch.o 
    3943 obj-$(CONFIG_SPI_TXX9)                 += spi-txx9.o 
    4044 obj-$(CONFIG_SPI_XCOMM)                += spi-xcomm.o 
    4145 obj-$(CONFIG_SPI_XILINX)               += spi-xilinx.o 
    4246+obj-$(CONFIG_SPI_XWAY)                 += spi-xway.o 
     47diff --git a/drivers/spi/spi-xway.c b/drivers/spi/spi-xway.c 
     48new file mode 100644 
     49index 0000000..61532e3 
    4350--- /dev/null 
    4451+++ b/drivers/spi/spi-xway.c 
     
    10211028+MODULE_LICENSE("GPL"); 
    10221029+MODULE_ALIAS("platform:spi-xway"); 
     1030--  
     10311.7.10.4 
     1032 
  • trunk/target/linux/lantiq/patches-3.10/0034-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch

    r38030 r38031  
    1 From 080f1a0c539180a88066fb004a8c31eefdf74161 Mon Sep 17 00:00:00 2001 
     1From d390147e2279a58b4476fdd1d6a0891af82a531e Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Fri, 9 Aug 2013 18:47:27 +0200 
    4 Subject: [PATCH 02/25] reset: Fix compile when reset RESET_CONTROLLER is not 
     4Subject: [PATCH 34/34] reset: Fix compile when reset RESET_CONTROLLER is not 
    55 selected 
    66 
     
    1818 2 files changed, 59 insertions(+) 
    1919 
     20diff --git a/include/linux/reset-controller.h b/include/linux/reset-controller.h 
     21index 2f61311..068f073 100644 
    2022--- a/include/linux/reset-controller.h 
    2123+++ b/include/linux/reset-controller.h 
     
    4446+ 
    4547 #endif 
     48diff --git a/include/linux/reset.h b/include/linux/reset.h 
     49index 6082247..1b36c9e 100644 
    4650--- a/include/linux/reset.h 
    4751+++ b/include/linux/reset.h 
     
    6064 int reset_control_assert(struct reset_control *rstc); 
    6165 int reset_control_deassert(struct reset_control *rstc); 
    62 @@ -14,4 +18,43 @@ struct reset_control *devm_reset_control 
     66@@ -14,4 +18,43 @@ struct reset_control *devm_reset_control_get(struct device *dev, const char *id) 
    6367  
    6468 int device_reset(struct device *dev); 
     
    104108+ 
    105109 #endif 
     110--  
     1111.7.10.4 
     112 
  • trunk/target/linux/lantiq/patches-3.10/0101-timer-backport.patch

    r38030 r38031  
    1 From 225313fe4112a487954e7f7e3be995854b7c9ffa Mon Sep 17 00:00:00 2001 
     1From 2eb3fca4b1ed36841e281e014cc2e17ec9154533 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    33Date: Wed, 13 Mar 2013 10:01:49 +0100 
    4 Subject: [PATCH 39/40] owrt: lantiq: backport old timer code 
     4Subject: [PATCH 08/34] MIPS: lantiq: backport old timer code 
    55 
     6Signed-off-by: John Crispin <blogic@openwrt.org> 
    67--- 
    78 arch/mips/include/asm/mach-lantiq/lantiq_timer.h |  155 ++++ 
     
    1213 create mode 100644 arch/mips/lantiq/xway/timer.c 
    1314 
     15diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_timer.h b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h 
     16new file mode 100644 
     17index 0000000..ef564ab 
    1418--- /dev/null 
    1519+++ b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h 
     
    170174+ 
    171175+#endif /* __DANUBE_GPTU_DEV_H__2005_07_26__10_19__ */ 
     176diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile 
     177index a2edc53..da51fe0 100644 
    172178--- a/arch/mips/lantiq/xway/Makefile 
    173179+++ b/arch/mips/lantiq/xway/Makefile 
     
    176182+obj-y := prom.o sysctrl.o clk.o reset.o dma.o timer.o dcdc.o 
    177183  
    178  obj-y += eth_mac.o vmmc.o 
    179  obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o 
     184 obj-y += vmmc.o 
     185  
     186diff --git a/arch/mips/lantiq/xway/timer.c b/arch/mips/lantiq/xway/timer.c 
     187new file mode 100644 
     188index 0000000..1c0fdb8 
    180189--- /dev/null 
    181190+++ b/arch/mips/lantiq/xway/timer.c 
     
    10261035+ 
    10271036+#endif 
     1037--  
     10381.7.10.4 
     1039 
  • trunk/target/linux/lantiq/patches-3.10/0102-generic-dtb-image-hack.patch

    r38030 r38031  
    1 From d9e7323db95818a92fc38e47e386ffb1a6fead5d Mon Sep 17 00:00:00 2001 
     1From e98005f02af333e0bf905a1e53caef009a37fc55 Mon Sep 17 00:00:00 2001 
    22From: John Crispin <blogic@openwrt.org> 
    3 Date: Wed, 13 Mar 2013 09:34:03 +0100 
    4 Subject: [PATCH 35/40] owrt: generic dtb image hack 
     3Date: Sun, 14 Jul 2013 22:26:43 +0200 
     4Subject: [PATCH 22/22] owrt: generic dtb image hack 
    55 
    66--- 
  • trunk/target/linux/lantiq/xrx200/config-default

    r38029 r38031  
    4242CONFIG_USB_SUPPORT=y 
    4343# CONFIG_USB_UHCI_HCD is not set 
     44CONFIG_XRX200_PHY_FW=y 
  • trunk/target/linux/lantiq/xway/config-default

    r38029 r38031  
    1717CONFIG_M25PXX_USE_FAST_READ=y 
    1818CONFIG_MTD_M25P80=y 
    19 CONFIG_MTD_NAND=y 
    20 CONFIG_MTD_NAND_ECC=y 
    21 CONFIG_MTD_NAND_PLATFORM=y 
    22 CONFIG_MTD_NAND_XWAY=y 
    2319# CONFIG_MTD_PHYSMAP_OF is not set 
    2420CONFIG_NLS=y 
Note: See TracChangeset for help on using the changeset viewer.