MT6763_FPGA_LK.cmm 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  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=1
  19. &Project="fpga_mt6763_64"
  20. &OutProjectPath="../build-&Project"
  21. ;&OutProjectPath="../../../../../../../out/target/product/&Project/obj/BOOTLOADER_OBJ/build-&Project"
  22. SYStem.Down
  23. SYStem.Reset
  24. SYStem.Option EnReset ON
  25. SYStem.Option ResBreak OFF
  26. SYStem.Option WaitReset OFF
  27. ;SYStem.JtagClock 10.MHz
  28. ;SYStem.JtagClock 1.MHz
  29. SYStem.JtagClock 3.MHz
  30. IF &OPT_JTAG==0
  31. (
  32. SYStem.Config SWDP OFF
  33. )
  34. ELSE IF &OPT_JTAG==1
  35. (
  36. SYStem.Config SWDP ON
  37. )
  38. SYStem.CPU CORTEXA53
  39. SYStem.Config CORENUMBER &OPT_NR_CPUS
  40. ;SYStem.Config COREBASE 0x80810000 0x80910000 0x80A10000 0x80B10000 0x80C10000 0x80D10000 0x80E10000 0x80F10000
  41. ;SYStem.Config CTIBASE 0x80820000 0x80920000 0x80A20000 0x80B20000 0x80C20000 0x80D20000 0x80E20000 0x80F20000
  42. SYSTEM.CONFIG COREBASE 0x8D410000;
  43. SYStem.CONFIG CTIBASE 0x8D420000;
  44. SYStem.Up
  45. MMU.OFF
  46. SETUP.IMASKHLL ON
  47. SETUP.IMASKASM ON
  48. ; Disable DABORT and PABORT breakpoint
  49. TrOnchip.Set dabort off
  50. TrOnchip.Set pabort off
  51. TrOnchip.Set undef off
  52. TrOnchip.Set irq off
  53. ; Set default breakpoints to HW
  54. Break.SELect Program OnChip
  55. Break.SELect Read OnChip
  56. Break.SELect Write OnChip
  57. ;
  58. ; board init
  59. ;
  60. ; Disable acinactm
  61. D.S c:0x1020011C %LE %LONG 0x1
  62. D.S c:0x1020011C %LE %LONG 0x1
  63. ; Disable wdt
  64. ;D.S c:0x10212000 %LE %LONG 0x22000064
  65. D.S SD:0x10007000 %LE %LONG 0x22000064
  66. ; disable polarity secure access
  67. &i=0.
  68. while &i<20.
  69. (
  70. &sec_pol=0x0C530A00+(&i*4);
  71. d.s c:&sec_pol %le %long 0x0
  72. &i=&i+1;
  73. )
  74. ; setup boot argu from PL
  75. IF &OPT_RAM_BOOT==1
  76. (
  77. ;do MT6763_FPGA_DDR.cmm
  78. ; do olympus_FPGA_DDR_V7_20151021_older_512M.cmm
  79. ; do olympus_FPGA_DDR_V7_20151021.cmm
  80. do MT6763_FPGA_DDR.cmm
  81. IF &OPT_WITH_LCM==1
  82. (
  83. do MT6763_DSI0_B60384.cmm
  84. )
  85. R.S R4 0x4007f288
  86. D.S SD:0x4007f288 %LE %LONG 0x504c504c ;maggic_number
  87. D.S SD:0x4007f28c %LE %LONG 0x00000000 ;boot_mode
  88. D.S SD:0x4007f290 %LE %LONG 0x00000000 ;e_flag
  89. D.S SD:0x4007f294 %LE %LONG 0x11003000 ;log_port
  90. D.S SD:0x4007f298 %LE %LONG 0x000e1000 ;log_baudrate
  91. D.S SD:0x4007f29c %LE %LONG 0xffff0201 ;reserved[2], part_num, log_enable
  92. D.S SD:0x4007f2a0 %LE %LONG 0x00000002 ;dram_rank_num
  93. D.S SD:0x4007f2a4 %LE %LONG 0x10000000 ;dram_rank_size[0]
  94. D.S SD:0x4007f2a8 %LE %LONG 0x10000000 ;dram_rank_size[1]
  95. D.S SD:0x4007f2ac %LE %LONG 0xdfffffff ;dram_rank_size[2]
  96. D.S SD:0x4007f2b0 %LE %LONG 0xfffffdff ;dram_rank_size[3]
  97. D.S SD:0x4007f2b4 %LE %LONG 0xffffffff
  98. D.S SD:0x4007f2b8 %LE %LONG 0x00000002 ;mblock_num
  99. D.S SD:0x4007f2bc %LE %LONG 0x00000000
  100. D.S SD:0x4007f2c0 %LE %LONG 0x40000000 ;mblock[0].start
  101. D.S SD:0x4007f2c4 %LE %LONG 0x00000000
  102. D.S SD:0x4007f2c8 %LE %LONG 0x10000000 ;mblock[0].size
  103. D.S SD:0x4007f2cc %LE %LONG 0x00000000
  104. D.S SD:0x4007f2d0 %LE %LONG 0x00000000 ;mblock[0].rank
  105. D.S SD:0x4007f2d4 %LE %LONG 0x00000000
  106. D.S SD:0x4007f2d8 %LE %LONG 0x50000000 ;mblock[1].start
  107. D.S SD:0x4007f2dc %LE %LONG 0x00000000
  108. D.S SD:0x4007f2e0 %LE %LONG 0x0fe00000 ;mblock[1].size
  109. D.S SD:0x4007f2e4 %LE %LONG 0x00000000
  110. D.S SD:0x4007f2e8 %LE %LONG 0x00000001 ;mblock[1].rank
  111. D.S SD:0x4007f2ec %LE %LONG 0x00000000
  112. D.S SD:0x4007f2f0 %LE %LONG 0x00000000 ;mblock[2].start
  113. D.S SD:0x4007f2f4 %LE %LONG 0x00000000
  114. D.S SD:0x4007f2f8 %LE %LONG 0x00000000 ;mblock[2].size
  115. D.S SD:0x4007f2fc %LE %LONG 0x00000000
  116. D.S SD:0x4007f300 %LE %LONG 0x00000000 ;mblock[2].rank
  117. D.S SD:0x4007f304 %LE %LONG 0x00000000
  118. D.S SD:0x4007f308 %LE %LONG 0x00000000 ;mblock[3].start
  119. D.S SD:0x4007f30c %LE %LONG 0x00000000
  120. D.S SD:0x4007f310 %LE %LONG 0x00000000 ;mblock[3].size
  121. D.S SD:0x4007f314 %LE %LONG 0x00000000
  122. D.S SD:0x4007f318 %LE %LONG 0x00000000 ;mblock[3].rank
  123. D.S SD:0x4007f31c %LE %LONG 0x00000000
  124. D.S SD:0x4007f320--0x4007febf %LE %LONG 0x00000000 ;mblock[4]~mblock[127]
  125. D.S SD:0x4007fec0 %LE %LONG 0x00000002 ;orig_dram_info.rank_num
  126. D.S SD:0x4007fec4 %LE %LONG 0xffffffff
  127. D.S SD:0x4007fec8 %LE %LONG 0x40000000 ;rank_info[0].start
  128. D.S SD:0x4007fecc %LE %LONG 0x00000000
  129. D.S SD:0x4007fed0 %LE %LONG 0x10000000 ;rank_info[0].size
  130. D.S SD:0x4007fed4 %LE %LONG 0x00000000
  131. D.S SD:0x4007fed8 %LE %LONG 0x50000000 ;rank_info[1].start
  132. D.S SD:0x4007fedc %LE %LONG 0x00000000
  133. D.S SD:0x4007fee0 %LE %LONG 0x10000000 ;rank_info[1].size
  134. D.S SD:0x4007fee4 %LE %LONG 0x00000000
  135. D.S SD:0x4007fee8 %LE %LONG 0xffffffff ;rank_info[2].start
  136. D.S SD:0x4007feec %LE %LONG 0xffffffff
  137. D.S SD:0x4007fef0 %LE %LONG 0xfffeffff ;rank_info[2].size
  138. D.S SD:0x4007fef4 %LE %LONG 0xfffffffd
  139. D.S SD:0x4007fef8 %LE %LONG 0xffffffff ;rank_info[3].start
  140. D.S SD:0x4007fefc %LE %LONG 0xffffffff
  141. D.S SD:0x4007ff00 %LE %LONG 0xffffffff ;rank_info[3].size
  142. D.S SD:0x4007ff04 %LE %LONG 0xffffffff
  143. D.S SD:0x4007ff08 %LE %LONG 0x00000000 ;lca_reserved_mem.start
  144. D.S SD:0x4007ff0c %LE %LONG 0x00000000
  145. D.S SD:0x4007ff10 %LE %LONG 0x00000000 ;lca_reserved_mem.size
  146. D.S SD:0x4007ff14 %LE %LONG 0x00000000
  147. D.S SD:0x4007ff18 %LE %LONG 0x5fe00000 ;tee_reserved_mem.start
  148. D.S SD:0x4007ff1c %LE %LONG 0x00000000
  149. D.S SD:0x4007ff20 %LE %LONG 0x00200000 ;tee_reserved_mem.size
  150. D.S SD:0x4007ff24 %LE %LONG 0x00000000
  151. D.S SD:0x4007ff28 %LE %LONG 0x00000000 ;boot_reason
  152. D.S SD:0x4007ff2c %LE %LONG 0x00000000 ;meta_com_type
  153. D.S SD:0x4007ff30 %LE %LONG 0x00000000 ;meta_com_id
  154. D.S SD:0x4007ff34 %LE %LONG 0x00000000 ;boot_time
  155. D.S SD:0x4007fff8 %LE %LONG 0xffffffff ;da_info.addr
  156. D.S SD:0x4007ff3c %LE %LONG 0xffffffff ;da_info.arg1
  157. D.S SD:0x4007ff40 %LE %LONG 0xffffdfff ;da_info.arg2
  158. D.S SD:0x4007ff44 %LE %LONG 0xdfffffff ;da_info.len
  159. D.S SD:0x4007ff48 %LE %LONG 0xffffffef ;da_info.sig_len
  160. D.S SD:0x4007ff4c %LE %LONG 0xffffffff ;sec_limit.magic_num
  161. D.S SD:0x4007ff50 %LE %LONG 0xffffdfff ;sec_limit.forbid_mode
  162. D.S SD:0x4007ff54 %LE %LONG 0x40079a84 ;part_info pointer
  163. D.S SD:0x4007ff58 %LE %LONG 0xfffffffd ;md_type
  164. D.S SD:0x4007ff5c %LE %LONG 0x00000000 ;ddr_reserve_enable
  165. D.S SD:0x4007ff60 %LE %LONG 0x00000000 ;ddr_reserve_success
  166. D.S SD:0x4007ff64 %LE %LONG 0x00000000 ;ddr_reserve_ready
  167. D.S SD:0x4007ff68--0x4007ff77 %LE %LONG 0x00000000 ;ptp_volt_info
  168. D.S SD:0x4007ff78 %LE %LONG 0x00199880 ;dram_buf_size
  169. D.S SD:0x4007ff7c %LE %LONG 0x11003000 ;meta_uart_port
  170. D.S SD:0x4007ff80 %LE %LONG 0x00000000 ;smc_boot_opt
  171. D.S SD:0x4007ff84 %LE %LONG 0x00000003 ;lk_boot_opt
  172. D.S SD:0x4007ff88 %LE %LONG 0x00000000 ;kernel_boot_opt
  173. D.S SD:0x4007ff8c %LE %LONG 0x0012c000 ;non_secure_sram_addr
  174. D.S SD:0x4007ff90 %LE %LONG 0x00004000 ;non_secure_sram_size
  175. D.S SD:0x4007ff94 %LE %LONG 0x00000000 ;pl_version
  176. D.S SD:0x4007ff98 %LE %LONG 0x00000000 ;
  177. D.S SD:0x4007ff9c %LE %LONG 0x00000000 ;pl_imgver_status
  178. ; magic number to notify lk that it is boot from ram (by cmm)
  179. R.S R14 0xfefeefef
  180. )
  181. ;print "loading logo image"
  182. ;&logo_addr=0x8D900000;
  183. ;d.load.binary ../../../../mediatek/custom/common/lk/logo/wvga/wvga_uboot.bmp &logo_addr
  184. print "loading lk image"
  185. IF &OPT_RAM_BOOT==0
  186. (
  187. Data.Load.ELF &OutProjectPath/lk /gnu /nocode /RELPATH /PATH ".."
  188. )
  189. ELSE
  190. (
  191. Data.Load.ELF &OutProjectPath/lk /gnu /RELPATH /PATH ".."
  192. )
  193. Y.SPATH.RESET ; reset all source path
  194. Y.SPATH.SRD ../app
  195. Y.SPATH.SRD ../app/mt_boot
  196. Y.SPATH.SRD ../arch/arm
  197. Y.SPATH.SRD ../dev
  198. Y.SPATH.SRD ../include
  199. Y.SPATH.SRD ../kernel
  200. Y.SPATH.SRD ../lib
  201. Y.SPATH.SRD ../platform/mt6763
  202. ;Core.Select 0
  203. Data.List
  204. ;d.l
  205. ;stop
  206. enddo