Get rid of the constant clrsetbits_le32(), instead prepare the whole content of the register once and write it at the end of the function.
Signed-off-by: Marek Vasut <ma...@denx.de> --- drivers/ddr/altera/sdram.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/ddr/altera/sdram.c b/drivers/ddr/altera/sdram.c index 143f41b..d8d04f4 100644 --- a/drivers/ddr/altera/sdram.c +++ b/drivers/ddr/altera/sdram.c @@ -393,15 +393,14 @@ static void set_sdr_addr_rw(void) static void set_sdr_static_cfg(void) { - debug("Configuring STATICCFG\n"); - clrsetbits_le32(&sdr_ctrl->static_cfg, SDR_CTRLGRP_STATICCFG_MEMBL_MASK, - CONFIG_HPS_SDR_CTRLCFG_STATICCFG_MEMBL << - SDR_CTRLGRP_STATICCFG_MEMBL_LSB); - - clrsetbits_le32(&sdr_ctrl->static_cfg, - SDR_CTRLGRP_STATICCFG_USEECCASDATA_MASK, - CONFIG_HPS_SDR_CTRLCFG_STATICCFG_USEECCASDATA << + const u32 static_cfg = + (CONFIG_HPS_SDR_CTRLCFG_STATICCFG_MEMBL << + SDR_CTRLGRP_STATICCFG_MEMBL_LSB) | + (CONFIG_HPS_SDR_CTRLCFG_STATICCFG_USEECCASDATA << SDR_CTRLGRP_STATICCFG_USEECCASDATA_LSB); + + debug("Configuring STATICCFG\n"); + writel(static_cfg, &sdr_ctrl->static_cfg); } static void set_sdr_fifo_cfg(void) -- 2.1.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot