X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=arch%2Farm%2Fmach-uniphier%2Fboard_init.c;h=ca910f6d725450362c809a233e94f0492cb8684e;hb=9af91b7c4041a455de5f3e3da4e36644768bff68;hp=226929150e9d71812bcb85322d4a7723a47dee7f;hpb=561ca649a8e3d459e95d23b903cd027096935278;p=platform%2Fkernel%2Fu-boot.git diff --git a/arch/arm/mach-uniphier/board_init.c b/arch/arm/mach-uniphier/board_init.c index 2269291..ca910f6 100644 --- a/arch/arm/mach-uniphier/board_init.c +++ b/arch/arm/mach-uniphier/board_init.c @@ -21,7 +21,7 @@ static void uniphier_setup_xirq(void) { const void *fdt = gd->fdt_blob; int soc_node, aidet_node; - const u32 *val; + const fdt32_t *val; unsigned long aidet_base; u32 tmp; @@ -80,7 +80,7 @@ static void uniphier_ld20_misc_init(void) #endif struct uniphier_initdata { - enum uniphier_soc_id soc_id; + unsigned int soc_id; bool nand_2cs; void (*sbc_init)(void); void (*pll_init)(void); @@ -91,7 +91,7 @@ struct uniphier_initdata { static const struct uniphier_initdata uniphier_initdata[] = { #if defined(CONFIG_ARCH_UNIPHIER_SLD3) { - .soc_id = SOC_UNIPHIER_SLD3, + .soc_id = UNIPHIER_SLD3_ID, .nand_2cs = true, .sbc_init = uniphier_sbc_init_admulti, .pll_init = uniphier_sld3_pll_init, @@ -100,7 +100,7 @@ static const struct uniphier_initdata uniphier_initdata[] = { #endif #if defined(CONFIG_ARCH_UNIPHIER_LD4) { - .soc_id = SOC_UNIPHIER_LD4, + .soc_id = UNIPHIER_LD4_ID, .nand_2cs = true, .sbc_init = uniphier_ld4_sbc_init, .pll_init = uniphier_ld4_pll_init, @@ -109,7 +109,7 @@ static const struct uniphier_initdata uniphier_initdata[] = { #endif #if defined(CONFIG_ARCH_UNIPHIER_PRO4) { - .soc_id = SOC_UNIPHIER_PRO4, + .soc_id = UNIPHIER_PRO4_ID, .nand_2cs = false, .sbc_init = uniphier_sbc_init_savepin, .pll_init = uniphier_pro4_pll_init, @@ -118,7 +118,7 @@ static const struct uniphier_initdata uniphier_initdata[] = { #endif #if defined(CONFIG_ARCH_UNIPHIER_SLD8) { - .soc_id = SOC_UNIPHIER_SLD8, + .soc_id = UNIPHIER_SLD8_ID, .nand_2cs = true, .sbc_init = uniphier_ld4_sbc_init, .pll_init = uniphier_ld4_pll_init, @@ -127,7 +127,7 @@ static const struct uniphier_initdata uniphier_initdata[] = { #endif #if defined(CONFIG_ARCH_UNIPHIER_PRO5) { - .soc_id = SOC_UNIPHIER_PRO5, + .soc_id = UNIPHIER_PRO5_ID, .nand_2cs = true, .sbc_init = uniphier_sbc_init_savepin, .clk_init = uniphier_pro5_clk_init, @@ -135,7 +135,7 @@ static const struct uniphier_initdata uniphier_initdata[] = { #endif #if defined(CONFIG_ARCH_UNIPHIER_PXS2) { - .soc_id = SOC_UNIPHIER_PXS2, + .soc_id = UNIPHIER_PXS2_ID, .nand_2cs = true, .sbc_init = uniphier_pxs2_sbc_init, .clk_init = uniphier_pxs2_clk_init, @@ -143,7 +143,7 @@ static const struct uniphier_initdata uniphier_initdata[] = { #endif #if defined(CONFIG_ARCH_UNIPHIER_LD6B) { - .soc_id = SOC_UNIPHIER_LD6B, + .soc_id = UNIPHIER_LD6B_ID, .nand_2cs = true, .sbc_init = uniphier_pxs2_sbc_init, .clk_init = uniphier_pxs2_clk_init, @@ -151,7 +151,7 @@ static const struct uniphier_initdata uniphier_initdata[] = { #endif #if defined(CONFIG_ARCH_UNIPHIER_LD11) { - .soc_id = SOC_UNIPHIER_LD11, + .soc_id = UNIPHIER_LD11_ID, .nand_2cs = false, .sbc_init = uniphier_ld11_sbc_init, .pll_init = uniphier_ld11_pll_init, @@ -161,40 +161,36 @@ static const struct uniphier_initdata uniphier_initdata[] = { #endif #if defined(CONFIG_ARCH_UNIPHIER_LD20) { - .soc_id = SOC_UNIPHIER_LD20, + .soc_id = UNIPHIER_LD20_ID, .nand_2cs = false, .sbc_init = uniphier_ld11_sbc_init, .pll_init = uniphier_ld20_pll_init, + .clk_init = uniphier_ld20_clk_init, .misc_init = uniphier_ld20_misc_init, }, #endif +#if defined(CONFIG_ARCH_UNIPHIER_PXS3) + { + .soc_id = UNIPHIER_PXS3_ID, + .nand_2cs = false, + .sbc_init = uniphier_pxs2_sbc_init, + .pll_init = uniphier_pxs3_pll_init, + .clk_init = uniphier_pxs3_clk_init, + }, +#endif }; - -static const struct uniphier_initdata *uniphier_get_initdata( - enum uniphier_soc_id soc_id) -{ - int i; - - for (i = 0; i < ARRAY_SIZE(uniphier_initdata); i++) { - if (uniphier_initdata[i].soc_id == soc_id) - return &uniphier_initdata[i]; - } - - return NULL; -} +UNIPHIER_DEFINE_SOCDATA_FUNC(uniphier_get_initdata, uniphier_initdata) int board_init(void) { const struct uniphier_initdata *initdata; - enum uniphier_soc_id soc_id; int ret; led_puts("U0"); - soc_id = uniphier_get_soc_type(); - initdata = uniphier_get_initdata(soc_id); + initdata = uniphier_get_initdata(); if (!initdata) { - pr_err("unsupported board\n"); + pr_err("unsupported SoC\n"); return -EINVAL; }