Changeset 22373


Ignore:
Timestamp:
2010-07-24T02:18:58+02:00 (7 years ago)
Author:
acoul
Message:

ixp4xx: add kernel 2.6.34 preliminary support

Location:
trunk/target/linux/ixp4xx
Files:
1 added
1 deleted
6 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ixp4xx/config-2.6.34

    r22372 r22373  
    66CONFIG_ARCH_IXDP4XX=y 
    77CONFIG_ARCH_IXP4XX=y 
     8# CONFIG_ARCH_NUC93X is not set 
    89# CONFIG_ARCH_PRPMC1100 is not set 
    910CONFIG_ARCH_REQUIRE_GPIOLIB=y 
     11# CONFIG_ARCH_S5P6440 is not set 
     12# CONFIG_ARCH_S5P6442 is not set 
     13# CONFIG_ARCH_S5PV210 is not set 
    1014# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set 
     15# CONFIG_ARCH_SHMOBILE is not set 
    1116# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set 
    1217CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y 
     
    3035CONFIG_CPU_ENDIAN_BE32=y 
    3136# CONFIG_CPU_ENDIAN_BE8 is not set 
     37CONFIG_CPU_HAS_PMU=y 
    3238CONFIG_CPU_IXP43X=y 
    3339CONFIG_CPU_IXP46X=y 
     
    4652# CONFIG_FPE_NWFPE is not set 
    4753CONFIG_FRAME_POINTER=y 
     54CONFIG_GENERIC_ATOMIC64=y 
    4855CONFIG_GENERIC_CLOCKEVENTS=y 
    4956CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 
     
    7380CONFIG_HAVE_MTD_OTP=y 
    7481CONFIG_HAVE_OPROFILE=y 
     82CONFIG_HAVE_PERF_EVENTS=y 
     83CONFIG_HAVE_PROC_CPU=y 
    7584CONFIG_HWMON=y 
    7685# CONFIG_HWMON_DEBUG_CHIP is not set 
     
    131140CONFIG_MTD_OTP=y 
    132141CONFIG_MTD_REDBOOT_PARTS=y 
     142CONFIG_NEED_DMA_MAP_STATE=y 
    133143CONFIG_NO_HZ=y 
    134144CONFIG_PAGEFLAGS_EXTENDED=y 
     
    136146CONFIG_PCI=y 
    137147CONFIG_PCI_DISABLE_COMMON_QUIRKS=y 
     148CONFIG_PERF_USE_VMALLOC=y 
    138149CONFIG_PHYLIB=y 
    139150CONFIG_RTC_CLASS=y 
     
    143154CONFIG_RTC_DRV_X1205=y 
    144155# CONFIG_SCSI_DMA is not set 
     156CONFIG_SCSI_MOD=y 
    145157CONFIG_SENSORS_AD7418=y 
    146158CONFIG_SENSORS_MAX6650=y 
     
    152164# CONFIG_SWAP is not set 
    153165CONFIG_SYS_SUPPORTS_APM_EMULATION=y 
    154 # CONFIG_TREE_PREEMPT_RCU is not set 
    155166CONFIG_UID16=y 
    156167CONFIG_USB_SUPPORT=y 
  • trunk/target/linux/ixp4xx/patches-2.6.34/020-gateworks_i2c_pld.patch

    r21891 r22373  
    375375--- a/drivers/gpio/Kconfig 
    376376+++ b/drivers/gpio/Kconfig 
    377 @@ -221,6 +221,14 @@ config GPIO_TIMBERDALE 
    378         ---help--- 
    379         Add support for the GPIO IP in the timberdale FPGA. 
     377@@ -196,6 +196,14 @@ config GPIO_LANGWELL 
     378        help 
     379          Say Y here to support Intel Moorestown platform GPIO. 
    380380  
    381381+config GPIO_GW_I2C_PLD 
     
    392392--- a/drivers/gpio/Makefile 
    393393+++ b/drivers/gpio/Makefile 
    394 @@ -22,3 +22,4 @@ obj-$(CONFIG_GPIO_CS5535)     += cs5535-gpio 
    395  obj-$(CONFIG_GPIO_BT8XX)       += bt8xxgpio.o 
    396  obj-$(CONFIG_GPIO_VR41XX)      += vr41xx_giu.o 
     394@@ -27,4 +27,5 @@ obj-$(CONFIG_GPIO_VR41XX)     += vr41xx_giu. 
    397395 obj-$(CONFIG_GPIO_WM831X)      += wm831x-gpio.o 
     396 obj-$(CONFIG_GPIO_WM8350)      += wm8350-gpiolib.o 
     397 obj-$(CONFIG_GPIO_WM8994)      += wm8994-gpio.o 
     398-obj-$(CONFIG_GPIO_SCH)         += sch_gpio.o 
     399\ No newline at end of file 
     400+obj-$(CONFIG_GPIO_SCH)         += sch_gpio.o 
    398401+obj-$(CONFIG_GPIO_GW_I2C_PLD)  += gw_i2c_pld.o 
    399402--- /dev/null 
  • trunk/target/linux/ixp4xx/patches-2.6.34/050-disable_dmabounce.patch

    r21891 r22373  
    1 --- a/arch/arm/Kconfig 
    2 +++ b/arch/arm/Kconfig 
    3 @@ -417,7 +417,6 @@ config ARCH_IXP4XX 
     1--- a/arch/arm/Kconfig  2010-05-17 19:51:29.000000000 +0200 
     2+++ b/arch/arm/Kconfig  2010-05-18 17:44:39.000000000 +0200 
     3@@ -433,7 +433,6 @@ config ARCH_IXP4XX 
    44        select GENERIC_GPIO 
    55        select GENERIC_TIME 
     
    99          Support for Intel's IXP4XX (XScale) family of processors. 
    1010  
    11 --- a/arch/arm/mach-ixp4xx/Kconfig 
    12 +++ b/arch/arm/mach-ixp4xx/Kconfig 
    13 @@ -199,6 +199,45 @@ config IXP4XX_INDIRECT_PCI 
     11--- a/arch/arm/mach-ixp4xx/Kconfig      2010-02-25 14:45:00.000000000 +0100 
     12+++ b/arch/arm/mach-ixp4xx/Kconfig      2010-05-18 17:44:39.000000000 +0200 
     13@@ -199,6 +199,43 @@ config IXP4XX_INDIRECT_PCI 
    1414          need to use the indirect method instead. If you don't know 
    1515          what you need, leave this option unselected. 
    1616  
    1717+config IXP4XX_LEGACY_DMABOUNCE 
    18 +       bool "legacy PCI DMA bounce support" 
     18+       bool "Legacy PCI DMA bounce support" 
    1919+       depends on PCI 
    2020+       default n 
     
    2222+       help 
    2323+         The IXP4xx is limited to a 64MB window for PCI DMA, which 
    24 +         requires that PCI accesses above 64MB are bounced via buffers 
    25 +         below 64MB. Furthermore the IXP4xx has an erratum where PCI 
    26 +         read prefetches just below the 64MB limit can trigger lockups. 
     24+         requires that PCI accesses >= 64MB are bounced via buffers 
     25+         below 64MB. 
    2726+ 
    28 +         The kernel has traditionally handled these two issue by using 
    29 +         ARM specific DMA bounce support code for all accesses >= 64MB. 
     27+         The kernel has traditionally handled this issue by using ARM 
     28+         specific DMA bounce support code for all accesses >= 64MB. 
    3029+         That code causes problems of its own, so it is desirable to 
    31 +         disable it. As the kernel now has a workaround for the PCI read 
    32 +         prefetch erratum, it no longer requires the ARM bounce code. 
     30+         disable it. 
    3331+ 
    3432+         Enabling this option makes IXP4xx continue to use the problematic 
     
    5755        tristate "IXP4xx Queue Manager support" 
    5856        help 
    59 --- a/arch/arm/mach-ixp4xx/common-pci.c 
    60 +++ b/arch/arm/mach-ixp4xx/common-pci.c 
    61 @@ -321,27 +321,38 @@ static int abort_handler(unsigned long a 
     57--- a/arch/arm/mach-ixp4xx/common-pci.c 2010-05-17 19:51:29.000000000 +0200 
     58+++ b/arch/arm/mach-ixp4xx/common-pci.c 2010-05-18 17:44:39.000000000 +0200 
     59@@ -321,27 +321,33 @@ static int abort_handler(unsigned long a 
    6260  */ 
    6361 static int ixp4xx_pci_platform_notify(struct device *dev) 
     
    8987 int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size) 
    9088 { 
    91 +       /* Note that this returns true for the last page below 64M due to 
    92 +        * IXP4xx erratum 15 (SCR 1289), which states that PCI prefetches 
    93 +        * can cross the boundary between valid memory and a reserved region 
    94 +        * causing AHB bus errors and a lock-up. 
    95 +        */ 
    96         return (dev->bus == &pci_bus_type ) && ((dma_addr + size) >= SZ_64M); 
     89-       return (dev->bus == &pci_bus_type ) && ((dma_addr + size) >= SZ_64M); 
     90+       return (dev->bus == &pci_bus_type ) && ((dma_addr + size) > SZ_64M); 
    9791 } 
    9892+#endif 
     
    10296  * Only first 64MB of memory can be accessed via PCI. 
    10397  * We use GFP_DMA to allocate safe buffers to do map/unmap. 
    104 @@ -364,6 +375,7 @@ void __init ixp4xx_adjust_zones(int node 
     98@@ -364,6 +370,7 @@ void __init ixp4xx_adjust_zones(int node 
    10599        zhole_size[1] = zhole_size[0]; 
    106100        zhole_size[0] = 0; 
     
    110104 void __init ixp4xx_pci_preinit(void) 
    111105 { 
    112 @@ -513,19 +525,35 @@ struct pci_bus * __devinit ixp4xx_scan_b 
    113  int 
    114  pci_set_dma_mask(struct pci_dev *dev, u64 mask) 
    115  { 
    116 -       if (mask >= SZ_64M - 1 ) 
    117 +#ifdef CONFIG_DMABOUNCE 
    118 +       if (mask >= SZ_64M - 1) 
    119                 return 0; 
    120   
    121         return -EIO; 
    122 +#else 
    123 +       /* Only honour masks < SZ_64M. Silently ignore masks >= SZ_64M 
    124 +          as generic drivers do not know about IXP4xx PCI DMA quirks. */ 
    125 +       if (mask < SZ_64M) 
    126 +               dev->dma_mask = mask; 
    127 +       return 0; 
    128 +#endif 
    129  } 
    130       
    131  int 
    132  pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) 
    133  { 
    134 -       if (mask >= SZ_64M - 1 ) 
    135 +#ifdef CONFIG_DMABOUNCE 
    136 +       if (mask >= SZ_64M - 1) 
    137                 return 0; 
    138   
    139         return -EIO; 
    140 +#else 
    141 +       /* Only honour masks < SZ_64M. Silently ignore masks >= SZ_64M 
    142 +          as generic drivers do not know about IXP4xx PCI DMA quirks. */ 
    143 +       if (mask < SZ_64M) 
    144 +               dev->dev.coherent_dma_mask = mask; 
    145 +       return 0; 
    146 +#endif 
    147  } 
    148   
    149  EXPORT_SYMBOL(ixp4xx_pci_read); 
    150 --- a/arch/arm/mach-ixp4xx/include/mach/memory.h 
    151 +++ b/arch/arm/mach-ixp4xx/include/mach/memory.h 
     106--- a/arch/arm/mach-ixp4xx/include/mach/memory.h        2009-03-24 18:00:31.000000000 +0100 
     107+++ b/arch/arm/mach-ixp4xx/include/mach/memory.h        2010-05-18 17:44:39.000000000 +0200 
    152108@@ -16,10 +16,12 @@ 
    153109  
  • trunk/target/linux/ixp4xx/patches-2.6.34/300-avila_fetch_mac.patch

    r21891 r22373  
    11--- a/arch/arm/mach-ixp4xx/avila-setup.c 
    22+++ b/arch/arm/mach-ixp4xx/avila-setup.c 
    3 @@ -14,10 +14,16 @@ 
     3@@ -14,9 +14,14 @@ 
    44 #include <linux/kernel.h> 
    55 #include <linux/init.h> 
     
    1111 #include <linux/tty.h> 
    1212 #include <linux/serial_8250.h> 
    13  #include <linux/slab.h> 
    1413+#include <linux/i2c.h> 
    1514+#include <linux/i2c/at24.h> 
    16 + 
    1715 #include <linux/i2c-gpio.h> 
    1816 #include <asm/types.h> 
    1917 #include <asm/setup.h> 
    20 @@ -31,6 +37,13 @@ 
     18@@ -30,6 +35,13 @@ 
    2119 #define AVILA_SDA_PIN  7 
    2220 #define AVILA_SCL_PIN  6 
     
    3230        .map_name       = "cfi_probe", 
    3331        .width          = 2, 
    34 @@ -134,16 +147,181 @@ static struct platform_device avila_pata 
     32@@ -133,16 +145,181 @@ static struct platform_device avila_pata 
    3533        .resource               = avila_pata_resources, 
    3634 }; 
     
    214212        avila_flash_resource.end = 
    215213                IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1; 
    216 @@ -161,7 +339,28 @@ static void __init avila_init(void) 
     214@@ -160,7 +337,28 @@ static void __init avila_init(void) 
    217215  
    218216        platform_device_register(&avila_pata); 
  • trunk/target/linux/ixp4xx/patches-2.6.34/301-avila_led.patch

    r21891 r22373  
    11--- a/arch/arm/mach-ixp4xx/avila-setup.c 
    22+++ b/arch/arm/mach-ixp4xx/avila-setup.c 
    3 @@ -24,6 +24,7 @@ 
     3@@ -22,6 +22,7 @@ 
     4 #include <linux/serial_8250.h> 
    45 #include <linux/i2c.h> 
    56 #include <linux/i2c/at24.h> 
    6   
    77+#include <linux/leds.h> 
    88 #include <linux/i2c-gpio.h> 
    99 #include <asm/types.h> 
    1010 #include <asm/setup.h> 
    11 @@ -172,6 +173,72 @@ static struct platform_device avila_npec 
     11@@ -170,6 +171,72 @@ static struct platform_device avila_npec 
    1212        .dev.platform_data      = &avila_npec_data, 
    1313 }; 
     
    8282        &avila_i2c_gpio, 
    8383        &avila_flash, 
    84 @@ -182,12 +249,16 @@ static void __init avila_gw23xx_setup(vo 
     84@@ -180,12 +247,16 @@ static void __init avila_gw23xx_setup(vo 
    8585 { 
    8686        platform_device_register(&avila_npeb_device); 
     
    9999  
    100100 static void __init avila_gw2345_setup(void) 
    101 @@ -198,22 +269,30 @@ static void __init avila_gw2345_setup(vo 
     101@@ -196,22 +267,30 @@ static void __init avila_gw2345_setup(vo 
    102102  
    103103        avila_npec_data.phy = 5; /* port 5 of the KS8995 switch */ 
     
    130130  
    131131 static void __init avila_gw2355_setup(void) 
    132 @@ -224,11 +303,29 @@ static void __init avila_gw2355_setup(vo 
     132@@ -222,11 +301,29 @@ static void __init avila_gw2355_setup(vo 
    133133  
    134134        avila_npec_data.phy = 16; 
  • trunk/target/linux/ixp4xx/patches-2.6.34/310-gtwx5717_spi_bus.patch

    r21891 r22373  
    11--- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c 
    22+++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c 
    3 @@ -28,6 +28,7 @@ 
     3@@ -27,6 +27,7 @@ 
     4 #include <linux/serial.h> 
    45 #include <linux/tty.h> 
    56 #include <linux/serial_8250.h> 
    6  #include <linux/slab.h> 
    77+#include <linux/spi/spi_gpio_old.h> 
    88 #include <asm/types.h> 
    99 #include <asm/setup.h> 
    1010 #include <asm/memory.h> 
    11 @@ -147,9 +148,41 @@ static struct platform_device gtwx5715_f 
     11@@ -146,9 +147,41 @@ static struct platform_device gtwx5715_f 
    1212        .resource       = &gtwx5715_flash_resource, 
    1313 }; 
  • trunk/target/linux/ixp4xx/patches-2.6.34/605-arm-rmk-cache-flush-optim.patch

    r21894 r22373  
    11--- a/arch/arm/mm/fault-armv.c 
    22+++ b/arch/arm/mm/fault-armv.c 
    3 @@ -127,8 +127,6 @@ make_coherent(struct address_space *mapp 
     3@@ -134,8 +134,6 @@ make_coherent(struct address_space *mapp 
    44        flush_dcache_mmap_unlock(mapping); 
    55        if (aliases) 
    6                 adjust_pte(vma, addr); 
     6                do_adjust_pte(vma, addr, pfn, ptep); 
    77-       else 
    88-               flush_cache_page(vma, addr, pfn); 
Note: See TracChangeset for help on using the changeset viewer.