1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2007,2008
4  * Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5  */
6 
7 #include <common.h>
8 #include <ide.h>
9 #include <init.h>
10 #include <net.h>
11 #include <netdev.h>
12 #include <asm/processor.h>
13 #include <asm/io.h>
14 
checkboard(void)15 int checkboard(void)
16 {
17 	puts("BOARD: Renesas Solutions R2D Plus\n");
18 	return 0;
19 }
20 
board_init(void)21 int board_init(void)
22 {
23 	return 0;
24 }
25 
board_late_init(void)26 int board_late_init(void)
27 {
28 	return 0;
29 }
30 
31 #define FPGA_BASE		0xA4000000
32 #define FPGA_CFCTL		(FPGA_BASE + 0x04)
33 #define CFCTL_EN		(0x432)
34 #define FPGA_CFPOW		(FPGA_BASE + 0x06)
35 #define CFPOW_ON		(0x02)
36 #define FPGA_CFCDINTCLR	(FPGA_BASE + 0x2A)
37 #define CFCDINTCLR_EN	(0x01)
38 
ide_set_reset(int idereset)39 void ide_set_reset(int idereset)
40 {
41 	/* if reset = 1 IDE reset will be asserted */
42 	if (idereset) {
43 		outw(CFCTL_EN, FPGA_CFCTL);	/* CF enable */
44 		outw(inw(FPGA_CFPOW)|CFPOW_ON, FPGA_CFPOW); /* Power OM */
45 		outw(CFCDINTCLR_EN, FPGA_CFCDINTCLR); /* Int clear */
46 	}
47 }
48 
49 #ifndef CONFIG_DM_ETH
board_eth_init(struct bd_info * bis)50 int board_eth_init(struct bd_info *bis)
51 {
52 	return pci_eth_init(bis);
53 }
54 #endif
55