1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
  | /* 
 |   * Copyright (C) 2009-2012 
 |   * Wojciech Dubowik <wojciech.dubowik@neratec.com> 
 |   * Luka Perkov <luka@openwrt.org> 
 |   * 
 |   * SPDX-License-Identifier:    GPL-2.0+ 
 |   */ 
 |    
 |  #include <common.h> 
 |  #include <miiphy.h> 
 |  #include <asm/arch/cpu.h> 
 |  #include <asm/arch/soc.h> 
 |  #include <asm/arch/mpp.h> 
 |  #include "iconnect.h" 
 |    
 |  DECLARE_GLOBAL_DATA_PTR; 
 |    
 |  int board_early_init_f(void) 
 |  { 
 |      /* 
 |       * default gpio configuration 
 |       * There are maximum 64 gpios controlled through 2 sets of registers 
 |       * the below configuration configures mainly initial LED status 
 |       */ 
 |      mvebu_config_gpio(ICONNECT_OE_VAL_LOW, 
 |                ICONNECT_OE_VAL_HIGH, 
 |                ICONNECT_OE_LOW, ICONNECT_OE_HIGH); 
 |    
 |      /* Multi-Purpose Pins Functionality configuration */ 
 |      static const u32 kwmpp_config[] = { 
 |          MPP0_NF_IO2, 
 |          MPP1_NF_IO3, 
 |          MPP2_NF_IO4, 
 |          MPP3_NF_IO5, 
 |          MPP4_NF_IO6, 
 |          MPP5_NF_IO7, 
 |          MPP6_SYSRST_OUTn,    /* Reset signal */ 
 |          MPP7_GPO, 
 |          MPP8_TW_SDA,        /* I2C */ 
 |          MPP9_TW_SCK,        /* I2C */ 
 |          MPP10_UART0_TXD, 
 |          MPP11_UART0_RXD, 
 |          MPP12_GPO,        /* Reset button */ 
 |          MPP13_SD_CMD, 
 |          MPP14_SD_D0, 
 |          MPP15_SD_D1, 
 |          MPP16_SD_D2, 
 |          MPP17_SD_D3, 
 |          MPP18_NF_IO0, 
 |          MPP19_NF_IO1, 
 |          MPP20_GE1_0, 
 |          MPP21_GE1_1, 
 |          MPP22_GE1_2, 
 |          MPP23_GE1_3, 
 |          MPP24_GE1_4, 
 |          MPP25_GE1_5, 
 |          MPP26_GE1_6, 
 |          MPP27_GE1_7, 
 |          MPP28_GPIO, 
 |          MPP29_GPIO, 
 |          MPP30_GE1_10, 
 |          MPP31_GE1_11, 
 |          MPP32_GE1_12, 
 |          MPP33_GE1_13, 
 |          MPP34_GE1_14, 
 |          MPP35_GPIO,        /* OTB button */ 
 |          MPP36_AUDIO_SPDIFI, 
 |          MPP37_AUDIO_SPDIFO, 
 |          MPP38_GPIO, 
 |          MPP39_TDM_SPI_CS0, 
 |          MPP40_TDM_SPI_SCK, 
 |          MPP41_GPIO,        /* LED brightness */ 
 |          MPP42_GPIO,        /* LED power (blue) */ 
 |          MPP43_GPIO,        /* LED power (red) */ 
 |          MPP44_GPIO,        /* LED USB 1 */ 
 |          MPP45_GPIO,        /* LED USB 2 */ 
 |          MPP46_GPIO,        /* LED USB 3 */ 
 |          MPP47_GPIO,        /* LED USB 4 */ 
 |          MPP48_GPIO,        /* LED OTB */ 
 |          MPP49_GPIO, 
 |          0 
 |      }; 
 |      kirkwood_mpp_conf(kwmpp_config, NULL); 
 |      return 0; 
 |  } 
 |    
 |  int board_init(void) 
 |  { 
 |      /* adress of boot parameters */ 
 |      gd->bd->bi_boot_params = mvebu_sdram_bar(0) + 0x100; 
 |    
 |      return 0; 
 |  } 
 |  
  |