MT6735_FPGA_LK.cmm 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. ;;-> # Option: Serial Wire or Parallel JTAG
  2. ;; OPT_JTAG
  3. ;; 0: Parallel
  4. ;; 1: Serial Wire
  5. &OPT_JTAG=0
  6. ;;-> # Option: Number of CPUs to be connected
  7. ;; OPT_NR_CPUS
  8. &OPT_NR_CPUS=1
  9. ;;-> # Option: RAM booting or EMMC booting
  10. ;; OPT_RAM_BOOT
  11. ;; 0: EMMC booting
  12. ;; 1: RAM booting
  13. &OPT_RAM_BOOT=1
  14. ;;-> # Option: FPGA with LCM
  15. ;; OPT_WITH_LCM
  16. ;; 0: LCM is not exist
  17. ;; 1: LCM is exist
  18. &OPT_WITH_LCM=0
  19. &Project="fpga6735_64"
  20. &OutProjectPath="../build-&Project"
  21. SYStem.Down
  22. SYStem.Reset
  23. SYStem.Option EnReset ON
  24. SYStem.Option ResBreak OFF
  25. SYStem.Option WaitReset OFF
  26. SYStem.JtagClock 10.MHz
  27. IF &OPT_JTAG==0
  28. (
  29. SYStem.Config SWDP OFF
  30. )
  31. ELSE IF &OPT_JTAG==1
  32. (
  33. SYStem.Config SWDP ON
  34. )
  35. SYStem.CPU CORTEXA53
  36. SYStem.Config CORENUMBER &OPT_NR_CPUS
  37. SYStem.Config COREBASE 0x80810000 0x80910000 0x80A10000 0x80B10000 0x80C10000 0x80D10000 0x80E10000 0x80F10000
  38. SYStem.Config CTIBASE 0x80820000 0x80920000 0x80A20000 0x80B20000 0x80C20000 0x80D20000 0x80E20000 0x80F20000
  39. SYStem.Up
  40. MMU.OFF
  41. SETUP.IMASKHLL ON
  42. SETUP.IMASKASM ON
  43. ; Disable DABORT and PABORT breakpoint
  44. TrOnchip.Set dabort off
  45. TrOnchip.Set pabort off
  46. TrOnchip.Set undef off
  47. TrOnchip.Set irq off
  48. ; Set default breakpoints to HW
  49. Break.SELect Program OnChip
  50. Break.SELect Read OnChip
  51. Break.SELect Write OnChip
  52. ;
  53. ; board init
  54. ;
  55. ; Disable acinactm
  56. D.S c:0x1020011C %LE %LONG 0x1
  57. D.S c:0x1020011C %LE %LONG 0x1
  58. ; Disable wdt
  59. D.S c:0x10212000 %LE %LONG 0x22000064
  60. ; setup boot augu from PL
  61. IF &OPT_RAM_BOOT==1
  62. (
  63. do MT6735_FPGA_DDR.cmm
  64. IF &OPT_WITH_LCM==1
  65. (
  66. do MT6735_DSI0_B60384.cmm
  67. )
  68. R.S R4 0x4007f288
  69. D.S SD:0x4007f288 %LE %LONG 0x504c504c ;maggic_number
  70. D.S SD:0x4007f28c %LE %LONG 0x00000000 ;boot_mode
  71. D.S SD:0x4007f290 %LE %LONG 0x00000000 ;e_flag
  72. D.S SD:0x4007f294 %LE %LONG 0x11003000 ;log_port
  73. D.S SD:0x4007f298 %LE %LONG 0x000e1000 ;log_baudrate
  74. D.S SD:0x4007f29c %LE %LONG 0xffff0201 ;reserved[2], part_num, log_enable
  75. D.S SD:0x4007f2a0 %LE %LONG 0x00000002 ;dram_rank_num
  76. D.S SD:0x4007f2a4 %LE %LONG 0x10000000 ;dram_rank_size[0]
  77. D.S SD:0x4007f2a8 %LE %LONG 0x10000000 ;dram_rank_size[1]
  78. D.S SD:0x4007f2ac %LE %LONG 0xdfffffff ;dram_rank_size[2]
  79. D.S SD:0x4007f2b0 %LE %LONG 0xfffffdff ;dram_rank_size[3]
  80. D.S SD:0x4007f2b4 %LE %LONG 0xffffffff
  81. D.S SD:0x4007f2b8 %LE %LONG 0x00000002 ;mblock_num
  82. D.S SD:0x4007f2bc %LE %LONG 0x00000000
  83. D.S SD:0x4007f2c0 %LE %LONG 0x40000000 ;mblock[0].start
  84. D.S SD:0x4007f2c4 %LE %LONG 0x00000000
  85. D.S SD:0x4007f2c8 %LE %LONG 0x10000000 ;mblock[0].size
  86. D.S SD:0x4007f2cc %LE %LONG 0x00000000
  87. D.S SD:0x4007f2d0 %LE %LONG 0x00000000 ;mblock[0].rank
  88. D.S SD:0x4007f2d4 %LE %LONG 0x00000000
  89. D.S SD:0x4007f2d8 %LE %LONG 0x50000000 ;mblock[1].start
  90. D.S SD:0x4007f2dc %LE %LONG 0x00000000
  91. D.S SD:0x4007f2e0 %LE %LONG 0x0fe00000 ;mblock[1].size
  92. D.S SD:0x4007f2e4 %LE %LONG 0x00000000
  93. D.S SD:0x4007f2e8 %LE %LONG 0x00000001 ;mblock[1].rank
  94. D.S SD:0x4007f2ec %LE %LONG 0x00000000
  95. D.S SD:0x4007f2f0 %LE %LONG 0x00000000 ;mblock[2].start
  96. D.S SD:0x4007f2f4 %LE %LONG 0x00000000
  97. D.S SD:0x4007f2f8 %LE %LONG 0x00000000 ;mblock[2].size
  98. D.S SD:0x4007f2fc %LE %LONG 0x00000000
  99. D.S SD:0x4007f300 %LE %LONG 0x00000000 ;mblock[2].rank
  100. D.S SD:0x4007f304 %LE %LONG 0x00000000
  101. D.S SD:0x4007f308 %LE %LONG 0x00000000 ;mblock[3].start
  102. D.S SD:0x4007f30c %LE %LONG 0x00000000
  103. D.S SD:0x4007f310 %LE %LONG 0x00000000 ;mblock[3].size
  104. D.S SD:0x4007f314 %LE %LONG 0x00000000
  105. D.S SD:0x4007f318 %LE %LONG 0x00000000 ;mblock[3].rank
  106. D.S SD:0x4007f31c %LE %LONG 0x00000000
  107. D.S SD:0x4007f320 %LE %LONG 0x00000002 ;orig_dram_info.rank_num
  108. D.S SD:0x4007f324 %LE %LONG 0xffffffff
  109. D.S SD:0x4007f328 %LE %LONG 0x40000000 ;rank_info[0].start
  110. D.S SD:0x4007f32c %LE %LONG 0x00000000
  111. D.S SD:0x4007f330 %LE %LONG 0x10000000 ;rank_info[0].size
  112. D.S SD:0x4007f334 %LE %LONG 0x00000000
  113. D.S SD:0x4007f338 %LE %LONG 0x50000000 ;rank_info[1].start
  114. D.S SD:0x4007f33c %LE %LONG 0x00000000
  115. D.S SD:0x4007f340 %LE %LONG 0x10000000 ;rank_info[1].size
  116. D.S SD:0x4007f344 %LE %LONG 0x00000000
  117. D.S SD:0x4007f348 %LE %LONG 0xffffffff ;rank_info[2].start
  118. D.S SD:0x4007f34c %LE %LONG 0xffffffff
  119. D.S SD:0x4007f350 %LE %LONG 0xfffeffff ;rank_info[2].size
  120. D.S SD:0x4007f354 %LE %LONG 0xfffffffd
  121. D.S SD:0x4007f358 %LE %LONG 0xffffffff ;rank_info[3].start
  122. D.S SD:0x4007f35c %LE %LONG 0xffffffff
  123. D.S SD:0x4007f360 %LE %LONG 0xffffffff ;rank_info[3].size
  124. D.S SD:0x4007f364 %LE %LONG 0xffffffff
  125. D.S SD:0x4007f368 %LE %LONG 0x00000000 ;lca_reserved_mem.start
  126. D.S SD:0x4007f36c %LE %LONG 0x00000000
  127. D.S SD:0x4007f370 %LE %LONG 0x00000000 ;lca_reserved_mem.size
  128. D.S SD:0x4007f374 %LE %LONG 0x00000000
  129. D.S SD:0x4007f378 %LE %LONG 0x5fe00000 ;tee_reserved_mem.start
  130. D.S SD:0x4007f37c %LE %LONG 0x00000000
  131. D.S SD:0x4007f380 %LE %LONG 0x00200000 ;tee_reserved_mem.size
  132. D.S SD:0x4007f384 %LE %LONG 0x00000000
  133. D.S SD:0x4007f388 %LE %LONG 0x00000000 ;boot_reason
  134. D.S SD:0x4007f38c %LE %LONG 0x00000000 ;meta_com_type
  135. D.S SD:0x4007f390 %LE %LONG 0x00000000 ;meta_com_id
  136. D.S SD:0x4007f394 %LE %LONG 0x00000000 ;boot_time
  137. D.S SD:0x4007f398 %LE %LONG 0xffffffff ;da_info.addr
  138. D.S SD:0x4007f39c %LE %LONG 0xffffffff ;da_info.arg1
  139. D.S SD:0x4007f3a0 %LE %LONG 0xffffdfff ;da_info.arg2
  140. D.S SD:0x4007f3a4 %LE %LONG 0xdfffffff ;da_info.len
  141. D.S SD:0x4007f3a8 %LE %LONG 0xffffffef ;da_info.sig_len
  142. D.S SD:0x4007f3ac %LE %LONG 0xffffffff ;sec_limit.magic_num
  143. D.S SD:0x4007f3b0 %LE %LONG 0xffffdfff ;sec_limit.forbid_mode
  144. D.S SD:0x4007f3b4 %LE %LONG 0x40079a84 ;part_info pointer
  145. D.S SD:0x4007f3b8 %LE %LONG 0xfffffffd ;md_type
  146. D.S SD:0x4007f3bc %LE %LONG 0x00000000 ;ddr_reserve_enable
  147. D.S SD:0x4007f3c0 %LE %LONG 0x00000000 ;ddr_reserve_success
  148. D.S SD:0x4007f3c4 %LE %LONG 0x00199880 ;dram_buf_size
  149. D.S SD:0x4007f3c8 %LE %LONG 0x11003000 ;meta_uart_port
  150. D.S SD:0x4007f3cc %LE %LONG 0x00000000 ;smc_boot_opt
  151. D.S SD:0x4007f3d0 %LE %LONG 0x00000003 ;lk_boot_opt
  152. D.S SD:0x4007f3d4 %LE %LONG 0x00000000 ;kernel_boot_opt
  153. D.S SD:0x4007f3d8 %LE %LONG 0x0012c000 ;non_secure_sram_addr
  154. D.S SD:0x4007f3dc %LE %LONG 0x00004000 ;non_secure_sram_size
  155. )
  156. ;print "loading logo image"
  157. ;&logo_addr=0x8D900000;
  158. ;d.load.binary ../../../../mediatek/custom/common/lk/logo/wvga/wvga_uboot.bmp &logo_addr
  159. print "loading lk image"
  160. IF &OPT_RAM_BOOT==0
  161. (
  162. Data.Load.ELF &OutProjectPath/lk /gnu /nocode /RELPATH /PATH ".."
  163. )
  164. ELSE
  165. (
  166. Data.Load.ELF &OutProjectPath/lk /gnu /RELPATH /PATH ".."
  167. )
  168. ;Y.SPATH.RESET ; reset all source path
  169. ;Y.SPATH.SRD ../app
  170. ;Y.SPATH.SRD ../app/mt_boot
  171. ;Y.SPATH.SRD ../arch/arm
  172. ;Y.SPATH.SRD ../dev
  173. ;Y.SPATH.SRD ../include
  174. ;Y.SPATH.SRD ../kernel
  175. ;Y.SPATH.SRD ../lib
  176. ;Y.SPATH.SRD ../platform/mt6735
  177. ;Core.Select 0
  178. Data.List
  179. enddo