|
@@ -15,8 +15,11 @@
|
|
#include <linux/kernel.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/init.h>
|
|
#include <linux/init.h>
|
|
#include <linux/input.h>
|
|
#include <linux/input.h>
|
|
|
|
+#include <linux/interrupt.h>
|
|
#include <linux/platform_device.h>
|
|
#include <linux/platform_device.h>
|
|
|
|
+#include <linux/serial_8250.h>
|
|
|
|
|
|
|
|
+#include <asm/serial.h>
|
|
#include <mach/hardware.h>
|
|
#include <mach/hardware.h>
|
|
#include <asm/mach-types.h>
|
|
#include <asm/mach-types.h>
|
|
#include <asm/mach/arch.h>
|
|
#include <asm/mach/arch.h>
|
|
@@ -230,6 +233,41 @@ static void __init ams_delta_init(void)
|
|
platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices));
|
|
platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static struct plat_serial8250_port ams_delta_modem_ports[] = {
|
|
|
|
+ {
|
|
|
|
+ .membase = (void *) AMS_DELTA_MODEM_VIRT,
|
|
|
|
+ .mapbase = AMS_DELTA_MODEM_PHYS,
|
|
|
|
+ .irq = -EINVAL, /* changed later */
|
|
|
|
+ .flags = UPF_BOOT_AUTOCONF,
|
|
|
|
+ .irqflags = IRQF_TRIGGER_RISING,
|
|
|
|
+ .iotype = UPIO_MEM,
|
|
|
|
+ .regshift = 1,
|
|
|
|
+ .uartclk = BASE_BAUD * 16,
|
|
|
|
+ },
|
|
|
|
+ { },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device ams_delta_modem_device = {
|
|
|
|
+ .name = "serial8250",
|
|
|
|
+ .id = PLAT8250_DEV_PLATFORM1,
|
|
|
|
+ .dev = {
|
|
|
|
+ .platform_data = ams_delta_modem_ports,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static int __init ams_delta_modem_init(void)
|
|
|
|
+{
|
|
|
|
+ omap_cfg_reg(M14_1510_GPIO2);
|
|
|
|
+ ams_delta_modem_ports[0].irq = gpio_to_irq(2);
|
|
|
|
+
|
|
|
|
+ ams_delta_latch2_write(
|
|
|
|
+ AMS_DELTA_LATCH2_MODEM_NRESET | AMS_DELTA_LATCH2_MODEM_CODEC,
|
|
|
|
+ AMS_DELTA_LATCH2_MODEM_NRESET | AMS_DELTA_LATCH2_MODEM_CODEC);
|
|
|
|
+
|
|
|
|
+ return platform_device_register(&ams_delta_modem_device);
|
|
|
|
+}
|
|
|
|
+arch_initcall(ams_delta_modem_init);
|
|
|
|
+
|
|
static void __init ams_delta_map_io(void)
|
|
static void __init ams_delta_map_io(void)
|
|
{
|
|
{
|
|
omap1_map_common_io();
|
|
omap1_map_common_io();
|