From eba1b6b3c72409b727f9bd2e5fc15d778819f5c2 Mon Sep 17 00:00:00 2001 From: Haojian Zhuang Date: Sat, 4 Aug 2018 18:07:26 +0800 Subject: [PATCH] plat/poplar: migrate to mmc framework Migrate from emmc framework to mmc framework. Signed-off-by: Haojian Zhuang --- plat/hisilicon/poplar/bl1_plat_setup.c | 6 ++++-- plat/hisilicon/poplar/bl2_plat_setup.c | 7 +++++-- plat/hisilicon/poplar/include/hi3798cv200.h | 4 ++-- plat/hisilicon/poplar/plat_storage.c | 8 ++++---- plat/hisilicon/poplar/platform.mk | 4 ++-- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/plat/hisilicon/poplar/bl1_plat_setup.c b/plat/hisilicon/poplar/bl1_plat_setup.c index 25eed593..6fc4f332 100644 --- a/plat/hisilicon/poplar/bl1_plat_setup.c +++ b/plat/hisilicon/poplar/bl1_plat_setup.c @@ -10,9 +10,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -92,6 +92,7 @@ void bl1_plat_arch_setup(void) void bl1_platform_setup(void) { int i; + struct mmc_device_info info; #if !POPLAR_RECOVERY dw_mmc_params_t params = EMMC_INIT_PARAMS(POPLAR_EMMC_DESC_BASE); #endif @@ -105,7 +106,8 @@ void bl1_platform_setup(void) #if !POPLAR_RECOVERY /* SoC-specific emmc register are initialized/configured by bootrom */ INFO("BL1: initializing emmc\n"); - dw_mmc_init(¶ms); + info.mmc_dev_type = MMC_IS_EMMC; + dw_mmc_init(¶ms, &info); #endif plat_io_setup(); diff --git a/plat/hisilicon/poplar/bl2_plat_setup.c b/plat/hisilicon/poplar/bl2_plat_setup.c index 2671994a..041ed4ad 100644 --- a/plat/hisilicon/poplar/bl2_plat_setup.c +++ b/plat/hisilicon/poplar/bl2_plat_setup.c @@ -11,9 +11,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -333,6 +333,8 @@ void bl2_plat_get_bl33_meminfo(meminfo_t *bl33_meminfo) void bl2_early_platform_setup(meminfo_t *mem_layout) { + struct mmc_device_info info; + #if !POPLAR_RECOVERY dw_mmc_params_t params = EMMC_INIT_PARAMS(POPLAR_EMMC_DESC_BASE); #endif @@ -347,7 +349,8 @@ void bl2_early_platform_setup(meminfo_t *mem_layout) #if !POPLAR_RECOVERY /* SoC-specific emmc register are initialized/configured by bootrom */ INFO("BL2: initializing emmc\n"); - dw_mmc_init(¶ms); + info.mmc_dev_type = MMC_IS_EMMC; + dw_mmc_init(¶ms, &info); #endif plat_io_setup(); diff --git a/plat/hisilicon/poplar/include/hi3798cv200.h b/plat/hisilicon/poplar/include/hi3798cv200.h index 125b0484..254b3571 100644 --- a/plat/hisilicon/poplar/include/hi3798cv200.h +++ b/plat/hisilicon/poplar/include/hi3798cv200.h @@ -67,11 +67,11 @@ #define EMMC_DESC_SIZE U(0x00100000) /* 1MB */ #define EMMC_INIT_PARAMS(base) \ - { .bus_width = EMMC_BUS_WIDTH_8, \ + { .bus_width = MMC_BUS_WIDTH_8, \ .clk_rate = 25 * 1000 * 1000, \ .desc_base = (base), \ .desc_size = EMMC_DESC_SIZE, \ - .flags = EMMC_FLAG_CMD23, \ + .flags = MMC_FLAG_CMD23, \ .reg_base = REG_BASE_MCI, \ } diff --git a/plat/hisilicon/poplar/plat_storage.c b/plat/hisilicon/poplar/plat_storage.c index db52c676..925274ce 100644 --- a/plat/hisilicon/poplar/plat_storage.c +++ b/plat/hisilicon/poplar/plat_storage.c @@ -7,13 +7,13 @@ #include #include #include -#include #include #include #include #include #include #include +#include #include #include #include @@ -38,10 +38,10 @@ static const io_block_dev_spec_t emmc_dev_spec = { .length = POPLAR_EMMC_DATA_SIZE, }, .ops = { - .read = emmc_read_blocks, - .write = emmc_write_blocks, + .read = mmc_read_blocks, + .write = mmc_write_blocks, }, - .block_size = EMMC_BLOCK_SIZE, + .block_size = MMC_BLOCK_SIZE, }; #else static const io_dev_connector_t *mmap_dev_con; diff --git a/plat/hisilicon/poplar/platform.mk b/plat/hisilicon/poplar/platform.mk index 14ffa99e..3cdbe599 100644 --- a/plat/hisilicon/poplar/platform.mk +++ b/plat/hisilicon/poplar/platform.mk @@ -82,7 +82,7 @@ PLAT_BL_COMMON_SOURCES := \ BL1_SOURCES += \ lib/cpus/aarch64/cortex_a53.S \ drivers/arm/pl061/pl061_gpio.c \ - drivers/emmc/emmc.c \ + drivers/mmc/mmc.c \ drivers/synopsys/emmc/dw_mmc.c \ drivers/io/io_storage.c \ drivers/io/io_block.c \ @@ -94,7 +94,7 @@ BL1_SOURCES += \ BL2_SOURCES += \ drivers/arm/pl061/pl061_gpio.c \ - drivers/emmc/emmc.c \ + drivers/mmc/mmc.c \ drivers/synopsys/emmc/dw_mmc.c \ drivers/io/io_storage.c \ drivers/io/io_block.c \ -- 2.30.2