arm: wandboard: move CONFIG_MXC_UART to defconfig
[platform/kernel/u-boot.git] / board / ge / mx53ppd / mx53ppd.c
index bf75bd2..f8320ff 100644 (file)
@@ -9,6 +9,7 @@
  */
 
 #include <common.h>
+#include <init.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/iomux-mx53.h>
 #include <asm/arch/clock.h>
+#include <env.h>
 #include <linux/errno.h>
 #include <linux/libfdt.h>
 #include <asm/mach-imx/mxc_i2c.h>
 #include <asm/mach-imx/mx5_video.h>
-#include <environment.h>
 #include <netdev.h>
 #include <i2c.h>
 #include <mmc.h>
@@ -38,8 +39,6 @@
 #include "../../ge/common/ge_common.h"
 #include "../../ge/common/vpd_reader.h"
 
-#define MX53PPD_LCD_POWER              IMX_GPIO_NR(3, 24)
-
 DECLARE_GLOBAL_DATA_PTR;
 
 static u32 mx53_dram_size[2];
@@ -86,9 +85,6 @@ u32 get_board_rev(void)
        return get_cpu_rev() & ~(0xF << 8);
 }
 
-#define UART_PAD_CTRL  (PAD_CTL_HYS | PAD_CTL_DSE_HIGH | \
-                        PAD_CTL_PUS_100K_UP | PAD_CTL_ODE)
-
 #ifdef CONFIG_USB_EHCI_MX5
 int board_ehci_hcd_init(int port)
 {
@@ -99,59 +95,6 @@ int board_ehci_hcd_init(int port)
 }
 #endif
 
-static void setup_iomux_fec(void)
-{
-       static const iomux_v3_cfg_t fec_pads[] = {
-               NEW_PAD_CTRL(MX53_PAD_FEC_MDIO__FEC_MDIO, PAD_CTL_HYS |
-                            PAD_CTL_DSE_HIGH | PAD_CTL_PUS_22K_UP |
-                            PAD_CTL_ODE),
-               NEW_PAD_CTRL(MX53_PAD_FEC_MDC__FEC_MDC, PAD_CTL_DSE_HIGH),
-               NEW_PAD_CTRL(MX53_PAD_FEC_RXD1__FEC_RDATA_1,
-                            PAD_CTL_HYS | PAD_CTL_PKE),
-               NEW_PAD_CTRL(MX53_PAD_FEC_RXD0__FEC_RDATA_0,
-                            PAD_CTL_HYS | PAD_CTL_PKE),
-               NEW_PAD_CTRL(MX53_PAD_FEC_TXD1__FEC_TDATA_1, PAD_CTL_DSE_HIGH),
-               NEW_PAD_CTRL(MX53_PAD_FEC_TXD0__FEC_TDATA_0, PAD_CTL_DSE_HIGH),
-               NEW_PAD_CTRL(MX53_PAD_FEC_TX_EN__FEC_TX_EN, PAD_CTL_DSE_HIGH),
-               NEW_PAD_CTRL(MX53_PAD_FEC_REF_CLK__FEC_TX_CLK,
-                            PAD_CTL_HYS | PAD_CTL_PKE),
-               NEW_PAD_CTRL(MX53_PAD_FEC_RX_ER__FEC_RX_ER,
-                            PAD_CTL_HYS | PAD_CTL_PKE),
-               NEW_PAD_CTRL(MX53_PAD_FEC_CRS_DV__FEC_RX_DV,
-                            PAD_CTL_HYS | PAD_CTL_PKE),
-       };
-
-       imx_iomux_v3_setup_multiple_pads(fec_pads, ARRAY_SIZE(fec_pads));
-}
-
-#define I2C_PAD_CTRL   (PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH | \
-                        PAD_CTL_PUS_100K_UP | PAD_CTL_ODE)
-
-static void setup_iomux_i2c(void)
-{
-       static const iomux_v3_cfg_t i2c1_pads[] = {
-               NEW_PAD_CTRL(MX53_PAD_CSI0_DAT8__I2C1_SDA, I2C_PAD_CTRL),
-               NEW_PAD_CTRL(MX53_PAD_CSI0_DAT9__I2C1_SCL, I2C_PAD_CTRL),
-       };
-
-       imx_iomux_v3_setup_multiple_pads(i2c1_pads, ARRAY_SIZE(i2c1_pads));
-}
-
-#define I2C_PAD MUX_PAD_CTRL(I2C_PAD_CTRL)
-
-static struct i2c_pads_info i2c_pad_info1 = {
-       .scl = {
-               .i2c_mode = MX53_PAD_EIM_D21__I2C1_SCL | I2C_PAD,
-               .gpio_mode = MX53_PAD_EIM_D28__GPIO3_28 | I2C_PAD,
-               .gp = IMX_GPIO_NR(3, 28)
-       },
-       .sda = {
-               .i2c_mode = MX53_PAD_EIM_D28__I2C1_SDA | I2C_PAD,
-               .gpio_mode = MX53_PAD_EIM_D21__GPIO3_21 | I2C_PAD,
-               .gp = IMX_GPIO_NR(3, 21)
-       }
-};
-
 static int clock_1GHz(void)
 {
        int ret;
@@ -181,14 +124,14 @@ void ppd_gpio_init(void)
        int i;
 
        imx_iomux_v3_setup_multiple_pads(ppd_pads, ARRAY_SIZE(ppd_pads));
-       for (i = 0; i < ARRAY_SIZE(ppd_gpios); ++i)
+       for (i = 0; i < ARRAY_SIZE(ppd_gpios); ++i) {
+               gpio_request(ppd_gpios[i].gpio, "request");
                gpio_direction_output(ppd_gpios[i].gpio, ppd_gpios[i].value);
+       }
 }
 
 int board_early_init_f(void)
 {
-       setup_iomux_fec();
-       setup_iomux_lcd();
        ppd_gpio_init();
 
        return 0;
@@ -255,9 +198,6 @@ int board_init(void)
        gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
 
        mxc_set_sata_internal_clock();
-       setup_iomux_i2c();
-
-       setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info1);
 
        return 0;
 }
@@ -296,7 +236,6 @@ int board_late_init(void)
                return res;
 
        print_cpuinfo();
-       hw_watchdog_init();
 
        check_time();
 
@@ -313,8 +252,13 @@ int checkboard(void)
 #ifdef CONFIG_OF_BOARD_SETUP
 int ft_board_setup(void *blob, bd_t *bd)
 {
+       char *rtc_status = env_get("rtc_status");
+
        fdt_setprop(blob, 0, "ge,boot-ver", version_string,
-                                           strlen(version_string) + 1);
+                   strlen(version_string) + 1);
+
+       fdt_setprop(blob, 0, "ge,rtc-status", rtc_status,
+                   strlen(rtc_status) + 1);
        return 0;
 }
 #endif