diff options
Diffstat (limited to 'target/linux/adm5120/patches-3.6')
14 files changed, 0 insertions, 794 deletions
| diff --git a/target/linux/adm5120/patches-3.6/001-adm5120.patch b/target/linux/adm5120/patches-3.6/001-adm5120.patch deleted file mode 100644 index 1ec43b4a2..000000000 --- a/target/linux/adm5120/patches-3.6/001-adm5120.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -46,6 +46,24 @@ choice - 	prompt "System type" - 	default SGI_IP22 -  -+config ADM5120 -+	bool "Infineon/ADMtek ADM5120 SoC based machines" -+	select BOOT_RAW -+	select NO_EXCEPT_FILL -+	select CEVT_R4K -+	select CSRC_R4K -+	select SYS_HAS_CPU_MIPS32_R1 -+	select SYS_HAS_EARLY_PRINTK -+	select DMA_NONCOHERENT -+	select IRQ_CPU -+	select SYS_SUPPORTS_LITTLE_ENDIAN -+	select SYS_SUPPORTS_BIG_ENDIAN -+	select SYS_SUPPORTS_32BIT_KERNEL -+	select ARCH_REQUIRE_GPIOLIB -+	select SWAP_IO_SPACE if CPU_BIG_ENDIAN -+	select MIPS_MACHINE -+	select HAVE_CLK -+ - config MIPS_ALCHEMY - 	bool "Alchemy processor based machines" - 	select 64BIT_PHYS_ADDR -@@ -837,6 +855,7 @@ config NLM_XLP_BOARD -  - endchoice -  -+source "arch/mips/adm5120/Kconfig" - source "arch/mips/alchemy/Kconfig" - source "arch/mips/ath79/Kconfig" - source "arch/mips/bcm47xx/Kconfig" ---- a/arch/mips/Kbuild.platforms -+++ b/arch/mips/Kbuild.platforms -@@ -1,5 +1,6 @@ - # All platforms listed in alphabetic order -  -+platforms += adm5120 - platforms += alchemy - platforms += ar7 - platforms += ath79 diff --git a/target/linux/adm5120/patches-3.6/002-adm5120_flash.patch b/target/linux/adm5120/patches-3.6/002-adm5120_flash.patch deleted file mode 100644 index ab853bd12..000000000 --- a/target/linux/adm5120/patches-3.6/002-adm5120_flash.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/drivers/mtd/maps/Kconfig -+++ b/drivers/mtd/maps/Kconfig -@@ -527,4 +527,8 @@ config MTD_LATCH_ADDR -  -           If compiled as a module, it will be called latch-addr-flash. -  -+config MTD_ADM5120 -+	tristate "Map driver for ADM5120 based boards" -+	depends on ADM5120 -+ - endmenu ---- a/drivers/mtd/maps/Makefile -+++ b/drivers/mtd/maps/Makefile -@@ -38,6 +38,7 @@ obj-$(CONFIG_MTD_SCx200_DOCFLASH)+= scx2 - obj-$(CONFIG_MTD_DBOX2)		+= dbox2-flash.o - obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o - obj-$(CONFIG_MTD_PCI)		+= pci.o -+obj-$(CONFIG_MTD_ADM5120)	+= adm5120-flash.o - obj-$(CONFIG_MTD_AUTCPU12)	+= autcpu12-nvram.o - obj-$(CONFIG_MTD_IMPA7)		+= impa7.o - obj-$(CONFIG_MTD_FORTUNET)	+= fortunet.o diff --git a/target/linux/adm5120/patches-3.6/003-adm5120_switch.patch b/target/linux/adm5120/patches-3.6/003-adm5120_switch.patch deleted file mode 100644 index c2f534b20..000000000 --- a/target/linux/adm5120/patches-3.6/003-adm5120_switch.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -244,6 +244,10 @@ source "drivers/net/dsa/Kconfig" -  - source "drivers/net/ethernet/Kconfig" -  -+config ADM5120_ENET -+	tristate "ADM5120 Ethernet switch support" -+	depends on ADM5120 -+ - source "drivers/net/fddi/Kconfig" -  - source "drivers/net/hippi/Kconfig" ---- a/drivers/net/Makefile -+++ b/drivers/net/Makefile -@@ -32,6 +32,7 @@ obj-$(CONFIG_CAN) += can/ - obj-$(CONFIG_ETRAX_ETHERNET) += cris/ - obj-$(CONFIG_NET_DSA) += dsa/ - obj-$(CONFIG_ETHERNET) += ethernet/ -+obj-$(CONFIG_ADM5120_ENET) += adm5120sw.o - obj-$(CONFIG_FDDI) += fddi/ - obj-$(CONFIG_HIPPI) += hippi/ - obj-$(CONFIG_HAMRADIO) += hamradio/ diff --git a/target/linux/adm5120/patches-3.6/005-adm5120_usb.patch b/target/linux/adm5120/patches-3.6/005-adm5120_usb.patch deleted file mode 100644 index 54a3cc892..000000000 --- a/target/linux/adm5120/patches-3.6/005-adm5120_usb.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/drivers/usb/Makefile -+++ b/drivers/usb/Makefile -@@ -13,6 +13,7 @@ obj-$(CONFIG_USB_DWC3)		+= dwc3/ - obj-$(CONFIG_USB_MON)		+= mon/ -  - obj-$(CONFIG_PCI)		+= host/ -+obj-$(CONFIG_USB_ADM5120_HCD)	+= host/ - obj-$(CONFIG_USB_EHCI_HCD)	+= host/ - obj-$(CONFIG_USB_ISP116X_HCD)	+= host/ - obj-$(CONFIG_USB_OHCI_HCD)	+= host/ ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -4,6 +4,10 @@ - comment "USB Host Controller Drivers" - 	depends on USB -  -+config USB_ADM5120_HCD -+	tristate "ADM5120 HCD support (EXPERIMENTAL)" -+	depends on USB && ADM5120 && EXPERIMENTAL -+ - config USB_C67X00_HCD - 	tristate "Cypress C67x00 HCD support" - 	depends on USB ---- a/drivers/usb/host/Makefile -+++ b/drivers/usb/host/Makefile -@@ -23,6 +23,7 @@ obj-$(CONFIG_USB_WHCI_HCD)	+= whci/ -  - obj-$(CONFIG_PCI)		+= pci-quirks.o -  -+obj-$(CONFIG_USB_ADM5120_HCD)	+= adm5120-hcd.o - obj-$(CONFIG_USB_EHCI_HCD)	+= ehci-hcd.o - obj-$(CONFIG_USB_OXU210HP_HCD)	+= oxu210hp-hcd.o - obj-$(CONFIG_USB_ISP116X_HCD)	+= isp116x-hcd.o diff --git a/target/linux/adm5120/patches-3.6/007-adm5120_pci.patch b/target/linux/adm5120/patches-3.6/007-adm5120_pci.patch deleted file mode 100644 index 151e28976..000000000 --- a/target/linux/adm5120/patches-3.6/007-adm5120_pci.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/arch/mips/pci/Makefile -+++ b/arch/mips/pci/Makefile -@@ -18,6 +18,7 @@ obj-$(CONFIG_PCI_TX4927)	+= ops-tx4927.o - obj-$(CONFIG_BCM47XX)		+= pci-bcm47xx.o - obj-$(CONFIG_BCM63XX)		+= pci-bcm63xx.o fixup-bcm63xx.o \ - 					ops-bcm63xx.o -+obj-$(CONFIG_ADM5120)		+= pci-adm5120.o - obj-$(CONFIG_MIPS_ALCHEMY)	+= pci-alchemy.o - obj-$(CONFIG_SOC_AR71XX)	+= pci-ar71xx.o - obj-$(CONFIG_PCI_AR724X)	+= pci-ar724x.o ---- a/include/linux/pci_ids.h -+++ b/include/linux/pci_ids.h -@@ -1804,6 +1804,9 @@ - #define PCI_VENDOR_ID_ESDGMBH		0x12fe - #define PCI_DEVICE_ID_ESDGMBH_CPCIASIO4 0x0111 -  -+#define PCI_VENDOR_ID_ADMTEK		0x1317 -+#define PCI_DEVICE_ID_ADMTEK_ADM5120	0x5120 -+ - #define PCI_VENDOR_ID_SIIG		0x131f - #define PCI_SUBVENDOR_ID_SIIG		0x131f - #define PCI_DEVICE_ID_SIIG_1S_10x_550	0x1000 diff --git a/target/linux/adm5120/patches-3.6/009-adm5120_leds_switch_trigger.patch b/target/linux/adm5120/patches-3.6/009-adm5120_leds_switch_trigger.patch deleted file mode 100644 index c89e326ba..000000000 --- a/target/linux/adm5120/patches-3.6/009-adm5120_leds_switch_trigger.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/drivers/leds/Kconfig -+++ b/drivers/leds/Kconfig -@@ -555,4 +555,12 @@ config LEDS_TRIGGER_USBDEV - 	  This allows LEDs to be controlled by the presence/activity of - 	  an USB device. If unsure, say N. -  -+config LEDS_TRIGGER_ADM5120_SWITCH -+	tristate "LED ADM5120 Switch Port Status Trigger" -+	depends on LEDS_TRIGGERS && ADM5120 -+	help -+	  This allows LEDs to be controlled by the port states of -+	  the ADM5120 built-in Ethernet Switch -+	  If unsure, say N. -+ - endif # NEW_LEDS ---- a/drivers/leds/Makefile -+++ b/drivers/leds/Makefile -@@ -66,3 +66,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TRANSIENT)	+= - obj-$(CONFIG_LEDS_TRIGGER_MORSE)	+= ledtrig-morse.o - obj-$(CONFIG_LEDS_TRIGGER_NETDEV)	+= ledtrig-netdev.o - obj-$(CONFIG_LEDS_TRIGGER_USBDEV)	+= ledtrig-usbdev.o -+obj-$(CONFIG_LEDS_TRIGGER_ADM5120_SWITCH) += ledtrig-adm5120-switch.o diff --git a/target/linux/adm5120/patches-3.6/101-cfi_fixup_macronix_bootloc.patch b/target/linux/adm5120/patches-3.6/101-cfi_fixup_macronix_bootloc.patch deleted file mode 100644 index 0d1f92734..000000000 --- a/target/linux/adm5120/patches-3.6/101-cfi_fixup_macronix_bootloc.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- a/drivers/mtd/chips/cfi_cmdset_0002.c -+++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -48,6 +48,12 @@ - #define SST49LF008A		0x005a - #define AT49BV6416		0x00d6 -  -+/* Macronix */ -+#define MX29LV160B	0x2249	/* MX29LV160 Bottom-boot chip */ -+#define MX29LV160T	0x22C4	/* MX29LV160 Top-boot chip */ -+#define MX29LV320B	0x22A8	/* MX29LV320 Bottom-boot chip */ -+#define MX29LV320T	0x22A7	/* MX29LV320 Top-boot chip */ -+ - static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *); - static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); - static int cfi_amdstd_write_buffers(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); -@@ -358,6 +364,41 @@ static struct cfi_fixup cfi_nopri_fixup_ - 	{ 0, 0, NULL } - }; -  -+#ifdef CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+/* -+ * Some Macronix chips has no/bad bootblock information in the CFI table -+ */ -+static void fixup_macronix_bootloc(struct mtd_info *mtd) -+{ -+	struct map_info *map = mtd->priv; -+	struct cfi_private *cfi = map->fldrv_priv; -+	struct cfi_pri_amdstd *extp = cfi->cmdset_priv; -+	__u8 t; -+ -+	switch (cfi->id) { -+	/* TODO: put affected chip ids here */ -+	case MX29LV160B: -+	case MX29LV320B: -+		t = 2;	/* Bottom boot */ -+		break; -+	case MX29LV160T: -+	case MX29LV320T: -+		t = 3;	/* Top boot */ -+		break; -+	default: -+		return; -+	} -+ -+	if (extp->TopBottom == t) -+		/* boot location detected by the CFI layer is correct */ -+		return; -+ -+	extp->TopBottom = t; -+	printk("%s: Macronix chip detected, id:0x%04X, boot location forced " -+		"to %s\n", map->name, cfi->id, (t == 2) ? "bottom" : "top"); -+} -+#endif /* CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC */ -+ - static struct cfi_fixup cfi_fixup_table[] = { - 	{ CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri }, - #ifdef AMD_BOOTLOC_BUG -@@ -400,6 +441,9 @@ static struct cfi_fixup fixup_table[] = - 	 */ - 	{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_erase_chip }, - 	{ CFI_MFR_ATMEL, AT49BV6416, fixup_use_atmel_lock }, -+#ifdef CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+	{ CFI_MFR_MACRONIX, CFI_ID_ANY, fixup_macronix_bootloc }, -+#endif - 	{ 0, 0, NULL } - }; -  ---- a/drivers/mtd/chips/Kconfig -+++ b/drivers/mtd/chips/Kconfig -@@ -196,6 +196,14 @@ config MTD_CFI_AMDSTD - 	  provides support for one of those command sets, used on chips - 	  including the AMD Am29LV320. -  -+config MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+	bool "Fix boot-block location for Macronix flash chips" -+	depends on MTD_CFI_AMDSTD -+	help -+	  Some Macronix flash chips have no/wrong boot-block location in the -+	  CFI table, and the driver may detect the type incorrectly. Select -+	  this if your board has such chip. -+ - config MTD_CFI_STAA - 	tristate "Support for ST (Advanced Architecture) flash chips" - 	depends on MTD_GEN_PROBE diff --git a/target/linux/adm5120/patches-3.6/102-jedec_pmc_39lvxxx_chips.patch b/target/linux/adm5120/patches-3.6/102-jedec_pmc_39lvxxx_chips.patch deleted file mode 100644 index 00148fa60..000000000 --- a/target/linux/adm5120/patches-3.6/102-jedec_pmc_39lvxxx_chips.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- a/drivers/mtd/chips/jedec_probe.c -+++ b/drivers/mtd/chips/jedec_probe.c -@@ -115,6 +115,10 @@ - #define UPD29F064115	0x221C -  - /* PMC */ -+#define PM39LV512	0x001B -+#define PM39LV010	0x001C -+#define PM39LV020	0x003D -+#define PM39LV040	0x003E - #define PM49FL002	0x006D - #define PM49FL004	0x006E - #define PM49FL008	0x006A -@@ -1259,6 +1263,54 @@ static const struct amd_flash_info jedec - 			ERASEINFO(0x02000,2), - 			ERASEINFO(0x04000,1), - 		} -+        }, { -+		.mfr_id		= CFI_MFR_PMC, -+		.dev_id		= PM39LV512, -+		.name		= "PMC Pm39LV512", -+		.devtypes	= CFI_DEVICETYPE_X8, -+		.uaddr		= MTD_UADDR_0x0555_0x02AA, -+		.dev_size	= SIZE_64KiB, -+		.cmd_set	= P_ID_AMD_STD, -+		.nr_regions	= 1, -+		.regions	= { -+			ERASEINFO(0x01000,16), -+		} -+        }, { -+		.mfr_id		= CFI_MFR_PMC, -+		.dev_id		= PM39LV010, -+		.name		= "PMC Pm39LV010", -+		.devtypes	= CFI_DEVICETYPE_X8, -+		.uaddr		= MTD_UADDR_0x0555_0x02AA, -+		.dev_size	= SIZE_128KiB, -+		.cmd_set	= P_ID_AMD_STD, -+		.nr_regions	= 1, -+		.regions	= { -+			ERASEINFO(0x01000,32), -+		} -+        }, { -+		.mfr_id		= CFI_MFR_PMC, -+		.dev_id		= PM39LV020, -+		.name		= "PMC Pm39LV020", -+		.devtypes	= CFI_DEVICETYPE_X8, -+		.uaddr		= MTD_UADDR_0x0555_0x02AA, -+		.dev_size	= SIZE_256KiB, -+		.cmd_set	= P_ID_AMD_STD, -+		.nr_regions	= 1, -+		.regions	= { -+			ERASEINFO(0x01000,64), -+		} -+        }, { -+		.mfr_id		= CFI_MFR_PMC, -+		.dev_id		= PM39LV040, -+		.name		= "PMC Pm39LV040", -+		.devtypes	= CFI_DEVICETYPE_X8, -+		.uaddr		= MTD_UADDR_0x0555_0x02AA, -+		.dev_size	= SIZE_512KiB, -+		.cmd_set	= P_ID_AMD_STD, -+		.nr_regions	= 1, -+		.regions	= { -+			ERASEINFO(0x01000,128), -+		} - 	}, { - 		.mfr_id		= CFI_MFR_PMC, - 		.dev_id		= PM49FL002, diff --git a/target/linux/adm5120/patches-3.6/103-mtd_trxsplit.patch b/target/linux/adm5120/patches-3.6/103-mtd_trxsplit.patch deleted file mode 100644 index 421dcaa62..000000000 --- a/target/linux/adm5120/patches-3.6/103-mtd_trxsplit.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/drivers/mtd/Kconfig -+++ b/drivers/mtd/Kconfig -@@ -31,6 +31,10 @@ config MTD_ROOTFS_SPLIT - 	bool "Automatically split 'rootfs' partition for squashfs" - 	default y -  -+config MTD_TRXSPLIT -+	bool "Automatically find and split TRX partitions" -+	default n -+ - config MTD_REDBOOT_PARTS - 	tristate "RedBoot partition table parsing" - 	---help--- ---- a/drivers/mtd/Makefile -+++ b/drivers/mtd/Makefile -@@ -13,6 +13,7 @@ obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o - obj-$(CONFIG_MTD_AR7_PARTS)	+= ar7part.o - obj-$(CONFIG_MTD_BCM63XX_PARTS)	+= bcm63xxpart.o - obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o -+obj-$(CONFIG_MTD_TRXSPLIT)	+= trxsplit.o -  - # 'Users' - code which presents functionality to userspace. - obj-$(CONFIG_MTD_CHAR)		+= mtdchar.o diff --git a/target/linux/adm5120/patches-3.6/120-rb153_cf_driver.patch b/target/linux/adm5120/patches-3.6/120-rb153_cf_driver.patch deleted file mode 100644 index 2db2c67b0..000000000 --- a/target/linux/adm5120/patches-3.6/120-rb153_cf_driver.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/ata/Makefile -+++ b/drivers/ata/Makefile -@@ -89,6 +89,7 @@ obj-$(CONFIG_PATA_PCMCIA)	+= pata_pcmcia - obj-$(CONFIG_PATA_PALMLD)	+= pata_palmld.o - obj-$(CONFIG_PATA_PLATFORM)	+= pata_platform.o - obj-$(CONFIG_PATA_OF_PLATFORM)	+= pata_of_platform.o -+obj-$(CONFIG_PATA_RB153_CF)	+= pata_rb153_cf.o - obj-$(CONFIG_PATA_RB532)	+= pata_rb532_cf.o - obj-$(CONFIG_PATA_RZ1000)	+= pata_rz1000.o - obj-$(CONFIG_PATA_SAMSUNG_CF)	+= pata_samsung_cf.o ---- a/drivers/ata/Kconfig -+++ b/drivers/ata/Kconfig -@@ -844,6 +844,15 @@ config PATA_QDI - 	help - 	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus. -  -+config PATA_RB153_CF -+	tristate "RouterBOARD 153 Compact Flash support" -+	depends on ADM5120_MACH_RB_153 -+	help -+	  This option enables support for a Compact Flash connected on -+	  the RouterBOARD 153. -+ -+	  If unsure, say N. -+ - config PATA_RB532 - 	tristate "RouterBoard 532 PATA CompactFlash support" - 	depends on MIKROTIK_RB532 diff --git a/target/linux/adm5120/patches-3.6/200-amba_pl010_hacks.patch b/target/linux/adm5120/patches-3.6/200-amba_pl010_hacks.patch deleted file mode 100644 index 64e7d2ac5..000000000 --- a/target/linux/adm5120/patches-3.6/200-amba_pl010_hacks.patch +++ /dev/null @@ -1,355 +0,0 @@ ---- a/drivers/tty/serial/amba-pl010.c -+++ b/drivers/tty/serial/amba-pl010.c -@@ -49,11 +49,9 @@ -  - #include <asm/io.h> -  --#define UART_NR		8 -- - #define SERIAL_AMBA_MAJOR	204 - #define SERIAL_AMBA_MINOR	16 --#define SERIAL_AMBA_NR		UART_NR -+#define SERIAL_AMBA_NR		CONFIG_SERIAL_AMBA_PL010_NUMPORTS -  - #define AMBA_ISR_PASS_LIMIT	256 -  -@@ -79,9 +77,9 @@ static void pl010_stop_tx(struct uart_po - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; - 	unsigned int cr; -  --	cr = readb(uap->port.membase + UART010_CR); -+	cr = __raw_readl(uap->port.membase + UART010_CR); - 	cr &= ~UART010_CR_TIE; --	writel(cr, uap->port.membase + UART010_CR); -+	__raw_writel(cr, uap->port.membase + UART010_CR); - } -  - static void pl010_start_tx(struct uart_port *port) -@@ -89,9 +87,9 @@ static void pl010_start_tx(struct uart_p - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; - 	unsigned int cr; -  --	cr = readb(uap->port.membase + UART010_CR); -+	cr = __raw_readl(uap->port.membase + UART010_CR); - 	cr |= UART010_CR_TIE; --	writel(cr, uap->port.membase + UART010_CR); -+	__raw_writel(cr, uap->port.membase + UART010_CR); - } -  - static void pl010_stop_rx(struct uart_port *port) -@@ -99,9 +97,9 @@ static void pl010_stop_rx(struct uart_po - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; - 	unsigned int cr; -  --	cr = readb(uap->port.membase + UART010_CR); -+	cr = __raw_readl(uap->port.membase + UART010_CR); - 	cr &= ~(UART010_CR_RIE | UART010_CR_RTIE); --	writel(cr, uap->port.membase + UART010_CR); -+	__raw_writel(cr, uap->port.membase + UART010_CR); - } -  - static void pl010_enable_ms(struct uart_port *port) -@@ -109,9 +107,9 @@ static void pl010_enable_ms(struct uart_ - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; - 	unsigned int cr; -  --	cr = readb(uap->port.membase + UART010_CR); -+	cr = __raw_readl(uap->port.membase + UART010_CR); - 	cr |= UART010_CR_MSIE; --	writel(cr, uap->port.membase + UART010_CR); -+	__raw_writel(cr, uap->port.membase + UART010_CR); - } -  - static void pl010_rx_chars(struct uart_amba_port *uap) -@@ -119,9 +117,9 @@ static void pl010_rx_chars(struct uart_a - 	struct tty_struct *tty = uap->port.state->port.tty; - 	unsigned int status, ch, flag, rsr, max_count = 256; -  --	status = readb(uap->port.membase + UART01x_FR); -+	status = __raw_readl(uap->port.membase + UART01x_FR); - 	while (UART_RX_DATA(status) && max_count--) { --		ch = readb(uap->port.membase + UART01x_DR); -+		ch = __raw_readl(uap->port.membase + UART01x_DR); - 		flag = TTY_NORMAL; -  - 		uap->port.icount.rx++; -@@ -130,9 +128,9 @@ static void pl010_rx_chars(struct uart_a - 		 * Note that the error handling code is - 		 * out of the main execution path - 		 */ --		rsr = readb(uap->port.membase + UART01x_RSR) | UART_DUMMY_RSR_RX; -+		rsr = __raw_readl(uap->port.membase + UART01x_RSR) | UART_DUMMY_RSR_RX; - 		if (unlikely(rsr & UART01x_RSR_ANY)) { --			writel(0, uap->port.membase + UART01x_ECR); -+			__raw_writel(0, uap->port.membase + UART01x_ECR); -  - 			if (rsr & UART01x_RSR_BE) { - 				rsr &= ~(UART01x_RSR_FE | UART01x_RSR_PE); -@@ -162,7 +160,7 @@ static void pl010_rx_chars(struct uart_a - 		uart_insert_char(&uap->port, rsr, UART01x_RSR_OE, ch, flag); -  - 	ignore_char: --		status = readb(uap->port.membase + UART01x_FR); -+		status = __raw_readl(uap->port.membase + UART01x_FR); - 	} - 	spin_unlock(&uap->port.lock); - 	tty_flip_buffer_push(tty); -@@ -175,7 +173,7 @@ static void pl010_tx_chars(struct uart_a - 	int count; -  - 	if (uap->port.x_char) { --		writel(uap->port.x_char, uap->port.membase + UART01x_DR); -+		__raw_writel(uap->port.x_char, uap->port.membase + UART01x_DR); - 		uap->port.icount.tx++; - 		uap->port.x_char = 0; - 		return; -@@ -187,7 +185,7 @@ static void pl010_tx_chars(struct uart_a -  - 	count = uap->port.fifosize >> 1; - 	do { --		writel(xmit->buf[xmit->tail], uap->port.membase + UART01x_DR); -+		__raw_writel(xmit->buf[xmit->tail], uap->port.membase + UART01x_DR); - 		xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); - 		uap->port.icount.tx++; - 		if (uart_circ_empty(xmit)) -@@ -205,9 +203,9 @@ static void pl010_modem_status(struct ua - { - 	unsigned int status, delta; -  --	writel(0, uap->port.membase + UART010_ICR); -+	__raw_writel(0, uap->port.membase + UART010_ICR); -  --	status = readb(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -+	status = __raw_readl(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -  - 	delta = status ^ uap->old_status; - 	uap->old_status = status; -@@ -235,7 +233,7 @@ static irqreturn_t pl010_int(int irq, vo -  - 	spin_lock(&uap->port.lock); -  --	status = readb(uap->port.membase + UART010_IIR); -+	status = __raw_readl(uap->port.membase + UART010_IIR); - 	if (status) { - 		do { - 			if (status & (UART010_IIR_RTIS | UART010_IIR_RIS)) -@@ -248,7 +246,7 @@ static irqreturn_t pl010_int(int irq, vo - 			if (pass_counter-- == 0) - 				break; -  --			status = readb(uap->port.membase + UART010_IIR); -+			status = __raw_readl(uap->port.membase + UART010_IIR); - 		} while (status & (UART010_IIR_RTIS | UART010_IIR_RIS | - 				   UART010_IIR_TIS)); - 		handled = 1; -@@ -262,7 +260,7 @@ static irqreturn_t pl010_int(int irq, vo - static unsigned int pl010_tx_empty(struct uart_port *port) - { - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; --	unsigned int status = readb(uap->port.membase + UART01x_FR); -+	unsigned int status = __raw_readl(uap->port.membase + UART01x_FR); - 	return status & UART01x_FR_BUSY ? 0 : TIOCSER_TEMT; - } -  -@@ -272,7 +270,7 @@ static unsigned int pl010_get_mctrl(stru - 	unsigned int result = 0; - 	unsigned int status; -  --	status = readb(uap->port.membase + UART01x_FR); -+	status = __raw_readl(uap->port.membase + UART01x_FR); - 	if (status & UART01x_FR_DCD) - 		result |= TIOCM_CAR; - 	if (status & UART01x_FR_DSR) -@@ -298,12 +296,12 @@ static void pl010_break_ctl(struct uart_ - 	unsigned int lcr_h; -  - 	spin_lock_irqsave(&uap->port.lock, flags); --	lcr_h = readb(uap->port.membase + UART010_LCRH); -+	lcr_h = __raw_readl(uap->port.membase + UART010_LCRH); - 	if (break_state == -1) - 		lcr_h |= UART01x_LCRH_BRK; - 	else - 		lcr_h &= ~UART01x_LCRH_BRK; --	writel(lcr_h, uap->port.membase + UART010_LCRH); -+	__raw_writel(lcr_h, uap->port.membase + UART010_LCRH); - 	spin_unlock_irqrestore(&uap->port.lock, flags); - } -  -@@ -335,12 +333,12 @@ static int pl010_startup(struct uart_por - 	/* - 	 * initialise the old status of the modem signals - 	 */ --	uap->old_status = readb(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -+	uap->old_status = __raw_readl(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -  - 	/* - 	 * Finally, enable interrupts - 	 */ --	writel(UART01x_CR_UARTEN | UART010_CR_RIE | UART010_CR_RTIE, -+	__raw_writel(UART01x_CR_UARTEN | UART010_CR_RIE | UART010_CR_RTIE, - 	       uap->port.membase + UART010_CR); -  - 	return 0; -@@ -365,10 +363,10 @@ static void pl010_shutdown(struct uart_p - 	/* - 	 * disable all interrupts, disable the port - 	 */ --	writel(0, uap->port.membase + UART010_CR); -+	__raw_writel(0, uap->port.membase + UART010_CR); -  - 	/* disable break condition and fifos */ --	writel(readb(uap->port.membase + UART010_LCRH) & -+	__raw_writel(__raw_readl(uap->port.membase + UART010_LCRH) & - 		~(UART01x_LCRH_BRK | UART01x_LCRH_FEN), - 	       uap->port.membase + UART010_LCRH); -  -@@ -391,7 +389,7 @@ pl010_set_termios(struct uart_port *port - 	/* - 	 * Ask the core to calculate the divisor for us. - 	 */ --	baud = uart_get_baud_rate(port, termios, old, 0, uap->port.uartclk/16);  -+	baud = uart_get_baud_rate(port, termios, old, 0, uap->port.uartclk/16); - 	quot = uart_get_divisor(port, baud); -  - 	switch (termios->c_cflag & CSIZE) { -@@ -454,25 +452,25 @@ pl010_set_termios(struct uart_port *port - 		uap->port.ignore_status_mask |= UART_DUMMY_RSR_RX; -  - 	/* first, disable everything */ --	old_cr = readb(uap->port.membase + UART010_CR) & ~UART010_CR_MSIE; -+	old_cr = __raw_readl(uap->port.membase + UART010_CR) & ~UART010_CR_MSIE; -  - 	if (UART_ENABLE_MS(port, termios->c_cflag)) - 		old_cr |= UART010_CR_MSIE; -  --	writel(0, uap->port.membase + UART010_CR); -+	__raw_writel(0, uap->port.membase + UART010_CR); -  - 	/* Set baud rate */ - 	quot -= 1; --	writel((quot & 0xf00) >> 8, uap->port.membase + UART010_LCRM); --	writel(quot & 0xff, uap->port.membase + UART010_LCRL); -+	__raw_writel((quot & 0xf00) >> 8, uap->port.membase + UART010_LCRM); -+	__raw_writel(quot & 0xff, uap->port.membase + UART010_LCRL); -  - 	/* - 	 * ----------v----------v----------v----------v----- - 	 * NOTE: MUST BE WRITTEN AFTER UARTLCR_M & UARTLCR_L - 	 * ----------^----------^----------^----------^----- - 	 */ --	writel(lcr_h, uap->port.membase + UART010_LCRH); --	writel(old_cr, uap->port.membase + UART010_CR); -+	__raw_writel(lcr_h, uap->port.membase + UART010_LCRH); -+	__raw_writel(old_cr, uap->port.membase + UART010_CR); -  - 	spin_unlock_irqrestore(&uap->port.lock, flags); - } -@@ -554,7 +552,7 @@ static struct uart_ops amba_pl010_pops = - 	.verify_port	= pl010_verify_port, - }; -  --static struct uart_amba_port *amba_ports[UART_NR]; -+static struct uart_amba_port *amba_ports[SERIAL_AMBA_NR]; -  - #ifdef CONFIG_SERIAL_AMBA_PL010_CONSOLE -  -@@ -564,10 +562,10 @@ static void pl010_console_putchar(struct - 	unsigned int status; -  - 	do { --		status = readb(uap->port.membase + UART01x_FR); -+		status = __raw_readl(uap->port.membase + UART01x_FR); - 		barrier(); - 	} while (!UART_TX_READY(status)); --	writel(ch, uap->port.membase + UART01x_DR); -+	__raw_writel(ch, uap->port.membase + UART01x_DR); - } -  - static void -@@ -581,8 +579,8 @@ pl010_console_write(struct console *co, - 	/* - 	 *	First save the CR then disable the interrupts - 	 */ --	old_cr = readb(uap->port.membase + UART010_CR); --	writel(UART01x_CR_UARTEN, uap->port.membase + UART010_CR); -+	old_cr = __raw_readl(uap->port.membase + UART010_CR); -+	__raw_writel(UART01x_CR_UARTEN, uap->port.membase + UART010_CR); -  - 	uart_console_write(&uap->port, s, count, pl010_console_putchar); -  -@@ -591,10 +589,10 @@ pl010_console_write(struct console *co, - 	 *	and restore the TCR - 	 */ - 	do { --		status = readb(uap->port.membase + UART01x_FR); -+		status = __raw_readl(uap->port.membase + UART01x_FR); - 		barrier(); - 	} while (status & UART01x_FR_BUSY); --	writel(old_cr, uap->port.membase + UART010_CR); -+	__raw_writel(old_cr, uap->port.membase + UART010_CR); -  - 	clk_disable(uap->clk); - } -@@ -603,9 +601,9 @@ static void __init - pl010_console_get_options(struct uart_amba_port *uap, int *baud, - 			     int *parity, int *bits) - { --	if (readb(uap->port.membase + UART010_CR) & UART01x_CR_UARTEN) { -+	if (__raw_readl(uap->port.membase + UART010_CR) & UART01x_CR_UARTEN) { - 		unsigned int lcr_h, quot; --		lcr_h = readb(uap->port.membase + UART010_LCRH); -+		lcr_h = __raw_readl(uap->port.membase + UART010_LCRH); -  - 		*parity = 'n'; - 		if (lcr_h & UART01x_LCRH_PEN) { -@@ -620,8 +618,8 @@ pl010_console_get_options(struct uart_am - 		else - 			*bits = 8; -  --		quot = readb(uap->port.membase + UART010_LCRL) | --		       readb(uap->port.membase + UART010_LCRM) << 8; -+		quot = __raw_readl(uap->port.membase + UART010_LCRL) | -+		       __raw_readl(uap->port.membase + UART010_LCRM) << 8; - 		*baud = uap->port.uartclk / (16 * (quot + 1)); - 	} - } -@@ -640,7 +638,7 @@ static int __init pl010_console_setup(st - 	 * if so, search for the first available port that does have - 	 * console support. - 	 */ --	if (co->index >= UART_NR) -+	if (co->index >= SERIAL_AMBA_NR) - 		co->index = 0; - 	uap = amba_ports[co->index]; - 	if (!uap) -@@ -682,7 +680,7 @@ static struct uart_driver amba_reg = { - 	.dev_name		= "ttyAM", - 	.major			= SERIAL_AMBA_MAJOR, - 	.minor			= SERIAL_AMBA_MINOR, --	.nr			= UART_NR, -+	.nr			= SERIAL_AMBA_NR, - 	.cons			= AMBA_CONSOLE, - }; -  ---- a/drivers/tty/serial/Kconfig -+++ b/drivers/tty/serial/Kconfig -@@ -16,10 +16,18 @@ config SERIAL_AMBA_PL010 - 	help - 	  This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have - 	  an Integrator/AP or Integrator/PP2 platform, or if you have a --	  Cirrus Logic EP93xx CPU, say Y or M here. -+	  Cirrus Logic EP93xx CPU or an Infineon ADM5120 SOC, say Y or M here. -  - 	  If unsure, say N. -  -+config SERIAL_AMBA_PL010_NUMPORTS -+	int "Maximum number of AMBA PL010 serial ports" -+	depends on SERIAL_AMBA_PL010 -+	default "8" -+	---help--- -+	  Set this to the number of serial ports you want the AMBA PL010 driver -+	  to support. -+ - config SERIAL_AMBA_PL010_CONSOLE - 	bool "Support for console on AMBA serial port" - 	depends on SERIAL_AMBA_PL010=y diff --git a/target/linux/adm5120/patches-3.6/201-amba_bus_hacks.patch b/target/linux/adm5120/patches-3.6/201-amba_bus_hacks.patch deleted file mode 100644 index dfc0744a7..000000000 --- a/target/linux/adm5120/patches-3.6/201-amba_bus_hacks.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/drivers/amba/bus.c -+++ b/drivers/amba/bus.c -@@ -20,6 +20,10 @@ -  - #include <asm/irq.h> -  -+#ifndef NO_IRQ -+#define NO_IRQ		(-1) -+#endif -+ - #define to_amba_driver(d)	container_of(d, struct amba_driver, drv) -  - static const struct amba_id * diff --git a/target/linux/adm5120/patches-3.6/203-gpio_leds_brightness.patch b/target/linux/adm5120/patches-3.6/203-gpio_leds_brightness.patch deleted file mode 100644 index 195ff6a4c..000000000 --- a/target/linux/adm5120/patches-3.6/203-gpio_leds_brightness.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/drivers/leds/leds-gpio.c -+++ b/drivers/leds/leds-gpio.c -@@ -54,13 +54,17 @@ static void gpio_led_set(struct led_clas - 		container_of(led_cdev, struct gpio_led_data, cdev); - 	int level; -  --	if (value == LED_OFF) --		level = 0; --	else --		level = 1; -- --	if (led_dat->active_low) --		level = !level; -+	switch (value) { -+	case LED_OFF: -+		level = led_dat->active_low ? 1 : 0; -+		break; -+	case LED_FULL: -+		level = led_dat->active_low ? 0 : 1; -+		break; -+	default: -+		level = value; -+		break; -+	} -  - 	/* Setting GPIOs with I2C/etc requires a task context, and we don't - 	 * seem to have a reliable way to know if we're already in one; so diff --git a/target/linux/adm5120/patches-3.6/310-adm5120_wdt.patch b/target/linux/adm5120/patches-3.6/310-adm5120_wdt.patch deleted file mode 100644 index d55f63cb4..000000000 --- a/target/linux/adm5120/patches-3.6/310-adm5120_wdt.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -972,6 +972,18 @@ config RC32434_WDT - 	  To compile this driver as a module, choose M here: the - 	  module will be called rc32434_wdt. -  -+config ADM5120_WDT -+	tristate "Infineon ADM5120 SoC hardware watchdog" -+	depends on WATCHDOG && ADM5120 -+	help -+	  This is a driver for hardware watchdog integrated in Infineon -+	  ADM5120 SoC. This watchdog simply watches your kernel to make sure -+	  it doesn't freeze, and if it does, it reboots your computer after a -+	  certain amount of time. -+ -+	  To compile this driver as a module, choose M here: the module will be -+	  called adm5120_wdt. -+ - config INDYDOG - 	tristate "Indy/I2 Hardware Watchdog" - 	depends on SGI_HAS_INDYDOG ---- a/drivers/watchdog/Makefile -+++ b/drivers/watchdog/Makefile -@@ -122,6 +122,7 @@ obj-$(CONFIG_ATH79_WDT) += ath79_wdt.o - obj-$(CONFIG_BCM47XX_WDT) += bcm47xx_wdt.o - obj-$(CONFIG_BCM63XX_WDT) += bcm63xx_wdt.o - obj-$(CONFIG_RC32434_WDT) += rc32434_wdt.o -+obj-$(CONFIG_ADM5120_WDT) += adm5120_wdt.o - obj-$(CONFIG_INDYDOG) += indydog.o - obj-$(CONFIG_JZ4740_WDT) += jz4740_wdt.o - obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o | 
