Blame view

board/synopsys/axs101/axs101.c 1 KB
a7069ddfa   Alexey Brodkin   arc: add AXS101 b...
1
2
3
4
5
6
7
8
9
10
11
  /*
   * Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
   *
   * SPDX-License-Identifier:	GPL-2.0+
   */
  
  #include <common.h>
  #include <dwmmc.h>
  #include <malloc.h>
  #include <netdev.h>
  #include <phy.h>
0241c3131   Alexey Brodkin   board: axs10x - s...
12
  #include "axs10x.h"
a7069ddfa   Alexey Brodkin   arc: add AXS101 b...
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
  DECLARE_GLOBAL_DATA_PTR;
  
  int board_mmc_init(bd_t *bis)
  {
  	struct dwmci_host *host = NULL;
  
  	host = malloc(sizeof(struct dwmci_host));
  	if (!host) {
  		printf("dwmci_host malloc fail!
  ");
  		return 1;
  	}
  
  	memset(host, 0, sizeof(struct dwmci_host));
  	host->name = "Synopsys Mobile storage";
  	host->ioaddr = (void *)ARC_DWMMC_BASE;
  	host->buswidth = 4;
  	host->dev_index = 0;
d5717e894   Alexey Brodkin   board: AXS10x - u...
32
  	host->bus_hz = 50000000;
a7069ddfa   Alexey Brodkin   arc: add AXS101 b...
33

d5717e894   Alexey Brodkin   board: AXS10x - u...
34
  	add_dwmci(host, host->bus_hz, 400000);
a7069ddfa   Alexey Brodkin   arc: add AXS101 b...
35
36
37
38
39
40
  
  	return 0;
  }
  
  int board_eth_init(bd_t *bis)
  {
f39b2a6e8   Alexey Brodkin   axs101: fix dw gm...
41
  	if (designware_initialize(ARC_DWGMAC_BASE,
a7069ddfa   Alexey Brodkin   arc: add AXS101 b...
42
43
44
45
46
  				  PHY_INTERFACE_MODE_RGMII) >= 0)
  		return 1;
  
  	return 0;
  }
0241c3131   Alexey Brodkin   board: axs10x - s...
47
48
49
50
51
52
53
54
55
56
57
58
59
  
  
  #define AXS_MB_CREG	0xE0011000
  
  int board_early_init_f(void)
  {
  	if (readl((void __iomem *)AXS_MB_CREG + 0x234) & (1 << 28))
  		gd->board_type = AXS_MB_V3;
  	else
  		gd->board_type = AXS_MB_V2;
  
  	return 0;
  }