sromc.c 851 B

1234567891011121314151617181920212223242526272829303132
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright (C) 2010 Samsung Electronics
  4. * Naveen Krishna Ch <ch.naveen@samsung.com>
  5. */
  6. #include <common.h>
  7. #include <asm/io.h>
  8. #include <asm/arch/sromc.h>
  9. /*
  10. * s5p_config_sromc() - select the proper SROMC Bank and configure the
  11. * band width control and bank control registers
  12. * srom_bank - SROM
  13. * srom_bw_conf - SMC Band witdh reg configuration value
  14. * srom_bc_conf - SMC Bank Control reg configuration value
  15. */
  16. void s5p_config_sromc(u32 srom_bank, u32 srom_bw_conf, u32 srom_bc_conf)
  17. {
  18. u32 tmp;
  19. struct s5p_sromc *srom =
  20. (struct s5p_sromc *)samsung_get_base_sromc();
  21. /* Configure SMC_BW register to handle proper SROMC bank */
  22. tmp = srom->bw;
  23. tmp &= ~(0xF << (srom_bank * 4));
  24. tmp |= srom_bw_conf;
  25. srom->bw = tmp;
  26. /* Configure SMC_BC register */
  27. srom->bc[srom_bank] = srom_bc_conf;
  28. }