spl_ark1668e_fpga.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // SPDX-License-Identifier: GPL-2.0+
  2. #include <common.h>
  3. #include <spl.h>
  4. #include <asm/arch/timer.h>
  5. #include <asm/arch/ark1668-sysreg.h>
  6. #include <asm/arch/ark-common.h>
  7. #include <asm-generic/gpio.h>
  8. #define SYSPLL_CLK 330
  9. #define CPUPLL_CLK 696
  10. #define AUDPLL_CLK 426
  11. #define rSYS_PAD_CTRL08 *(volatile unsigned int*)0xe49001e0
  12. #define rSYS_PAD_CTRL09 *(volatile unsigned int*)0xe49001e4
  13. /* static void switch_to_main_crystal_osc(void)
  14. {
  15. return;
  16. } */
  17. void board_init_f(ulong dummy)
  18. {
  19. u32 tmp;
  20. timer_init();
  21. board_early_init_f();
  22. preloader_console_init();
  23. //slect nand pad
  24. tmp = rSYS_PAD_CTRL08;
  25. tmp &= ~((0x7<<27) | (0x7<<24)|(0x7<<21) | (0x7<<18) | (0x7<<15)|(0x7<<12)|(0x7<<9)|(0x7<<6));
  26. tmp |=((0x1<<27) | (0x1<<24)|(0x1<<21) | (0x1<<18) | (0x1<<15)|(0x1<<12)|(0x1<<9)|(0x1<<6));
  27. rSYS_PAD_CTRL08 = tmp;
  28. tmp = rSYS_PAD_CTRL09;
  29. tmp &= ~((0x7<<15) | (0x7<<12) | (0x7<<9)|(0x7<<6)|(0x7<<3)|(0x7<<0));
  30. tmp |=((1<<15)|(1<<12)|(1<<9)|(1<<6)|(1<<3)|(1<<0));//enable nand cle, ale,ren,wen
  31. rSYS_PAD_CTRL09 = tmp;
  32. mem_init();
  33. }