diff options
-rw-r--r-- | arch/arm/mach-uniphier/Makefile | 6 | ||||
-rw-r--r-- | arch/arm/mach-uniphier/board_init.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-uniphier/spl_board_init.c | 24 |
3 files changed, 19 insertions, 27 deletions
diff --git a/arch/arm/mach-uniphier/Makefile b/arch/arm/mach-uniphier/Makefile index 7f1abd03dc9..ab2c6dc99be 100644 --- a/arch/arm/mach-uniphier/Makefile +++ b/arch/arm/mach-uniphier/Makefile @@ -7,7 +7,6 @@ ifdef CONFIG_SPL_BUILD obj-y += spl_board_init.o obj-y += memconf.o obj-y += bcu/ -obj-$(CONFIG_MICRO_SUPPORT_CARD) += sbc/ else @@ -17,6 +16,9 @@ obj-y += board_init.o obj-$(CONFIG_BOARD_LATE_INIT) += board_late_init.o obj-y += reset.o +obj-$(CONFIG_MICRO_SUPPORT_CARD) += sbc/ micro-support-card.o +obj-y += pinctrl-glue.o + endif obj-y += boards.o @@ -24,9 +26,7 @@ obj-y += soc_info.o obj-y += boot-mode/ obj-y += clk/ obj-y += dram/ -obj-y += pinctrl-glue.o -obj-$(CONFIG_MICRO_SUPPORT_CARD) += micro-support-card.o obj-$(CONFIG_DEBUG_UART_UNIPHIER) += debug-uart/ obj-$(CONFIG_CPU_V7) += arm32/ diff --git a/arch/arm/mach-uniphier/board_init.c b/arch/arm/mach-uniphier/board_init.c index d698dd59f17..93330b05c76 100644 --- a/arch/arm/mach-uniphier/board_init.c +++ b/arch/arm/mach-uniphier/board_init.c @@ -81,6 +81,7 @@ static void uniphier_ld20_misc_init(void) struct uniphier_initdata { enum uniphier_soc_id soc_id; bool nand_2cs; + void (*sbc_init)(void); void (*pll_init)(void); void (*clk_init)(void); void (*misc_init)(void); @@ -91,6 +92,7 @@ struct uniphier_initdata uniphier_initdata[] = { { .soc_id = SOC_UNIPHIER_SLD3, .nand_2cs = true, + .sbc_init = uniphier_sbc_init_admulti, .pll_init = uniphier_sld3_pll_init, .clk_init = uniphier_ld4_clk_init, }, @@ -99,6 +101,7 @@ struct uniphier_initdata uniphier_initdata[] = { { .soc_id = SOC_UNIPHIER_LD4, .nand_2cs = true, + .sbc_init = uniphier_ld4_sbc_init, .pll_init = uniphier_ld4_pll_init, .clk_init = uniphier_ld4_clk_init, }, @@ -107,6 +110,7 @@ struct uniphier_initdata uniphier_initdata[] = { { .soc_id = SOC_UNIPHIER_PRO4, .nand_2cs = false, + .sbc_init = uniphier_sbc_init_savepin, .pll_init = uniphier_pro4_pll_init, .clk_init = uniphier_pro4_clk_init, }, @@ -115,6 +119,7 @@ struct uniphier_initdata uniphier_initdata[] = { { .soc_id = SOC_UNIPHIER_SLD8, .nand_2cs = true, + .sbc_init = uniphier_ld4_sbc_init, .pll_init = uniphier_ld4_pll_init, .clk_init = uniphier_ld4_clk_init, }, @@ -123,6 +128,7 @@ struct uniphier_initdata uniphier_initdata[] = { { .soc_id = SOC_UNIPHIER_PRO5, .nand_2cs = true, + .sbc_init = uniphier_sbc_init_savepin, .clk_init = uniphier_pro5_clk_init, }, #endif @@ -130,6 +136,7 @@ struct uniphier_initdata uniphier_initdata[] = { { .soc_id = SOC_UNIPHIER_PXS2, .nand_2cs = true, + .sbc_init = uniphier_pxs2_sbc_init, .clk_init = uniphier_pxs2_clk_init, }, #endif @@ -137,6 +144,7 @@ struct uniphier_initdata uniphier_initdata[] = { { .soc_id = SOC_UNIPHIER_LD6B, .nand_2cs = true, + .sbc_init = uniphier_pxs2_sbc_init, .clk_init = uniphier_pxs2_clk_init, }, #endif @@ -144,6 +152,7 @@ struct uniphier_initdata uniphier_initdata[] = { { .soc_id = SOC_UNIPHIER_LD11, .nand_2cs = false, + .sbc_init = uniphier_ld11_sbc_init, .pll_init = uniphier_ld11_pll_init, .clk_init = uniphier_ld11_clk_init, .misc_init = uniphier_ld11_misc_init, @@ -153,6 +162,7 @@ struct uniphier_initdata uniphier_initdata[] = { { .soc_id = SOC_UNIPHIER_LD20, .nand_2cs = false, + .sbc_init = uniphier_ld11_sbc_init, .pll_init = uniphier_ld20_pll_init, .misc_init = uniphier_ld20_misc_init, }, @@ -187,6 +197,12 @@ int board_init(void) return -EINVAL; } + initdata->sbc_init(); + + support_card_init(); + + led_puts("U0"); + if (IS_ENABLED(CONFIG_NAND_DENALI)) { ret = uniphier_pin_init(initdata->nand_2cs ? "nand2cs_grp" : "nand_grp"); diff --git a/arch/arm/mach-uniphier/spl_board_init.c b/arch/arm/mach-uniphier/spl_board_init.c index d1e1ea74bc1..f4e1cb9c66a 100644 --- a/arch/arm/mach-uniphier/spl_board_init.c +++ b/arch/arm/mach-uniphier/spl_board_init.c @@ -17,7 +17,6 @@ struct uniphier_spl_initdata { enum uniphier_soc_id soc_id; void (*bcu_init)(const struct uniphier_board_data *bd); void (*early_clk_init)(void); - void (*sbc_init)(void); int (*dpll_init)(const struct uniphier_board_data *bd); int (*memconf_init)(const struct uniphier_board_data *bd); void (*dram_clk_init)(void); @@ -30,7 +29,6 @@ static const struct uniphier_spl_initdata uniphier_spl_initdata[] = { .soc_id = SOC_UNIPHIER_SLD3, .bcu_init = uniphier_sld3_bcu_init, .early_clk_init = uniphier_sld3_early_clk_init, - .sbc_init = uniphier_sbc_init_admulti, .dpll_init = uniphier_sld3_dpll_init, .memconf_init = uniphier_memconf_3ch_no_disbit_init, .dram_clk_init = uniphier_sld3_dram_clk_init, @@ -42,7 +40,6 @@ static const struct uniphier_spl_initdata uniphier_spl_initdata[] = { .soc_id = SOC_UNIPHIER_LD4, .bcu_init = uniphier_ld4_bcu_init, .early_clk_init = uniphier_sld3_early_clk_init, - .sbc_init = uniphier_ld4_sbc_init, .dpll_init = uniphier_ld4_dpll_init, .memconf_init = uniphier_memconf_2ch_init, .dram_clk_init = uniphier_sld3_dram_clk_init, @@ -53,7 +50,6 @@ static const struct uniphier_spl_initdata uniphier_spl_initdata[] = { { .soc_id = SOC_UNIPHIER_PRO4, .early_clk_init = uniphier_sld3_early_clk_init, - .sbc_init = uniphier_sbc_init_savepin, .dpll_init = uniphier_pro4_dpll_init, .memconf_init = uniphier_memconf_2ch_init, .dram_clk_init = uniphier_sld3_dram_clk_init, @@ -65,7 +61,6 @@ static const struct uniphier_spl_initdata uniphier_spl_initdata[] = { .soc_id = SOC_UNIPHIER_SLD8, .bcu_init = uniphier_ld4_bcu_init, .early_clk_init = uniphier_sld3_early_clk_init, - .sbc_init = uniphier_ld4_sbc_init, .dpll_init = uniphier_sld8_dpll_init, .memconf_init = uniphier_memconf_2ch_init, .dram_clk_init = uniphier_sld3_dram_clk_init, @@ -76,7 +71,6 @@ static const struct uniphier_spl_initdata uniphier_spl_initdata[] = { { .soc_id = SOC_UNIPHIER_PRO5, .early_clk_init = uniphier_sld3_early_clk_init, - .sbc_init = uniphier_sbc_init_savepin, .dpll_init = uniphier_pro5_dpll_init, .memconf_init = uniphier_memconf_2ch_init, .dram_clk_init = uniphier_pro5_dram_clk_init, @@ -87,7 +81,6 @@ static const struct uniphier_spl_initdata uniphier_spl_initdata[] = { { .soc_id = SOC_UNIPHIER_PXS2, .early_clk_init = uniphier_sld3_early_clk_init, - .sbc_init = uniphier_pxs2_sbc_init, .dpll_init = uniphier_pxs2_dpll_init, .memconf_init = uniphier_memconf_3ch_init, .dram_clk_init = uniphier_pxs2_dram_clk_init, @@ -98,7 +91,6 @@ static const struct uniphier_spl_initdata uniphier_spl_initdata[] = { { .soc_id = SOC_UNIPHIER_LD6B, .early_clk_init = uniphier_sld3_early_clk_init, - .sbc_init = uniphier_pxs2_sbc_init, .dpll_init = uniphier_pxs2_dpll_init, .memconf_init = uniphier_memconf_3ch_init, .dram_clk_init = uniphier_pxs2_dram_clk_init, @@ -109,7 +101,6 @@ static const struct uniphier_spl_initdata uniphier_spl_initdata[] = { { .soc_id = SOC_UNIPHIER_LD11, .early_clk_init = uniphier_ld11_early_clk_init, - .sbc_init = uniphier_ld11_sbc_init, .dpll_init = uniphier_ld11_dpll_init, .memconf_init = uniphier_memconf_2ch_init, .dram_clk_init = uniphier_ld11_dram_clk_init, @@ -120,7 +111,6 @@ static const struct uniphier_spl_initdata uniphier_spl_initdata[] = { { .soc_id = SOC_UNIPHIER_LD20, .early_clk_init = uniphier_ld11_early_clk_init, - .sbc_init = uniphier_ld11_sbc_init, .dpll_init = uniphier_ld20_dpll_init, .memconf_init = uniphier_memconf_3ch_init, .dram_clk_init = uniphier_ld20_dram_clk_init, @@ -165,45 +155,31 @@ void spl_board_init(void) if (initdata->bcu_init) initdata->bcu_init(bd); - initdata->sbc_init(); initdata->early_clk_init(); - support_card_init(); - - led_puts("L0"); #ifdef CONFIG_SPL_SERIAL_SUPPORT preloader_console_init(); #endif - led_puts("L1"); - ret = initdata->dpll_init(bd); if (ret) { pr_err("failed to init DPLL\n"); hang(); } - led_puts("L2"); - ret = initdata->memconf_init(bd); if (ret) { pr_err("failed to init MEMCONF\n"); hang(); } - led_puts("L3"); - initdata->dram_clk_init(); - led_puts("L4"); - ret = initdata->umc_init(bd); if (ret) { pr_err("failed to init DRAM\n"); hang(); } - - led_puts("L5"); } |