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