Commit b7f8101d authored by Dinh Nguyen's avatar Dinh Nguyen Committed by Stephen Boyd

clk: socfpga: Fix the smplsel on Arria10 and Stratix10

The smplsel bits for the SDMMC clock on Arria10 and Stratix10 platforms are
offset by 1 additional bit.

Add a new macro SYSMGR_SDMMC_CTRL_SET_AS10 for usage on the Arria10 and
Stratix10 platforms.

Fixes: 5611a5ba ("clk: socfpga: update clk.h so for Arria10 platform to use")
Signed-off-by: default avatarDinh Nguyen <dinguyen@kernel.org>
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
parent a925810f
...@@ -86,7 +86,7 @@ static int socfpga_clk_prepare(struct clk_hw *hwclk) ...@@ -86,7 +86,7 @@ static int socfpga_clk_prepare(struct clk_hw *hwclk)
} }
} }
hs_timing = SYSMGR_SDMMC_CTRL_SET(clk_phase[0], clk_phase[1]); hs_timing = SYSMGR_SDMMC_CTRL_SET_AS10(clk_phase[0], clk_phase[1]);
if (!IS_ERR(socfpgaclk->sys_mgr_base_addr)) if (!IS_ERR(socfpgaclk->sys_mgr_base_addr))
regmap_write(socfpgaclk->sys_mgr_base_addr, regmap_write(socfpgaclk->sys_mgr_base_addr,
SYSMGR_SDMMCGRP_CTRL_OFFSET, hs_timing); SYSMGR_SDMMCGRP_CTRL_OFFSET, hs_timing);
......
...@@ -32,6 +32,9 @@ ...@@ -32,6 +32,9 @@
#define SYSMGR_SDMMC_CTRL_SET(smplsel, drvsel) \ #define SYSMGR_SDMMC_CTRL_SET(smplsel, drvsel) \
((((smplsel) & 0x7) << 3) | (((drvsel) & 0x7) << 0)) ((((smplsel) & 0x7) << 3) | (((drvsel) & 0x7) << 0))
#define SYSMGR_SDMMC_CTRL_SET_AS10(smplsel, drvsel) \
((((smplsel) & 0x7) << 4) | (((drvsel) & 0x7) << 0))
extern void __iomem *clk_mgr_base_addr; extern void __iomem *clk_mgr_base_addr;
extern void __iomem *clk_mgr_a10_base_addr; extern void __iomem *clk_mgr_a10_base_addr;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment