static void __init machine_rk29_mapio(void)
{
- rk29_map_common_io(periph_pll_288mhz);
+ rk29_map_common_io();
rk29_setup_early_printk();
rk29_sram_init();
- rk29_clock_init();
+ rk29_clock_init(periph_pll_288mhz);
rk29_iomux_init();
}
Hz = clk_get_rate(clk_get(NULL,"ddr"));
MHz = Hz/1000000;
-
- value = ddr_change_freq(MHz);
+#if defined(CONFIG_MACH_RK29_A22) //a22 should not change freq
+#else
+ value = ddr_change_freq(MHz);
+#endif
ddr_print("init success!!! freq=%dMHz\n", value);
return 0;
}
lsr = readl(i2c->regs + I2C_LSR);
if((lsr & I2C_LSR_RCV_NAK) && (i != msg->len -1) && !(msg->flags & I2C_M_IGNORE_NAK))
return -EINVAL;
+
+ if(msg->addr == 0x41) //delay for tp
+ udelay(50);
}
return ret;
else
rk29_set_ack(i2c);
i2c_dbg(i2c->dev, "i2c recv >>>>>>>>>>>> buf[%d]: %x\n", i, msg->buf[i]);
+
+ if(msg->addr == 0x41) //delay for tp
+ udelay(50);
}
return ret;
}
static int rk29_sdmmc_get_cd(struct mmc_host *mmc)
{
+#if defined(CONFIG_MACH_RK29_A22) //A22's sdcard do not support detect pin
+return 1;
+#else
struct rk29_sdmmc *host = mmc_priv(mmc);
u32 cdetect = rk29_sdmmc_read(host->regs, SDMMC_CDETECT);
return (cdetect & SDMMC_CARD_DETECT_N)?0:1;
+#endif
}
static void rk29_sdmmc_enable_sdio_irq(struct mmc_host *mmc, int enable)