add emmc clk power save config.
authorzhaoyifeng <zyf@rock-chips.com>
Tue, 28 Jun 2011 12:54:52 +0000 (20:54 +0800)
committerzhaoyifeng <zyf@rock-chips.com>
Tue, 28 Jun 2011 12:54:52 +0000 (20:54 +0800)
drivers/mtd/rknand/Kconfig
drivers/mtd/rknand/nand_config.h
drivers/mtd/rknand/rknand_base.h
drivers/mtd/rknand/rknand_base_ko.c

index a3a99d9e956a5e53acceb94fd3925b0981dbae11..58e91664a6e6cd8c8dff3cf60bc731f6d0077932 100755 (executable)
@@ -22,6 +22,12 @@ config MTD_RKNAND_BUFFER
        depends on MTD_RKNAND \r
     default y \r
        help \r
+       \r
+config MTD_EMMC_CLK_POWER_SAVE \r
+       tristate "RK29 emmc clock power save" \r
+       depends on MTD_RKNAND \r
+    default n\r
+       help \r
  \r
 config MTD_NAND_RK29XX_DEBUG \r
        tristate "RK29 Nand driver debug enables" \r
index ab19472d40e3632a6b3924011e6090aab61a0c06..ecdb030d97b05b1fd1acd99c3ee14a871f9f0ecb 100755 (executable)
@@ -62,6 +62,9 @@ extern void rkNand_cond_resched(void);
 \r
 #define COND_RESCHED() rkNand_cond_resched()//cond_resched()\r
 \r
+extern unsigned long rk_dma_mem_alloc(int size);\r
+extern unsigned long rk_dma_mem_free(unsigned long buf);\r
+\r
 #define PRINTF RKNAND_DEBUG\r
 #endif\r
 \r
index 2bc4f7aa32b6b1a3053972b59473e72179ccc5c2..a22d22df33301f0fd4bc4a60a0a3918e31498309 100755 (executable)
@@ -66,6 +66,8 @@ struct rknand_info {
     int (*GetIdBlockSysData)(char * buf, int Sector);\r
     char (*GetSNSectorInfo)(char * pbuf);\r
     char (*GetChipSectorInfo)(char * pbuf);\r
+    int emmc_clk_power_save_en;\r
+    int reserved[20];\r
 };\r
 \r
 extern int rknand_queue_read(int Index, int nSec, void *buf);\r
index 7ee13b22fa934c6aed1f8d378b1f8f870418b204..74d486e31e2c1f32bdcf1d5141a84d272b9be0e8 100755 (executable)
@@ -334,7 +334,11 @@ static int rknand_probe(struct platform_device *pdev)
 \r
     gpNandInfo->bufSize = MAX_BUFFER_SIZE * 512;\r
     gpNandInfo->pbuf = grknand_buf;\r
-   \r
+\r
+#ifdef CONFIG_MTD_EMMC_CLK_POWER_SAVE\r
+    gpNandInfo->emmc_clk_power_save_en = 1;\r
+#endif\r
+\r
        rknand_mtd.name = dev_name(&pdev->dev);\r
        rknand_mtd.priv = &nand_info->rknand;\r
        rknand_mtd.owner = THIS_MODULE;\r