arm: rmobile: alt: Add ethernet function B support
authorMitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>
Wed, 4 Mar 2015 06:57:03 +0000 (15:57 +0900)
committerNobuhiro Iwamatsu <iwamatsu@nigauri.org>
Sun, 31 May 2015 23:56:34 +0000 (08:56 +0900)
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>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
board/renesas/alt/Kconfig
board/renesas/alt/alt.c

index 957962de20e03d15360db04c633221fbf80e7891..39d53c185b2616c865c8505a57ded448a33c7dab 100644 (file)
@@ -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
index f0010db814a83aced0566223a88147076c7ac6b1..3501a170442c2c2ef2ee3356cd44399fdf21463c 100644 (file)
@@ -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 */