8dbeeb6e680c3e31c8cc230115de3ec0f96b1bab
[platform/kernel/u-boot.git] / board / renesas / r7780mp / r7780mp.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2007,2008 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4  * Copyright (C) 2008 Yusuke Goda <goda.yusuke@renesas.com>
5  */
6
7 #include <common.h>
8 #include <ide.h>
9 #include <init.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 }