adjust vmac board functions to arch/arm/mach-rk30/board-rk31-sdk-vmac.c
authorhwg <hwg@rock-chips.com>
Sat, 10 Aug 2013 08:32:04 +0000 (16:32 +0800)
committerhwg <hwg@rock-chips.com>
Sat, 10 Aug 2013 08:32:04 +0000 (16:32 +0800)
arch/arm/mach-rk30/board-rk31-sdk-vmac.c [new file with mode: 0644]
arch/arm/mach-rk3188/board-rk3188-sdk-vmac.c [deleted file]
arch/arm/mach-rk3188/board-rk3188-sdk.c

diff --git a/arch/arm/mach-rk30/board-rk31-sdk-vmac.c b/arch/arm/mach-rk30/board-rk31-sdk-vmac.c
new file mode 100644 (file)
index 0000000..a29bc9e
--- /dev/null
@@ -0,0 +1,105 @@
+#define grf_readl(offset)      readl_relaxed(RK30_GRF_BASE + offset)
+#define grf_writel(v, offset)  do { writel_relaxed(v, RK30_GRF_BASE + offset); dsb(); } while (0)
+
+static int rk30_vmac_register_set(void)
+{
+       //config rk30 vmac as rmii
+       writel_relaxed(0x3 << 16 | 0x2, RK30_GRF_BASE + GRF_SOC_CON1);
+       return 0;
+}
+
+static int rk30_rmii_io_init(void)
+{
+       int err;
+       printk("enter %s ",__func__);
+       iomux_set(GPIO0_C0);//power pwr
+       iomux_set(GPIO3_D2);//int
+       
+       iomux_set(RMII_MD);//IO3_D0
+       iomux_set(RMII_MDCLK);//IO3_D1
+      
+       iomux_set(RMII_RXD0);
+       iomux_set(RMII_RXD1);
+       iomux_set(RMII_CRS);
+       iomux_set(RMII_RXERR);
+       iomux_set(RMII_TXD0);
+       iomux_set(RMII_TXD1);
+       iomux_set(RMII_TXEN);
+       iomux_set(RMII_CLKOUT);
+
+       //rk3188 gpio3 and sdio drive strength , 
+    grf_writel(0x0f<<16|0x0f,GRF_IO_CON3);
+      
+       //phy power gpio
+       err = gpio_request(PHY_PWR_EN_GPIO, "phy_power_en");
+       if (err) {
+             printk("request phy power en pin faile ! \n");
+               return -1;
+       }
+       //phy power down
+       gpio_direction_output(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
+       gpio_set_value(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
+
+       return 0;
+}
+
+static int rk30_rmii_io_deinit(void)
+{
+       //phy power down
+       printk("enter %s ",__func__);
+       gpio_direction_output(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
+       gpio_set_value(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
+       //free
+       gpio_free(PHY_PWR_EN_GPIO);
+       return 0;
+}
+
+static int rk30_rmii_power_control(int enable)
+{
+      printk("enter %s ,enable = %d ",__func__,enable);
+       if (enable) {
+               //enable phy power
+               printk("power on phy\n");
+               iomux_set(GPIO0_C0);//power pwr
+               iomux_set(GPIO3_D2);//int
+               
+               iomux_set(RMII_MD);//IO3_D0
+               iomux_set(RMII_MDCLK);//IO3_D1
+              
+               iomux_set(RMII_RXD0);
+               iomux_set(RMII_RXD1);
+               iomux_set(RMII_CRS);
+               iomux_set(RMII_RXERR);
+               iomux_set(RMII_TXD0);
+               iomux_set(RMII_TXD1);
+               iomux_set(RMII_TXEN);
+               iomux_set(RMII_CLKOUT);
+       
+               gpio_direction_output(PHY_PWR_EN_GPIO, PHY_PWR_EN_VALUE);
+               gpio_set_value(PHY_PWR_EN_GPIO, PHY_PWR_EN_VALUE);
+
+               //gpio reset            
+       }else {
+               gpio_direction_output(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
+               gpio_set_value(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
+       }
+       return 0;
+}
+
+#define BIT_EMAC_SPEED      (1 << 1)
+static int rk29_vmac_speed_switch(int speed)
+{
+       if (10 == speed) {
+           writel_relaxed(readl_relaxed(RK30_GRF_BASE + GRF_SOC_CON1) & (~BIT_EMAC_SPEED), RK30_GRF_BASE + GRF_SOC_CON1);
+       } else {
+           writel_relaxed(readl_relaxed(RK30_GRF_BASE + GRF_SOC_CON1) | ( BIT_EMAC_SPEED), RK30_GRF_BASE + GRF_SOC_CON1);
+       }
+}
+
+struct rk29_vmac_platform_data board_vmac_data = {
+       .vmac_register_set = rk30_vmac_register_set,
+       .rmii_io_init = rk30_rmii_io_init,
+       .rmii_io_deinit = rk30_rmii_io_deinit,
+       .rmii_power_control = rk30_rmii_power_control,
+       .rmii_speed_switch = rk29_vmac_speed_switch,
+};
diff --git a/arch/arm/mach-rk3188/board-rk3188-sdk-vmac.c b/arch/arm/mach-rk3188/board-rk3188-sdk-vmac.c
deleted file mode 100644 (file)
index 18bd958..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#define grf_readl(offset)      readl_relaxed(RK30_GRF_BASE + offset)
-#define grf_writel(v, offset)  do { writel_relaxed(v, RK30_GRF_BASE + offset); dsb(); } while (0)
-
-static int rk30_vmac_register_set(void)
-{
-       //config rk30 vmac as rmii
-       writel_relaxed(0x3 << 16 | 0x2, RK30_GRF_BASE + GRF_SOC_CON1);
-       return 0;
-}
-
-static int rk30_rmii_io_init(void)
-{
-       int err;
-       printk("enter %s ",__func__);
-       iomux_set(GPIO0_C0);//power pwr
-       iomux_set(GPIO3_D2);//int
-       
-       iomux_set(RMII_MD);//IO3_D0
-       iomux_set(RMII_MDCLK);//IO3_D1
-      
-       iomux_set(RMII_RXD0);
-       iomux_set(RMII_RXD1);
-       iomux_set(RMII_CRS);
-       iomux_set(RMII_RXERR);
-       iomux_set(RMII_TXD0);
-       iomux_set(RMII_TXD1);
-       iomux_set(RMII_TXEN);
-       iomux_set(RMII_CLKOUT);
-
-       //rk3188 gpio3 and sdio drive strength , 
-      grf_writel(0x0f<16|0x0f,GRF_IO_CON3);
-      
-       //phy power gpio
-       err = gpio_request(PHY_PWR_EN_GPIO, "phy_power_en");
-       if (err) {
-             printk("request phy power en pin faile ! \n");
-               return -1;
-       }
-       //phy power down
-       gpio_direction_output(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
-       gpio_set_value(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
-
-       return 0;
-}
-
-static int rk30_rmii_io_deinit(void)
-{
-       //phy power down
-       printk("enter %s ",__func__);
-       gpio_direction_output(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
-       gpio_set_value(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
-       //free
-       gpio_free(PHY_PWR_EN_GPIO);
-       return 0;
-}
-
-static int rk30_rmii_power_control(int enable)
-{
-      printk("enter %s ,enable = %d ",__func__,enable);
-       if (enable) {
-               //enable phy power
-               printk("power on phy\n");
-               iomux_set(GPIO0_C0);//power pwr
-               iomux_set(GPIO3_D2);//int
-               
-               iomux_set(RMII_MD);//IO3_D0
-               iomux_set(RMII_MDCLK);//IO3_D1
-              
-               iomux_set(RMII_RXD0);
-               iomux_set(RMII_RXD1);
-               iomux_set(RMII_CRS);
-               iomux_set(RMII_RXERR);
-               iomux_set(RMII_TXD0);
-               iomux_set(RMII_TXD1);
-               iomux_set(RMII_TXEN);
-               iomux_set(RMII_CLKOUT);
-       
-               gpio_direction_output(PHY_PWR_EN_GPIO, PHY_PWR_EN_VALUE);
-               gpio_set_value(PHY_PWR_EN_GPIO, PHY_PWR_EN_VALUE);
-
-               //gpio reset            
-       }else {
-               gpio_direction_output(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
-               gpio_set_value(PHY_PWR_EN_GPIO, !PHY_PWR_EN_VALUE);
-       }
-       return 0;
-}
-
-#define BIT_EMAC_SPEED      (1 << 1)
-static int rk29_vmac_speed_switch(int speed)
-{
-       if (10 == speed) {
-           writel_relaxed(readl_relaxed(RK30_GRF_BASE + GRF_SOC_CON1) & (~BIT_EMAC_SPEED), RK30_GRF_BASE + GRF_SOC_CON1);
-       } else {
-           writel_relaxed(readl_relaxed(RK30_GRF_BASE + GRF_SOC_CON1) | ( BIT_EMAC_SPEED), RK30_GRF_BASE + GRF_SOC_CON1);
-       }
-}
-
-struct rk29_vmac_platform_data board_vmac_data = {
-       .vmac_register_set = rk30_vmac_register_set,
-       .rmii_io_init = rk30_rmii_io_init,
-       .rmii_io_deinit = rk30_rmii_io_deinit,
-       .rmii_power_control = rk30_rmii_power_control,
-       .rmii_speed_switch = rk29_vmac_speed_switch,
-};
index 22b2f5f83e4c9d1fcd3fe34f8c5ba1064cd9a6f3..1ecde6f6f52a3dd74ff713bc97fffbe534370312 100755 (executable)
@@ -1175,7 +1175,7 @@ struct platform_device pwm_regulator_device[1] = {
 #ifdef CONFIG_RK29_VMAC
 #define PHY_PWR_EN_GPIO        RK30_PIN0_PC0
 #define PHY_PWR_EN_VALUE   GPIO_HIGH
-#include "board-rk3188-sdk-vmac.c"
+#include "../mach-rk30/board-rk31-sdk-vmac.c"
 
 #endif