lowlevel_init.S 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*
  2. *
  3. * (c) 2007 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #include <asm/arch/imx-regs.h>
  8. .macro REG reg, val
  9. ldr r2, =\reg
  10. ldr r3, =\val
  11. str r3, [r2]
  12. .endm
  13. .macro REG8 reg, val
  14. ldr r2, =\reg
  15. ldr r3, =\val
  16. strb r3, [r2]
  17. .endm
  18. .macro DELAY loops
  19. ldr r2, =\loops
  20. 1:
  21. subs r2, r2, #1
  22. nop
  23. bcs 1b
  24. .endm
  25. .globl lowlevel_init
  26. lowlevel_init:
  27. REG IPU_CONF, IPU_CONF_DI_EN
  28. REG CCM_CCMR, 0x074B0BF5
  29. DELAY 0x40000
  30. REG CCM_CCMR, 0x074B0BF5 | CCMR_MPE
  31. REG CCM_CCMR, (0x074B0BF5 | CCMR_MPE) & ~CCMR_MDS
  32. REG CCM_PDR0, PDR0_CSI_PODF(0x3f) | PDR0_CSI_PRDF(7) | PDR0_PER_PODF(7) | PDR0_HSP_PODF(3) | PDR0_NFC_PODF(5) | PDR0_IPG_PODF(1) | PDR0_MAX_PODF(3) | PDR0_MCU_PODF(0)
  33. REG CCM_MPCTL, PLL_PD(0) | PLL_MFD(0xe) | PLL_MFI(9) | PLL_MFN(0xd)
  34. REG CCM_SPCTL, PLL_PD(1) | PLL_MFD(0x43) | PLL_MFI(12) | PLL_MFN(1)
  35. REG 0x43FAC26C, 0 /* SDCLK */
  36. REG 0x43FAC270, 0 /* CAS */
  37. REG 0x43FAC274, 0 /* RAS */
  38. REG 0x43FAC27C, 0x1000 /* CS2 (CSD0) */
  39. REG 0x43FAC284, 0 /* DQM3 */
  40. REG 0x43FAC288, 0 /* DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 (0x288..0x2DC) */
  41. REG 0x43FAC28C, 0
  42. REG 0x43FAC290, 0
  43. REG 0x43FAC294, 0
  44. REG 0x43FAC298, 0
  45. REG 0x43FAC29C, 0
  46. REG 0x43FAC2A0, 0
  47. REG 0x43FAC2A4, 0
  48. REG 0x43FAC2A8, 0
  49. REG 0x43FAC2AC, 0
  50. REG 0x43FAC2B0, 0
  51. REG 0x43FAC2B4, 0
  52. REG 0x43FAC2B8, 0
  53. REG 0x43FAC2BC, 0
  54. REG 0x43FAC2C0, 0
  55. REG 0x43FAC2C4, 0
  56. REG 0x43FAC2C8, 0
  57. REG 0x43FAC2CC, 0
  58. REG 0x43FAC2D0, 0
  59. REG 0x43FAC2D4, 0
  60. REG 0x43FAC2D8, 0
  61. REG 0x43FAC2DC, 0
  62. REG 0xB8001010, 0x00000004
  63. REG 0xB8001004, 0x006ac73a
  64. REG 0xB8001000, 0x92100000
  65. REG 0x80000f00, 0x12344321
  66. REG 0xB8001000, 0xa2100000
  67. REG 0x80000000, 0x12344321
  68. REG 0x80000000, 0x12344321
  69. REG 0xB8001000, 0xb2100000
  70. REG8 0x80000033, 0xda
  71. REG8 0x81000000, 0xff
  72. REG 0xB8001000, 0x82226080
  73. REG 0x80000000, 0xDEADBEEF
  74. REG 0xB8001010, 0x0000000c
  75. mov pc, lr