X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/5bdb3e2cb76a8b68f51dd09c7e0c56d517945dac..3fe5c4149be89260eb8870c0272d512197b24c99:/target/linux/cns3xxx/patches-3.0/100-laguna_support.patch?ds=sidebyside diff --git a/target/linux/cns3xxx/patches-3.0/100-laguna_support.patch b/target/linux/cns3xxx/patches-3.0/100-laguna_support.patch index 12d80a921..a7f9938f6 100644 --- a/target/linux/cns3xxx/patches-3.0/100-laguna_support.patch +++ b/target/linux/cns3xxx/patches-3.0/100-laguna_support.patch @@ -555,23 +555,24 @@ + * 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, +}; + +/* @@ -580,6 +581,8 @@ + +static void __init laguna_init(void) +{ ++ cns3xxx_l2x0_init(); ++ + platform_device_register(&laguna_watchdog); + + platform_device_register(&laguna_i2c_controller); @@ -587,7 +590,6 @@ + i2c_register_board_info(0, laguna_i2c_devices, + ARRAY_SIZE(laguna_i2c_devices)); + -+ + pm_power_off = cns3xxx_power_off; +} + @@ -614,11 +616,9 @@ +{ + 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; @@ -764,12 +764,13 @@ +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 @@ -785,10 +786,10 @@ #include #include +#include + #include #include #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, @@ -815,10 +816,10 @@ --- 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 @@ -934,16 +935,6 @@ 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 @@ -972,7 +963,7 @@ -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();