xref: /rk3399_rockchip-uboot/board/freescale/mx53loco/mx53loco.c (revision f92e4e6c1908c72ca06dbaca235005eefedd8f6c)
1938080dcSJason Liu /*
2938080dcSJason Liu  * Copyright (C) 2011 Freescale Semiconductor, Inc.
3938080dcSJason Liu  * Jason Liu <r64343@freescale.com>
4938080dcSJason Liu  *
5938080dcSJason Liu  * See file CREDITS for list of people who contributed to this
6938080dcSJason Liu  * project.
7938080dcSJason Liu  *
8938080dcSJason Liu  * This program is free software; you can redistribute it and/or
9938080dcSJason Liu  * modify it under the terms of the GNU General Public License as
10938080dcSJason Liu  * published by the Free Software Foundation; either version 2 of
11938080dcSJason Liu  * the License, or (at your option) any later version.
12938080dcSJason Liu  *
13938080dcSJason Liu  * This program is distributed in the hope that it will be useful,
14938080dcSJason Liu  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15938080dcSJason Liu  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16938080dcSJason Liu  * GNU General Public License for more details.
17938080dcSJason Liu  *
18938080dcSJason Liu  * You should have received a copy of the GNU General Public License
19938080dcSJason Liu  * along with this program; if not, write to the Free Software
20938080dcSJason Liu  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21938080dcSJason Liu  * MA 02111-1307 USA
22938080dcSJason Liu  */
23938080dcSJason Liu 
24938080dcSJason Liu #include <common.h>
25938080dcSJason Liu #include <asm/io.h>
26938080dcSJason Liu #include <asm/arch/imx-regs.h>
27938080dcSJason Liu #include <asm/arch/mx5x_pins.h>
28938080dcSJason Liu #include <asm/arch/sys_proto.h>
29938080dcSJason Liu #include <asm/arch/crm_regs.h>
30*f92e4e6cSStefano Babic #include <asm/arch/clock.h>
31938080dcSJason Liu #include <asm/arch/iomux.h>
32938080dcSJason Liu #include <asm/arch/clock.h>
33938080dcSJason Liu #include <asm/errno.h>
34938080dcSJason Liu #include <netdev.h>
35938080dcSJason Liu #include <i2c.h>
36938080dcSJason Liu #include <mmc.h>
37938080dcSJason Liu #include <fsl_esdhc.h>
3850410078SStefano Babic #include <asm/gpio.h>
39938080dcSJason Liu 
40938080dcSJason Liu DECLARE_GLOBAL_DATA_PTR;
41938080dcSJason Liu 
42938080dcSJason Liu int dram_init(void)
43938080dcSJason Liu {
44938080dcSJason Liu 	u32 size1, size2;
45938080dcSJason Liu 
46a55d23ccSAlbert ARIBAUD 	size1 = get_ram_size((void *)PHYS_SDRAM_1, PHYS_SDRAM_1_SIZE);
47a55d23ccSAlbert ARIBAUD 	size2 = get_ram_size((void *)PHYS_SDRAM_2, PHYS_SDRAM_2_SIZE);
48938080dcSJason Liu 
49938080dcSJason Liu 	gd->ram_size = size1 + size2;
50938080dcSJason Liu 
51938080dcSJason Liu 	return 0;
52938080dcSJason Liu }
53938080dcSJason Liu void dram_init_banksize(void)
54938080dcSJason Liu {
55938080dcSJason Liu 	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
56938080dcSJason Liu 	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
57938080dcSJason Liu 
58938080dcSJason Liu 	gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
59938080dcSJason Liu 	gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
60938080dcSJason Liu }
61938080dcSJason Liu 
62938080dcSJason Liu static void setup_iomux_uart(void)
63938080dcSJason Liu {
64938080dcSJason Liu 	/* UART1 RXD */
65938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_CSI0_D11, IOMUX_CONFIG_ALT2);
66938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_CSI0_D11,
67938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
68938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
69938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_100K_PU |
70938080dcSJason Liu 				PAD_CTL_ODE_OPENDRAIN_ENABLE);
71938080dcSJason Liu 	mxc_iomux_set_input(MX53_UART1_IPP_UART_RXD_MUX_SELECT_INPUT, 0x1);
72938080dcSJason Liu 
73938080dcSJason Liu 	/* UART1 TXD */
74938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_CSI0_D10, IOMUX_CONFIG_ALT2);
75938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_CSI0_D10,
76938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
77938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
78938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_100K_PU |
79938080dcSJason Liu 				PAD_CTL_ODE_OPENDRAIN_ENABLE);
80938080dcSJason Liu }
81938080dcSJason Liu 
8245cf6adaSWolfgang Grandegger #ifdef CONFIG_USB_EHCI_MX5
8360bae5efSAnatolij Gustschin int board_ehci_hcd_init(int port)
8445cf6adaSWolfgang Grandegger {
8545cf6adaSWolfgang Grandegger 	/* request VBUS power enable pin, GPIO[8}, gpio7 */
8645cf6adaSWolfgang Grandegger 	mxc_request_iomux(MX53_PIN_ATA_DA_2, IOMUX_CONFIG_ALT1);
8745cf6adaSWolfgang Grandegger 	gpio_direction_output(IOMUX_TO_GPIO(MX53_PIN_ATA_DA_2), 0);
8845cf6adaSWolfgang Grandegger 	gpio_set_value(IOMUX_TO_GPIO(MX53_PIN_ATA_DA_2), 1);
8960bae5efSAnatolij Gustschin 	return 0;
9045cf6adaSWolfgang Grandegger }
9145cf6adaSWolfgang Grandegger #endif
9245cf6adaSWolfgang Grandegger 
93938080dcSJason Liu static void setup_iomux_fec(void)
94938080dcSJason Liu {
95938080dcSJason Liu 	/*FEC_MDIO*/
96938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_MDIO, IOMUX_CONFIG_ALT0);
97938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_MDIO,
98938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
99938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
100938080dcSJason Liu 				PAD_CTL_22K_PU | PAD_CTL_ODE_OPENDRAIN_ENABLE);
101938080dcSJason Liu 	mxc_iomux_set_input(MX53_FEC_FEC_MDI_SELECT_INPUT, 0x1);
102938080dcSJason Liu 
103938080dcSJason Liu 	/*FEC_MDC*/
104938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_MDC, IOMUX_CONFIG_ALT0);
105938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_MDC, PAD_CTL_DRV_HIGH);
106938080dcSJason Liu 
107938080dcSJason Liu 	/* FEC RXD1 */
108938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_RXD1, IOMUX_CONFIG_ALT0);
109938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_RXD1,
110938080dcSJason Liu 			PAD_CTL_HYS_ENABLE | PAD_CTL_PKE_ENABLE);
111938080dcSJason Liu 
112938080dcSJason Liu 	/* FEC RXD0 */
113938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_RXD0, IOMUX_CONFIG_ALT0);
114938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_RXD0,
115938080dcSJason Liu 			PAD_CTL_HYS_ENABLE | PAD_CTL_PKE_ENABLE);
116938080dcSJason Liu 
117938080dcSJason Liu 	 /* FEC TXD1 */
118938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_TXD1, IOMUX_CONFIG_ALT0);
119938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_TXD1, PAD_CTL_DRV_HIGH);
120938080dcSJason Liu 
121938080dcSJason Liu 	/* FEC TXD0 */
122938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_TXD0, IOMUX_CONFIG_ALT0);
123938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_TXD0, PAD_CTL_DRV_HIGH);
124938080dcSJason Liu 
125938080dcSJason Liu 	/* FEC TX_EN */
126938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_TX_EN, IOMUX_CONFIG_ALT0);
127938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_TX_EN, PAD_CTL_DRV_HIGH);
128938080dcSJason Liu 
129938080dcSJason Liu 	/* FEC TX_CLK */
130938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_REF_CLK, IOMUX_CONFIG_ALT0);
131938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_REF_CLK,
132938080dcSJason Liu 			PAD_CTL_HYS_ENABLE | PAD_CTL_PKE_ENABLE);
133938080dcSJason Liu 
134938080dcSJason Liu 	/* FEC RX_ER */
135938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_RX_ER, IOMUX_CONFIG_ALT0);
136938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_RX_ER,
137938080dcSJason Liu 			PAD_CTL_HYS_ENABLE | PAD_CTL_PKE_ENABLE);
138938080dcSJason Liu 
139938080dcSJason Liu 	/* FEC CRS */
140938080dcSJason Liu 	mxc_request_iomux(MX53_PIN_FEC_CRS_DV, IOMUX_CONFIG_ALT0);
141938080dcSJason Liu 	mxc_iomux_set_pad(MX53_PIN_FEC_CRS_DV,
142938080dcSJason Liu 			PAD_CTL_HYS_ENABLE | PAD_CTL_PKE_ENABLE);
143938080dcSJason Liu }
144938080dcSJason Liu 
145938080dcSJason Liu #ifdef CONFIG_FSL_ESDHC
146938080dcSJason Liu struct fsl_esdhc_cfg esdhc_cfg[2] = {
147938080dcSJason Liu 	{MMC_SDHC1_BASE_ADDR, 1},
148938080dcSJason Liu 	{MMC_SDHC3_BASE_ADDR, 1},
149938080dcSJason Liu };
150938080dcSJason Liu 
151314284b1SThierry Reding int board_mmc_getcd(struct mmc *mmc)
152938080dcSJason Liu {
153938080dcSJason Liu 	struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
154314284b1SThierry Reding 	int ret;
155938080dcSJason Liu 
15673128aadSFabio Estevam 	mxc_request_iomux(MX53_PIN_EIM_DA11, IOMUX_CONFIG_ALT1);
157a091be76SFabio Estevam 	gpio_direction_input(75);
15873128aadSFabio Estevam 	mxc_request_iomux(MX53_PIN_EIM_DA13, IOMUX_CONFIG_ALT1);
159a091be76SFabio Estevam 	gpio_direction_input(77);
16073128aadSFabio Estevam 
161938080dcSJason Liu 	if (cfg->esdhc_base == MMC_SDHC1_BASE_ADDR)
162314284b1SThierry Reding 		ret = !gpio_get_value(77); /* GPIO3_13 */
163938080dcSJason Liu 	else
164314284b1SThierry Reding 		ret = !gpio_get_value(75); /* GPIO3_11 */
165938080dcSJason Liu 
166314284b1SThierry Reding 	return ret;
167938080dcSJason Liu }
168938080dcSJason Liu 
169938080dcSJason Liu int board_mmc_init(bd_t *bis)
170938080dcSJason Liu {
171938080dcSJason Liu 	u32 index;
172938080dcSJason Liu 	s32 status = 0;
173938080dcSJason Liu 
174938080dcSJason Liu 	for (index = 0; index < CONFIG_SYS_FSL_ESDHC_NUM; index++) {
175938080dcSJason Liu 		switch (index) {
176938080dcSJason Liu 		case 0:
177938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_SD1_CMD, IOMUX_CONFIG_ALT0);
178938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_SD1_CLK, IOMUX_CONFIG_ALT0);
179938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_SD1_DATA0,
180938080dcSJason Liu 						IOMUX_CONFIG_ALT0);
181938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_SD1_DATA1,
182938080dcSJason Liu 						IOMUX_CONFIG_ALT0);
183938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_SD1_DATA2,
184938080dcSJason Liu 						IOMUX_CONFIG_ALT0);
185938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_SD1_DATA3,
186938080dcSJason Liu 						IOMUX_CONFIG_ALT0);
187938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_EIM_DA13,
188938080dcSJason Liu 						IOMUX_CONFIG_ALT1);
189938080dcSJason Liu 
190938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_SD1_CMD,
191938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
192938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
193938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_100K_PU);
194938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_SD1_CLK,
195938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
196938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU |
197938080dcSJason Liu 				PAD_CTL_DRV_HIGH);
198938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_SD1_DATA0,
199938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
200938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
201938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
202938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_SD1_DATA1,
203938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
204938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
205938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
206938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_SD1_DATA2,
207938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
208938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
209938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
210938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_SD1_DATA3,
211938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
212938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
213938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
214938080dcSJason Liu 			break;
215938080dcSJason Liu 		case 1:
216938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_RESET_B,
217938080dcSJason Liu 						IOMUX_CONFIG_ALT2);
218938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_IORDY,
219938080dcSJason Liu 						IOMUX_CONFIG_ALT2);
220938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_DATA8,
221938080dcSJason Liu 						IOMUX_CONFIG_ALT4);
222938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_DATA9,
223938080dcSJason Liu 						IOMUX_CONFIG_ALT4);
224938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_DATA10,
225938080dcSJason Liu 						IOMUX_CONFIG_ALT4);
226938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_DATA11,
227938080dcSJason Liu 						IOMUX_CONFIG_ALT4);
228938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_DATA0,
229938080dcSJason Liu 						IOMUX_CONFIG_ALT4);
230938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_DATA1,
231938080dcSJason Liu 						IOMUX_CONFIG_ALT4);
232938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_DATA2,
233938080dcSJason Liu 						IOMUX_CONFIG_ALT4);
234938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_ATA_DATA3,
235938080dcSJason Liu 						IOMUX_CONFIG_ALT4);
236938080dcSJason Liu 			mxc_request_iomux(MX53_PIN_EIM_DA11,
237938080dcSJason Liu 						IOMUX_CONFIG_ALT1);
238938080dcSJason Liu 
239938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_RESET_B,
240938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
241938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
242938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_100K_PU);
243938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_IORDY,
244938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
245938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU |
246938080dcSJason Liu 				PAD_CTL_DRV_HIGH);
247938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_DATA8,
248938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
249938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
250938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
251938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_DATA9,
252938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
253938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
254938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
255938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_DATA10,
256938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
257938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
258938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
259938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_DATA11,
260938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
261938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
262938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
263938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_DATA0,
264938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
265938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
266938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
267938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_DATA1,
268938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
269938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
270938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
271938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_DATA2,
272938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
273938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
274938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
275938080dcSJason Liu 			mxc_iomux_set_pad(MX53_PIN_ATA_DATA3,
276938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_DRV_HIGH |
277938080dcSJason Liu 				PAD_CTL_PUE_PULL | PAD_CTL_PKE_ENABLE |
278938080dcSJason Liu 				PAD_CTL_HYS_ENABLE | PAD_CTL_47K_PU);
279938080dcSJason Liu 
280938080dcSJason Liu 			break;
281938080dcSJason Liu 		default:
282938080dcSJason Liu 			printf("Warning: you configured more ESDHC controller"
283938080dcSJason Liu 				"(%d) as supported by the board(2)\n",
284938080dcSJason Liu 				CONFIG_SYS_FSL_ESDHC_NUM);
285938080dcSJason Liu 			return status;
286938080dcSJason Liu 		}
287938080dcSJason Liu 		status |= fsl_esdhc_initialize(bis, &esdhc_cfg[index]);
288938080dcSJason Liu 	}
289938080dcSJason Liu 
290938080dcSJason Liu 	return status;
291938080dcSJason Liu }
292938080dcSJason Liu #endif
293938080dcSJason Liu 
294938080dcSJason Liu int board_early_init_f(void)
295938080dcSJason Liu {
296938080dcSJason Liu 	setup_iomux_uart();
297938080dcSJason Liu 	setup_iomux_fec();
298938080dcSJason Liu 
299938080dcSJason Liu 	return 0;
300938080dcSJason Liu }
301938080dcSJason Liu 
302938080dcSJason Liu int board_init(void)
303938080dcSJason Liu {
304938080dcSJason Liu 	gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
305938080dcSJason Liu 
306*f92e4e6cSStefano Babic 	mxc_set_sata_internal_clock();
307*f92e4e6cSStefano Babic 
308938080dcSJason Liu 	return 0;
309938080dcSJason Liu }
310938080dcSJason Liu 
311938080dcSJason Liu int checkboard(void)
312938080dcSJason Liu {
313938080dcSJason Liu 	puts("Board: MX53 LOCO\n");
314938080dcSJason Liu 
315938080dcSJason Liu 	return 0;
316938080dcSJason Liu }
317