Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9cc8475 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3490/1: i.MX: move uart resources to board files
  [ARM] 3488/1: make icedcc_putc do the right thing
  [ARM] 3487/1: IXP4xx: Support non-PCI systems
  [ARM] 3486/1: Mark memory as clobbered by the ARM _syscallX() macros
parents 6fc56ccf 5b802344
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -150,8 +150,6 @@ config ARCH_IOP3XX

config ARCH_IXP4XX
	bool "IXP4xx-based"
	select DMABOUNCE
	select PCI
	help
	  Support for Intel's IXP4XX (XScale) family of processors.

+2 −2
Original line number Diff line number Diff line
@@ -38,10 +38,10 @@ static void icedcc_putc(int ch)
		if (--i < 0)
			return;

		asm("mrc p14, 0, %0, c0, c0, 0" : "=r" (status));
		asm volatile ("mrc p14, 0, %0, c0, c0, 0" : "=r" (status));
	} while (status & 2);

	asm("mcr p15, 0, %0, c1, c0, 0" : : "r" (ch));
	asm("mcr p14, 0, %0, c1, c0, 0" : : "r" (ch));
}

#define putc(ch)	icedcc_putc(ch)
+0 −52
Original line number Diff line number Diff line
@@ -195,56 +195,6 @@ void __init imx_set_mmc_info(struct imxmmc_platform_data *info)
}
EXPORT_SYMBOL(imx_set_mmc_info);

static struct resource imx_uart1_resources[] = {
	[0] = {
		.start	= 0x00206000,
		.end	= 0x002060FF,
		.flags	= IORESOURCE_MEM,
	},
	[1] = {
		.start	= (UART1_MINT_RX),
		.end	= (UART1_MINT_RX),
		.flags	= IORESOURCE_IRQ,
	},
	[2] = {
		.start	= (UART1_MINT_TX),
		.end	= (UART1_MINT_TX),
		.flags	= IORESOURCE_IRQ,
	},
};

static struct platform_device imx_uart1_device = {
	.name		= "imx-uart",
	.id		= 0,
	.num_resources	= ARRAY_SIZE(imx_uart1_resources),
	.resource	= imx_uart1_resources,
};

static struct resource imx_uart2_resources[] = {
	[0] = {
		.start	= 0x00207000,
		.end	= 0x002070FF,
		.flags	= IORESOURCE_MEM,
	},
	[1] = {
		.start	= (UART2_MINT_RX),
		.end	= (UART2_MINT_RX),
		.flags	= IORESOURCE_IRQ,
	},
	[2] = {
		.start	= (UART2_MINT_TX),
		.end	= (UART2_MINT_TX),
		.flags	= IORESOURCE_IRQ,
	},
};

static struct platform_device imx_uart2_device = {
	.name		= "imx-uart",
	.id		= 1,
	.num_resources	= ARRAY_SIZE(imx_uart2_resources),
	.resource	= imx_uart2_resources,
};

static struct imxfb_mach_info imx_fb_info;

void __init set_imx_fb_info(struct imxfb_mach_info *hard_imx_fb_info)
@@ -283,8 +233,6 @@ static struct platform_device imxfb_device = {
static struct platform_device *devices[] __initdata = {
	&imx_mmc_device,
	&imxfb_device,
	&imx_uart1_device,
	&imx_uart2_device,
};

static struct map_desc imx_io_desc[] __initdata = {
+74 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@

#include <asm/mach/arch.h>
#include <asm/arch/mmc.h>
#include <asm/arch/imx-uart.h>
#include <linux/interrupt.h>
#include "generic.h"

@@ -48,8 +49,70 @@ static struct platform_device cs89x0_device = {
	.resource	= cs89x0_resources,
};

static struct imxuart_platform_data uart_pdata = {
	.flags = IMXUART_HAVE_RTSCTS,
};

static struct resource imx_uart1_resources[] = {
	[0] = {
		.start	= 0x00206000,
		.end	= 0x002060FF,
		.flags	= IORESOURCE_MEM,
	},
	[1] = {
		.start	= (UART1_MINT_RX),
		.end	= (UART1_MINT_RX),
		.flags	= IORESOURCE_IRQ,
	},
	[2] = {
		.start	= (UART1_MINT_TX),
		.end	= (UART1_MINT_TX),
		.flags	= IORESOURCE_IRQ,
	},
};

static struct platform_device imx_uart1_device = {
	.name		= "imx-uart",
	.id		= 0,
	.num_resources	= ARRAY_SIZE(imx_uart1_resources),
	.resource	= imx_uart1_resources,
	.dev = {
		.platform_data = &uart_pdata,
	}
};

static struct resource imx_uart2_resources[] = {
	[0] = {
		.start	= 0x00207000,
		.end	= 0x002070FF,
		.flags	= IORESOURCE_MEM,
	},
	[1] = {
		.start	= (UART2_MINT_RX),
		.end	= (UART2_MINT_RX),
		.flags	= IORESOURCE_IRQ,
	},
	[2] = {
		.start	= (UART2_MINT_TX),
		.end	= (UART2_MINT_TX),
		.flags	= IORESOURCE_IRQ,
	},
};

static struct platform_device imx_uart2_device = {
	.name		= "imx-uart",
	.id		= 1,
	.num_resources	= ARRAY_SIZE(imx_uart2_resources),
	.resource	= imx_uart2_resources,
	.dev = {
		.platform_data = &uart_pdata,
	}
};

static struct platform_device *devices[] __initdata = {
	&cs89x0_device,
	&imx_uart1_device,
	&imx_uart2_device,
};

#ifdef CONFIG_MMC_IMX
@@ -75,6 +138,17 @@ mx1ads_init(void)
	imx_gpio_mode(GPIO_PORTB | GPIO_GIUS | GPIO_IN | 20);
	imx_set_mmc_info(&mx1ads_mmc_info);
#endif

	imx_gpio_mode(PC9_PF_UART1_CTS);
	imx_gpio_mode(PC10_PF_UART1_RTS);
	imx_gpio_mode(PC11_PF_UART1_TXD);
	imx_gpio_mode(PC12_PF_UART1_RXD);

	imx_gpio_mode(PB28_PF_UART2_CTS);
	imx_gpio_mode(PB29_PF_UART2_RTS);
	imx_gpio_mode(PB30_PF_UART2_TXD);
	imx_gpio_mode(PB31_PF_UART2_RXD);

	platform_add_devices(devices, ARRAY_SIZE(devices));
}

+14 −1
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ comment "IXP4xx Platforms"
config MACH_NSLU2
	bool
	prompt "Linksys NSLU2"
	select PCI
	help
	  Say 'Y' here if you want your kernel to support Linksys's
	  NSLU2 NAS device. For more information on this platform,
@@ -18,6 +19,7 @@ config MACH_NSLU2

config ARCH_AVILA
	bool "Avila"
	select PCI
	help
	  Say 'Y' here if you want your kernel to support the Gateworks
	  Avila Network Platform. For more information on this platform,
@@ -25,6 +27,7 @@ config ARCH_AVILA

config ARCH_ADI_COYOTE
	bool "Coyote"
	select PCI
	help
	  Say 'Y' here if you want your kernel to support the ADI 
	  Engineering Coyote Gateway Reference Platform. For more
@@ -32,6 +35,7 @@ config ARCH_ADI_COYOTE

config ARCH_IXDP425
	bool "IXDP425"
	select PCI
	help
	  Say 'Y' here if you want your kernel to support Intel's 
	  IXDP425 Development Platform (Also known as Richfield).  
@@ -39,6 +43,7 @@ config ARCH_IXDP425

config MACH_IXDPG425
	bool "IXDPG425"
	select PCI
	help
	  Say 'Y' here if you want your kernel to support Intel's
	  IXDPG425 Development Platform (Also known as Montajade).
@@ -46,6 +51,7 @@ config MACH_IXDPG425

config MACH_IXDP465
	bool "IXDP465"
	select PCI
	help
	  Say 'Y' here if you want your kernel to support Intel's
	  IXDP465 Development Platform (Also known as BMP).
@@ -72,6 +78,7 @@ config ARCH_PRPMC1100
config MACH_NAS100D
	bool
	prompt "NAS100D"
	select PCI
	help
	  Say 'Y' here if you want your kernel to support Iomega's
	  NAS 100d device. For more information on this platform,
@@ -96,6 +103,7 @@ config CPU_IXP46X
config MACH_GTWX5715
	bool "Gemtek WX5715 (Linksys WRV54G)"
	depends on ARCH_IXP4XX
	select PCI
	help
		This board is currently inside the Linksys WRV54G Gateways.

@@ -110,11 +118,16 @@ config MACH_GTWX5715
		"High Speed" UART is n/c (as far as I can tell)
		20 Pin ARM/Xscale JTAG interface on J2


comment "IXP4xx Options"

config DMABOUNCE
	bool
	default y
	depends on PCI

config IXP4XX_INDIRECT_PCI
	bool "Use indirect PCI memory access"
	depends on PCI
	help
          IXP4xx provides two methods of accessing PCI memory space:

Loading