#include <asm/mach/arch.h>
#include <asm/mach/map.h>
- #include <mach/board-ams-delta.h>
+ #include <plat/board-ams-delta.h>
#include <mach/gpio.h>
- #include <mach/keypad.h>
- #include <mach/mux.h>
- #include <mach/usb.h>
- #include <mach/board.h>
- #include <mach/common.h>
+ #include <plat/keypad.h>
+ #include <plat/mux.h>
+ #include <plat/usb.h>
+ #include <plat/board.h>
+ #include <plat/common.h>
static u8 ams_delta_latch1_reg;
static u16 ams_delta_latch2_reg;
static void __init ams_delta_init(void)
{
+ /* mux pins for uarts */
+ omap_cfg_reg(UART1_TX);
+ omap_cfg_reg(UART1_RTS);
+
iotable_init(ams_delta_io_desc, ARRAY_SIZE(ams_delta_io_desc));
omap_board_config = ams_delta_config;
omap_usb_init(&ams_delta_usb_config);
platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices));
+
+ omap_writew(omap_readw(ARM_RSTCT1) | 0x0004, ARM_RSTCT1);
}
static struct plat_serial8250_port ams_delta_modem_ports[] = {
#include <asm/mach/map.h>
#include <mach/gpio.h>
- #include <mach/mux.h>
- #include <mach/usb.h>
- #include <mach/board.h>
- #include <mach/common.h>
+ #include <plat/mux.h>
+ #include <plat/usb.h>
+ #include <plat/board.h>
+ #include <plat/common.h>
static void __init omap_generic_init_irq(void)
{
{
#ifdef CONFIG_ARCH_OMAP15XX
if (cpu_is_omap15xx()) {
+ /* mux pins for uarts */
+ omap_cfg_reg(UART1_TX);
+ omap_cfg_reg(UART1_RTS);
+ omap_cfg_reg(UART2_TX);
+ omap_cfg_reg(UART2_RTS);
+ omap_cfg_reg(UART3_TX);
+ omap_cfg_reg(UART3_RX);
+
omap_usb_init(&generic1510_usb_config);
}
#endif
#include <asm/mach/flash.h>
#include <asm/mach/map.h>
- #include <mach/mux.h>
- #include <mach/fpga.h>
+ #include <plat/mux.h>
+ #include <plat/fpga.h>
#include <mach/gpio.h>
- #include <mach/tc.h>
- #include <mach/usb.h>
- #include <mach/keypad.h>
- #include <mach/common.h>
- #include <mach/mmc.h>
+ #include <plat/tc.h>
+ #include <plat/usb.h>
+ #include <plat/keypad.h>
+ #include <plat/common.h>
+ #include <plat/mmc.h>
/* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */
#define INNOVATOR1610_ETHR_START 0x04000300
{
#ifdef CONFIG_ARCH_OMAP15XX
if (cpu_is_omap1510()) {
+ unsigned char reg;
+
+ /* mux pins for uarts */
+ omap_cfg_reg(UART1_TX);
+ omap_cfg_reg(UART1_RTS);
+ omap_cfg_reg(UART2_TX);
+ omap_cfg_reg(UART2_RTS);
+ omap_cfg_reg(UART3_TX);
+ omap_cfg_reg(UART3_RX);
+
+ reg = fpga_read(OMAP1510_FPGA_POWER);
+ reg |= OMAP1510_FPGA_PCR_COM1_EN;
+ fpga_write(reg, OMAP1510_FPGA_POWER);
+ udelay(10);
+
+ reg = fpga_read(OMAP1510_FPGA_POWER);
+ reg |= OMAP1510_FPGA_PCR_COM2_EN;
+ fpga_write(reg, OMAP1510_FPGA_POWER);
+ udelay(10);
+
platform_add_devices(innovator1510_devices, ARRAY_SIZE(innovator1510_devices));
spi_register_board_info(innovator1510_boardinfo,
ARRAY_SIZE(innovator1510_boardinfo));
#include <asm/mach/flash.h>
#include <mach/gpio.h>
- #include <mach/mux.h>
- #include <mach/usb.h>
- #include <mach/tc.h>
- #include <mach/dma.h>
- #include <mach/board.h>
- #include <mach/irda.h>
- #include <mach/keypad.h>
- #include <mach/common.h>
+ #include <plat/mux.h>
+ #include <plat/usb.h>
+ #include <plat/tc.h>
+ #include <plat/dma.h>
+ #include <plat/board.h>
+ #include <plat/irda.h>
+ #include <plat/keypad.h>
+ #include <plat/common.h>
#define PALMTE_USBDETECT_GPIO 0
#define PALMTE_USB_OR_DC_GPIO 1
static void __init omap_palmte_init(void)
{
+ /* mux pins for uarts */
+ omap_cfg_reg(UART1_TX);
+ omap_cfg_reg(UART1_RTS);
+ omap_cfg_reg(UART2_TX);
+ omap_cfg_reg(UART2_RTS);
+ omap_cfg_reg(UART3_TX);
+ omap_cfg_reg(UART3_RX);
+
omap_board_config = palmte_config;
omap_board_config_size = ARRAY_SIZE(palmte_config);
#include <asm/mach/map.h>
#include <asm/mach/flash.h>
- #include <mach/led.h>
+ #include <plat/led.h>
#include <mach/gpio.h>
- #include <mach/mux.h>
- #include <mach/usb.h>
- #include <mach/dma.h>
- #include <mach/tc.h>
- #include <mach/board.h>
- #include <mach/irda.h>
- #include <mach/keypad.h>
- #include <mach/common.h>
+ #include <plat/mux.h>
+ #include <plat/usb.h>
+ #include <plat/dma.h>
+ #include <plat/tc.h>
+ #include <plat/board.h>
+ #include <plat/irda.h>
+ #include <plat/keypad.h>
+ #include <plat/common.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
static void __init omap_palmtt_init(void)
{
+ /* mux pins for uarts */
+ omap_cfg_reg(UART1_TX);
+ omap_cfg_reg(UART1_RTS);
+ omap_cfg_reg(UART2_TX);
+ omap_cfg_reg(UART2_RTS);
+ omap_cfg_reg(UART3_TX);
+ omap_cfg_reg(UART3_RX);
+
omap_mpu_wdt_mode(0);
omap_board_config = palmtt_config;
#include <asm/mach/flash.h>
#include <mach/gpio.h>
- #include <mach/mux.h>
- #include <mach/usb.h>
- #include <mach/dma.h>
- #include <mach/tc.h>
- #include <mach/board.h>
- #include <mach/irda.h>
- #include <mach/keypad.h>
- #include <mach/common.h>
- #include <mach/omap-alsa.h>
+ #include <plat/mux.h>
+ #include <plat/usb.h>
+ #include <plat/dma.h>
+ #include <plat/tc.h>
+ #include <plat/board.h>
+ #include <plat/irda.h>
+ #include <plat/keypad.h>
+ #include <plat/common.h>
+ #include <plat/omap-alsa.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
static void __init
omap_palmz71_init(void)
{
+ /* mux pins for uarts */
+ omap_cfg_reg(UART1_TX);
+ omap_cfg_reg(UART1_RTS);
+ omap_cfg_reg(UART2_TX);
+ omap_cfg_reg(UART2_RTS);
+ omap_cfg_reg(UART3_TX);
+ omap_cfg_reg(UART3_RX);
+
palmz71_gpio_setup(1);
omap_mpu_wdt_mode(0);
#include <asm/mach/map.h>
#include <mach/gpio.h>
- #include <mach/mux.h>
- #include <mach/dma.h>
- #include <mach/irda.h>
- #include <mach/usb.h>
- #include <mach/tc.h>
- #include <mach/board.h>
- #include <mach/common.h>
- #include <mach/keypad.h>
- #include <mach/board-sx1.h>
+ #include <plat/mux.h>
+ #include <plat/dma.h>
+ #include <plat/irda.h>
+ #include <plat/usb.h>
+ #include <plat/tc.h>
+ #include <plat/board.h>
+ #include <plat/common.h>
+ #include <plat/keypad.h>
+ #include <plat/board-sx1.h>
/* Write to I2C device */
int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value)
static void __init omap_sx1_init(void)
{
+ /* mux pins for uarts */
+ omap_cfg_reg(UART1_TX);
+ omap_cfg_reg(UART1_RTS);
+ omap_cfg_reg(UART2_TX);
+ omap_cfg_reg(UART2_RTS);
+ omap_cfg_reg(UART3_TX);
+ omap_cfg_reg(UART3_RX);
+
platform_add_devices(sx1_devices, ARRAY_SIZE(sx1_devices));
omap_board_config = sx1_config;
#include <asm/mach/flash.h>
#include <asm/mach/map.h>
- #include <mach/common.h>
+ #include <plat/common.h>
#include <mach/gpio.h>
- #include <mach/mux.h>
- #include <mach/tc.h>
- #include <mach/usb.h>
+ #include <plat/mux.h>
+ #include <plat/tc.h>
+ #include <plat/usb.h>
static struct plat_serial8250_port voiceblue_ports[] = {
{
static void __init voiceblue_init(void)
{
+ /* mux pins for uarts */
+ omap_cfg_reg(UART1_TX);
+ omap_cfg_reg(UART1_RTS);
+ omap_cfg_reg(UART2_TX);
+ omap_cfg_reg(UART2_RTS);
+ omap_cfg_reg(UART3_TX);
+ omap_cfg_reg(UART3_RX);
+
/* Watchdog */
gpio_request(0, "Watchdog");
/* smc91x reset */
#include <asm/mach-types.h>
- #include <mach/board.h>
- #include <mach/mux.h>
+ #include <plat/board.h>
+ #include <plat/mux.h>
#include <mach/gpio.h>
- #include <mach/fpga.h>
+ #include <plat/fpga.h>
static struct clk * uart1_ck;
static struct clk * uart2_ck;
static struct plat_serial8250_port serial_platform_data[] = {
{
- .membase = OMAP1_IO_ADDRESS(OMAP_UART1_BASE),
.mapbase = OMAP_UART1_BASE,
.irq = INT_UART1,
.flags = UPF_BOOT_AUTOCONF,
.uartclk = OMAP16XX_BASE_BAUD * 16,
},
{
- .membase = OMAP1_IO_ADDRESS(OMAP_UART2_BASE),
.mapbase = OMAP_UART2_BASE,
.irq = INT_UART2,
.flags = UPF_BOOT_AUTOCONF,
.uartclk = OMAP16XX_BASE_BAUD * 16,
},
{
- .membase = OMAP1_IO_ADDRESS(OMAP_UART3_BASE),
.mapbase = OMAP_UART3_BASE,
.irq = INT_UART3,
.flags = UPF_BOOT_AUTOCONF,
{
int i;
- if (cpu_is_omap730()) {
+ if (cpu_is_omap7xx()) {
serial_platform_data[0].regshift = 0;
serial_platform_data[1].regshift = 0;
- serial_platform_data[0].irq = INT_730_UART_MODEM_1;
- serial_platform_data[1].irq = INT_730_UART_MODEM_IRDA_2;
- }
-
- if (cpu_is_omap850()) {
- serial_platform_data[0].regshift = 0;
- serial_platform_data[1].regshift = 0;
- serial_platform_data[0].irq = INT_850_UART_MODEM_1;
- serial_platform_data[1].irq = INT_850_UART_MODEM_IRDA_2;
+ serial_platform_data[0].irq = INT_7XX_UART_MODEM_1;
+ serial_platform_data[1].irq = INT_7XX_UART_MODEM_IRDA_2;
}
if (cpu_is_omap15xx()) {
}
for (i = 0; i < OMAP_MAX_NR_PORTS; i++) {
- unsigned char reg;
+
+ /* Static mapping, never released */
+ serial_platform_data[i].membase =
+ ioremap(serial_platform_data[i].mapbase, SZ_2K);
+ if (!serial_platform_data[i].membase) {
+ printk(KERN_ERR "Could not ioremap uart%i\n", i);
+ continue;
+ }
-
switch (i) {
case 0:
uart1_ck = clk_get(NULL, "uart1_ck");
if (cpu_is_omap15xx())
clk_set_rate(uart1_ck, 12000000);
}
- if (cpu_is_omap15xx()) {
- omap_cfg_reg(UART1_TX);
- omap_cfg_reg(UART1_RTS);
- if (machine_is_omap_innovator()) {
- reg = fpga_read(OMAP1510_FPGA_POWER);
- reg |= OMAP1510_FPGA_PCR_COM1_EN;
- fpga_write(reg, OMAP1510_FPGA_POWER);
- udelay(10);
- }
- }
break;
case 1:
uart2_ck = clk_get(NULL, "uart2_ck");
else
clk_set_rate(uart2_ck, 48000000);
}
- if (cpu_is_omap15xx()) {
- omap_cfg_reg(UART2_TX);
- omap_cfg_reg(UART2_RTS);
- if (machine_is_omap_innovator()) {
- reg = fpga_read(OMAP1510_FPGA_POWER);
- reg |= OMAP1510_FPGA_PCR_COM2_EN;
- fpga_write(reg, OMAP1510_FPGA_POWER);
- udelay(10);
- }
- }
break;
case 2:
uart3_ck = clk_get(NULL, "uart3_ck");
if (cpu_is_omap15xx())
clk_set_rate(uart3_ck, 12000000);
}
- if (cpu_is_omap15xx()) {
- omap_cfg_reg(UART3_TX);
- omap_cfg_reg(UART3_RX);
- }
break;
}
omap_serial_reset(&serial_platform_data[i]);
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/input.h>
+#include <linux/input/matrix_keypad.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
#include <linux/i2c/twl4030.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
- #include <mach/mcspi.h>
- #include <mach/mux.h>
- #include <mach/board.h>
- #include <mach/usb.h>
- #include <mach/common.h>
- #include <mach/dma.h>
- #include <mach/gpmc.h>
+ #include <plat/mcspi.h>
+ #include <plat/mux.h>
+ #include <plat/board.h>
+ #include <plat/usb.h>
+ #include <plat/common.h>
+ #include <plat/dma.h>
+ #include <plat/gpmc.h>
- #include <mach/control.h>
- #include <mach/gpmc-smc91x.h>
+ #include <plat/control.h>
-#include <plat/keypad.h>
+ #include <plat/gpmc-smc91x.h>
#include "sdram-qimonda-hyb18m512160af-6.h"
#include "mmc-twl4030.h"
MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
/* Maintainer: Syed Khasim - Texas Instruments Inc */
.phys_io = 0x48000000,
- .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
+ .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
.boot_params = 0x80000100,
.map_io = omap_3430sdp_map_io,
.init_irq = omap_3430sdp_init_irq,
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
- #include <mach/board.h>
- #include <mach/common.h>
- #include <mach/control.h>
- #include <mach/timer-gp.h>
+ #include <plat/board.h>
+ #include <plat/common.h>
+ #include <plat/control.h>
+ #include <plat/timer-gp.h>
#include <asm/hardware/gic.h>
static struct platform_device sdp4430_lcd_device = {
static void __init gic_init_irq(void)
{
- gic_dist_init(0, OMAP2_IO_ADDRESS(OMAP44XX_GIC_DIST_BASE), 29);
- gic_cpu_init(0, OMAP2_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE));
+ void __iomem *base;
+
+ /* Static mapping, never released */
+ base = ioremap(OMAP44XX_GIC_DIST_BASE, SZ_4K);
+ BUG_ON(!base);
+ gic_dist_init(0, base, 29);
+
+ /* Static mapping, never released */
+ gic_cpu_base_addr = ioremap(OMAP44XX_GIC_CPU_BASE, SZ_512);
+ BUG_ON(!gic_cpu_base_addr);
+ gic_cpu_init(0, gic_cpu_base_addr);
}
static void __init omap_4430sdp_init_irq(void)
{
+ omap_board_config = sdp4430_config;
+ omap_board_config_size = ARRAY_SIZE(sdp4430_config);
omap2_init_common_hw(NULL, NULL);
#ifdef CONFIG_OMAP_32K_TIMER
omap2_gp_clockevent_set_gptimer(1);
static void __init omap_4430sdp_init(void)
{
platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices));
- omap_board_config = sdp4430_config;
- omap_board_config_size = ARRAY_SIZE(sdp4430_config);
omap_serial_init();
}
MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
/* Maintainer: Santosh Shilimkar - Texas Instruments Inc */
.phys_io = 0x48000000,
- .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
+ .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
.boot_params = 0x80000100,
.map_io = omap_4430sdp_map_io,
.init_irq = omap_4430sdp_init_irq,
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/input.h>
+#include <linux/input/matrix_keypad.h>
#include <linux/gpio_keys.h>
#include <linux/workqueue.h>
#include <linux/err.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
- #include <mach/mcspi.h>
+ #include <plat/mcspi.h>
#include <mach/gpio.h>
- #include <mach/board.h>
- #include <mach/common.h>
- #include <mach/gpmc.h>
+ #include <plat/board.h>
+ #include <plat/common.h>
+ #include <plat/gpmc.h>
#include <asm/delay.h>
- #include <mach/control.h>
- #include <mach/usb.h>
+ #include <plat/control.h>
+ #include <plat/usb.h>
-#include <plat/keypad.h>
#include "mmc-twl4030.h"
MACHINE_START(OMAP_LDP, "OMAP LDP board")
.phys_io = 0x48000000,
- .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
+ .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
.boot_params = 0x80000100,
.map_io = omap_ldp_map_io,
.init_irq = omap_ldp_init_irq,
#include <linux/clk.h>
#include <linux/gpio.h>
#include <linux/input.h>
+#include <linux/input/matrix_keypad.h>
#include <linux/leds.h>
#include <linux/spi/spi.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
- #include <mach/board.h>
- #include <mach/mux.h>
- #include <mach/usb.h>
- #include <mach/common.h>
- #include <mach/mcspi.h>
+ #include <plat/board.h>
+ #include <plat/mux.h>
+ #include <plat/usb.h>
+ #include <plat/common.h>
+ #include <plat/mcspi.h>
-#include <plat/keypad.h>
#include "sdram-micron-mt46h32m32lf-6.h"
#include "mmc-twl4030.h"
MACHINE_START(OMAP3EVM, "OMAP3 EVM")
/* Maintainer: Syed Mohammed Khasim - Texas Instruments */
.phys_io = 0x48000000,
- .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
+ .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
.boot_params = 0x80000100,
.map_io = omap3_evm_map_io,
.init_irq = omap3_evm_init_irq,
#include <linux/i2c/twl4030.h>
#include <linux/leds.h>
#include <linux/input.h>
+#include <linux/input/matrix_keypad.h>
#include <linux/gpio_keys.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
- #include <mach/board.h>
- #include <mach/common.h>
+ #include <plat/board.h>
+ #include <plat/common.h>
#include <mach/gpio.h>
#include <mach/hardware.h>
- #include <mach/mcspi.h>
- #include <mach/usb.h>
- #include <mach/mux.h>
+ #include <plat/mcspi.h>
+ #include <plat/usb.h>
-#include <plat/keypad.h>
+ #include <plat/mux.h>
#include "sdram-micron-mt46h32m32lf-6.h"
#include "mmc-twl4030.h"
MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
.phys_io = 0x48000000,
- .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
+ .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
.boot_params = 0x80000100,
.map_io = omap3pandora_map_io,
.init_irq = omap3pandora_init_irq,
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/input.h>
+#include <linux/input/matrix_keypad.h>
#include <linux/spi/spi.h>
#include <linux/i2c.h>
#include <linux/i2c/twl4030.h>
#include <linux/gpio.h>
#include <linux/mmc/host.h>
- #include <mach/mcspi.h>
- #include <mach/mux.h>
- #include <mach/board.h>
- #include <mach/common.h>
- #include <mach/dma.h>
- #include <mach/gpmc.h>
- #include <mach/onenand.h>
- #include <mach/gpmc-smc91x.h>
+ #include <plat/mcspi.h>
+ #include <plat/mux.h>
+ #include <plat/board.h>
+ #include <plat/common.h>
+ #include <plat/dma.h>
+ #include <plat/gpmc.h>
-#include <plat/keypad.h>
+ #include <plat/onenand.h>
+ #include <plat/gpmc-smc91x.h>
#include "mmc-twl4030.h"
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
- #include <mach/mcspi.h>
- #include <mach/mux.h>
- #include <mach/board.h>
- #include <mach/common.h>
- #include <mach/dma.h>
- #include <mach/gpmc.h>
- #include <mach/usb.h>
+ #include <plat/mcspi.h>
+ #include <plat/mux.h>
+ #include <plat/board.h>
+ #include <plat/common.h>
-#include <plat/keypad.h>
+ #include <plat/dma.h>
+ #include <plat/gpmc.h>
+ #include <plat/usb.h>
static struct omap_lcd_config rx51_lcd_config = {
.ctrl_name = "internal",
MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
/* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
.phys_io = 0x48000000,
- .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
+ .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
.boot_params = 0x80000100,
.map_io = rx51_map_io,
.init_irq = rx51_init_irq,
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/input.h>
+#include <linux/input/matrix_keypad.h>
#include <linux/gpio.h>
#include <linux/i2c/twl4030.h>
#include <linux/regulator/machine.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
- #include <mach/common.h>
- #include <mach/usb.h>
+ #include <plat/common.h>
+ #include <plat/usb.h>
-#include <plat/keypad.h>
#include "mmc-twl4030.h"
#include "sdram-micron-mt46h32m32lf-6.h"
MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
.phys_io = 0x48000000,
- .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
+ .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
.boot_params = 0x80000100,
.map_io = omap_zoom2_map_io,
.init_irq = omap_zoom2_init_irq,
#include <asm/mach/map.h>
- #include <mach/mux.h>
- #include <mach/omapfb.h>
- #include <mach/sram.h>
- #include <mach/sdrc.h>
- #include <mach/gpmc.h>
- #include <mach/serial.h>
+ #include <plat/mux.h>
+ #include <plat/omapfb.h>
+ #include <plat/sram.h>
+ #include <plat/sdrc.h>
+ #include <plat/gpmc.h>
+ #include <plat/serial.h>
#ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once clkdev is ready */
#include "clock.h"
- #include <mach/omap-pm.h>
- #include <mach/powerdomain.h>
+ #include <plat/omap-pm.h>
+ #include <plat/powerdomain.h>
#include "powerdomains.h"
- #include <mach/clockdomain.h>
+ #include <plat/clockdomain.h>
#include "clockdomains.h"
#endif
- #include <mach/omap_hwmod.h>
+ #include <plat/omap_hwmod.h>
#include "omap_hwmod_2420.h"
#include "omap_hwmod_2430.h"
#include "omap_hwmod_34xx.h"
.length = OMAP44XX_GPMC_SIZE,
.type = MT_DEVICE,
},
+ {
+ .virtual = OMAP44XX_EMIF1_VIRT,
+ .pfn = __phys_to_pfn(OMAP44XX_EMIF1_PHYS),
+ .length = OMAP44XX_EMIF1_SIZE,
+ .type = MT_DEVICE,
+ },
+ {
+ .virtual = OMAP44XX_EMIF2_VIRT,
+ .pfn = __phys_to_pfn(OMAP44XX_EMIF2_PHYS),
+ .length = OMAP44XX_EMIF2_SIZE,
+ .type = MT_DEVICE,
+ },
+ {
+ .virtual = OMAP44XX_DMM_VIRT,
+ .pfn = __phys_to_pfn(OMAP44XX_DMM_PHYS),
+ .length = OMAP44XX_DMM_SIZE,
+ .type = MT_DEVICE,
+ },
{
.virtual = L4_PER_44XX_VIRT,
.pfn = __phys_to_pfn(L4_PER_44XX_PHYS),
pwrdm_init(powerdomains_omap);
clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps);
omap2_clk_init();
+#endif
omap_serial_early_init();
+#ifndef CONFIG_ARCH_OMAP4
omap_hwmod_late_init();
omap_pm_if_init();
omap2_sdrc_init(sdrc_cs0, sdrc_cs1);
#include <linux/err.h>
#include <linux/gpio.h>
- #include <mach/sram.h>
- #include <mach/clockdomain.h>
- #include <mach/powerdomain.h>
- #include <mach/control.h>
- #include <mach/serial.h>
+ #include <plat/sram.h>
+ #include <plat/clockdomain.h>
+ #include <plat/powerdomain.h>
+ #include <plat/control.h>
+ #include <plat/serial.h>
#include "cm.h"
#include "cm-regbits-34xx.h"
prm_write_mod_reg(OMAP3430_IO_EN | OMAP3430_WKUP_EN,
OCP_MOD, OMAP3_PRM_IRQENABLE_MPU_OFFSET);
- /* Enable GPIO wakeups in PER */
+ /* Enable wakeups in PER */
prm_write_mod_reg(OMAP3430_EN_GPIO2 | OMAP3430_EN_GPIO3 |
OMAP3430_EN_GPIO4 | OMAP3430_EN_GPIO5 |
- OMAP3430_EN_GPIO6, OMAP3430_PER_MOD, PM_WKEN);
+ OMAP3430_EN_GPIO6 | OMAP3430_EN_UART3,
+ OMAP3430_PER_MOD, PM_WKEN);
/* and allow them to wake up MPU */
prm_write_mod_reg(OMAP3430_GRPSEL_GPIO2 | OMAP3430_EN_GPIO3 |
OMAP3430_GRPSEL_GPIO4 | OMAP3430_EN_GPIO5 |
- OMAP3430_GRPSEL_GPIO6,
+ OMAP3430_GRPSEL_GPIO6 | OMAP3430_EN_UART3,
OMAP3430_PER_MOD, OMAP3430_PM_MPUGRPSEL);
/* Don't attach IVA interrupts */
#include <linux/clk.h>
#include <linux/io.h>
- #include <mach/common.h>
- #include <mach/board.h>
- #include <mach/clock.h>
- #include <mach/control.h>
+ #include <plat/common.h>
+ #include <plat/board.h>
+ #include <plat/clock.h>
+ #include <plat/control.h>
#include "prm.h"
#include "pm.h"
static struct plat_serial8250_port serial_platform_data0[] = {
{
- .membase = OMAP2_IO_ADDRESS(OMAP_UART1_BASE),
.mapbase = OMAP_UART1_BASE,
.irq = 72,
.flags = UPF_BOOT_AUTOCONF,
static struct plat_serial8250_port serial_platform_data1[] = {
{
- .membase = OMAP2_IO_ADDRESS(OMAP_UART2_BASE),
.mapbase = OMAP_UART2_BASE,
.irq = 73,
.flags = UPF_BOOT_AUTOCONF,
static struct plat_serial8250_port serial_platform_data2[] = {
{
- .membase = OMAP2_IO_ADDRESS(OMAP_UART3_BASE),
.mapbase = OMAP_UART3_BASE,
.irq = 74,
.flags = UPF_BOOT_AUTOCONF,
.regshift = 2,
.uartclk = OMAP24XX_BASE_BAUD * 16,
}, {
-#ifdef CONFIG_ARCH_OMAP4
- .membase = OMAP2_IO_ADDRESS(OMAP_UART4_BASE),
- .mapbase = OMAP_UART4_BASE,
- .irq = 70,
- .flags = UPF_BOOT_AUTOCONF,
- .iotype = UPIO_MEM,
- .regshift = 2,
- .uartclk = OMAP24XX_BASE_BAUD * 16,
- }, {
-#endif
.flags = 0
}
};
#ifdef CONFIG_ARCH_OMAP4
static struct plat_serial8250_port serial_platform_data3[] = {
{
- .membase = OMAP2_IO_ADDRESS(OMAP_UART4_BASE),
.mapbase = OMAP_UART4_BASE,
.irq = 70,
.flags = UPF_BOOT_AUTOCONF,
struct device *dev = &pdev->dev;
struct plat_serial8250_port *p = dev->platform_data;
+ /*
+ * Module 4KB + L4 interconnect 4KB
+ * Static mapping, never released
+ */
+ p->membase = ioremap(p->mapbase, SZ_8K);
+ if (!p->membase) {
+ printk(KERN_ERR "ioremap failed for uart%i\n", i + 1);
+ continue;
+ }
+
sprintf(name, "uart%d_ick", i+1);
uart->ick = clk_get(NULL, name);
if (IS_ERR(uart->ick)) {
#include <asm/system.h>
#include <mach/hardware.h>
- #include <mach/dma.h>
+ #include <plat/dma.h>
- #include <mach/tc.h>
+ #include <plat/tc.h>
#undef DEBUG
{
u32 l;
+ /* Disable all interrupts on the channel */
+ if (cpu_class_is_omap1())
+ dma_write(0, CICR(lch));
+
+ l = dma_read(CCR(lch));
+ l &= ~OMAP_DMA_CCR_EN;
+ dma_write(l, CCR(lch));
+
if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) {
int next_lch, cur_lch = lch;
char dma_chan_link_map[OMAP_DMA4_LOGICAL_DMA_CH_COUNT];
next_lch = dma_chan[cur_lch].next_lch;
cur_lch = next_lch;
} while (next_lch != -1);
-
- return;
}
- /* Disable all interrupts on the channel */
- if (cpu_class_is_omap1())
- dma_write(0, CICR(lch));
-
- l = dma_read(CCR(lch));
- l &= ~OMAP_DMA_CCR_EN;
- dma_write(l, CCR(lch));
-
dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE;
}
EXPORT_SYMBOL(omap_stop_dma);
static int __init omap_init_dma(void)
{
+ unsigned long base;
int ch, r;
if (cpu_class_is_omap1()) {
- omap_dma_base = OMAP1_IO_ADDRESS(OMAP1_DMA_BASE);
+ base = OMAP1_DMA_BASE;
dma_lch_count = OMAP1_LOGICAL_DMA_CH_COUNT;
} else if (cpu_is_omap24xx()) {
- omap_dma_base = OMAP2_IO_ADDRESS(OMAP24XX_DMA4_BASE);
+ base = OMAP24XX_DMA4_BASE;
dma_lch_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT;
} else if (cpu_is_omap34xx()) {
- omap_dma_base = OMAP2_IO_ADDRESS(OMAP34XX_DMA4_BASE);
+ base = OMAP34XX_DMA4_BASE;
dma_lch_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT;
} else if (cpu_is_omap44xx()) {
- omap_dma_base = OMAP2_IO_ADDRESS(OMAP44XX_DMA4_BASE);
+ base = OMAP44XX_DMA4_BASE;
dma_lch_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT;
} else {
pr_err("DMA init failed for unsupported omap\n");
return -ENODEV;
}
+ omap_dma_base = ioremap(base, SZ_4K);
+ BUG_ON(!omap_dma_base);
+
if (cpu_class_is_omap2() && omap_dma_reserve_channels
&& (omap_dma_reserve_channels <= dma_lch_count))
dma_lch_count = omap_dma_reserve_channels;
dma_chan = kzalloc(sizeof(struct omap_dma_lch) * dma_lch_count,
GFP_KERNEL);
- if (!dma_chan)
- return -ENOMEM;
+ if (!dma_chan) {
+ r = -ENOMEM;
+ goto out_unmap;
+ }
if (cpu_class_is_omap2()) {
dma_linked_lch = kzalloc(sizeof(struct dma_link_info) *
dma_lch_count, GFP_KERNEL);
if (!dma_linked_lch) {
- kfree(dma_chan);
- return -ENOMEM;
+ r = -ENOMEM;
+ goto out_free;
}
}
for (i = 0; i < ch; i++)
free_irq(omap1_dma_irq[i],
(void *) (i + 1));
- return r;
+ goto out_free;
}
}
}
"(error %d)\n", r);
for (i = 0; i < dma_chan_count; i++)
free_irq(omap1_dma_irq[i], (void *) (i + 1));
- return r;
+ goto out_free;
}
}
return 0;
+
+ out_free:
+ kfree(dma_chan);
+
+ out_unmap:
+ iounmap(omap_dma_base);
+
+ return r;
}
arch_initcall(omap_init_dma);
--- /dev/null
-#include <linux/input/matrix_keypad.h>
+ /*
+ * arch/arm/plat-omap/include/mach/keypad.h
+ *
+ * Copyright (C) 2006 Komal Shah <komal_shah802003@yahoo.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+ #ifndef ASMARM_ARCH_KEYPAD_H
+ #define ASMARM_ARCH_KEYPAD_H
+
++#warning: Please update the board to use matrix_keypad.h instead
+
+ struct omap_kp_platform_data {
+ int rows;
+ int cols;
+ int *keymap;
+ unsigned int keymapsize;
+ unsigned int rep:1;
+ unsigned long delay;
+ unsigned int dbounce:1;
+ /* specific to OMAP242x*/
+ unsigned int *row_gpios;
+ unsigned int *col_gpios;
+ };
+
+ /* Group (0..3) -- when multiple keys are pressed, only the
+ * keys pressed in the same group are considered as pressed. This is
+ * in order to workaround certain crappy HW designs that produce ghost
+ * keypresses. */
+ #define GROUP_0 (0 << 16)
+ #define GROUP_1 (1 << 16)
+ #define GROUP_2 (2 << 16)
+ #define GROUP_3 (3 << 16)
+ #define GROUP_MASK GROUP_3
+
+ #define KEY_PERSISTENT 0x00800000
+ #define KEYNUM_MASK 0x00EFFFFF
++#define KEY(col, row, val) (((col) << 28) | ((row) << 24) | (val))
++#define PERSISTENT_KEY(col, row) (((col) << 28) | ((row) << 24) | \
++ KEY_PERSISTENT)
+
+ #endif
+
#include <asm/cacheflush.h>
- #include <mach/iommu.h>
+ #include <plat/iommu.h>
#include "iopgtable.h"
nent = 1; /* for the next L1 entry */
} else {
bytes = IOPGD_SIZE;
- if (*iopgd & IOPGD_SUPER) {
+ if ((*iopgd & IOPGD_SUPER) == IOPGD_SUPER) {
nent *= 16;
/* rewind to the 1st entry */
iopgd = (u32 *)((u32)iopgd & IOSUPER_MASK);
#include <linux/i2c/twl4030.h>
#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)
- #include <mach/cpu.h>
+ #include <plat/cpu.h>
#endif
/*
twl->client = i2c_new_dummy(client->adapter,
twl->address);
if (!twl->client) {
- dev_err(&twl->client->dev,
+ dev_err(&client->dev,
"can't attach client %d\n", i);
status = -ENOMEM;
goto fail;
#include <linux/mmc/core.h>
#include <linux/io.h>
#include <linux/semaphore.h>
- #include <mach/dma.h>
+ #include <plat/dma.h>
#include <mach/hardware.h>
- #include <mach/board.h>
- #include <mach/mmc.h>
- #include <mach/cpu.h>
+ #include <plat/board.h>
+ #include <plat/mmc.h>
+ #include <plat/cpu.h>
/* OMAP HSMMC Host Controller Registers */
#define OMAP_HSMMC_SYSCONFIG 0x0010
static int __init omap_hsmmc_init(void)
{
/* Register the MMC driver */
- return platform_driver_register(&omap_hsmmc_driver);
+ return platform_driver_probe(&omap_hsmmc_driver, omap_hsmmc_probe);
}
static void __exit omap_hsmmc_cleanup(void)