Commit | Line | Data |
---|---|---|
d2912cb1 | 1 | // SPDX-License-Identifier: GPL-2.0-only |
e0a1961d UKK |
2 | /* |
3 | * Copyright (C) 2010 Pengutronix | |
4 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | |
e0a1961d | 5 | */ |
87dfb311 | 6 | #include <linux/sizes.h> |
50f2de61 SG |
7 | |
8 | #include "../hardware.h" | |
e0557c0d | 9 | #include "devices-common.h" |
e0a1961d | 10 | |
8c2efec3 | 11 | #define imx_imx2_wdt_data_entry_single(soc, _id, _hwid, _size) \ |
e0a1961d | 12 | { \ |
8c2efec3 FE |
13 | .id = _id, \ |
14 | .iobase = soc ## _WDOG ## _hwid ## _BASE_ADDR, \ | |
00871505 | 15 | .iosize = _size, \ |
e0a1961d | 16 | } |
8c2efec3 FE |
17 | #define imx_imx2_wdt_data_entry(soc, _id, _hwid, _size) \ |
18 | [_id] = imx_imx2_wdt_data_entry_single(soc, _id, _hwid, _size) | |
e0a1961d UKK |
19 | |
20 | #ifdef CONFIG_SOC_IMX21 | |
21 | const struct imx_imx2_wdt_data imx21_imx2_wdt_data __initconst = | |
8c2efec3 | 22 | imx_imx2_wdt_data_entry_single(MX21, 0, , SZ_4K); |
e0a1961d UKK |
23 | #endif /* ifdef CONFIG_SOC_IMX21 */ |
24 | ||
25 | #ifdef CONFIG_SOC_IMX27 | |
26 | const struct imx_imx2_wdt_data imx27_imx2_wdt_data __initconst = | |
8c2efec3 | 27 | imx_imx2_wdt_data_entry_single(MX27, 0, , SZ_4K); |
e0a1961d UKK |
28 | #endif /* ifdef CONFIG_SOC_IMX27 */ |
29 | ||
742269e2 UKK |
30 | #ifdef CONFIG_SOC_IMX31 |
31 | const struct imx_imx2_wdt_data imx31_imx2_wdt_data __initconst = | |
8c2efec3 | 32 | imx_imx2_wdt_data_entry_single(MX31, 0, , SZ_16K); |
742269e2 UKK |
33 | #endif /* ifdef CONFIG_SOC_IMX31 */ |
34 | ||
35 | #ifdef CONFIG_SOC_IMX35 | |
36 | const struct imx_imx2_wdt_data imx35_imx2_wdt_data __initconst = | |
8c2efec3 | 37 | imx_imx2_wdt_data_entry_single(MX35, 0, , SZ_16K); |
742269e2 UKK |
38 | #endif /* ifdef CONFIG_SOC_IMX35 */ |
39 | ||
e0a1961d UKK |
40 | struct platform_device *__init imx_add_imx2_wdt( |
41 | const struct imx_imx2_wdt_data *data) | |
42 | { | |
43 | struct resource res[] = { | |
44 | { | |
45 | .start = data->iobase, | |
00871505 | 46 | .end = data->iobase + data->iosize - 1, |
e0a1961d UKK |
47 | .flags = IORESOURCE_MEM, |
48 | }, | |
49 | }; | |
8c2efec3 | 50 | return imx_add_platform_device("imx2-wdt", data->id, |
e0a1961d UKK |
51 | res, ARRAY_SIZE(res), NULL, 0); |
52 | } |