aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/gemini
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/gemini')
-rw-r--r--target/linux/gemini/patches-3.18/002-gemini-rtc.patch2
-rw-r--r--target/linux/gemini/patches-3.18/021-reset-parameters.patch6
-rw-r--r--target/linux/gemini/patches-3.18/050-gpio-to-irq.patch6
-rw-r--r--target/linux/gemini/patches-3.18/060-cache-fa.diff8
-rw-r--r--target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch37
-rw-r--r--target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch7
-rw-r--r--target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch41
-rw-r--r--target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch2
-rw-r--r--target/linux/gemini/patches-3.18/150-gemini-pata.patch20
-rw-r--r--target/linux/gemini/patches-3.18/160-gemini-timers.patch10
10 files changed, 67 insertions, 72 deletions
diff --git a/target/linux/gemini/patches-3.18/002-gemini-rtc.patch b/target/linux/gemini/patches-3.18/002-gemini-rtc.patch
index 1c6edd24d7..f16e6a32b2 100644
--- a/target/linux/gemini/patches-3.18/002-gemini-rtc.patch
+++ b/target/linux/gemini/patches-3.18/002-gemini-rtc.patch
@@ -18,7 +18,7 @@
depends on SH_LANDISK
--- a/drivers/rtc/Makefile
+++ b/drivers/rtc/Makefile
-@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_DS3234) += rtc-ds3234.o
+@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_EFI) += rtc-efi.o
obj-$(CONFIG_RTC_DRV_EM3027) += rtc-em3027.o
obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o
obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o
diff --git a/target/linux/gemini/patches-3.18/021-reset-parameters.patch b/target/linux/gemini/patches-3.18/021-reset-parameters.patch
index b466badd67..644e513746 100644
--- a/target/linux/gemini/patches-3.18/021-reset-parameters.patch
+++ b/target/linux/gemini/patches-3.18/021-reset-parameters.patch
@@ -13,9 +13,9 @@
{
__raw_writel(RESET_GLOBAL | RESET_CPU1,
IO_ADDRESS(GEMINI_GLOBAL_BASE) + GLOBAL_RESET);
---- a/arch/arm/mach-gemini/common.h 2014-08-23 07:06:06.014200638 -0500
-+++ b/arch/arm/mach-gemini/common.h 2014-08-23 07:07:33.450536466 -0500
-@@ -26,6 +26,6 @@
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
+@@ -26,6 +26,6 @@ extern int platform_register_pflash(unsi
struct mtd_partition *parts,
unsigned int nr_parts);
diff --git a/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch b/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch
index 18b0abdac6..7572849864 100644
--- a/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch
+++ b/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch
@@ -1,6 +1,6 @@
---- a/arch/arm/mach-gemini/gpio.c 2015-03-01 10:34:52.492113048 +0100
-+++ b/arch/arm/mach-gemini/gpio.c 2015-03-01 10:34:59.876498159 +0100
-@@ -196,12 +196,18 @@
+--- a/arch/arm/mach-gemini/gpio.c
++++ b/arch/arm/mach-gemini/gpio.c
+@@ -196,12 +196,18 @@ static int gemini_gpio_direction_output(
return 0;
}
diff --git a/target/linux/gemini/patches-3.18/060-cache-fa.diff b/target/linux/gemini/patches-3.18/060-cache-fa.diff
index d337607e97..fc74c0af88 100644
--- a/target/linux/gemini/patches-3.18/060-cache-fa.diff
+++ b/target/linux/gemini/patches-3.18/060-cache-fa.diff
@@ -1,5 +1,5 @@
---- a/arch/arm/mm/cache-fa.S 2011-01-05 01:50:19.000000000 +0100
-+++ b/arch/arm/mm/cache-fa.S 2012-07-25 14:30:40.883639094 +0200
+--- a/arch/arm/mm/cache-fa.S
++++ b/arch/arm/mm/cache-fa.S
@@ -24,7 +24,8 @@
/*
* The size of one data cache line.
@@ -10,7 +10,7 @@
/*
* The total size of the data cache.
-@@ -169,7 +170,17 @@
+@@ -169,7 +170,17 @@ ENTRY(fa_flush_kern_dcache_area)
* - start - virtual start address
* - end - virtual end address
*/
@@ -28,7 +28,7 @@
tst r0, #CACHE_DLINESIZE - 1
bic r0, r0, #CACHE_DLINESIZE - 1
mcrne p15, 0, r0, c7, c14, 1 @ clean & invalidate D entry
-@@ -193,6 +204,10 @@
+@@ -193,6 +204,10 @@ fa_dma_inv_range:
* - end - virtual end address
*/
fa_dma_clean_range:
diff --git a/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch b/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch
index 64468133b8..5f916abfa4 100644
--- a/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch
+++ b/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch
@@ -22,8 +22,8 @@
+};
+
+#endif /* __NET_GEMINI_PLATFORM_H__ */
---- a/arch/arm/mach-gemini/common.h 2011-04-19 03:05:29.446367900 +0200
-+++ b/arch/arm/mach-gemini/common.h 2011-04-19 03:07:02.191154293 +0200
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
@@ -13,6 +13,7 @@
#define __GEMINI_COMMON_H__
@@ -32,7 +32,7 @@
extern void gemini_map_io(void);
extern void gemini_init_irq(void);
-@@ -26,6 +27,7 @@
+@@ -26,6 +27,7 @@ extern int platform_register_pflash(unsi
struct mtd_partition *parts,
unsigned int nr_parts);
extern int platform_register_watchdog(void);
@@ -40,8 +40,8 @@
extern void gemini_restart(enum reboot_mode mode, const char *cmd);
---- a/arch/arm/mach-gemini/devices.c 2011-04-21 13:01:53.578121892 +0200
-+++ b/arch/arm/mach-gemini/devices.c 2011-04-21 13:14:27.643158445 +0200
+--- a/arch/arm/mach-gemini/devices.c
++++ b/arch/arm/mach-gemini/devices.c
@@ -17,6 +17,7 @@
#include <mach/irqs.h>
#include <mach/hardware.h>
@@ -50,7 +50,7 @@
#include "common.h"
static struct plat_serial8250_port serial_platform_data[] = {
-@@ -134,3 +134,56 @@
+@@ -134,3 +135,56 @@ int __init platform_register_watchdog(vo
{
return platform_device_register(&wdt_device);
}
@@ -107,10 +107,9 @@
+
+ return platform_device_register(&ethernet_device);
+}
-
---- a/drivers/net/ethernet/Kconfig 2012-01-25 22:19:43.633736456 +0100
-+++ b/drivers/net/ethernet/Kconfig 2012-01-25 22:20:28.582730742 +0100
-@@ -70,6 +70,7 @@
+--- a/drivers/net/ethernet/Kconfig
++++ b/drivers/net/ethernet/Kconfig
+@@ -70,6 +70,7 @@ source "drivers/net/ethernet/neterion/Kc
source "drivers/net/ethernet/faraday/Kconfig"
source "drivers/net/ethernet/freescale/Kconfig"
source "drivers/net/ethernet/fujitsu/Kconfig"
@@ -118,9 +117,9 @@
source "drivers/net/ethernet/hisilicon/Kconfig"
source "drivers/net/ethernet/hp/Kconfig"
source "drivers/net/ethernet/ibm/Kconfig"
---- a/drivers/net/ethernet/Makefile 2012-01-27 01:37:10.839114389 +0100
-+++ b/drivers/net/ethernet/Makefile 2012-01-27 01:39:06.102105027 +0100
-@@ -33,6 +33,7 @@
+--- a/drivers/net/ethernet/Makefile
++++ b/drivers/net/ethernet/Makefile
+@@ -33,6 +33,7 @@ obj-$(CONFIG_NET_VENDOR_EXAR) += neterio
obj-$(CONFIG_NET_VENDOR_FARADAY) += faraday/
obj-$(CONFIG_NET_VENDOR_FREESCALE) += freescale/
obj-$(CONFIG_NET_VENDOR_FUJITSU) += fujitsu/
@@ -128,8 +127,8 @@
obj-$(CONFIG_NET_VENDOR_HISILICON) += hisilicon/
obj-$(CONFIG_NET_VENDOR_HP) += hp/
obj-$(CONFIG_NET_VENDOR_IBM) += ibm/
---- /dev/null 2012-01-23 21:36:48.249769447 +0100
-+++ b/drivers/net/ethernet/gemini/Kconfig 2012-01-25 22:16:44.285740226 +0100
+--- /dev/null
++++ b/drivers/net/ethernet/gemini/Kconfig
@@ -0,0 +1,31 @@
+#
+# Gemini device configuration
@@ -162,16 +161,16 @@
+ This driver supports StorLink SL351x (Gemini) dual Gigabit Ethernet.
+
+endif # NET_VENDOR_GEMINI
---- /dev/null 2012-01-23 21:36:48.249769447 +0100
-+++ b/drivers/net/ethernet/gemini/Makefile 2012-01-25 22:17:29.698741496 +0100
+--- /dev/null
++++ b/drivers/net/ethernet/gemini/Makefile
@@ -0,0 +1,5 @@
+#
+# Makefile for the Cortina Gemini network device drivers.
+#
+
+obj-$(CONFIG_GEMINI_SL351X) += sl351x.o
---- /dev/null 2012-01-23 21:36:48.249769447 +0100
-+++ b/drivers/net/ethernet/gemini/sl351x.c 2012-01-27 17:09:51.000000000 +0100
+--- /dev/null
++++ b/drivers/net/ethernet/gemini/sl351x.c
@@ -0,0 +1,2340 @@
+/*
+ * Ethernet device driver for Gemini SoC (SL351x GMAC).
diff --git a/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch b/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch
index 8ce3de27fe..5ae896c66f 100644
--- a/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch
+++ b/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch
@@ -1,5 +1,5 @@
---- a/arch/arm/mach-gemini/board-nas4220b.c 2011-04-21 13:19:09.878432930 +0200
-+++ b/arch/arm/mach-gemini/board-nas4220b.c 2011-04-21 13:30:37.555082365 +0200
+--- a/arch/arm/mach-gemini/board-nas4220b.c
++++ b/arch/arm/mach-gemini/board-nas4220b.c
@@ -28,9 +28,27 @@
#include <mach/hardware.h>
@@ -28,7 +28,7 @@
static struct gpio_led ib4220b_leds[] = {
{
.name = "nas4220b:orange:hdd",
-@@ -87,9 +105,39 @@
+@@ -87,15 +105,47 @@ static struct platform_device ib4220b_ke
},
};
@@ -68,7 +68,6 @@
platform_register_uart();
platform_register_pflash(SZ_16M, NULL, 0);
platform_device_register(&ib4220b_led_device);
-@@ -96,6 +144,8 @@
platform_device_register(&ib4220b_key_device);
platform_register_rtc();
platform_register_watchdog();
diff --git a/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch b/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch
index d621fe3645..d13554e535 100644
--- a/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch
+++ b/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch
@@ -1,6 +1,6 @@
---- a/arch/arm/mach-gemini/devices.c 2011-04-23 01:00:16.738137491 +0200
-+++ b/arch/arm/mach-gemini/devices.c 2011-04-23 01:06:55.539299920 +0200
-@@ -188,3 +188,64 @@
+--- a/arch/arm/mach-gemini/devices.c
++++ b/arch/arm/mach-gemini/devices.c
+@@ -188,3 +188,64 @@ int platform_register_ethernet(struct ge
return platform_device_register(&ethernet_device);
}
@@ -65,9 +65,9 @@
+ return platform_device_register(&usb_device[id]);
+}
+
---- a/arch/arm/mach-gemini/common.h 2011-04-23 01:09:31.413161153 +0200
-+++ b/arch/arm/mach-gemini/common.h 2011-04-23 01:09:52.426358514 +0200
-@@ -28,6 +28,7 @@
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
+@@ -28,6 +28,7 @@ extern int platform_register_pflash(unsi
unsigned int nr_parts);
extern int platform_register_watchdog(void);
extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
@@ -77,8 +77,7 @@
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
-@@ -345,12 +345,14 @@ static void ehci_silence_controller(struct ehci_hcd *ehci)
- spin_lock_irq(&ehci->lock);
+@@ -346,11 +346,13 @@ static void ehci_silence_controller(stru
ehci->rh_state = EHCI_RH_HALTED;
ehci_turn_off_all_ports(ehci);
@@ -92,7 +91,7 @@
spin_unlock_irq(&ehci->lock);
}
-@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd)
+@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd
// Philips, Intel, and maybe others need CMD_RUN before the
// root hub will detect new devices (why?); NEC doesn't
ehci->command &= ~(CMD_LRESET|CMD_IAAD|CMD_PSE|CMD_ASE|CMD_RESET);
@@ -102,7 +101,7 @@
ehci_writel(ehci, ehci->command, &ehci->regs->command);
dbg_cmd (ehci, "init", ehci->command);
-@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd)
+@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd
*/
down_write(&ehci_cf_port_reset_rwsem);
ehci->rh_state = EHCI_RH_RUNNING;
@@ -114,7 +113,7 @@
up_write(&ehci_cf_port_reset_rwsem);
ehci->last_periodic_enable = ktime_get_real();
-@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
+@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_
pcd_status = status;
/* resume root hub? */
@@ -138,9 +137,9 @@
#ifdef CONFIG_USB_EHCI_FSL
#include "ehci-fsl.c"
#define PLATFORM_DRIVER ehci_fsl_driver
---- a/drivers/usb/host/ehci-timer.c 2012-12-24 18:35:19.695560879 +0100
-+++ b/drivers/usb/host/ehci-timer.c 2012-12-24 18:39:39.813308000 +0100
-@@ -208,7 +208,9 @@
+--- a/drivers/usb/host/ehci-timer.c
++++ b/drivers/usb/host/ehci-timer.c
+@@ -208,7 +208,9 @@ static void ehci_handle_controller_death
/* Clean up the mess */
ehci->rh_state = EHCI_RH_HALTED;
@@ -168,7 +167,7 @@
case 1:
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
-@@ -1072,6 +1072,11 @@ static int ehci_hub_control (
+@@ -1075,6 +1075,11 @@ int ehci_hub_control(
/* see what we found out */
temp = check_reset_complete (ehci, wIndex, status_reg,
ehci_readl(ehci, status_reg));
@@ -180,26 +179,24 @@
}
/* transfer dedicated ports to the companion hc */
---- a/include/linux/usb/ehci_def.h 2012-12-24 15:01:10.168320497 +0100
-+++ b/include/linux/usb/ehci_def.h 2012-12-24 15:11:43.335575000 +0100
-@@ -110,9 +110,14 @@
+--- a/include/linux/usb/ehci_def.h
++++ b/include/linux/usb/ehci_def.h
+@@ -110,8 +110,13 @@ struct ehci_regs {
u32 frame_list; /* points to periodic list */
/* ASYNCLISTADDR: offset 0x18 */
u32 async_next; /* address of next async queue head */
-
+#ifndef CONFIG_ARCH_GEMINI
u32 reserved1[2];
--
+#else
+ u32 reserved1;
+ /* PORTSC: offset 0x20 for Faraday OTG */
+ u32 port_status[1];
+#endif
-+
+
/* TXFILLTUNING: offset 0x24 */
u32 txfill_tuning; /* TX FIFO Tuning register */
- #define TXFIFO_DEFAULT (8<<16) /* FIFO burst threshold 8 */
-@@ -123,8 +128,11 @@
+@@ -123,8 +128,11 @@ struct ehci_regs {
u32 configured_flag;
#define FLAG_CF (1<<0) /* true: we'll support "high speed" */
diff --git a/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch b/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch
index 222e485989..2a61d828ea 100644
--- a/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch
+++ b/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch
@@ -30,7 +30,7 @@
MACHINE_START(RUT100, "Teltonika RUT100")
--- a/arch/arm/mach-gemini/board-nas4220b.c
+++ b/arch/arm/mach-gemini/board-nas4220b.c
-@@ -134,10 +134,23 @@
+@@ -134,10 +134,23 @@ static void __init ib4220b_gmac_init(voi
GLOBAL_ARBITRATION1_CTRL));
}
diff --git a/target/linux/gemini/patches-3.18/150-gemini-pata.patch b/target/linux/gemini/patches-3.18/150-gemini-pata.patch
index 21fd801f91..62a71def76 100644
--- a/target/linux/gemini/patches-3.18/150-gemini-pata.patch
+++ b/target/linux/gemini/patches-3.18/150-gemini-pata.patch
@@ -15,9 +15,9 @@
#define USB1_VBUS_ON (1 << 23)
#define USB0_VBUS_ON (1 << 22)
#define APB_CLKOUT_ENABLE (1 << 21)
---- a/arch/arm/mach-gemini/irq.c 2013-02-19 13:38:13.263948000 +0100
-+++ b/arch/arm/mach-gemini/irq.c 2013-02-19 18:24:02.912997292 +0100
-@@ -89,6 +89,9 @@
+--- a/arch/arm/mach-gemini/irq.c
++++ b/arch/arm/mach-gemini/irq.c
+@@ -89,6 +89,9 @@ void __init gemini_init_irq(void)
irq_set_handler(i, handle_edge_irq);
mode |= 1 << i;
level |= 1 << i;
@@ -29,7 +29,7 @@
}
--- a/arch/arm/mach-gemini/common.h
+++ b/arch/arm/mach-gemini/common.h
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ extern int platform_register_pflash(unsi
extern int platform_register_watchdog(void);
extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
extern int platform_register_usb(unsigned int id);
@@ -39,7 +39,7 @@
--- a/arch/arm/mach-gemini/devices.c
+++ b/arch/arm/mach-gemini/devices.c
-@@ -249,3 +249,67 @@
+@@ -249,3 +249,67 @@ int __init platform_register_usb(unsigne
return platform_device_register(&usb_device[id]);
}
@@ -109,7 +109,7 @@
+}
--- a/arch/arm/mach-gemini/mm.c
+++ b/arch/arm/mach-gemini/mm.c
-@@ -24,6 +24,11 @@
+@@ -24,6 +24,11 @@ static struct map_desc gemini_io_desc[]
.length = SZ_512K,
.type = MT_DEVICE,
}, {
@@ -123,7 +123,7 @@
.length = SZ_512K,
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
-@@ -536,6 +536,16 @@ config PATA_EFAR
+@@ -536,6 +536,16 @@ config PATA_EP93XX
If unsure, say N.
@@ -142,7 +142,7 @@
depends on PCI
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
-@@ -53,6 +53,7 @@
+@@ -53,6 +53,7 @@ obj-$(CONFIG_PATA_CS5536) += pata_cs5536
obj-$(CONFIG_PATA_CYPRESS) += pata_cypress.o
obj-$(CONFIG_PATA_EFAR) += pata_efar.o
obj-$(CONFIG_PATA_EP93XX) += pata_ep93xx.o
@@ -152,7 +152,7 @@
obj-$(CONFIG_PATA_HPT3X2N) += pata_hpt3x2n.o
--- a/arch/arm/mach-gemini/board-nas4220b.c
+++ b/arch/arm/mach-gemini/board-nas4220b.c
-@@ -146,11 +146,28 @@
+@@ -146,11 +146,28 @@ static void __init usb_ib4220b_init(void
GLOBAL_MISC_CTRL));
}
@@ -181,7 +181,7 @@
platform_register_uart();
platform_register_pflash(SZ_16M, NULL, 0);
platform_device_register(&ib4220b_led_device);
-@@ -161,6 +178,8 @@
+@@ -161,6 +178,8 @@ static void __init ib4220b_init(void)
platform_register_ethernet(&ib4220b_gmac_data);
platform_register_usb(0);
platform_register_usb(1);
diff --git a/target/linux/gemini/patches-3.18/160-gemini-timers.patch b/target/linux/gemini/patches-3.18/160-gemini-timers.patch
index 06251356d2..4b0edb45d1 100644
--- a/target/linux/gemini/patches-3.18/160-gemini-timers.patch
+++ b/target/linux/gemini/patches-3.18/160-gemini-timers.patch
@@ -1,5 +1,5 @@
---- a/arch/arm/mach-gemini/time.c 2015-03-25 23:06:03.188317455 +0200
-+++ b/arch/arm/mach-gemini/time.c 2015-03-25 23:06:24.417315486 +0200
+--- a/arch/arm/mach-gemini/time.c
++++ b/arch/arm/mach-gemini/time.c
@@ -15,15 +15,18 @@
#include <asm/mach/time.h>
#include <linux/clockchips.h>
@@ -76,7 +76,7 @@
return 0;
}
-@@ -66,48 +80,68 @@
+@@ -66,48 +80,68 @@ static void gemini_timer_set_mode(enum c
u32 cr;
switch (mode) {
@@ -176,7 +176,7 @@
{
struct clock_event_device *evt = &gemini_clockevent;
-@@ -116,14 +150,11 @@
+@@ -116,14 +150,11 @@ static irqreturn_t gemini_timer_interrup
}
static struct irqaction gemini_timer_irq = {
@@ -194,7 +194,7 @@
void __init gemini_timer_init(void)
{
u32 reg_v;
-@@ -151,20 +182,35 @@
+@@ -151,20 +182,35 @@ void __init gemini_timer_init(void)
}
/*