3 * Michael Schwingen, michael@schwingen.org
6 * Stefan Roese, DENX Software Engineering, sr@denx.de.
9 * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net
12 * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
13 * Marius Groeger <mgroeger@sysgo.de>
15 * SPDX-License-Identifier: GPL-2.0+
21 #include <asm/arch/ixp425.h>
26 #include "actux2_hw.h"
28 DECLARE_GLOBAL_DATA_PTR
;
30 int board_early_init_f(void)
33 writel(0x94d10013, IXP425_EXP_CS1
);
35 writel(0x9d520003, IXP425_EXP_CS5
);
36 /* CS6: HW release register */
37 writel(0x81860001, IXP425_EXP_CS6
);
39 writel(0x80900003, IXP425_EXP_CS7
);
46 /* adress of boot parameters */
47 gd
->bd
->bi_boot_params
= 0x00000100;
49 GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_IORST
);
50 GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_ETHRST
);
51 GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_DSR
);
52 GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_DCD
);
54 GPIO_OUTPUT_CLEAR(CONFIG_SYS_GPIO_IORST
);
55 GPIO_OUTPUT_CLEAR(CONFIG_SYS_GPIO_ETHRST
);
57 GPIO_OUTPUT_CLEAR(CONFIG_SYS_GPIO_DSR
);
58 GPIO_OUTPUT_SET(CONFIG_SYS_GPIO_DCD
);
60 /* Setup GPIOs for Interrupt inputs */
61 GPIO_OUTPUT_DISABLE(CONFIG_SYS_GPIO_DBGINT
);
62 GPIO_OUTPUT_DISABLE(CONFIG_SYS_GPIO_ETHINT
);
64 /* Setup GPIOs for 33MHz clock output */
65 GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_PCI_CLK
);
66 GPIO_OUTPUT_ENABLE(CONFIG_SYS_GPIO_EXTBUS_CLK
);
67 writel(0x011001FF, IXP425_GPIO_GPCLKR
);
70 GPIO_OUTPUT_SET(CONFIG_SYS_GPIO_IORST
);
71 GPIO_OUTPUT_SET(CONFIG_SYS_GPIO_ETHRST
);
82 * Check Board Identity
87 int i
= getenv_f("serial#", buf
, sizeof(buf
));
89 puts("Board: AcTux-2 rev.");
90 putc(ACTUX2_BOARDREL
+ 'A' - 1);
103 gd
->ram_size
= get_ram_size(CONFIG_SYS_SDRAM_BASE
, 128<<20);
107 /*************************************************************************
108 * get_board_rev() - setup to pass kernel board revision information
112 *************************************************************************/
113 u32
get_board_rev(void)
115 return ACTUX2_BOARDREL
;
120 /* init IcPlus IP175C ethernet switch to native IP175C mode */
121 miiphy_write("NPE0", 29, 31, 0x175C);