Create a init_board procedure for the ea dev board.
authorChris Morgan <chmorgan@gmail.com>
Thu, 8 Mar 2012 19:58:41 +0000 (14:58 -0500)
committerSpencer Oliver <spen@spen-soft.co.uk>
Fri, 30 Mar 2012 15:53:06 +0000 (15:53 +0000)
Signed-off-by: Chris Morgan <chmorgan@gmail.com>
Change-Id: I082b0d3092c7f3b2ee6b68af64d48c78b31f1dbf
Reviewed-on: http://openocd.zylin.com/510
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
tcl/board/embedded-artists_lpc2478-32.cfg

index 1bbf4bb659f779f41b37581f0afb748094ce93f1..b036cd69cd709f1b5fe7985e9fd6484a318cf78f 100644 (file)
@@ -1,24 +1,10 @@
 # Embedded Artists eval board for LPC2478
 # http://www.embeddedartists.com/
 
-# Delays on reset lines
-adapter_nsrst_delay 500
-jtag_ntrst_delay 1
-
-# Adaptive JTAG clocking through RTCK.
-# 
-jtag_rclk 20
-
 # Target device: LPC2478
 set CCLK 72000
 source [find target/lpc2478.cfg]
 
-# A working area will help speeding the flash programming
-$_TARGETNAME configure -work-area-phys 0x40000200 -work-area-size [expr 0x10000-0x200-0x20] -work-area-backup 0
-
-# External 16-bit flash at chip select CS0 (SST39VF3201-70, 4 MiB)
-flash bank $_CHIPNAME.extflash cfi 0x80000000 0x400000 2 2 $_TARGETNAME jedec_probe
-
 # Helper
 #
 proc read_register {register} {
@@ -27,6 +13,106 @@ proc read_register {register} {
     return $result(0)
 }
 
+proc init_board {} {
+    # Delays on reset lines
+    adapter_nsrst_delay 500
+    jtag_ntrst_delay 1
+
+    # Adaptive JTAG clocking through RTCK.
+    #
+    jtag_rclk 20
+
+    global _TARGETNAME
+    global _CHIPNAME
+
+    # A working area will help speeding the flash programming
+    $_TARGETNAME configure -work-area-phys 0x40000200 -work-area-size [expr 0x10000-0x200-0x20] -work-area-backup 0
+
+    # External 16-bit flash at chip select CS0 (SST39VF3201-70, 4 MiB)
+    flash bank $_CHIPNAME.extflash cfi 0x80000000 0x400000 2 2 $_TARGETNAME jedec_probe
+
+    # Event handlers
+    #
+    $_TARGETNAME configure -event reset-start {
+        # Back to the slow JTAG clock
+        jtag_rclk 20
+    }
+
+    $_TARGETNAME configure -event reset-init {
+        arm core_state arm
+        arm7_9 dcc_downloads enable     ;# Speed up downloads by using DCC transfer
+        arm7_9 fast_memory_access enable
+
+        # Peripheral clocks
+        mww 0xE01FC0C4 0x04280FFE       ;# PCONP: (reset value)
+
+        # Map the user flash to the vector table area (0x00...0x3F)
+        mww 0xE01FC040 0x00000001       ;# MEMMAP: User flash
+
+        # Memory accelerator module
+        mww 0xE01FC004 0x00000003       ;# MAMTIM: 3 clock cycles
+        mww 0xE01FC000 0x00000002       ;# MAMCR: fully enabled
+
+        # Enable external memory bus (32-bit SDRAM at DYCS0, 16-bit flash at CS0)
+        mww 0xE002C014 0x55010115       ;# PINSEL5: P2.16=CAS, P2.17=RAS, P2.18=CLKOUT0,
+                                         # P2.20=DYCS0, P2.24=CKEOUT0, P2.28=DQMOUT0,
+                                         # P2.29=DQMOUT1, P2.30=DQMOUT2, P2.31=DQMOUT3
+        mww 0xE002C018 0x55555555       ;# PINSEL6: P3.0...P3.15=D0...D15
+        mww 0xE002C01C 0x55555555       ;# PINSEL7: P3.16...P3.31=D16...D31
+        mww 0xE002C020 0x55555555       ;# PINSEL8: P4.0...P4.15=A0...A15
+        mww 0xE002C024 0x50051555       ;# PINSEL9: P4.16...P4.22=A16...A22, P4.24=OE,
+                                         # P4.25=WE, P4.30=CS0, P4.31=CS1
+        mww 0xFFE08000 0x00000001       ;# EMCControl: Enable EMC
+
+        # Start PLL, then use faster JTAG clock
+        enable_pll
+        jtag_rclk 3000
+
+        # 16-bit flash @ CS0 (SST39VF3201-70)
+        mww 0xFFE08200 0x00080081       ;# EMCStaticConfig0: 16 bit, PB=1, buffers on
+        mww 0xFFE08204 0x00000000       ;# EMCStaticWaitWen0
+        mww 0xFFE08208 0x00000000       ;# EMCStaticWaitOen0
+        mww 0xFFE0820C 0x00000005       ;# EMCStaticWaitRd0
+        mww 0xFFE08210 0x00000005       ;# EMCStaticWaitPage0
+        mww 0xFFE08214 0x00000003       ;# EMCStaticWaitWr0
+        mww 0xFFE08218 0x00000001       ;# EMCStaticWaitTurn0
+
+        # 8-bit NAND @ CS1
+        # TODO
+
+        # 32-bit SDRAM @ DYCS0 (K4M563233G-HN75)
+        mww 0xFFE08028 0x00000001       ;# EMCDynamicReadConfig
+        mww 0xFFE08030 0x00000001       ;# EMCDynamicRP
+        mww 0xFFE08034 0x00000003       ;# EMCDynamicRAS
+        mww 0xFFE08038 0x00000005       ;# EMCDynamicSREX
+        mww 0xFFE0803C 0x00000001       ;# EMCDynamicAPR
+        mww 0xFFE08040 0x00000005       ;# EMCDynamicDAL
+        mww 0xFFE08044 0x00000001       ;# EMCDynamicWR
+        mww 0xFFE08048 0x00000005       ;# EMCDynamicRC
+        mww 0xFFE0804C 0x00000005       ;# EMCDynamicRFC
+        mww 0xFFE08050 0x00000005       ;# EMCDynamicXSR
+        mww 0xFFE08054 0x00000001       ;# EMCDynamicRRD
+        mww 0xFFE08058 0x00000001       ;# EMCDynamicMRD
+        #
+        mww 0xFFE08104 0x00000202       ;# EMCDynamicRasCas0
+        mww 0xFFE08100 0x00005488       ;# EMCDynamicConfig0
+        sleep 100
+        mww 0xFFE08020 0x00000183       ;# EMCDynamicControl: Clock on continuously, NOP
+        sleep 10
+        mww 0xFFE08020 0x00000103       ;# EMCDynamicControl: PRECHARGE-ALL
+        mww 0xFFE08024 0x00000046       ;# EMCDynamicRefresh
+        sleep 100
+        mww 0xFFE08020 0x00000083       ;# EMCDynamicControl: MODE
+        mdw 0xA0011000 1                ;# Set SDRAM mode register
+        mww 0xFFE08020 0x00000000       ;# EMCDynamicControl: NORMAL
+        mww 0xFFE08100 0x00085488       ;# EMCDynamicConfig0: Enable buffers
+    }
+
+    $_TARGETNAME configure -event gdb-attach {
+        # Without this gdb-attach will first time as probe will fail
+        reset init
+    }
+}
 
 # Enable the PLL.
 # Generate maximum CPU clock (72 MHz) Run from internal RC oscillator.
@@ -66,83 +152,3 @@ proc enable_pll {} {
     mww 0xE01FC08C 0x00000055       ;# PLLFEED
 }
 
-
-# Event handlers
-#
-$_TARGETNAME configure -event reset-start {
-    # Back to the slow JTAG clock
-    jtag_rclk 20
-}
-
-
-$_TARGETNAME configure -event reset-init {
-
-    arm core_state arm
-    arm7_9 dcc_downloads enable     ;# Speed up downloads by using DCC transfer
-    arm7_9 fast_memory_access enable
-
-    # Peripheral clocks
-    mww 0xE01FC0C4 0x04280FFE       ;# PCONP: (reset value)
-
-    # Map the user flash to the vector table area (0x00...0x3F)
-    mww 0xE01FC040 0x00000001       ;# MEMMAP: User flash
-
-    # Memory accelerator module
-    mww 0xE01FC004 0x00000003       ;# MAMTIM: 3 clock cycles
-    mww 0xE01FC000 0x00000002       ;# MAMCR: fully enabled
-
-    # Enable external memory bus (32-bit SDRAM at DYCS0, 16-bit flash at CS0)
-    mww 0xE002C014 0x55010115       ;# PINSEL5: P2.16=CAS, P2.17=RAS, P2.18=CLKOUT0,
-                                     # P2.20=DYCS0, P2.24=CKEOUT0, P2.28=DQMOUT0,
-                                     # P2.29=DQMOUT1, P2.30=DQMOUT2, P2.31=DQMOUT3
-    mww 0xE002C018 0x55555555       ;# PINSEL6: P3.0...P3.15=D0...D15
-    mww 0xE002C01C 0x55555555       ;# PINSEL7: P3.16...P3.31=D16...D31
-    mww 0xE002C020 0x55555555       ;# PINSEL8: P4.0...P4.15=A0...A15
-    mww 0xE002C024 0x50051555       ;# PINSEL9: P4.16...P4.22=A16...A22, P4.24=OE,
-                                     # P4.25=WE, P4.30=CS0, P4.31=CS1
-    mww 0xFFE08000 0x00000001       ;# EMCControl: Enable EMC
-
-    # Start PLL, then use faster JTAG clock
-    enable_pll
-    jtag_rclk 3000
-
-    # 16-bit flash @ CS0 (SST39VF3201-70)
-    mww 0xFFE08200 0x00080081       ;# EMCStaticConfig0: 16 bit, PB=1, buffers on
-    mww 0xFFE08204 0x00000000       ;# EMCStaticWaitWen0
-    mww 0xFFE08208 0x00000000       ;# EMCStaticWaitOen0
-    mww 0xFFE0820C 0x00000005       ;# EMCStaticWaitRd0
-    mww 0xFFE08210 0x00000005       ;# EMCStaticWaitPage0
-    mww 0xFFE08214 0x00000003       ;# EMCStaticWaitWr0
-    mww 0xFFE08218 0x00000001       ;# EMCStaticWaitTurn0
-
-    # 8-bit NAND @ CS1
-    # TODO
-
-    # 32-bit SDRAM @ DYCS0 (K4M563233G-HN75)
-    mww 0xFFE08028 0x00000001       ;# EMCDynamicReadConfig
-    mww 0xFFE08030 0x00000001       ;# EMCDynamicRP
-    mww 0xFFE08034 0x00000003       ;# EMCDynamicRAS
-    mww 0xFFE08038 0x00000005       ;# EMCDynamicSREX
-    mww 0xFFE0803C 0x00000001       ;# EMCDynamicAPR
-    mww 0xFFE08040 0x00000005       ;# EMCDynamicDAL
-    mww 0xFFE08044 0x00000001       ;# EMCDynamicWR
-    mww 0xFFE08048 0x00000005       ;# EMCDynamicRC
-    mww 0xFFE0804C 0x00000005       ;# EMCDynamicRFC
-    mww 0xFFE08050 0x00000005       ;# EMCDynamicXSR
-    mww 0xFFE08054 0x00000001       ;# EMCDynamicRRD
-    mww 0xFFE08058 0x00000001       ;# EMCDynamicMRD
-    #
-    mww 0xFFE08104 0x00000202       ;# EMCDynamicRasCas0
-    mww 0xFFE08100 0x00005488       ;# EMCDynamicConfig0
-    sleep 100
-    mww 0xFFE08020 0x00000183       ;# EMCDynamicControl: Clock on continuously, NOP
-    sleep 10
-    mww 0xFFE08020 0x00000103       ;# EMCDynamicControl: PRECHARGE-ALL
-    mww 0xFFE08024 0x00000046       ;# EMCDynamicRefresh
-    sleep 100
-    mww 0xFFE08020 0x00000083       ;# EMCDynamicControl: MODE
-    mdw 0xA0011000 1                ;# Set SDRAM mode register
-    mww 0xFFE08020 0x00000000       ;# EMCDynamicControl: NORMAL
-    mww 0xFFE08100 0x00085488       ;# EMCDynamicConfig0: Enable buffers
-}
-

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)