diff mbox

[U-Boot] arm: rmobile: alt: Add ethernet function B support

Message ID 1425452223-20255-1-git-send-email-nobuhiro.iwamatsu.yj@renesas.com
State Accepted, archived
Delegated to: Nobuhiro Iwamatsu
Headers show

Commit Message

Nobuhiro Iwamatsu March 4, 2015, 6:57 a.m. UTC
From: Mitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>

Ethernet function of Alt board can select normal and B by DIP switch
on board. But user need to set not only DIP switch but also pin function.
This adds pin function of Ethernet function B. This can select from Kconfig.

Signed-off-by: Mitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
---
 board/renesas/alt/Kconfig |  9 +++++++++
 board/renesas/alt/alt.c   | 17 ++++++++++++++++-
 2 files changed, 25 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/board/renesas/alt/Kconfig b/board/renesas/alt/Kconfig
index 957962d..39d53c1 100644
--- a/board/renesas/alt/Kconfig
+++ b/board/renesas/alt/Kconfig
@@ -9,4 +9,13 @@  config SYS_VENDOR
 config SYS_CONFIG_NAME
 	default "alt"
 
+config R8A7794_ETHERNET_B
+	bool "Use ethernet B function"
+	depends on TARGET_ALT
+	default n
+	help
+	  ALT board can use default ethernet and etnernet B function.
+	  This config set pin function of ethenet B. You also needt to change
+	  DIP switch of board in order to use this function.
+
 endif
diff --git a/board/renesas/alt/alt.c b/board/renesas/alt/alt.c
index f0010db..3501a17 100644
--- a/board/renesas/alt/alt.c
+++ b/board/renesas/alt/alt.c
@@ -1,7 +1,7 @@ 
 /*
  * board/renesas/alt/alt.c
  *
- * Copyright (C) 2014 Renesas Electronics Corporation
+ * Copyright (C) 2014, 2015 Renesas Electronics Corporation
  *
  * SPDX-License-Identifier: GPL-2.0
  */
@@ -94,6 +94,20 @@  int board_init(void)
 	r8a7794_pinmux_init();
 
 	/* Ether Enable */
+#if defined(CONFIG_R8A7794_ETHERNET_B)
+	gpio_request(GPIO_FN_ETH_CRS_DV_B, NULL);
+	gpio_request(GPIO_FN_ETH_RX_ER_B, NULL);
+	gpio_request(GPIO_FN_ETH_RXD0_B, NULL);
+	gpio_request(GPIO_FN_ETH_RXD1_B, NULL);
+	gpio_request(GPIO_FN_ETH_LINK_B, NULL);
+	gpio_request(GPIO_FN_ETH_REFCLK_B, NULL);
+	gpio_request(GPIO_FN_ETH_MDIO_B, NULL);
+	gpio_request(GPIO_FN_ETH_TXD1_B, NULL);
+	gpio_request(GPIO_FN_ETH_TX_EN_B, NULL);
+	gpio_request(GPIO_FN_ETH_MAGIC_B, NULL);
+	gpio_request(GPIO_FN_ETH_TXD0_B, NULL);
+	gpio_request(GPIO_FN_ETH_MDC_B, NULL);
+#else
 	gpio_request(GPIO_FN_ETH_CRS_DV, NULL);
 	gpio_request(GPIO_FN_ETH_RX_ER, NULL);
 	gpio_request(GPIO_FN_ETH_RXD0, NULL);
@@ -106,6 +120,7 @@  int board_init(void)
 	gpio_request(GPIO_FN_ETH_MAGIC, NULL);
 	gpio_request(GPIO_FN_ETH_TXD0, NULL);
 	gpio_request(GPIO_FN_ETH_MDC, NULL);
+#endif
 	gpio_request(GPIO_FN_IRQ8, NULL);
 
 	/* PHY reset */