mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 16:29:05 +00:00
omap: Clean the serial port defines
This way we don't have conflicts with the defines with compiling in multiple omaps. Set the addresses for uarts in struct omap_globals for the early serial init code. Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
4e6d488af3
commit
4f2c49fedf
@ -11,6 +11,10 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/serial_reg.h>
|
||||||
|
|
||||||
|
#include <plat/serial.h>
|
||||||
|
|
||||||
.macro addruart, rx, tmp
|
.macro addruart, rx, tmp
|
||||||
mrc p15, 0, \rx, c1, c0
|
mrc p15, 0, \rx, c1, c0
|
||||||
tst \rx, #1 @ MMU enabled?
|
tst \rx, #1 @ MMU enabled?
|
||||||
@ -30,13 +34,13 @@
|
|||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro busyuart,rd,rx
|
.macro busyuart,rd,rx
|
||||||
1001: ldrb \rd, [\rx, #(0x5 << 2)] @ OMAP-1510 and friends
|
1001: ldrb \rd, [\rx, #(UART_LSR << OMAP_PORT_SHIFT)]
|
||||||
and \rd, \rd, #0x60
|
and \rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE)
|
||||||
teq \rd, #0x60
|
teq \rd, #(UART_LSR_TEMT | UART_LSR_THRE)
|
||||||
beq 1002f
|
beq 1002f
|
||||||
ldrb \rd, [\rx, #(0x5 << 0)] @ OMAP-730 only
|
ldrb \rd, [\rx, #(UART_LSR << OMAP7XX_PORT_SHIFT)]
|
||||||
and \rd, \rd, #0x60
|
and \rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE)
|
||||||
teq \rd, #0x60
|
teq \rd, #(UART_LSR_TEMT | UART_LSR_THRE)
|
||||||
bne 1001b
|
bne 1001b
|
||||||
1002:
|
1002:
|
||||||
.endm
|
.endm
|
||||||
|
@ -64,7 +64,7 @@ static void __init omap_serial_reset(struct plat_serial8250_port *p)
|
|||||||
|
|
||||||
static struct plat_serial8250_port serial_platform_data[] = {
|
static struct plat_serial8250_port serial_platform_data[] = {
|
||||||
{
|
{
|
||||||
.mapbase = OMAP_UART1_BASE,
|
.mapbase = OMAP1_UART1_BASE,
|
||||||
.irq = INT_UART1,
|
.irq = INT_UART1,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.iotype = UPIO_MEM,
|
.iotype = UPIO_MEM,
|
||||||
@ -72,7 +72,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
|
|||||||
.uartclk = OMAP16XX_BASE_BAUD * 16,
|
.uartclk = OMAP16XX_BASE_BAUD * 16,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.mapbase = OMAP_UART2_BASE,
|
.mapbase = OMAP1_UART2_BASE,
|
||||||
.irq = INT_UART2,
|
.irq = INT_UART2,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.iotype = UPIO_MEM,
|
.iotype = UPIO_MEM,
|
||||||
@ -80,7 +80,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
|
|||||||
.uartclk = OMAP16XX_BASE_BAUD * 16,
|
.uartclk = OMAP16XX_BASE_BAUD * 16,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.mapbase = OMAP_UART3_BASE,
|
.mapbase = OMAP1_UART3_BASE,
|
||||||
.irq = INT_UART3,
|
.irq = INT_UART3,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.iotype = UPIO_MEM,
|
.iotype = UPIO_MEM,
|
||||||
|
@ -68,7 +68,7 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
|
|||||||
|
|
||||||
static void __init omap_sdp_map_io(void)
|
static void __init omap_sdp_map_io(void)
|
||||||
{
|
{
|
||||||
omap2_set_globals_343x();
|
omap2_set_globals_36xx();
|
||||||
omap2_map_common_io();
|
omap2_map_common_io();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
static void __init omap_zoom_map_io(void)
|
static void __init omap_zoom_map_io(void)
|
||||||
{
|
{
|
||||||
omap2_set_globals_343x();
|
omap2_set_globals_36xx();
|
||||||
omap2_map_common_io();
|
omap2_map_common_io();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,6 +11,10 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/serial_reg.h>
|
||||||
|
|
||||||
|
#include <plat/serial.h>
|
||||||
|
|
||||||
.macro addruart, rx, tmp
|
.macro addruart, rx, tmp
|
||||||
mrc p15, 0, \rx, c1, c0
|
mrc p15, 0, \rx, c1, c0
|
||||||
tst \rx, #1 @ MMU enabled?
|
tst \rx, #1 @ MMU enabled?
|
||||||
@ -44,15 +48,10 @@
|
|||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro busyuart,rd,rx
|
.macro busyuart,rd,rx
|
||||||
1001: ldrb \rd, [\rx, #(0x5 << 2)] @ OMAP-1510 and friends
|
1001: ldrb \rd, [\rx, #(UART_LSR << OMAP_PORT_SHIFT)]
|
||||||
and \rd, \rd, #0x60
|
and \rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE)
|
||||||
teq \rd, #0x60
|
teq \rd, #(UART_LSR_TEMT | UART_LSR_THRE)
|
||||||
beq 1002f
|
|
||||||
ldrb \rd, [\rx, #(0x5 << 0)] @ OMAP-730 only
|
|
||||||
and \rd, \rd, #0x60
|
|
||||||
teq \rd, #0x60
|
|
||||||
bne 1001b
|
bne 1001b
|
||||||
1002:
|
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro waituart,rd,rx
|
.macro waituart,rd,rx
|
||||||
|
@ -74,7 +74,6 @@ static LIST_HEAD(uart_list);
|
|||||||
|
|
||||||
static struct plat_serial8250_port serial_platform_data0[] = {
|
static struct plat_serial8250_port serial_platform_data0[] = {
|
||||||
{
|
{
|
||||||
.mapbase = OMAP_UART1_BASE,
|
|
||||||
.irq = 72,
|
.irq = 72,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.iotype = UPIO_MEM,
|
.iotype = UPIO_MEM,
|
||||||
@ -87,7 +86,6 @@ static struct plat_serial8250_port serial_platform_data0[] = {
|
|||||||
|
|
||||||
static struct plat_serial8250_port serial_platform_data1[] = {
|
static struct plat_serial8250_port serial_platform_data1[] = {
|
||||||
{
|
{
|
||||||
.mapbase = OMAP_UART2_BASE,
|
|
||||||
.irq = 73,
|
.irq = 73,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.iotype = UPIO_MEM,
|
.iotype = UPIO_MEM,
|
||||||
@ -100,7 +98,6 @@ static struct plat_serial8250_port serial_platform_data1[] = {
|
|||||||
|
|
||||||
static struct plat_serial8250_port serial_platform_data2[] = {
|
static struct plat_serial8250_port serial_platform_data2[] = {
|
||||||
{
|
{
|
||||||
.mapbase = OMAP_UART3_BASE,
|
|
||||||
.irq = 74,
|
.irq = 74,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.iotype = UPIO_MEM,
|
.iotype = UPIO_MEM,
|
||||||
@ -114,7 +111,6 @@ static struct plat_serial8250_port serial_platform_data2[] = {
|
|||||||
#ifdef CONFIG_ARCH_OMAP4
|
#ifdef CONFIG_ARCH_OMAP4
|
||||||
static struct plat_serial8250_port serial_platform_data3[] = {
|
static struct plat_serial8250_port serial_platform_data3[] = {
|
||||||
{
|
{
|
||||||
.mapbase = OMAP_UART4_BASE,
|
|
||||||
.irq = 70,
|
.irq = 70,
|
||||||
.flags = UPF_BOOT_AUTOCONF,
|
.flags = UPF_BOOT_AUTOCONF,
|
||||||
.iotype = UPIO_MEM,
|
.iotype = UPIO_MEM,
|
||||||
@ -125,6 +121,17 @@ static struct plat_serial8250_port serial_platform_data3[] = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void __init omap2_set_globals_uart(struct omap_globals *omap2_globals)
|
||||||
|
{
|
||||||
|
serial_platform_data0[0].mapbase = omap2_globals->uart1_phys;
|
||||||
|
serial_platform_data1[0].mapbase = omap2_globals->uart2_phys;
|
||||||
|
serial_platform_data2[0].mapbase = omap2_globals->uart3_phys;
|
||||||
|
#ifdef CONFIG_ARCH_OMAP4
|
||||||
|
serial_platform_data3[0].mapbase = omap2_globals->uart4_phys;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static inline unsigned int __serial_read_reg(struct uart_port *up,
|
static inline unsigned int __serial_read_reg(struct uart_port *up,
|
||||||
int offset)
|
int offset)
|
||||||
{
|
{
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include <plat/control.h>
|
#include <plat/control.h>
|
||||||
#include <plat/mux.h>
|
#include <plat/mux.h>
|
||||||
#include <plat/fpga.h>
|
#include <plat/fpga.h>
|
||||||
|
#include <plat/serial.h>
|
||||||
|
|
||||||
#include <plat/clock.h>
|
#include <plat/clock.h>
|
||||||
|
|
||||||
@ -219,6 +220,7 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals)
|
|||||||
omap2_set_globals_sdrc(omap2_globals);
|
omap2_set_globals_sdrc(omap2_globals);
|
||||||
omap2_set_globals_control(omap2_globals);
|
omap2_set_globals_control(omap2_globals);
|
||||||
omap2_set_globals_prcm(omap2_globals);
|
omap2_set_globals_prcm(omap2_globals);
|
||||||
|
omap2_set_globals_uart(omap2_globals);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -233,6 +235,9 @@ static struct omap_globals omap242x_globals = {
|
|||||||
.ctrl = OMAP2_L4_IO_ADDRESS(OMAP2420_CTRL_BASE),
|
.ctrl = OMAP2_L4_IO_ADDRESS(OMAP2420_CTRL_BASE),
|
||||||
.prm = OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE),
|
.prm = OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE),
|
||||||
.cm = OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE),
|
.cm = OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE),
|
||||||
|
.uart1_phys = OMAP2_UART1_BASE,
|
||||||
|
.uart2_phys = OMAP2_UART2_BASE,
|
||||||
|
.uart3_phys = OMAP2_UART3_BASE,
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init omap2_set_globals_242x(void)
|
void __init omap2_set_globals_242x(void)
|
||||||
@ -251,6 +256,9 @@ static struct omap_globals omap243x_globals = {
|
|||||||
.ctrl = OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE),
|
.ctrl = OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE),
|
||||||
.prm = OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE),
|
.prm = OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE),
|
||||||
.cm = OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE),
|
.cm = OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE),
|
||||||
|
.uart1_phys = OMAP2_UART1_BASE,
|
||||||
|
.uart2_phys = OMAP2_UART2_BASE,
|
||||||
|
.uart3_phys = OMAP2_UART3_BASE,
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init omap2_set_globals_243x(void)
|
void __init omap2_set_globals_243x(void)
|
||||||
@ -259,9 +267,9 @@ void __init omap2_set_globals_243x(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_ARCH_OMAP3430)
|
#if defined(CONFIG_ARCH_OMAP3)
|
||||||
|
|
||||||
static struct omap_globals omap343x_globals = {
|
static struct omap_globals omap3_globals = {
|
||||||
.class = OMAP343X_CLASS,
|
.class = OMAP343X_CLASS,
|
||||||
.tap = OMAP2_L4_IO_ADDRESS(0x4830A000),
|
.tap = OMAP2_L4_IO_ADDRESS(0x4830A000),
|
||||||
.sdrc = OMAP2_L3_IO_ADDRESS(OMAP343X_SDRC_BASE),
|
.sdrc = OMAP2_L3_IO_ADDRESS(OMAP343X_SDRC_BASE),
|
||||||
@ -269,11 +277,21 @@ static struct omap_globals omap343x_globals = {
|
|||||||
.ctrl = OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE),
|
.ctrl = OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE),
|
||||||
.prm = OMAP2_L4_IO_ADDRESS(OMAP3430_PRM_BASE),
|
.prm = OMAP2_L4_IO_ADDRESS(OMAP3430_PRM_BASE),
|
||||||
.cm = OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE),
|
.cm = OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE),
|
||||||
|
.uart1_phys = OMAP3_UART1_BASE,
|
||||||
|
.uart2_phys = OMAP3_UART2_BASE,
|
||||||
|
.uart3_phys = OMAP3_UART3_BASE,
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init omap2_set_globals_343x(void)
|
void __init omap2_set_globals_343x(void)
|
||||||
{
|
{
|
||||||
__omap2_set_globals(&omap343x_globals);
|
__omap2_set_globals(&omap3_globals);
|
||||||
|
}
|
||||||
|
|
||||||
|
void __init omap2_set_globals_36xx(void)
|
||||||
|
{
|
||||||
|
omap3_globals.uart4_phys = OMAP3_UART4_BASE;
|
||||||
|
|
||||||
|
__omap2_set_globals(&omap3_globals);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -285,6 +303,10 @@ static struct omap_globals omap4_globals = {
|
|||||||
.prm = OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE),
|
.prm = OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE),
|
||||||
.cm = OMAP2_L4_IO_ADDRESS(OMAP4430_CM_BASE),
|
.cm = OMAP2_L4_IO_ADDRESS(OMAP4430_CM_BASE),
|
||||||
.cm2 = OMAP2_L4_IO_ADDRESS(OMAP4430_CM2_BASE),
|
.cm2 = OMAP2_L4_IO_ADDRESS(OMAP4430_CM2_BASE),
|
||||||
|
.uart1_phys = OMAP4_UART1_BASE,
|
||||||
|
.uart2_phys = OMAP4_UART2_BASE,
|
||||||
|
.uart3_phys = OMAP4_UART3_BASE,
|
||||||
|
.uart4_phys = OMAP4_UART4_BASE,
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init omap2_set_globals_443x(void)
|
void __init omap2_set_globals_443x(void)
|
||||||
@ -292,6 +314,7 @@ void __init omap2_set_globals_443x(void)
|
|||||||
omap2_set_globals_tap(&omap4_globals);
|
omap2_set_globals_tap(&omap4_globals);
|
||||||
omap2_set_globals_control(&omap4_globals);
|
omap2_set_globals_control(&omap4_globals);
|
||||||
omap2_set_globals_prcm(&omap4_globals);
|
omap2_set_globals_prcm(&omap4_globals);
|
||||||
|
omap2_set_globals_uart(&omap4_globals);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -47,11 +47,16 @@ struct omap_globals {
|
|||||||
void __iomem *prm; /* Power and Reset Management */
|
void __iomem *prm; /* Power and Reset Management */
|
||||||
void __iomem *cm; /* Clock Management */
|
void __iomem *cm; /* Clock Management */
|
||||||
void __iomem *cm2;
|
void __iomem *cm2;
|
||||||
|
unsigned long uart1_phys;
|
||||||
|
unsigned long uart2_phys;
|
||||||
|
unsigned long uart3_phys;
|
||||||
|
unsigned long uart4_phys;
|
||||||
};
|
};
|
||||||
|
|
||||||
void omap2_set_globals_242x(void);
|
void omap2_set_globals_242x(void);
|
||||||
void omap2_set_globals_243x(void);
|
void omap2_set_globals_243x(void);
|
||||||
void omap2_set_globals_343x(void);
|
void omap2_set_globals_343x(void);
|
||||||
|
void omap2_set_globals_36xx(void);
|
||||||
void omap2_set_globals_443x(void);
|
void omap2_set_globals_443x(void);
|
||||||
|
|
||||||
/* These get called from omap2_set_globals_xxxx(), do not call these */
|
/* These get called from omap2_set_globals_xxxx(), do not call these */
|
||||||
@ -59,6 +64,7 @@ void omap2_set_globals_tap(struct omap_globals *);
|
|||||||
void omap2_set_globals_sdrc(struct omap_globals *);
|
void omap2_set_globals_sdrc(struct omap_globals *);
|
||||||
void omap2_set_globals_control(struct omap_globals *);
|
void omap2_set_globals_control(struct omap_globals *);
|
||||||
void omap2_set_globals_prcm(struct omap_globals *);
|
void omap2_set_globals_prcm(struct omap_globals *);
|
||||||
|
void omap2_set_globals_uart(struct omap_globals *);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* omap_test_timeout - busy-loop, testing a condition
|
* omap_test_timeout - busy-loop, testing a condition
|
||||||
|
@ -125,43 +125,43 @@
|
|||||||
#define OMAP16XX_MMCSD2_SSW_MPU_CONF (TIPB_SWITCH_BASE + 0x160)
|
#define OMAP16XX_MMCSD2_SSW_MPU_CONF (TIPB_SWITCH_BASE + 0x160)
|
||||||
|
|
||||||
/* UART3 Registers Mapping through MPU bus */
|
/* UART3 Registers Mapping through MPU bus */
|
||||||
#define UART3_RHR (OMAP_UART3_BASE + 0)
|
#define UART3_RHR (OMAP1_UART3_BASE + 0)
|
||||||
#define UART3_THR (OMAP_UART3_BASE + 0)
|
#define UART3_THR (OMAP1_UART3_BASE + 0)
|
||||||
#define UART3_DLL (OMAP_UART3_BASE + 0)
|
#define UART3_DLL (OMAP1_UART3_BASE + 0)
|
||||||
#define UART3_IER (OMAP_UART3_BASE + 4)
|
#define UART3_IER (OMAP1_UART3_BASE + 4)
|
||||||
#define UART3_DLH (OMAP_UART3_BASE + 4)
|
#define UART3_DLH (OMAP1_UART3_BASE + 4)
|
||||||
#define UART3_IIR (OMAP_UART3_BASE + 8)
|
#define UART3_IIR (OMAP1_UART3_BASE + 8)
|
||||||
#define UART3_FCR (OMAP_UART3_BASE + 8)
|
#define UART3_FCR (OMAP1_UART3_BASE + 8)
|
||||||
#define UART3_EFR (OMAP_UART3_BASE + 8)
|
#define UART3_EFR (OMAP1_UART3_BASE + 8)
|
||||||
#define UART3_LCR (OMAP_UART3_BASE + 0x0C)
|
#define UART3_LCR (OMAP1_UART3_BASE + 0x0C)
|
||||||
#define UART3_MCR (OMAP_UART3_BASE + 0x10)
|
#define UART3_MCR (OMAP1_UART3_BASE + 0x10)
|
||||||
#define UART3_XON1_ADDR1 (OMAP_UART3_BASE + 0x10)
|
#define UART3_XON1_ADDR1 (OMAP1_UART3_BASE + 0x10)
|
||||||
#define UART3_XON2_ADDR2 (OMAP_UART3_BASE + 0x14)
|
#define UART3_XON2_ADDR2 (OMAP1_UART3_BASE + 0x14)
|
||||||
#define UART3_LSR (OMAP_UART3_BASE + 0x14)
|
#define UART3_LSR (OMAP1_UART3_BASE + 0x14)
|
||||||
#define UART3_TCR (OMAP_UART3_BASE + 0x18)
|
#define UART3_TCR (OMAP1_UART3_BASE + 0x18)
|
||||||
#define UART3_MSR (OMAP_UART3_BASE + 0x18)
|
#define UART3_MSR (OMAP1_UART3_BASE + 0x18)
|
||||||
#define UART3_XOFF1 (OMAP_UART3_BASE + 0x18)
|
#define UART3_XOFF1 (OMAP1_UART3_BASE + 0x18)
|
||||||
#define UART3_XOFF2 (OMAP_UART3_BASE + 0x1C)
|
#define UART3_XOFF2 (OMAP1_UART3_BASE + 0x1C)
|
||||||
#define UART3_SPR (OMAP_UART3_BASE + 0x1C)
|
#define UART3_SPR (OMAP1_UART3_BASE + 0x1C)
|
||||||
#define UART3_TLR (OMAP_UART3_BASE + 0x1C)
|
#define UART3_TLR (OMAP1_UART3_BASE + 0x1C)
|
||||||
#define UART3_MDR1 (OMAP_UART3_BASE + 0x20)
|
#define UART3_MDR1 (OMAP1_UART3_BASE + 0x20)
|
||||||
#define UART3_MDR2 (OMAP_UART3_BASE + 0x24)
|
#define UART3_MDR2 (OMAP1_UART3_BASE + 0x24)
|
||||||
#define UART3_SFLSR (OMAP_UART3_BASE + 0x28)
|
#define UART3_SFLSR (OMAP1_UART3_BASE + 0x28)
|
||||||
#define UART3_TXFLL (OMAP_UART3_BASE + 0x28)
|
#define UART3_TXFLL (OMAP1_UART3_BASE + 0x28)
|
||||||
#define UART3_RESUME (OMAP_UART3_BASE + 0x2C)
|
#define UART3_RESUME (OMAP1_UART3_BASE + 0x2C)
|
||||||
#define UART3_TXFLH (OMAP_UART3_BASE + 0x2C)
|
#define UART3_TXFLH (OMAP1_UART3_BASE + 0x2C)
|
||||||
#define UART3_SFREGL (OMAP_UART3_BASE + 0x30)
|
#define UART3_SFREGL (OMAP1_UART3_BASE + 0x30)
|
||||||
#define UART3_RXFLL (OMAP_UART3_BASE + 0x30)
|
#define UART3_RXFLL (OMAP1_UART3_BASE + 0x30)
|
||||||
#define UART3_SFREGH (OMAP_UART3_BASE + 0x34)
|
#define UART3_SFREGH (OMAP1_UART3_BASE + 0x34)
|
||||||
#define UART3_RXFLH (OMAP_UART3_BASE + 0x34)
|
#define UART3_RXFLH (OMAP1_UART3_BASE + 0x34)
|
||||||
#define UART3_BLR (OMAP_UART3_BASE + 0x38)
|
#define UART3_BLR (OMAP1_UART3_BASE + 0x38)
|
||||||
#define UART3_ACREG (OMAP_UART3_BASE + 0x3C)
|
#define UART3_ACREG (OMAP1_UART3_BASE + 0x3C)
|
||||||
#define UART3_DIV16 (OMAP_UART3_BASE + 0x3C)
|
#define UART3_DIV16 (OMAP1_UART3_BASE + 0x3C)
|
||||||
#define UART3_SCR (OMAP_UART3_BASE + 0x40)
|
#define UART3_SCR (OMAP1_UART3_BASE + 0x40)
|
||||||
#define UART3_SSR (OMAP_UART3_BASE + 0x44)
|
#define UART3_SSR (OMAP1_UART3_BASE + 0x44)
|
||||||
#define UART3_EBLR (OMAP_UART3_BASE + 0x48)
|
#define UART3_EBLR (OMAP1_UART3_BASE + 0x48)
|
||||||
#define UART3_OSC_12M_SEL (OMAP_UART3_BASE + 0x4C)
|
#define UART3_OSC_12M_SEL (OMAP1_UART3_BASE + 0x4C)
|
||||||
#define UART3_MVR (OMAP_UART3_BASE + 0x50)
|
#define UART3_MVR (OMAP1_UART3_BASE + 0x50)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ---------------------------------------------------------------------------
|
* ---------------------------------------------------------------------------
|
||||||
|
@ -15,37 +15,40 @@
|
|||||||
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
|
||||||
#if defined(CONFIG_ARCH_OMAP1)
|
|
||||||
/* OMAP1 serial ports */
|
/* OMAP1 serial ports */
|
||||||
#define OMAP_UART1_BASE 0xfffb0000
|
#define OMAP1_UART1_BASE 0xfffb0000
|
||||||
#define OMAP_UART2_BASE 0xfffb0800
|
#define OMAP1_UART2_BASE 0xfffb0800
|
||||||
#define OMAP_UART3_BASE 0xfffb9800
|
#define OMAP1_UART3_BASE 0xfffb9800
|
||||||
#elif defined(CONFIG_ARCH_OMAP2)
|
|
||||||
/* OMAP2 serial ports */
|
/* OMAP2 serial ports */
|
||||||
#define OMAP_UART1_BASE 0x4806a000
|
#define OMAP2_UART1_BASE 0x4806a000
|
||||||
#define OMAP_UART2_BASE 0x4806c000
|
#define OMAP2_UART2_BASE 0x4806c000
|
||||||
#define OMAP_UART3_BASE 0x4806e000
|
#define OMAP2_UART3_BASE 0x4806e000
|
||||||
#elif defined(CONFIG_ARCH_OMAP3)
|
|
||||||
/* OMAP3 serial ports */
|
/* OMAP3 serial ports */
|
||||||
#define OMAP_UART1_BASE 0x4806a000
|
#define OMAP3_UART1_BASE 0x4806a000
|
||||||
#define OMAP_UART2_BASE 0x4806c000
|
#define OMAP3_UART2_BASE 0x4806c000
|
||||||
#define OMAP_UART3_BASE 0x49020000
|
#define OMAP3_UART3_BASE 0x49020000
|
||||||
#elif defined(CONFIG_ARCH_OMAP4)
|
#define OMAP3_UART4_BASE 0x49042000 /* Only on 36xx */
|
||||||
|
|
||||||
/* OMAP4 serial ports */
|
/* OMAP4 serial ports */
|
||||||
#define OMAP_UART1_BASE 0x4806a000
|
#define OMAP4_UART1_BASE 0x4806a000
|
||||||
#define OMAP_UART2_BASE 0x4806c000
|
#define OMAP4_UART2_BASE 0x4806c000
|
||||||
#define OMAP_UART3_BASE 0x48020000
|
#define OMAP4_UART3_BASE 0x48020000
|
||||||
#define OMAP_UART4_BASE 0x4806e000
|
#define OMAP4_UART4_BASE 0x4806e000
|
||||||
#endif
|
|
||||||
|
#define OMAP_PORT_SHIFT 2
|
||||||
|
#define OMAP7XX_PORT_SHIFT 0
|
||||||
|
|
||||||
#define OMAP1510_BASE_BAUD (12000000/16)
|
#define OMAP1510_BASE_BAUD (12000000/16)
|
||||||
#define OMAP16XX_BASE_BAUD (48000000/16)
|
#define OMAP16XX_BASE_BAUD (48000000/16)
|
||||||
#define OMAP24XX_BASE_BAUD (48000000/16)
|
#define OMAP24XX_BASE_BAUD (48000000/16)
|
||||||
|
|
||||||
|
/* This is only used by 8250.c for omap1510 */
|
||||||
#define is_omap_port(pt) ({int __ret = 0; \
|
#define is_omap_port(pt) ({int __ret = 0; \
|
||||||
if ((pt)->port.mapbase == OMAP_UART1_BASE || \
|
if ((pt)->port.mapbase == OMAP1_UART1_BASE || \
|
||||||
(pt)->port.mapbase == OMAP_UART2_BASE || \
|
(pt)->port.mapbase == OMAP1_UART2_BASE || \
|
||||||
(pt)->port.mapbase == OMAP_UART3_BASE) \
|
(pt)->port.mapbase == OMAP1_UART3_BASE) \
|
||||||
__ret = 1; \
|
__ret = 1; \
|
||||||
__ret; \
|
__ret; \
|
||||||
})
|
})
|
||||||
|
@ -40,12 +40,13 @@ static void putc(int c)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_OMAP
|
#ifdef CONFIG_ARCH_OMAP
|
||||||
|
/* Will get removed in the next patch, set to OMAP3 to compile */
|
||||||
#ifdef CONFIG_OMAP_LL_DEBUG_UART3
|
#ifdef CONFIG_OMAP_LL_DEBUG_UART3
|
||||||
uart = (volatile u8 *)(OMAP_UART3_BASE);
|
uart = (volatile u8 *)(OMAP3_UART3_BASE);
|
||||||
#elif defined(CONFIG_OMAP_LL_DEBUG_UART2)
|
#elif defined(CONFIG_OMAP_LL_DEBUG_UART2)
|
||||||
uart = (volatile u8 *)(OMAP_UART2_BASE);
|
uart = (volatile u8 *)(OMAP3_UART2_BASE);
|
||||||
#elif defined(CONFIG_OMAP_LL_DEBUG_UART1)
|
#elif defined(CONFIG_OMAP_LL_DEBUG_UART1)
|
||||||
uart = (volatile u8 *)(OMAP_UART1_BASE);
|
uart = (volatile u8 *)(OMAP3_UART1_BASE);
|
||||||
#elif defined(CONFIG_OMAP_LL_DEBUG_NONE)
|
#elif defined(CONFIG_OMAP_LL_DEBUG_NONE)
|
||||||
return;
|
return;
|
||||||
#else
|
#else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user