forked from Minki/linux
dbc4245bb5
The mxs duart is actually an amba-pl011 device. This commit changes the duart device code to dynamically allocate amba-pl011 device, so that drivers/serial/amba-pl011.c can be used on mxs. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
41 lines
1.0 KiB
C
41 lines
1.0 KiB
C
/*
|
|
* Copyright (C) 2009-2010 Pengutronix
|
|
* Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
|
|
*
|
|
* Copyright 2010 Freescale Semiconductor, Inc. All Rights Reserved.
|
|
*
|
|
* 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.
|
|
*/
|
|
#include <asm/irq.h>
|
|
#include <mach/mx23.h>
|
|
#include <mach/mx28.h>
|
|
#include <mach/devices-common.h>
|
|
|
|
#define MXS_AMBA_DUART_DEVICE(name, soc) \
|
|
const struct amba_device name##_device __initconst = { \
|
|
.dev = { \
|
|
.init_name = "duart", \
|
|
}, \
|
|
.res = { \
|
|
.start = soc ## _DUART_BASE_ADDR, \
|
|
.end = (soc ## _DUART_BASE_ADDR) + SZ_8K - 1, \
|
|
.flags = IORESOURCE_MEM, \
|
|
}, \
|
|
.irq = {soc ## _INT_DUART, NO_IRQ}, \
|
|
}
|
|
|
|
#ifdef CONFIG_SOC_IMX23
|
|
MXS_AMBA_DUART_DEVICE(mx23_duart, MX23);
|
|
#endif
|
|
|
|
#ifdef CONFIG_SOC_IMX28
|
|
MXS_AMBA_DUART_DEVICE(mx28_duart, MX28);
|
|
#endif
|
|
|
|
int __init mxs_add_duart(const struct amba_device *dev)
|
|
{
|
|
return mxs_add_amba_device(dev);
|
|
}
|