ar71xx: fix MAC/MDIO reset mask handling
[openwrt.git] / target / linux / cns3xxx / patches-3.0 / 100-laguna_support.patch
index 12d80a9..a7f9938 100644 (file)
 + * Watchdog
 + */
 +
-+static struct resource laguna_watchdog_resource[] = {
-+      {
-+              .start = CNS3XXX_TC11MP_TWD_BASE,
-+              .end = CNS3XXX_TC11MP_TWD_BASE + SZ_4K - 1,
-+              .flags = IORESOURCE_MEM,
-+      },{
-+              .start = IRQ_LOCALWDOG,
-+              .end = IRQ_LOCALWDOG,
-+              .flags = IORESOURCE_IRQ,
++static struct resource laguna_watchdog_resources[] = {
++      [0] = {
++              .start  = CNS3XXX_TC11MP_TWD_BASE,
++              .end    = CNS3XXX_TC11MP_TWD_BASE + SZ_4K - 1,
++              .flags  = IORESOURCE_MEM,
++      },
++      [1] = {
++              .start  = IRQ_LOCALWDOG,
++              .end    = IRQ_LOCALWDOG,
++              .flags  = IORESOURCE_IRQ,
 +      }
 +};
 +
 +static struct platform_device laguna_watchdog = {
-+      .name = "mpcore_wdt",
-+      .id = -1,
-+      .num_resources = ARRAY_SIZE(laguna_watchdog_resource),
-+      .resource = laguna_watchdog_resource,
++      .name           = "mpcore_wdt",
++      .id             = -1,
++      .num_resources  = ARRAY_SIZE(laguna_watchdog_resources),
++      .resource       = laguna_watchdog_resources,
 +};
 +
 +/*
 +
 +static void __init laguna_init(void)
 +{
++      cns3xxx_l2x0_init();
++
 +      platform_device_register(&laguna_watchdog);
 +
 +      platform_device_register(&laguna_i2c_controller);
 +      i2c_register_board_info(0, laguna_i2c_devices,
 +                      ARRAY_SIZE(laguna_i2c_devices));
 +
-+
 +      pm_power_off = cns3xxx_power_off;
 +}
 +
 +{
 +      cns3xxx_map_io();
 +      iotable_init(laguna_io_desc, ARRAY_SIZE(laguna_io_desc));
-+
 +      laguna_early_serial_setup();
 +}
 +
-+
 +static int __init laguna_model_setup(void)
 +{
 +      u32 __iomem *mem;
 +MACHINE_END
 --- a/arch/arm/mach-cns3xxx/Kconfig
 +++ b/arch/arm/mach-cns3xxx/Kconfig
-@@ -10,4 +10,13 @@ config MACH_CNS3420VB
+@@ -11,4 +11,14 @@ config MACH_CNS3420VB
          This is a platform with an on-board ARM11 MPCore and has support
          for USB, USB-OTG, MMC/SD/SDIO, SATA, PCI-E, etc.
  
 +config MACH_GW2388
 +      bool "Support for Gateworks Laguna Platform"
++      select HAVE_ARM_SCU if SMP
 +      select MIGHT_HAVE_PCI
 +      help
 +        Include support for the Gateworks Laguna Platform
  #include <asm/mach/irq.h>
  #include <asm/hardware/gic.h>
 +#include <asm/smp_twd.h>
+ #include <asm/hardware/cache-l2x0.h>
  #include <mach/cns3xxx.h>
  #include "core.h"
-@@ -60,11 +61,24 @@ static struct map_desc cns3xxx_io_desc[]
+@@ -61,11 +62,24 @@ static struct map_desc cns3xxx_io_desc[]
                .pfn            = __phys_to_pfn(CNS3XXX_PM_BASE),
                .length         = SZ_4K,
                .type           = MT_DEVICE,
  
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -322,6 +322,7 @@ config ARCH_CLPS711X
+@@ -323,6 +323,7 @@ config ARCH_CLPS711X
  config ARCH_CNS3XXX
        bool "Cavium Networks CNS3XXX family"
-       select CPU_V6
+       select CPU_V6K
 +      select ARCH_WANT_OPTIONAL_GPIOLIB
        select GENERIC_CLOCKEVENTS
        select ARM_GIC
  obj-$(CONFIG_SMP)                     += platsmp.o headsmp.o
  obj-$(CONFIG_HOTPLUG_CPU)             += hotplug.o
  obj-$(CONFIG_LOCAL_TIMERS)            += localtimer.o
---- a/arch/arm/tools/mach-types
-+++ b/arch/arm/tools/mach-types
-@@ -444,6 +444,7 @@ icontrol           MACH_ICONTROL           ICONTROL                2624
- qsd8x50a_st1_5                MACH_QSD8X50A_ST1_5     QSD8X50A_ST1_5          2627
- mx23evk                       MACH_MX23EVK            MX23EVK                 2629
- ap4evb                        MACH_AP4EVB             AP4EVB                  2630
-+gw2388                        MACH_GW2388             GW2388                  2635
- mityomapl138          MACH_MITYOMAPL138       MITYOMAPL138            2650
- guruplug              MACH_GURUPLUG           GURUPLUG                2659
- spear310              MACH_SPEAR310           SPEAR310                2660
 --- a/arch/arm/mach-cns3xxx/pcie.c
 +++ b/arch/arm/mach-cns3xxx/pcie.c
 @@ -365,7 +365,7 @@ static int cns3xxx_pcie_abort_handler(un
 -device_initcall(cns3xxx_pcie_init);
 --- a/arch/arm/mach-cns3xxx/cns3420vb.c
 +++ b/arch/arm/mach-cns3xxx/cns3420vb.c
-@@ -175,6 +175,8 @@ static void __init cns3420_init(void)
+@@ -199,6 +199,8 @@ static void __init cns3420_init(void)
        cns3xxx_ahci_init();
        cns3xxx_sdhci_init();
  
This page took 0.033914 seconds and 4 git commands to generate.