imx8qm.cfg 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. #
  3. # NXP i.MX8QuadMax
  4. #
  5. if { [info exists CHIPNAME] } {
  6. set _CHIPNAME $CHIPNAME
  7. } else {
  8. set _CHIPNAME imx8qm
  9. }
  10. # CoreSight Debug Access Port (DAP)
  11. if { [info exists DAP_TAPID] } {
  12. set _DAP_TAPID $DAP_TAPID
  13. } else {
  14. # TAPID is from FreeScale!
  15. set _DAP_TAPID 0x1890101d
  16. }
  17. jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x01 -irmask 0x0f \
  18. -expected-id $_DAP_TAPID
  19. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  20. # AXI: Main SOC bus on AP #0
  21. target create ${_CHIPNAME}.axi mem_ap -dap ${_CHIPNAME}.dap -ap-num 0
  22. # 4x Cortex-A53 on AP #6
  23. set _A53_DBGBASE {0x80410000 0x80510000 0x80610000 0x80710000}
  24. set _A53_CTIBASE {0x80420000 0x80520000 0x80620000 0x80720000}
  25. cti create $_CHIPNAME.a53_cti.0 -dap $_CHIPNAME.dap \
  26. -ap-num 6 -baseaddr [lindex $_A53_CTIBASE 0]
  27. cti create $_CHIPNAME.a53_cti.1 -dap $_CHIPNAME.dap \
  28. -ap-num 6 -baseaddr [lindex $_A53_CTIBASE 1]
  29. cti create $_CHIPNAME.a53_cti.2 -dap $_CHIPNAME.dap \
  30. -ap-num 6 -baseaddr [lindex $_A53_CTIBASE 2]
  31. cti create $_CHIPNAME.a53_cti.3 -dap $_CHIPNAME.dap \
  32. -ap-num 6 -baseaddr [lindex $_A53_CTIBASE 3]
  33. target create $_CHIPNAME.a53.0 aarch64 -dap $_CHIPNAME.dap \
  34. -cti $_CHIPNAME.a53_cti.0 -dbgbase [lindex $_A53_DBGBASE 0]
  35. target create $_CHIPNAME.a53.1 aarch64 -dap $_CHIPNAME.dap \
  36. -cti $_CHIPNAME.a53_cti.1 -dbgbase [lindex $_A53_DBGBASE 1] -defer-examine
  37. target create $_CHIPNAME.a53.2 aarch64 -dap $_CHIPNAME.dap \
  38. -cti $_CHIPNAME.a53_cti.2 -dbgbase [lindex $_A53_DBGBASE 2] -defer-examine
  39. target create $_CHIPNAME.a53.3 aarch64 -dap $_CHIPNAME.dap \
  40. -cti $_CHIPNAME.a53_cti.3 -dbgbase [lindex $_A53_DBGBASE 3] -defer-examine
  41. # 2x Cortex-A72 on AP #6
  42. set _A72_DBGBASE {0x80210000 0x80310000}
  43. set _A72_CTIBASE {0x80220000 0x80220000}
  44. cti create $_CHIPNAME.a72_cti.0 -dap $_CHIPNAME.dap \
  45. -ap-num 6 -baseaddr [lindex $_A72_CTIBASE 0]
  46. cti create $_CHIPNAME.a72_cti.1 -dap $_CHIPNAME.dap \
  47. -ap-num 6 -baseaddr [lindex $_A72_CTIBASE 1]
  48. target create $_CHIPNAME.a72.0 aarch64 -dap $_CHIPNAME.dap \
  49. -cti $_CHIPNAME.a72_cti.0 -dbgbase [lindex $_A72_DBGBASE 0] -defer-examine
  50. target create $_CHIPNAME.a72.1 aarch64 -dap $_CHIPNAME.dap \
  51. -cti $_CHIPNAME.a72_cti.1 -dbgbase [lindex $_A72_DBGBASE 1] -defer-examine
  52. # All Cortex-A in SMP
  53. target smp \
  54. $_CHIPNAME.a53.0 \
  55. $_CHIPNAME.a53.1 \
  56. $_CHIPNAME.a53.2 \
  57. $_CHIPNAME.a53.3 \
  58. $_CHIPNAME.a72.0 \
  59. $_CHIPNAME.a72.1
  60. # SCU: Cortex-M4 core
  61. # always running imx SC firmware
  62. target create ${_CHIPNAME}.scu cortex_m -dap ${_CHIPNAME}.dap -ap-num 1
  63. # AHB from SCU perspective
  64. target create ${_CHIPNAME}.scu_ahb mem_ap -dap ${_CHIPNAME}.dap -ap-num 4
  65. # Cortex-M4 M4_0 core on AP #2 (default off)
  66. target create ${_CHIPNAME}.m4_0 cortex_m -dap ${_CHIPNAME}.dap -ap-num 2 \
  67. -defer-examine
  68. # Cortex-M4 M4_1 core on AP #3 (default off)
  69. target create ${_CHIPNAME}.m4_1 cortex_m -dap ${_CHIPNAME}.dap -ap-num 3 \
  70. -defer-examine
  71. # Debug APB bus
  72. target create ${_CHIPNAME}.apb mem_ap -dap ${_CHIPNAME}.dap -ap-num 6
  73. # Default target is boot core a53.0
  74. targets $_CHIPNAME.a53.0