blob: a369d6bd63de9e7cd1492d548d53c5e8f406a8f5 [file] [log] [blame]
Hao Zhange5951072014-07-09 23:44:46 +03001/*
2 * K2HK EVM : Board initialization
3 *
4 * (C) Copyright 2012-2014
5 * Texas Instruments Incorporated, <www.ti.com>
6 *
7 * SPDX-License-Identifier: GPL-2.0+
8 */
9
10#include <common.h>
11#include <asm/arch/hardware.h>
12#include <asm/arch/emac_defs.h>
13
14DECLARE_GLOBAL_DATA_PTR;
15
16unsigned int external_clk[ext_clk_count] = {
17 [sys_clk] = 122880000,
18 [alt_core_clk] = 125000000,
19 [pa_clk] = 122880000,
20 [tetris_clk] = 125000000,
21 [ddr3a_clk] = 100000000,
22 [ddr3b_clk] = 100000000,
23 [mcm_clk] = 312500000,
24 [pcie_clk] = 100000000,
25 [sgmii_srio_clk] = 156250000,
26 [xgmii_clk] = 156250000,
27 [usb_clk] = 100000000,
28 [rp1_clk] = 123456789
29};
30
31static struct pll_init_data pll_config[] = {
32 CORE_PLL_1228,
33 PASS_PLL_983,
34 TETRIS_PLL_1200,
35};
36
37#ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
38struct eth_priv_t eth_priv_cfg[] = {
39 {
40 .int_name = "K2HK_EMAC",
41 .rx_flow = 22,
42 .phy_addr = 0,
43 .slave_port = 1,
44 .sgmii_link_type = SGMII_LINK_MAC_PHY,
45 },
46 {
47 .int_name = "K2HK_EMAC1",
48 .rx_flow = 23,
49 .phy_addr = 1,
50 .slave_port = 2,
51 .sgmii_link_type = SGMII_LINK_MAC_PHY,
52 },
53 {
54 .int_name = "K2HK_EMAC2",
55 .rx_flow = 24,
56 .phy_addr = 2,
57 .slave_port = 3,
58 .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
59 },
60 {
61 .int_name = "K2HK_EMAC3",
62 .rx_flow = 25,
63 .phy_addr = 3,
64 .slave_port = 4,
65 .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
66 },
67};
68
69int get_num_eth_ports(void)
70{
71 return sizeof(eth_priv_cfg) / sizeof(struct eth_priv_t);
72}
73#endif
74
75#ifdef CONFIG_BOARD_EARLY_INIT_F
76int board_early_init_f(void)
77{
78 init_plls(ARRAY_SIZE(pll_config), pll_config);
79 return 0;
80}
81#endif