ARM: uniphier: introduce flags to uniphier_board_data structure

I need to add more board attributes, so the "flags" member will be
handier than separate boolean ones.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
Masahiro Yamada 2016-07-22 13:38:32 +09:00
parent 4bab70a77d
commit a74c28a0f2
5 changed files with 20 additions and 11 deletions

View File

@ -1,5 +1,6 @@
/* /*
* Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com> * Copyright (C) 2015-2016 Socionext Inc.
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
* *
* SPDX-License-Identifier: GPL-2.0+ * SPDX-License-Identifier: GPL-2.0+
*/ */
@ -38,7 +39,6 @@ static const struct uniphier_board_data uniphier_sld3_data = {
static const struct uniphier_board_data uniphier_ld4_data = { static const struct uniphier_board_data uniphier_ld4_data = {
.dram_freq = 1600, .dram_freq = 1600,
.dram_nr_ch = 2, .dram_nr_ch = 2,
.dram_ddr3plus = true,
.dram_ch[0] = { .dram_ch[0] = {
.base = 0x80000000, .base = 0x80000000,
.size = 0x10000000, .size = 0x10000000,
@ -49,6 +49,7 @@ static const struct uniphier_board_data uniphier_ld4_data = {
.size = 0x10000000, .size = 0x10000000,
.width = 16, .width = 16,
}, },
.flags = UNIPHIER_BD_DDR3PLUS,
}; };
#endif #endif
@ -90,7 +91,6 @@ static const struct uniphier_board_data uniphier_pro4_2g_data = {
static const struct uniphier_board_data uniphier_sld8_data = { static const struct uniphier_board_data uniphier_sld8_data = {
.dram_freq = 1333, .dram_freq = 1333,
.dram_nr_ch = 2, .dram_nr_ch = 2,
.dram_ddr3plus = true,
.dram_ch[0] = { .dram_ch[0] = {
.base = 0x80000000, .base = 0x80000000,
.size = 0x10000000, .size = 0x10000000,
@ -101,6 +101,7 @@ static const struct uniphier_board_data uniphier_sld8_data = {
.size = 0x10000000, .size = 0x10000000,
.width = 16, .width = 16,
}, },
.flags = UNIPHIER_BD_DDR3PLUS,
}; };
#endif #endif

View File

@ -1,5 +1,7 @@
/* /*
* Copyright (C) 2011-2015 Masahiro Yamada <yamada.masahiro@socionext.com> * Copyright (C) 2011-2014 Panasonic Corporation
* Copyright (C) 2015-2016 Socionext Inc.
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
* *
* SPDX-License-Identifier: GPL-2.0+ * SPDX-License-Identifier: GPL-2.0+
*/ */
@ -175,7 +177,7 @@ int uniphier_ld4_umc_init(const struct uniphier_board_data *bd)
for (ch = 0; ch < DRAM_CH_NR; ch++) { for (ch = 0; ch < DRAM_CH_NR; ch++) {
ret = umc_ch_init(dc_base, ca_base, bd->dram_freq, ret = umc_ch_init(dc_base, ca_base, bd->dram_freq,
bd->dram_ch[ch].size, bd->dram_ch[ch].size,
bd->dram_ddr3plus, ch); !!(bd->flags & UNIPHIER_BD_DDR3PLUS), ch);
if (ret) { if (ret) {
pr_err("failed to initialize UMC ch%d\n", ch); pr_err("failed to initialize UMC ch%d\n", ch);
return ret; return ret;

View File

@ -1,5 +1,7 @@
/* /*
* Copyright (C) 2011-2015 Masahiro Yamada <yamada.masahiro@socionext.com> * Copyright (C) 2011-2014 Panasonic Corporation
* Copyright (C) 2015-2016 Socionext Inc.
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
* *
* SPDX-License-Identifier: GPL-2.0+ * SPDX-License-Identifier: GPL-2.0+
*/ */
@ -170,7 +172,7 @@ int uniphier_pro4_umc_init(const struct uniphier_board_data *bd)
ret = umc_ch_init(dc_base, ca_base, bd->dram_freq, ret = umc_ch_init(dc_base, ca_base, bd->dram_freq,
bd->dram_ch[ch].size, bd->dram_ch[ch].size,
bd->dram_ch[ch].width, bd->dram_ch[ch].width,
bd->dram_ddr3plus); !!(bd->flags & UNIPHIER_BD_DDR3PLUS));
if (ret) { if (ret) {
pr_err("failed to initialize UMC ch%d\n", ch); pr_err("failed to initialize UMC ch%d\n", ch);
return ret; return ret;

View File

@ -1,5 +1,7 @@
/* /*
* Copyright (C) 2011-2015 Masahiro Yamada <yamada.masahiro@socionext.com> * Copyright (C) 2011-2014 Panasonic Corporation
* Copyright (C) 2015-2016 Socionext Inc.
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
* *
* SPDX-License-Identifier: GPL-2.0+ * SPDX-License-Identifier: GPL-2.0+
*/ */
@ -178,7 +180,7 @@ int uniphier_sld8_umc_init(const struct uniphier_board_data *bd)
for (ch = 0; ch < DRAM_CH_NR; ch++) { for (ch = 0; ch < DRAM_CH_NR; ch++) {
ret = umc_ch_init(dc_base, ca_base, bd->dram_freq, ret = umc_ch_init(dc_base, ca_base, bd->dram_freq,
bd->dram_ch[ch].size, bd->dram_ch[ch].size,
bd->dram_ddr3plus, ch); !!(bd->flags & UNIPHIER_BD_DDR3PLUS), ch);
if (ret) { if (ret) {
pr_err("failed to initialize UMC ch%d\n", ch); pr_err("failed to initialize UMC ch%d\n", ch);
return ret; return ret;

View File

@ -1,5 +1,6 @@
/* /*
* Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com> * Copyright (C) 2015-2016 Socionext Inc.
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
* *
* SPDX-License-Identifier: GPL-2.0+ * SPDX-License-Identifier: GPL-2.0+
*/ */
@ -20,8 +21,9 @@ struct uniphier_dram_ch {
struct uniphier_board_data { struct uniphier_board_data {
unsigned int dram_freq; unsigned int dram_freq;
unsigned int dram_nr_ch; unsigned int dram_nr_ch;
bool dram_ddr3plus;
struct uniphier_dram_ch dram_ch[UNIPHIER_MAX_NR_DRAM_CH]; struct uniphier_dram_ch dram_ch[UNIPHIER_MAX_NR_DRAM_CH];
unsigned int flags;
#define UNIPHIER_BD_DDR3PLUS BIT(2)
}; };
const struct uniphier_board_data *uniphier_get_board_param(void); const struct uniphier_board_data *uniphier_get_board_param(void);