summaryrefslogtreecommitdiff
path: root/arch/arm/mach-mxs/devices/amba-duart.c
blob: a5479f7660469946071dccfacae3637d8d8106d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
 * 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},				\
}

#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);
}