xref: /openbmc/u-boot/board/renesas/r7780mp/r7780mp.c (revision 17fa0326)
1 /*
2  * Copyright (C) 2007,2008 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
3  * Copyright (C) 2008 Yusuke Goda <goda.yusuke@renesas.com>
4  *
5  * SPDX-License-Identifier:	GPL-2.0+
6  */
7 
8 #include <common.h>
9 #include <ide.h>
10 #include <asm/processor.h>
11 #include <asm/io.h>
12 #include <asm/pci.h>
13 #include <netdev.h>
14 #include "r7780mp.h"
15 
16 int checkboard(void)
17 {
18 #if defined(CONFIG_R7780MP)
19 	puts("BOARD: Renesas Solutions R7780MP\n");
20 #else
21 	puts("BOARD: Renesas Solutions R7780RP\n");
22 #endif
23 	return 0;
24 }
25 
26 int board_init(void)
27 {
28 	/* SCIF Enable */
29 	writew(0x0, PHCR);
30 
31 	return 0;
32 }
33 
34 void led_set_state(unsigned short value)
35 {
36 
37 }
38 
39 void ide_set_reset(int idereset)
40 {
41 	/* if reset = 1 IDE reset will be asserted */
42 	if (idereset) {
43 		writew(0x432, FPGA_CFCTL);
44 #if defined(CONFIG_R7780MP)
45 		writew(inw(FPGA_CFPOW)|0x01, FPGA_CFPOW);
46 #else
47 		writew(inw(FPGA_CFPOW)|0x02, FPGA_CFPOW);
48 #endif
49 		writew(0x01, FPGA_CFCDINTCLR);
50 	}
51 }
52 
53 static struct pci_controller hose;
54 void pci_init_board(void)
55 {
56 	pci_sh7780_init(&hose);
57 }
58 
59 int board_eth_init(bd_t *bis)
60 {
61 	/* return >= 0 if a chip is found, the board's AX88796L is n2k-based */
62 	return ne2k_register() + pci_eth_init(bis);
63 }
64