diff --git a/arch/arm/mach-uniphier/boards.c b/arch/arm/mach-uniphier/boards.c index 47e303ec3a..20093d8178 100644 --- a/arch/arm/mach-uniphier/boards.c +++ b/arch/arm/mach-uniphier/boards.c @@ -203,6 +203,22 @@ static const struct uniphier_board_data uniphier_ld20_data = { .width = 32, }, }; + +static const struct uniphier_board_data uniphier_ld21_data = { + .dram_freq = 1866, + .dram_nr_ch = 2, + .dram_ch[0] = { + .base = 0x80000000, + .size = 0x40000000, + .width = 32, + }, + .dram_ch[1] = { + .base = 0xc0000000, + .size = 0x40000000, + .width = 32, + }, + .flags = UNIPHIER_BD_PACKAGE_LD21, +}; #endif struct uniphier_board_id { @@ -238,6 +254,7 @@ static const struct uniphier_board_id uniphier_boards[] = { { "socionext,ph1-ld11", &uniphier_ld11_data, }, #endif #if defined(CONFIG_ARCH_UNIPHIER_LD20) + { "socionext,ph1-ld21", &uniphier_ld21_data, }, { "socionext,ph1-ld20", &uniphier_ld20_data, }, #endif }; diff --git a/arch/arm/mach-uniphier/init.h b/arch/arm/mach-uniphier/init.h index 31da605bb4..db80074fc9 100644 --- a/arch/arm/mach-uniphier/init.h +++ b/arch/arm/mach-uniphier/init.h @@ -24,6 +24,8 @@ struct uniphier_board_data { struct uniphier_dram_ch dram_ch[UNIPHIER_MAX_NR_DRAM_CH]; unsigned int flags; #define UNIPHIER_BD_DDR3PLUS BIT(2) +#define UNIPHIER_BD_PACKAGE_LD21 1 +#define UNIPHIER_BD_PACKAGE_TYPE(f) ((f) & 0x3) }; const struct uniphier_board_data *uniphier_get_board_param(void);