[U-Boot] [PATCH 3/3] SAMSUNG: SMDKC100: Adds ethernet support.
Naveen Krishna Ch
ch.naveen at samsung.com
Tue Feb 9 10:38:22 CET 2010
From: Naveen Krishna CH <ch.naveen at samsung.com>
Add setup for ethernet on SMDKC100, allowing kernel/ramdisk to be
loaded over tftp.
The preinit function will configure GPIO (GPK0CON) & SROMC to look
for environment in SROM Bank 3.
Signed-off-by: Naveen Krishna Ch <ch.naveen <at> samsung.com>
---
board/samsung/smdkc100/smdkc100.c | 37 +++++++++++++++++++++++++++++++++++++
include/configs/smdkc100.h | 30 +++++++++++++++++++++++++++++-
2 files changed, 66 insertions(+), 1 deletions(-)
diff --git a/board/samsung/smdkc100/smdkc100.c b/board/samsung/smdkc100/smdkc100.c
index 15a1a27..6e50f14 100644
--- a/board/samsung/smdkc100/smdkc100.c
+++ b/board/samsung/smdkc100/smdkc100.c
@@ -23,10 +23,38 @@
*/
#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/mem.h>
+
+#define GPK0CON_OFFSET 0x2A0
+#define GPK0CON (S5PC100_GPIO_BASE + GPK0CON_OFFSET)
+
DECLARE_GLOBAL_DATA_PTR;
+/*
+ * Miscellaneous platform dependent initialisations
+ */
+static void smc9115_pre_init(void)
+{
+ u32 tmp;
+ u32 smc_bw_conf;
+
+ /* gpio configuration */
+ tmp = __raw_readl(GPK0CON);
+ tmp &= ~(0xf << CONFIG_ENV_SROM_BANK * 4);
+ tmp |= (0x2 << CONFIG_ENV_SROM_BANK * 4);
+ __raw_writel(tmp, GPK0CON);
+
+ /* Ethernet needs bus width of 16 bits */
+ smc_bw_conf = SROM_DATA16_WIDTH(CONFIG_ENV_SROM_BANK);
+
+ /* Select and configure the SROMC bank */
+ config_sromc(CONFIG_ENV_SROM_BANK, smc_bw_conf, SMC_BC_X_CON);
+}
+
int board_init(void)
{
+ smc9115_pre_init();
gd->bd->bi_arch_number = MACH_TYPE_SMDKC100;
gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
@@ -49,3 +77,12 @@ int checkboard(void)
return 0;
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ int rc = 0;
+#ifdef CONFIG_SMC911X
+ rc = smc911x_initialize(0, CONFIG_SMC911X_BASE);
+#endif
+ return rc;
+}
diff --git a/include/configs/smdkc100.h b/include/configs/smdkc100.h
index a8ba052..3de9da1 100644
--- a/include/configs/smdkc100.h
+++ b/include/configs/smdkc100.h
@@ -83,7 +83,7 @@
#undef CONFIG_CMD_FLASH
#undef CONFIG_CMD_IMLS
#undef CONFIG_CMD_NAND
-#undef CONFIG_CMD_NET
+#define CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_REGINFO
@@ -235,4 +235,32 @@
#define CONFIG_DOS_PARTITION 1
+/*
+ * BOOTP options
+ */
+#define CONFIG_BOOTP_SUBNETMASK
+#define CONFIG_BOOTP_GATEWAY
+#define CONFIG_BOOTP_HOSTNAME
+#define CONFIG_BOOTP_BOOTPATH
+
+/*
+ * Net Configurations
+ */
+#define CONFIG_ETHADDR 00 : 40 : 5c : 26 : 0a : 5b
+#define CONFIG_NETMASK 255.255.255.0
+#define CONFIG_IPADDR 192.168.0.20
+#define CONFIG_SERVERIP 192.168.0.10
+#define CONFIG_GATEWAYIP 192.168.0.1
+
+/*
+ * Ethernet Contoller driver
+ */
+#ifdef CONFIG_CMD_NET
+#define CONFIG_NET_MULTI
+#define CONFIG_SMC911X 1 /* we have a SMC9115 on-board */
+#define CONFIG_SMC911X_16_BIT 1 /* SMC911X_16_BIT Mode */
+#define CONFIG_SMC911X_BASE 0x98800300 /* SMC911X Drive Base */
+#define CONFIG_ENV_SROM_BANK 3 /* Select SROM Bank-3 for Ethernet*/
+#endif /* CONFIG_CMD_NET */
+
#endif /* __CONFIG_H */
--
1.6.6
More information about the U-Boot
mailing list