X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=arch%2Farm%2Fmach-socfpga%2Fsystem_manager.c;h=75a65f3e62369cec486bf70549a15592b8dcceb6;hb=478ec83489dea9e27b59eeaf77eed52a6d1185f5;hp=8126e0d43cf12929152119fdaa3c792deba7621c;hpb=05a217212b41c6342fc1c6be0fe49ce28c9afe40;p=u-boot diff --git a/arch/arm/mach-socfpga/system_manager.c b/arch/arm/mach-socfpga/system_manager.c index 8126e0d43c..75a65f3e62 100644 --- a/arch/arm/mach-socfpga/system_manager.c +++ b/arch/arm/mach-socfpga/system_manager.c @@ -57,9 +57,13 @@ static void populate_sysmgr_fpgaintf_module(void) void sysmgr_pinmux_init(void) { uint32_t regs = (uint32_t)&sysmgr_regs->emacio[0]; + const u8 *sys_mgr_init_table; + unsigned int len; int i; - for (i = 0; i < ARRAY_SIZE(sys_mgr_init_table); i++) { + sysmgr_get_pinmux_table(&sys_mgr_init_table, &len); + + for (i = 0; i < len; i++) { writel(sys_mgr_init_table[i], regs); regs += sizeof(regs); } @@ -70,8 +74,12 @@ void sysmgr_pinmux_init(void) /* * This bit allows the bootrom to configure the IOs after a warm reset. */ -void sysmgr_enable_warmrstcfgio(void) +void sysmgr_config_warmrstcfgio(int enable) { - setbits_le32(&sysmgr_regs->romcodegrp_ctrl, - SYSMGR_ROMCODEGRP_CTRL_WARMRSTCFGIO); + if (enable) + setbits_le32(&sysmgr_regs->romcodegrp_ctrl, + SYSMGR_ROMCODEGRP_CTRL_WARMRSTCFGIO); + else + clrbits_le32(&sysmgr_regs->romcodegrp_ctrl, + SYSMGR_ROMCODEGRP_CTRL_WARMRSTCFGIO); }