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

Commit 3179a019 authored by Tony Lindgren's avatar Tony Lindgren Committed by Russell King
Browse files

[ARM] 3141/1: OMAP 1/5: Update omap1 specific files



Patch from Tony Lindgren

This patch syncs the mainline kernel with linux-omap tree.
The highlights of the patch are:

- Omap1 serial pport and framebuffer init updates by Imre Deak

- Add support for omap310 processor and Palm Tungsten E PDA
  by Laurent Gonzales, Romain Goyet, et al. Omap310 and
  omap1510 processors are now handled as omap15xx.

- Omap1 specific changes to shared omap clock framework
  by Tony Lindgren

- Omap1 specific changes to shared omap pin mux framework
  by Tony Lindgren

- Other misc fixes, such as update memory timings for smc91x,
  omap1 specific device initialization etc.

Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent a7918f39
Loading
Loading
Loading
Loading
+21 −11
Original line number Diff line number Diff line
@@ -6,10 +6,10 @@ config ARCH_OMAP730
	bool "OMAP730 Based System"
	select ARCH_OMAP_OTG

config ARCH_OMAP1510
config ARCH_OMAP15XX
	depends on ARCH_OMAP1
	default y
	bool "OMAP1510 Based System"
	bool "OMAP15xx Based System"

config ARCH_OMAP16XX
	depends on ARCH_OMAP1
@@ -21,7 +21,7 @@ comment "OMAP Board Type"

config MACH_OMAP_INNOVATOR
	bool "TI Innovator"
	depends on ARCH_OMAP1 && (ARCH_OMAP1510 || ARCH_OMAP16XX)
	depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX)
	help
          TI OMAP 1510 or 1610 Innovator board support. Say Y here if you
          have such a board.
@@ -64,20 +64,30 @@ config MACH_OMAP_PERSEUS2

config MACH_VOICEBLUE
	bool "Voiceblue"
	depends on ARCH_OMAP1 && ARCH_OMAP1510
	depends on ARCH_OMAP1 && ARCH_OMAP15XX
	help
	  Support for Voiceblue GSM/VoIP gateway. Say Y here if you have
	  such a board.

config MACH_NETSTAR
	bool "NetStar"
	depends on ARCH_OMAP1 && ARCH_OMAP1510
	depends on ARCH_OMAP1 && ARCH_OMAP15XX
	help
	  Support for NetStar PBX. Say Y here if you have such a board.

config MACH_OMAP_PALMTE
	bool "Palm Tungsten E"
	depends on ARCH_OMAP1 && ARCH_OMAP15XX
	help
          Support for the Palm Tungsten E PDA. Currently only the LCD panel
          is supported. To boot the kernel, you'll need a PalmOS compatible
          bootloader; check out http://palmtelinux.sourceforge.net for more
          informations.
          Say Y here if you have such a PDA, say NO otherwise.

config MACH_OMAP_GENERIC
	bool "Generic OMAP board"
	depends on ARCH_OMAP1 && (ARCH_OMAP1510 || ARCH_OMAP16XX)
	depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX)
	help
          Support for generic OMAP-1510, 1610 or 1710 board with
          no FPGA. Can be used as template for porting Linux to
@@ -121,32 +131,32 @@ config OMAP_ARM_182MHZ

config OMAP_ARM_168MHZ
	bool "OMAP ARM 168 MHz CPU"
	depends on ARCH_OMAP1 && (ARCH_OMAP1510 || ARCH_OMAP16XX || ARCH_OMAP730)
	depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730)
	help
          Enable 168MHz clock for OMAP CPU. If unsure, say N.

config OMAP_ARM_150MHZ
	bool "OMAP ARM 150 MHz CPU"
	depends on ARCH_OMAP1 && ARCH_OMAP1510
	depends on ARCH_OMAP1 && ARCH_OMAP15XX
	help
	  Enable 150MHz clock for OMAP CPU. If unsure, say N.

config OMAP_ARM_120MHZ
	bool "OMAP ARM 120 MHz CPU"
	depends on ARCH_OMAP1 && (ARCH_OMAP1510 || ARCH_OMAP16XX || ARCH_OMAP730)
	depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730)
	help
          Enable 120MHz clock for OMAP CPU. If unsure, say N.

config OMAP_ARM_60MHZ
	bool "OMAP ARM 60 MHz CPU"
	depends on ARCH_OMAP1 && (ARCH_OMAP1510 || ARCH_OMAP16XX || ARCH_OMAP730)
	depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730)
        default y
	help
          Enable 60MHz clock for OMAP CPU. If unsure, say Y.

config OMAP_ARM_30MHZ
	bool "OMAP ARM 30 MHz CPU"
	depends on ARCH_OMAP1 && (ARCH_OMAP1510 || ARCH_OMAP16XX || ARCH_OMAP730)
	depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730)
	help
          Enable 30MHz clock for OMAP CPU. If unsure, say N.
+3 −2
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#

# Common support
obj-y := io.o id.o irq.o time.o serial.o devices.o
obj-y := io.o id.o clock.o irq.o time.o mux.o serial.o devices.o
led-y := leds.o

# Specific board support
@@ -15,8 +15,9 @@ obj-$(CONFIG_MACH_OMAP_OSK) += board-osk.o
obj-$(CONFIG_MACH_OMAP_H3)		+= board-h3.o
obj-$(CONFIG_MACH_VOICEBLUE)		+= board-voiceblue.o
obj-$(CONFIG_MACH_NETSTAR)		+= board-netstar.o
obj-$(CONFIG_MACH_OMAP_PALMTE)		+= board-palmte.o

ifeq ($(CONFIG_ARCH_OMAP1510),y)
ifeq ($(CONFIG_ARCH_OMAP15XX),y)
# Innovator-1510 FPGA
obj-$(CONFIG_MACH_OMAP_INNOVATOR)	+= fpga.o
endif
+9 −24
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/platform_device.h>

#include <asm/hardware.h>
#include <asm/mach-types.h>
@@ -28,8 +28,6 @@
#include <asm/arch/board.h>
#include <asm/arch/common.h>

static int __initdata generic_serial_ports[OMAP_MAX_NR_PORTS] = {1, 1, 1};

static void __init omap_generic_init_irq(void)
{
	omap_init_irq();
@@ -37,7 +35,7 @@ static void __init omap_generic_init_irq(void)

/* assume no Mini-AB port */

#ifdef CONFIG_ARCH_OMAP1510
#ifdef CONFIG_ARCH_OMAP15XX
static struct omap_usb_config generic1510_usb_config __initdata = {
	.register_host	= 1,
	.register_dev	= 1,
@@ -76,21 +74,19 @@ static struct omap_mmc_config generic_mmc_config __initdata = {

#endif

static struct omap_uart_config generic_uart_config __initdata = {
	.enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
};

static struct omap_board_config_kernel generic_config[] = {
	{ OMAP_TAG_USB,           NULL },
	{ OMAP_TAG_MMC,           &generic_mmc_config },
	{ OMAP_TAG_UART,	&generic_uart_config },
};

static void __init omap_generic_init(void)
{
	const struct omap_uart_config *uart_conf;

	/*
	 * Make sure the serial ports are muxed on at this point.
	 * You have to mux them off in device drivers later on
	 * if not needed.
	 */
#ifdef CONFIG_ARCH_OMAP1510
#ifdef CONFIG_ARCH_OMAP15XX
	if (cpu_is_omap1510()) {
		generic_config[0].data = &generic1510_usb_config;
	}
@@ -101,20 +97,9 @@ static void __init omap_generic_init(void)
	}
#endif

	uart_conf = omap_get_config(OMAP_TAG_UART, struct omap_uart_config);
	if (uart_conf != NULL) {
		unsigned int enabled_ports, i;

		enabled_ports = uart_conf->enabled_uarts;
		for (i = 0; i < 3; i++) {
			if (!(enabled_ports & (1 << i)))
				generic_serial_ports[i] = 0;
		}
	}

	omap_board_config = generic_config;
	omap_board_config_size = ARRAY_SIZE(generic_config);
	omap_serial_init(generic_serial_ports);
	omap_serial_init();
}

static void __init omap_generic_map_io(void)
+12 −3
Original line number Diff line number Diff line
@@ -40,8 +40,6 @@

extern int omap_gpio_init(void);

static int __initdata h2_serial_ports[OMAP_MAX_NR_PORTS] = {1, 1, 1};

static struct mtd_partition h2_partitions[] = {
	/* bootloader (U-Boot, etc) in first sector */
	{
@@ -160,9 +158,20 @@ static struct omap_mmc_config h2_mmc_config __initdata = {
	},
};

static struct omap_uart_config h2_uart_config __initdata = {
	.enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
};

static struct omap_lcd_config h2_lcd_config __initdata = {
	.panel_name	= "h2",
	.ctrl_name	= "internal",
};

static struct omap_board_config_kernel h2_config[] = {
	{ OMAP_TAG_USB,           &h2_usb_config },
	{ OMAP_TAG_MMC,           &h2_mmc_config },
	{ OMAP_TAG_UART,	&h2_uart_config },
	{ OMAP_TAG_LCD,		&h2_lcd_config },
};

static void __init h2_init(void)
@@ -180,12 +189,12 @@ static void __init h2_init(void)
	platform_add_devices(h2_devices, ARRAY_SIZE(h2_devices));
	omap_board_config = h2_config;
	omap_board_config_size = ARRAY_SIZE(h2_config);
	omap_serial_init();
}

static void __init h2_map_io(void)
{
	omap_map_common_io();
	omap_serial_init(h2_serial_ports);
}

MACHINE_START(OMAP_H2, "TI-H2")
+14 −5
Original line number Diff line number Diff line
@@ -41,8 +41,6 @@

extern int omap_gpio_init(void);

static int __initdata h3_serial_ports[OMAP_MAX_NR_PORTS] = {1, 1, 1};

static struct mtd_partition h3_partitions[] = {
	/* bootloader (U-Boot, etc) in first sector */
	{
@@ -168,9 +166,20 @@ static struct omap_mmc_config h3_mmc_config __initdata = {
	},
};

static struct omap_uart_config h3_uart_config __initdata = {
	.enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
};

static struct omap_lcd_config h3_lcd_config __initdata = {
	.panel_name	= "h3",
	.ctrl_name	= "internal",
};

static struct omap_board_config_kernel h3_config[] = {
	{ OMAP_TAG_USB,		&h3_usb_config },
	{ OMAP_TAG_MMC,		&h3_mmc_config },
	{ OMAP_TAG_UART,	&h3_uart_config },
	{ OMAP_TAG_LCD,		&h3_lcd_config },
};

static void __init h3_init(void)
@@ -180,6 +189,7 @@ static void __init h3_init(void)
	(void) platform_add_devices(devices, ARRAY_SIZE(devices));
	omap_board_config = h3_config;
	omap_board_config_size = ARRAY_SIZE(h3_config);
	omap_serial_init();
}

static void __init h3_init_smc91x(void)
@@ -201,7 +211,6 @@ void h3_init_irq(void)
static void __init h3_map_io(void)
{
	omap_map_common_io();
	omap_serial_init(h3_serial_ports);
}

MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")
Loading