]> git.sur5r.net Git - u-boot/blobdiff - board/freescale/mx53ard/mx53ard.c
powerpc/t4240qds: Print FPGA detail version
[u-boot] / board / freescale / mx53ard / mx53ard.c
index b51d2097d1804e680332d6b261af2ce360d11ffd..2fc8570f23b5a1f496be27f114852260d7024f38 100644 (file)
 #include <asm/arch/mx5x_pins.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/crm_regs.h>
+#include <asm/arch/clock.h>
 #include <asm/arch/iomux.h>
 #include <asm/errno.h>
 #include <netdev.h>
 #include <mmc.h>
 #include <fsl_esdhc.h>
-#include <mxc_gpio.h>
+#include <asm/gpio.h>
 
-#define ETHERNET_INT           (1 * 32 + 31)  /* GPIO2_31 */
+#define ETHERNET_INT           IMX_GPIO_NR(2, 31)
 
 DECLARE_GLOBAL_DATA_PTR;
 
-u32 get_board_rev(void)
-{
-       return get_cpu_rev();
-}
-
 int dram_init(void)
 {
        u32 size1, size2;
 
-       size1 = get_ram_size((volatile void *)PHYS_SDRAM_1, PHYS_SDRAM_1_SIZE);
-       size2 = get_ram_size((volatile void *)PHYS_SDRAM_2, PHYS_SDRAM_2_SIZE);
+       size1 = get_ram_size((void *)PHYS_SDRAM_1, PHYS_SDRAM_1_SIZE);
+       size2 = get_ram_size((void *)PHYS_SDRAM_2, PHYS_SDRAM_2_SIZE);
 
        gd->ram_size = size1 + size2;
 
@@ -84,20 +80,26 @@ static void setup_iomux_uart(void)
 
 #ifdef CONFIG_FSL_ESDHC
 struct fsl_esdhc_cfg esdhc_cfg[2] = {
-       {MMC_SDHC1_BASE_ADDR, 1 },
-       {MMC_SDHC2_BASE_ADDR, 1 },
+       {MMC_SDHC1_BASE_ADDR},
+       {MMC_SDHC2_BASE_ADDR},
 };
 
-int board_mmc_getcd(u8 *cd, struct mmc *mmc)
+int board_mmc_getcd(struct mmc *mmc)
 {
        struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
+       int ret;
+
+       mxc_request_iomux(MX53_PIN_GPIO_1, IOMUX_CONFIG_ALT1);
+       gpio_direction_input(IMX_GPIO_NR(1, 1));
+       mxc_request_iomux(MX53_PIN_GPIO_4, IOMUX_CONFIG_ALT1);
+       gpio_direction_input(IMX_GPIO_NR(1, 4));
 
        if (cfg->esdhc_base == MMC_SDHC1_BASE_ADDR)
-               *cd = mxc_gpio_get(1); /*GPIO1_1*/
+               ret = !gpio_get_value(IMX_GPIO_NR(1, 1));
        else
-               *cd = mxc_gpio_get(4); /*GPIO1_4*/
+               ret = !gpio_get_value(IMX_GPIO_NR(1, 4));
 
-       return 0;
+       return ret;
 }
 
 int board_mmc_init(bd_t *bis)
@@ -105,6 +107,9 @@ int board_mmc_init(bd_t *bis)
        u32 index;
        s32 status = 0;
 
+       esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
+       esdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
+
        for (index = 0; index < CONFIG_SYS_FSL_ESDHC_NUM; index++) {
                switch (index) {
                case 0:
@@ -176,7 +181,7 @@ static void weim_smc911x_iomux(void)
 {
        /* ETHERNET_INT as GPIO2_31 */
        mxc_request_iomux(MX53_PIN_EIM_EB3, IOMUX_CONFIG_ALT1);
-       mxc_gpio_direction(ETHERNET_INT, MXC_GPIO_DIRECTION_IN);
+       gpio_direction_input(ETHERNET_INT);
 
        /* Data bus */
        mxc_request_iomux(MX53_PIN_EIM_D16, IOMUX_CONFIG_ALT0);
@@ -278,7 +283,6 @@ int board_early_init_f(void)
 
 int board_init(void)
 {
-       gd->bd->bi_arch_number = MACH_TYPE_MX53_ARD;
        /* address of boot parameters */
        gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
 
@@ -287,7 +291,7 @@ int board_init(void)
 
 int board_eth_init(bd_t *bis)
 {
-       int rc = 0;
+       int rc = -ENODEV;
 
        weim_smc911x_iomux();
        weim_cs1_settings();