From: Masahiro Yamada Date: Thu, 16 Feb 2017 06:59:32 +0000 (+0900) Subject: ARM: uniphier: remove dram_nr_ch from board parameters X-Git-Tag: v2017.03-rc3~8^2~7 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=dd38374d2f1d89fb34d4c544f558537db1966a33;p=oweals%2Fu-boot.git ARM: uniphier: remove dram_nr_ch from board parameters This parameter is redundant because we can know the number of channels by checking if dram_ch[2].size is zero. Signed-off-by: Masahiro Yamada --- diff --git a/arch/arm/mach-uniphier/boards.c b/arch/arm/mach-uniphier/boards.c index 26dae9e92c..db7d192d68 100644 --- a/arch/arm/mach-uniphier/boards.c +++ b/arch/arm/mach-uniphier/boards.c @@ -16,7 +16,6 @@ DECLARE_GLOBAL_DATA_PTR; #if defined(CONFIG_ARCH_UNIPHIER_SLD3) static const struct uniphier_board_data uniphier_sld3_data = { .dram_freq = 1600, - .dram_nr_ch = 3, .dram_ch[0] = { .size = 0x20000000, .width = 32, @@ -36,7 +35,6 @@ static const struct uniphier_board_data uniphier_sld3_data = { #if defined(CONFIG_ARCH_UNIPHIER_LD4) static const struct uniphier_board_data uniphier_ld4_data = { .dram_freq = 1600, - .dram_nr_ch = 2, .dram_ch[0] = { .size = 0x10000000, .width = 16, @@ -53,7 +51,6 @@ static const struct uniphier_board_data uniphier_ld4_data = { /* 1GB RAM board */ static const struct uniphier_board_data uniphier_pro4_data = { .dram_freq = 1600, - .dram_nr_ch = 2, .dram_ch[0] = { .size = 0x20000000, .width = 32, @@ -67,7 +64,6 @@ static const struct uniphier_board_data uniphier_pro4_data = { /* 2GB RAM board */ static const struct uniphier_board_data uniphier_pro4_2g_data = { .dram_freq = 1600, - .dram_nr_ch = 2, .dram_ch[0] = { .size = 0x40000000, .width = 32, @@ -82,7 +78,6 @@ static const struct uniphier_board_data uniphier_pro4_2g_data = { #if defined(CONFIG_ARCH_UNIPHIER_SLD8) static const struct uniphier_board_data uniphier_sld8_data = { .dram_freq = 1333, - .dram_nr_ch = 2, .dram_ch[0] = { .size = 0x10000000, .width = 16, @@ -98,7 +93,6 @@ static const struct uniphier_board_data uniphier_sld8_data = { #if defined(CONFIG_ARCH_UNIPHIER_PRO5) static const struct uniphier_board_data uniphier_pro5_data = { .dram_freq = 1866, - .dram_nr_ch = 2, .dram_ch[0] = { .size = 0x20000000, .width = 32, @@ -113,7 +107,6 @@ static const struct uniphier_board_data uniphier_pro5_data = { #if defined(CONFIG_ARCH_UNIPHIER_PXS2) static const struct uniphier_board_data uniphier_pxs2_data = { .dram_freq = 2133, - .dram_nr_ch = 3, .dram_ch[0] = { .size = 0x40000000, .width = 32, @@ -132,7 +125,6 @@ static const struct uniphier_board_data uniphier_pxs2_data = { #if defined(CONFIG_ARCH_UNIPHIER_LD6B) static const struct uniphier_board_data uniphier_ld6b_data = { .dram_freq = 1866, - .dram_nr_ch = 3, .dram_ch[0] = { .size = 0x40000000, .width = 32, @@ -151,7 +143,6 @@ static const struct uniphier_board_data uniphier_ld6b_data = { #if defined(CONFIG_ARCH_UNIPHIER_LD11) static const struct uniphier_board_data uniphier_ld11_data = { .dram_freq = 1600, - .dram_nr_ch = 2, .dram_ch[0] = { .size = 0x20000000, .width = 16, @@ -166,7 +157,6 @@ static const struct uniphier_board_data uniphier_ld11_data = { #if defined(CONFIG_ARCH_UNIPHIER_LD20) static const struct uniphier_board_data uniphier_ld20_ref_data = { .dram_freq = 1866, - .dram_nr_ch = 3, .dram_ch[0] = { .size = 0x40000000, .width = 32, @@ -184,7 +174,6 @@ static const struct uniphier_board_data uniphier_ld20_ref_data = { static const struct uniphier_board_data uniphier_ld20_data = { .dram_freq = 1866, - .dram_nr_ch = 3, .dram_ch[0] = { .size = 0x40000000, .width = 32, @@ -202,7 +191,6 @@ static const struct uniphier_board_data uniphier_ld20_data = { static const struct uniphier_board_data uniphier_ld21_data = { .dram_freq = 1866, - .dram_nr_ch = 2, .dram_ch[0] = { .size = 0x20000000, .width = 32, diff --git a/arch/arm/mach-uniphier/dram/umc-ld11.c b/arch/arm/mach-uniphier/dram/umc-ld11.c index 97a9fef24c..69aa4f2eeb 100644 --- a/arch/arm/mach-uniphier/dram/umc-ld11.c +++ b/arch/arm/mach-uniphier/dram/umc-ld11.c @@ -471,7 +471,7 @@ int uniphier_ld11_umc_init(const struct uniphier_board_data *bd) ddrphy_init(phy_base, freq); - for (ch = 0; ch < bd->dram_nr_ch; ch++) { + for (ch = 0; ch < DRAM_CH_NR; ch++) { unsigned long size = bd->dram_ch[ch].size; unsigned int width = bd->dram_ch[ch].width; diff --git a/arch/arm/mach-uniphier/dram/umc-ld20.c b/arch/arm/mach-uniphier/dram/umc-ld20.c index 157b915a7b..14c44e4645 100644 --- a/arch/arm/mach-uniphier/dram/umc-ld20.c +++ b/arch/arm/mach-uniphier/dram/umc-ld20.c @@ -606,15 +606,18 @@ int uniphier_ld20_umc_init(const struct uniphier_board_data *bd) return -EINVAL; } - for (ch = 0; ch < bd->dram_nr_ch; ch++) { + for (ch = 0; ch < DRAM_CH_NR; ch++) { unsigned long size = bd->dram_ch[ch].size; unsigned int width = bd->dram_ch[ch].width; - ret = umc_ch_init(umc_ch_base, phy_ch_base, board, - bd->dram_freq, size / (width / 16), ch); - if (ret) { - pr_err("failed to initialize UMC ch%d\n", ch); - return ret; + if (size) { + ret = umc_ch_init(umc_ch_base, phy_ch_base, board, + bd->dram_freq, size / (width / 16), + ch); + if (ret) { + pr_err("failed to initialize UMC ch%d\n", ch); + return ret; + } } umc_ch_base += 0x00200000; diff --git a/arch/arm/mach-uniphier/dram/umc-pxs2.c b/arch/arm/mach-uniphier/dram/umc-pxs2.c index 05a62de45a..7fa29f119d 100644 --- a/arch/arm/mach-uniphier/dram/umc-pxs2.c +++ b/arch/arm/mach-uniphier/dram/umc-pxs2.c @@ -619,15 +619,17 @@ int uniphier_pxs2_umc_init(const struct uniphier_board_data *bd) return -EINVAL; } - for (ch = 0; ch < bd->dram_nr_ch; ch++) { + for (ch = 0; ch < DRAM_CH_NR; ch++) { unsigned long size = bd->dram_ch[ch].size; unsigned int width = bd->dram_ch[ch].width; - ret = umc_ch_init(umc_ch_base, freq, size / (width / 16), - width, ch); - if (ret) { - pr_err("failed to initialize UMC ch%d\n", ch); - return ret; + if (size) { + ret = umc_ch_init(umc_ch_base, freq, + size / (width / 16), width, ch); + if (ret) { + pr_err("failed to initialize UMC ch%d\n", ch); + return ret; + } } umc_ch_base += 0x00200000; diff --git a/arch/arm/mach-uniphier/init.h b/arch/arm/mach-uniphier/init.h index 6691d446c6..be0ad6c374 100644 --- a/arch/arm/mach-uniphier/init.h +++ b/arch/arm/mach-uniphier/init.h @@ -19,7 +19,6 @@ struct uniphier_dram_ch { struct uniphier_board_data { unsigned int dram_freq; - unsigned int dram_nr_ch; struct uniphier_dram_ch dram_ch[UNIPHIER_MAX_NR_DRAM_CH]; unsigned int flags;