aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2015-03-10 21:40:02 -0400
committerShawn Guo <shawn.guo@linaro.org>2015-03-10 21:56:23 -0400
commit3877942b0c7f36c82b2f05e84776b2dfe1afb784 (patch)
treece0a5a4d48804543d31482674242a2a8928ed28b /arch/arm/mach-imx
parentf027e601f8f7903ac6f33741f9e513aaf8391bc8 (diff)
ARM: imx25: Remove eukrea mx25 board files
eukrea mx25 is well supported in device tree, so let's get rid of its board files. Cc: Eric Bénard <eric@eukrea.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r--arch/arm/mach-imx/Kconfig34
-rw-r--r--arch/arm/mach-imx/Makefile2
-rw-r--r--arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c310
-rw-r--r--arch/arm/mach-imx/mach-eukrea_cpuimx25.c172
4 files changed, 0 insertions, 518 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 247a465eb203..6eec6253d94d 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -149,40 +149,6 @@ config MACH_MX21ADS
149 Include support for MX21ADS platform. This includes specific 149 Include support for MX21ADS platform. This includes specific
150 configurations for the board and its peripherals. 150 configurations for the board and its peripherals.
151 151
152comment "MX25 platforms:"
153
154config MACH_EUKREA_CPUIMX25SD
155 bool "Support Eukrea CPUIMX25 Platform"
156 select IMX_HAVE_PLATFORM_FLEXCAN
157 select IMX_HAVE_PLATFORM_FSL_USB2_UDC
158 select IMX_HAVE_PLATFORM_IMX2_WDT
159 select IMX_HAVE_PLATFORM_IMXDI_RTC
160 select IMX_HAVE_PLATFORM_IMX_FB
161 select IMX_HAVE_PLATFORM_IMX_I2C
162 select IMX_HAVE_PLATFORM_IMX_UART
163 select IMX_HAVE_PLATFORM_MXC_EHCI
164 select IMX_HAVE_PLATFORM_MXC_NAND
165 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
166 select USB_ULPI_VIEWPORT if USB_ULPI
167 select SOC_IMX25
168
169choice
170 prompt "Baseboard"
171 depends on MACH_EUKREA_CPUIMX25SD
172 default MACH_EUKREA_MBIMXSD25_BASEBOARD
173
174config MACH_EUKREA_MBIMXSD25_BASEBOARD
175 bool "Eukrea MBIMXSD development board"
176 select IMX_HAVE_PLATFORM_GPIO_KEYS
177 select IMX_HAVE_PLATFORM_IMX_SSI
178 select IMX_HAVE_PLATFORM_SPI_IMX
179 select LEDS_GPIO_REGISTER
180 help
181 This adds board specific devices that can be found on Eukrea's
182 MBIMXSD evaluation board.
183
184endchoice
185
186config MACH_IMX25_DT 152config MACH_IMX25_DT
187 bool "Support i.MX25 platforms from device tree" 153 bool "Support i.MX25 platforms from device tree"
188 select SOC_IMX25 154 select SOC_IMX25
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index e92ede9b1ad1..724b7fbe417b 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -49,8 +49,6 @@ obj-$(CONFIG_MACH_IMX1_DT) += imx1-dt.o
49obj-$(CONFIG_MACH_MX21ADS) += mach-mx21ads.o 49obj-$(CONFIG_MACH_MX21ADS) += mach-mx21ads.o
50 50
51# i.MX25 based machines 51# i.MX25 based machines
52obj-$(CONFIG_MACH_EUKREA_CPUIMX25SD) += mach-eukrea_cpuimx25.o
53obj-$(CONFIG_MACH_EUKREA_MBIMXSD25_BASEBOARD) += eukrea_mbimxsd25-baseboard.o
54obj-$(CONFIG_MACH_IMX25_DT) += imx25-dt.o 52obj-$(CONFIG_MACH_IMX25_DT) += imx25-dt.o
55 53
56# i.MX27 based machines 54# i.MX27 based machines
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c
deleted file mode 100644
index 10e53818e003..000000000000
--- a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c
+++ /dev/null
@@ -1,310 +0,0 @@
1/*
2 * Copyright (C) 2010 Eric Benard - eric@eukrea.com
3 *
4 * Based on pcm970-baseboard.c which is :
5 * Copyright (C) 2008 Juergen Beisert (kernel@pengutronix.de)
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19 * MA 02110-1301, USA.
20 */
21
22#include <linux/gpio.h>
23#include <linux/leds.h>
24#include <linux/platform_device.h>
25#include <linux/input.h>
26#include <linux/spi/spi.h>
27#include <video/platform_lcd.h>
28
29#include <asm/mach-types.h>
30#include <asm/mach/arch.h>
31
32#include "common.h"
33#include "devices-imx25.h"
34#include "hardware.h"
35#include "iomux-mx25.h"
36#include "mx25.h"
37
38static const iomux_v3_cfg_t eukrea_mbimxsd_pads[] __initconst = {
39 /* LCD */
40 MX25_PAD_LD0__LD0,
41 MX25_PAD_LD1__LD1,
42 MX25_PAD_LD2__LD2,
43 MX25_PAD_LD3__LD3,
44 MX25_PAD_LD4__LD4,
45 MX25_PAD_LD5__LD5,
46 MX25_PAD_LD6__LD6,
47 MX25_PAD_LD7__LD7,
48 MX25_PAD_LD8__LD8,
49 MX25_PAD_LD9__LD9,
50 MX25_PAD_LD10__LD10,
51 MX25_PAD_LD11__LD11,
52 MX25_PAD_LD12__LD12,
53 MX25_PAD_LD13__LD13,
54 MX25_PAD_LD14__LD14,
55 MX25_PAD_LD15__LD15,
56 MX25_PAD_GPIO_E__LD16,
57 MX25_PAD_GPIO_F__LD17,
58 MX25_PAD_HSYNC__HSYNC,
59 MX25_PAD_VSYNC__VSYNC,
60 MX25_PAD_LSCLK__LSCLK,
61 MX25_PAD_OE_ACD__OE_ACD,
62 MX25_PAD_CONTRAST__CONTRAST,
63 /* LCD_PWR */
64 MX25_PAD_PWM__GPIO_1_26,
65 /* LED */
66 MX25_PAD_POWER_FAIL__GPIO_3_19,
67 /* SWITCH */
68 MX25_PAD_VSTBY_ACK__GPIO_3_18,
69 /* UART2 */
70 MX25_PAD_UART2_RTS__UART2_RTS,
71 MX25_PAD_UART2_CTS__UART2_CTS,
72 MX25_PAD_UART2_TXD__UART2_TXD,
73 MX25_PAD_UART2_RXD__UART2_RXD,
74 /* SD1 */
75 MX25_PAD_SD1_CMD__SD1_CMD,
76 MX25_PAD_SD1_CLK__SD1_CLK,
77 MX25_PAD_SD1_DATA0__SD1_DATA0,
78 MX25_PAD_SD1_DATA1__SD1_DATA1,
79 MX25_PAD_SD1_DATA2__SD1_DATA2,
80 MX25_PAD_SD1_DATA3__SD1_DATA3,
81 /* SD1 CD */
82 MX25_PAD_DE_B__GPIO_2_20,
83 /* I2S */
84 MX25_PAD_KPP_COL3__AUD5_TXFS,
85 MX25_PAD_KPP_COL2__AUD5_TXC,
86 MX25_PAD_KPP_COL1__AUD5_RXD,
87 MX25_PAD_KPP_COL0__AUD5_TXD,
88 /* CAN */
89 MX25_PAD_GPIO_D__CAN2_RX,
90 MX25_PAD_GPIO_C__CAN2_TX,
91 /* SPI1 */
92 MX25_PAD_CSPI1_MOSI__CSPI1_MOSI,
93 MX25_PAD_CSPI1_MISO__CSPI1_MISO,
94 MX25_PAD_CSPI1_SS0__GPIO_1_16,
95 MX25_PAD_CSPI1_SS1__GPIO_1_17,
96 MX25_PAD_CSPI1_SCLK__CSPI1_SCLK,
97 MX25_PAD_CSPI1_RDY__GPIO_2_22,
98};
99
100#define GPIO_LED1 IMX_GPIO_NR(3, 19)
101#define GPIO_SWITCH1 IMX_GPIO_NR(3, 18)
102#define GPIO_SD1CD IMX_GPIO_NR(2, 20)
103#define GPIO_LCDPWR IMX_GPIO_NR(1, 26)
104#define GPIO_SPI1_SS0 IMX_GPIO_NR(1, 16)
105#define GPIO_SPI1_SS1 IMX_GPIO_NR(1, 17)
106#define GPIO_SPI1_IRQ IMX_GPIO_NR(2, 22)
107
108static struct imx_fb_videomode eukrea_mximxsd_modes[] = {
109 {
110 .mode = {
111 .name = "CMO-QVGA",
112 .refresh = 60,
113 .xres = 320,
114 .yres = 240,
115 .pixclock = KHZ2PICOS(6500),
116 .left_margin = 30,
117 .right_margin = 38,
118 .upper_margin = 20,
119 .lower_margin = 3,
120 .hsync_len = 15,
121 .vsync_len = 4,
122 },
123 .bpp = 16,
124 .pcr = 0xCAD08B80,
125 }, {
126 .mode = {
127 .name = "DVI-VGA",
128 .refresh = 60,
129 .xres = 640,
130 .yres = 480,
131 .pixclock = 32000,
132 .hsync_len = 7,
133 .left_margin = 100,
134 .right_margin = 100,
135 .vsync_len = 7,
136 .upper_margin = 7,
137 .lower_margin = 100,
138 },
139 .pcr = 0xFA208B80,
140 .bpp = 16,
141 }, {
142 .mode = {
143 .name = "DVI-SVGA",
144 .refresh = 60,
145 .xres = 800,
146 .yres = 600,
147 .pixclock = 25000,
148 .hsync_len = 7,
149 .left_margin = 75,
150 .right_margin = 75,
151 .vsync_len = 7,
152 .upper_margin = 7,
153 .lower_margin = 75,
154 },
155 .pcr = 0xFA208B80,
156 .bpp = 16,
157 },
158};
159
160static const struct imx_fb_platform_data eukrea_mximxsd_fb_pdata __initconst = {
161 .mode = eukrea_mximxsd_modes,
162 .num_modes = ARRAY_SIZE(eukrea_mximxsd_modes),
163 .pwmr = 0x00A903FF,
164 .lscr1 = 0x00120300,
165 .dmacr = 0x00040060,
166};
167
168static void eukrea_mbimxsd_lcd_power_set(struct plat_lcd_data *pd,
169 unsigned int power)
170{
171 if (power)
172 gpio_direction_output(GPIO_LCDPWR, 1);
173 else
174 gpio_direction_output(GPIO_LCDPWR, 0);
175}
176
177static struct plat_lcd_data eukrea_mbimxsd_lcd_power_data = {
178 .set_power = eukrea_mbimxsd_lcd_power_set,
179};
180
181static struct platform_device eukrea_mbimxsd_lcd_powerdev = {
182 .name = "platform-lcd",
183 .dev.platform_data = &eukrea_mbimxsd_lcd_power_data,
184};
185
186static const struct gpio_led eukrea_mbimxsd_leds[] __initconst = {
187 {
188 .name = "led1",
189 .default_trigger = "heartbeat",
190 .active_low = 1,
191 .gpio = GPIO_LED1,
192 },
193};
194
195static const struct gpio_led_platform_data
196 eukrea_mbimxsd_led_info __initconst = {
197 .leds = eukrea_mbimxsd_leds,
198 .num_leds = ARRAY_SIZE(eukrea_mbimxsd_leds),
199};
200
201static struct gpio_keys_button eukrea_mbimxsd_gpio_buttons[] = {
202 {
203 .gpio = GPIO_SWITCH1,
204 .code = BTN_0,
205 .desc = "BP1",
206 .active_low = 1,
207 .wakeup = 1,
208 },
209};
210
211static const struct gpio_keys_platform_data
212 eukrea_mbimxsd_button_data __initconst = {
213 .buttons = eukrea_mbimxsd_gpio_buttons,
214 .nbuttons = ARRAY_SIZE(eukrea_mbimxsd_gpio_buttons),
215};
216
217static struct platform_device *platform_devices[] __initdata = {
218 &eukrea_mbimxsd_lcd_powerdev,
219};
220
221static const struct imxuart_platform_data uart_pdata __initconst = {
222 .flags = IMXUART_HAVE_RTSCTS,
223};
224
225static struct i2c_board_info eukrea_mbimxsd_i2c_devices[] = {
226 {
227 I2C_BOARD_INFO("tlv320aic23", 0x1a),
228 },
229};
230
231static const
232struct imx_ssi_platform_data eukrea_mbimxsd_ssi_pdata __initconst = {
233 .flags = IMX_SSI_SYN | IMX_SSI_NET | IMX_SSI_USE_I2S_SLAVE,
234};
235
236static struct esdhc_platform_data sd1_pdata = {
237 .cd_gpio = GPIO_SD1CD,
238 .cd_type = ESDHC_CD_GPIO,
239 .wp_type = ESDHC_WP_NONE,
240};
241
242static struct spi_board_info eukrea_mbimxsd25_spi_board_info[] __initdata = {
243 {
244 .modalias = "spidev",
245 .max_speed_hz = 20000000,
246 .bus_num = 0,
247 .chip_select = 0,
248 .mode = SPI_MODE_0,
249 },
250 {
251 .modalias = "spidev",
252 .max_speed_hz = 20000000,
253 .bus_num = 0,
254 .chip_select = 1,
255 .mode = SPI_MODE_0,
256 },
257};
258
259static int eukrea_mbimxsd25_spi_cs[] = {GPIO_SPI1_SS0, GPIO_SPI1_SS1};
260
261static const struct spi_imx_master eukrea_mbimxsd25_spi0_data __initconst = {
262 .chipselect = eukrea_mbimxsd25_spi_cs,
263 .num_chipselect = ARRAY_SIZE(eukrea_mbimxsd25_spi_cs),
264};
265
266/*
267 * system init for baseboard usage. Will be called by cpuimx25 init.
268 *
269 * Add platform devices present on this baseboard and init
270 * them from CPU side as far as required to use them later on
271 */
272void __init eukrea_mbimxsd25_baseboard_init(void)
273{
274 if (mxc_iomux_v3_setup_multiple_pads(eukrea_mbimxsd_pads,
275 ARRAY_SIZE(eukrea_mbimxsd_pads)))
276 printk(KERN_ERR "error setting mbimxsd pads !\n");
277
278 imx25_add_imx_uart1(&uart_pdata);
279 imx25_add_imx_fb(&eukrea_mximxsd_fb_pdata);
280 imx25_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata);
281
282 imx25_add_flexcan1();
283 imx25_add_sdhci_esdhc_imx(0, &sd1_pdata);
284
285 gpio_request(GPIO_LED1, "LED1");
286 gpio_direction_output(GPIO_LED1, 1);
287 gpio_free(GPIO_LED1);
288
289 gpio_request(GPIO_SWITCH1, "SWITCH1");
290 gpio_direction_input(GPIO_SWITCH1);
291 gpio_free(GPIO_SWITCH1);
292
293 gpio_request(GPIO_LCDPWR, "LCDPWR");
294 gpio_direction_output(GPIO_LCDPWR, 1);
295
296 i2c_register_board_info(0, eukrea_mbimxsd_i2c_devices,
297 ARRAY_SIZE(eukrea_mbimxsd_i2c_devices));
298
299 gpio_request(GPIO_SPI1_IRQ, "SPI1_IRQ");
300 gpio_direction_input(GPIO_SPI1_IRQ);
301 gpio_free(GPIO_SPI1_IRQ);
302 imx25_add_spi_imx0(&eukrea_mbimxsd25_spi0_data);
303 spi_register_board_info(eukrea_mbimxsd25_spi_board_info,
304 ARRAY_SIZE(eukrea_mbimxsd25_spi_board_info));
305
306 platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
307 gpio_led_register_device(-1, &eukrea_mbimxsd_led_info);
308 imx_add_gpio_keys(&eukrea_mbimxsd_button_data);
309 imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0);
310}
diff --git a/arch/arm/mach-imx/mach-eukrea_cpuimx25.c b/arch/arm/mach-imx/mach-eukrea_cpuimx25.c
deleted file mode 100644
index 026321918843..000000000000
--- a/arch/arm/mach-imx/mach-eukrea_cpuimx25.c
+++ /dev/null
@@ -1,172 +0,0 @@
1/*
2 * Copyright 2009 Sascha Hauer, <kernel@pengutronix.de>
3 * Copyright 2010 Eric Bénard - Eukréa Electromatique, <eric@eukrea.com>
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 */
19
20#include <linux/types.h>
21#include <linux/init.h>
22#include <linux/delay.h>
23#include <linux/clk.h>
24#include <linux/irq.h>
25#include <linux/gpio.h>
26#include <linux/platform_device.h>
27#include <linux/usb/otg.h>
28#include <linux/usb/ulpi.h>
29
30#include <asm/mach-types.h>
31#include <asm/mach/arch.h>
32#include <asm/mach/time.h>
33#include <asm/memory.h>
34#include <asm/mach/map.h>
35
36#include "common.h"
37#include "devices-imx25.h"
38#include "ehci.h"
39#include "eukrea-baseboards.h"
40#include "hardware.h"
41#include "iomux-mx25.h"
42#include "mx25.h"
43
44static const struct imxuart_platform_data uart_pdata __initconst = {
45 .flags = IMXUART_HAVE_RTSCTS,
46};
47
48static const iomux_v3_cfg_t eukrea_cpuimx25_pads[] __initconst = {
49 /* FEC - RMII */
50 MX25_PAD_FEC_MDC__FEC_MDC,
51 MX25_PAD_FEC_MDIO__FEC_MDIO,
52 MX25_PAD_FEC_TDATA0__FEC_TDATA0,
53 MX25_PAD_FEC_TDATA1__FEC_TDATA1,
54 MX25_PAD_FEC_TX_EN__FEC_TX_EN,
55 MX25_PAD_FEC_RDATA0__FEC_RDATA0,
56 MX25_PAD_FEC_RDATA1__FEC_RDATA1,
57 MX25_PAD_FEC_RX_DV__FEC_RX_DV,
58 MX25_PAD_FEC_TX_CLK__FEC_TX_CLK,
59 /* I2C1 */
60 MX25_PAD_I2C1_CLK__I2C1_CLK,
61 MX25_PAD_I2C1_DAT__I2C1_DAT,
62};
63
64static const struct fec_platform_data mx25_fec_pdata __initconst = {
65 .phy = PHY_INTERFACE_MODE_RMII,
66};
67
68static const struct mxc_nand_platform_data
69eukrea_cpuimx25_nand_board_info __initconst = {
70 .width = 1,
71 .hw_ecc = 1,
72 .flash_bbt = 1,
73};
74
75static const struct imxi2c_platform_data
76eukrea_cpuimx25_i2c0_data __initconst = {
77 .bitrate = 100000,
78};
79
80static struct i2c_board_info eukrea_cpuimx25_i2c_devices[] = {
81 {
82 I2C_BOARD_INFO("pcf8563", 0x51),
83 },
84};
85
86static int eukrea_cpuimx25_otg_init(struct platform_device *pdev)
87{
88 return mx25_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_DIFF_UNI);
89}
90
91static const struct mxc_usbh_platform_data otg_pdata __initconst = {
92 .init = eukrea_cpuimx25_otg_init,
93 .portsc = MXC_EHCI_MODE_UTMI,
94};
95
96static int eukrea_cpuimx25_usbh2_init(struct platform_device *pdev)
97{
98 return mx25_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_SINGLE_UNI |
99 MXC_EHCI_INTERNAL_PHY | MXC_EHCI_IPPUE_DOWN);
100}
101
102static const struct mxc_usbh_platform_data usbh2_pdata __initconst = {
103 .init = eukrea_cpuimx25_usbh2_init,
104 .portsc = MXC_EHCI_MODE_SERIAL,
105};
106
107static const struct fsl_usb2_platform_data otg_device_pdata __initconst = {
108 .operating_mode = FSL_USB2_DR_DEVICE,
109 .phy_mode = FSL_USB2_PHY_UTMI,
110 .workaround = FLS_USB2_WORKAROUND_ENGCM09152,
111};
112
113static bool otg_mode_host __initdata;
114
115static int __init eukrea_cpuimx25_otg_mode(char *options)
116{
117 if (!strcmp(options, "host"))
118 otg_mode_host = true;
119 else if (!strcmp(options, "device"))
120 otg_mode_host = false;
121 else
122 pr_info("otg_mode neither \"host\" nor \"device\". "
123 "Defaulting to device\n");
124 return 1;
125}
126__setup("otg_mode=", eukrea_cpuimx25_otg_mode);
127
128static void __init eukrea_cpuimx25_init(void)
129{
130 imx25_soc_init();
131
132 if (mxc_iomux_v3_setup_multiple_pads(eukrea_cpuimx25_pads,
133 ARRAY_SIZE(eukrea_cpuimx25_pads)))
134 printk(KERN_ERR "error setting cpuimx25 pads !\n");
135
136 imx25_add_imx_uart0(&uart_pdata);
137 imx25_add_mxc_nand(&eukrea_cpuimx25_nand_board_info);
138 imx25_add_imxdi_rtc();
139 imx25_add_fec(&mx25_fec_pdata);
140 imx25_add_imx2_wdt();
141
142 i2c_register_board_info(0, eukrea_cpuimx25_i2c_devices,
143 ARRAY_SIZE(eukrea_cpuimx25_i2c_devices));
144 imx25_add_imx_i2c0(&eukrea_cpuimx25_i2c0_data);
145
146 if (otg_mode_host)
147 imx25_add_mxc_ehci_otg(&otg_pdata);
148 else
149 imx25_add_fsl_usb2_udc(&otg_device_pdata);
150
151 imx25_add_mxc_ehci_hs(&usbh2_pdata);
152
153#ifdef CONFIG_MACH_EUKREA_MBIMXSD25_BASEBOARD
154 eukrea_mbimxsd25_baseboard_init();
155#endif
156}
157
158static void __init eukrea_cpuimx25_timer_init(void)
159{
160 mx25_clocks_init();
161}
162
163MACHINE_START(EUKREA_CPUIMX25SD, "Eukrea CPUIMX25")
164 /* Maintainer: Eukrea Electromatique */
165 .atag_offset = 0x100,
166 .map_io = mx25_map_io,
167 .init_early = imx25_init_early,
168 .init_irq = mx25_init_irq,
169 .init_time = eukrea_cpuimx25_timer_init,
170 .init_machine = eukrea_cpuimx25_init,
171 .restart = mxc_restart,
172MACHINE_END