xref: /rk3399_rockchip-uboot/board/sr1500/socfpga.c (revision 34059d8f502dec034af2387c7d00a56ccab99a9e)
1*ae9996c8SStefan Roese /*
2*ae9996c8SStefan Roese  * Copyright (C) 2015 Stefan Roese <sr@denx.de>
3*ae9996c8SStefan Roese  *
4*ae9996c8SStefan Roese  * SPDX-License-Identifier:	GPL-2.0+
5*ae9996c8SStefan Roese  */
6*ae9996c8SStefan Roese 
7*ae9996c8SStefan Roese #include <common.h>
8*ae9996c8SStefan Roese #include <asm/arch/reset_manager.h>
9*ae9996c8SStefan Roese #include <asm/gpio.h>
10*ae9996c8SStefan Roese #include <asm/io.h>
11*ae9996c8SStefan Roese 
board_early_init_f(void)12*ae9996c8SStefan Roese int board_early_init_f(void)
13*ae9996c8SStefan Roese {
14*ae9996c8SStefan Roese 	int ret;
15*ae9996c8SStefan Roese 
16*ae9996c8SStefan Roese 	/* Reset the Marvell PHY 88E1510 */
17*ae9996c8SStefan Roese 	ret = gpio_request(63, "PHY reset");
18*ae9996c8SStefan Roese 	if (ret)
19*ae9996c8SStefan Roese 		return ret;
20*ae9996c8SStefan Roese 
21*ae9996c8SStefan Roese 	gpio_direction_output(63, 0);
22*ae9996c8SStefan Roese 	mdelay(1);
23*ae9996c8SStefan Roese 	gpio_set_value(63, 1);
24*ae9996c8SStefan Roese 	mdelay(10);
25*ae9996c8SStefan Roese 
26*ae9996c8SStefan Roese 	return 0;
27*ae9996c8SStefan Roese }
28