This is an automated email from Gerrit.

Burlacu Cornel (rody...@yahoo.com) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/2373

-- gerrit

commit ced7937798c61e29068785a3f124e9423863f7bf
Author: cornelus <rody...@yahoo.com>
Date:   Mon Nov 3 13:17:34 2014 +0200

    Support for lantiq bassed device.
    
    Change-Id: Id4b70252938ccf06141bba5676e57604c22a1236
    Signed-off-by: cornelus <rody...@yahoo.com>

diff --git a/testing/lantiq/board/easy50712.cfg 
b/testing/lantiq/board/easy50712.cfg
new file mode 100644
index 0000000..0535dcb
--- /dev/null
+++ b/testing/lantiq/board/easy50712.cfg
@@ -0,0 +1,26 @@
+set FLASHNAME $CHIPNAME.nor0
+flash bank $FLASHNAME cfi 0xb0000000 0x4000000 2 2 $TARGETNAME
+
+proc easy50712_mc_init {} {
+    echo "EASY50712: MC setup"
+}
+
+proc easy50712_reset_init {} {
+    echo "EASY50712: reset init"
+    danube_cgu_init
+    danube_mc_init_prepare
+    easy50712_mc_init
+    danube_mc_init_finish
+    danube_ebu_init
+}
+
+$TARGETNAME configure -event reset-init { easy50712_reset_init }
+
+proc easy50712_ramboot {} {
+    echo "EASY50712: reset init"
+    reset init
+
+    set loadaddr 0xa0100000
+    load_image easy50712_ram/u-boot.bin $loadaddr bin
+    resume $loadaddr
+}
diff --git a/testing/lantiq/board/easy80920.cfg 
b/testing/lantiq/board/easy80920.cfg
new file mode 100644
index 0000000..b7d8795
--- /dev/null
+++ b/testing/lantiq/board/easy80920.cfg
@@ -0,0 +1,26 @@
+set FLASHNAME $CHIPNAME.nor0
+flash bank $FLASHNAME cfi 0xb0000000 0x4000000 2 2 $TARGETNAME
+
+proc easy80920_mc_init {} {
+    echo "EASY80920: MC setup"
+}
+
+proc easy80920_reset_init {} {
+    echo "EASY80920: reset init"
+    vrx200_hrst
+    vrx200_cgu_init
+    vrx200_mc_init_prepare
+    easy80920_mc_init
+    vrx200_mc_init_finish
+}
+
+$TARGETNAME configure -event reset-init { easy80920_reset_init }
+
+proc easy80920_ramboot {} {
+    echo "EASY80920: reset init"
+    reset init
+
+    set loadaddr 0x80100000
+    load_image easy80920_ram/u-boot.bin $loadaddr bin
+    resume $loadaddr
+}
diff --git a/testing/lantiq/board/p661hnu.cfg b/testing/lantiq/board/p661hnu.cfg
new file mode 100644
index 0000000..abf97fb
--- /dev/null
+++ b/testing/lantiq/board/p661hnu.cfg
@@ -0,0 +1,76 @@
+set FLASHNAME $CHIPNAME.nor0
+flash bank $FLASHNAME cfi 0xb0000000 0x4000000 2 2 $TARGETNAME
+
+proc p661hnu_mc_init {} {
+    echo "p661hnu: MC setup"
+
+    arx100_mc_init_prepare
+
+    mww 0xbf801000 0x1b1b
+    mww 0xbf801010 0x0
+    mww 0xbf801020 0x0
+    mww 0xbf801030 0x0
+    mww 0xbf801040 0x0
+    mww 0xbf801050 0x200
+    mww 0xbf801060 0x306
+    mww 0xbf801070 0x303
+    mww 0xbf801080 0x102
+    mww 0xbf801090 0x70a
+    mww 0xbf8010a0 0x203
+    mww 0xbf8010b0 0xc02
+    mww 0xbf8010c0 0x1c8
+    mww 0xbf8010d0 0x1
+    mww 0xbf8010e0 0x0
+    mww 0xbf8010f0 0x144
+    mww 0xbf801100 0xC800
+    mww 0xbf801110 0xd
+    mww 0xbf801120 0x301
+    mww 0xbf801130 0x200
+    mww 0xbf801140 0xa03
+    mww 0xbf801150 0x1900
+    mww 0xbf801160 0x1919
+    mww 0xbf801170 0x0
+    mww 0xbf801180 0x66
+    mww 0xbf801190 0x0
+    mww 0xbf8011a0 0x0
+    mww 0xbf8011b0 0x0
+    mww 0xbf8011c0 0x50a
+    mww 0xbf8011d0 0x2d65
+    mww 0xbf8011e0 0x81b1
+    mww 0xbf8011f0 0x0
+    mww 0xbf801200 0x0
+    mww 0xbf801210 0x0
+    mww 0xbf801220 0x0
+    mww 0xbf801230 0x0
+    mww 0xbf801240 0x0
+    mww 0xbf801250 0x0
+    mww 0xbf801260 0x0
+    mww 0xbf801270 0x0
+    mww 0xbf801280 0x0
+    mww 0xbf801290 0x0
+    mww 0xbf8012a0 0x0
+    mww 0xbf8012b0 0x0
+    mww 0xbf8012c0 0x0
+    mww 0xbf8012d0 0x600
+    mww 0xbf8012e0 0x0
+
+    arx100_mc_init_finish
+}
+
+proc p661hnu_reset_init {} {
+    echo "p661hnu: reset init"
+
+    arx100_cgu_init
+    p661hnu_mc_init
+}
+
+$TARGETNAME configure -event reset-init { p661hnu_reset_init }
+
+proc p661hnu_ramboot {} {
+    reset init
+
+    set loadaddr 0xa0100000
+    echo "p661hnu: loading u-boot.bin to $loadaddr"
+    load_image p661hnufx_ram/u-boot.bin $loadaddr bin
+    resume $loadaddr
+}
diff --git a/testing/lantiq/board/vgv7519.cfg b/testing/lantiq/board/vgv7519.cfg
new file mode 100644
index 0000000..1fc1ec3
--- /dev/null
+++ b/testing/lantiq/board/vgv7519.cfg
@@ -0,0 +1,30 @@
+# The VGV7519 has a DUAL-nor flash configuration
+set FLASHNAME $CHIPNAME.nor0
+flash bank $FLASHNAME cfi 0xb0000000 0x00800000 2 2 $TARGETNAME
+set FLASHNAME $CHIPNAME.nor1
+flash bank $FLASHNAME cfi 0xb4000000 0x00800000 2 2 $TARGETNAME
+
+proc vgv7519_mc_init {} {
+    echo "VGV7519: MC setup"
+}
+
+proc vgv7519_reset_init {} {
+    echo "VGV7519: reset init"
+    vrx200_hrst
+    vrx200_cgu_init
+    vrx200_mc_init_prepare
+    vgv7519_mc_init
+    vrx200_mc_init_finish
+}
+
+$TARGETNAME configure -event reset-init { vgv7519_reset_init }
+
+# Load a ram version of u-boot
+proc vgv7519_uboot_ram {} {
+    echo "VGV7519: reset init"
+    reset init
+
+    set loadaddr 0x80100000
+    load_image u-boot.bin $loadaddr bin
+    resume $loadaddr
+}
diff --git a/testing/lantiq/openocd.cfg b/testing/lantiq/openocd.cfg
new file mode 100644
index 0000000..3822c6c
--- /dev/null
+++ b/testing/lantiq/openocd.cfg
@@ -0,0 +1,37 @@
+source [find interface/usb-jtag.cfg]
+#source [find interface/altera-usb-blaster.cfg]
+
+#adapter_khz 0
+
+#source [find target/danube.cfg]
+source [find target/vrx200.cfg]
+
+#source [find board/easy50712.cfg]
+#source [find board/easy80920.cfg]
+source [find board/vgv7519.cfg]
+
+gdb_flash_program enable
+#gdb_flash_program disable
+gdb_memory_map enable
+#gdb_memory_map disable
+gdb_breakpoint_override hard
+
+proc flash_init {} {
+    echo "vrx200: flash_init"
+
+    reset halt
+    vrx200_ebu_init
+    vrx200_ebu_swap_enable
+    flash probe 0
+}
+
+proc flash_deinit {} {
+    vrx200_ebu_swap_disable
+    echo "vrx200: flashing done"
+}
+
+proc flash_file {filename} {
+    flash_init
+    flash write_image erase $filename 0xb0000000
+    flash_deinit
+}
diff --git a/testing/lantiq/target/arx100.cfg b/testing/lantiq/target/arx100.cfg
new file mode 100644
index 0000000..9f3408b
--- /dev/null
+++ b/testing/lantiq/target/arx100.cfg
@@ -0,0 +1,85 @@
+reset_config trst_only
+#adapter_nsrst_assert_width 100
+adapter_nsrst_delay 100
+#jtag_ntrst_assert_width 100
+jtag_ntrst_delay 100
+
+set CHIPNAME arx100
+jtag newtap $CHIPNAME cpu0 -irlen 5  -ircapture 0x1 -irmask 0x1f -expected-id 
0x1183
+jtag newtap $CHIPNAME cpu1 -irlen 5  -ircapture 0x1 -irmask 0x1f -expected-id 
0x183
+
+set TARGETNAME $CHIPNAME.cpu1
+target create $TARGETNAME mips_m4k -endian big -chain-position $TARGETNAME
+
+set FLASHNAME $CHIPNAME.nor0
+flash bank $FLASHNAME cfi 0xb0000000 0x4000000 2 2 $TARGETNAME
+
+$TARGETNAME configure -work-area-phys 0x1e1a0000 -work-area-size 0x10000 
-work-area-backup 0
+
+proc arx100_cgu_init {} {
+    echo "ARX100: CGU init"
+
+    # CGU for CPU 333Mhz, DDR 167Mhz
+    mww 0xbf103010 0x80
+
+    # CGU update
+    mww 0xBF103014 0x01
+}
+
+proc arx100_mc_init_prepare {} {
+    echo "ARX100: MC init prepare"
+
+    # Clear error access log registers
+    mww 0xbf800010 0x0
+    mww 0xbf800020 0x0
+
+    # Enable FPI, DDR and SRAM module in memory controller
+    mww 0xbf800060 0xd
+
+    # Clear start bit of DDR memory controller
+       mww 0xbf801030 0x0
+
+    # DDR Register
+
+}
+
+proc arx100_mc_init_finish {} {
+    echo "ARX100: MC init finish"
+
+    # Set start bit of DDR memory controller
+       mww 0xbf801030 0x100
+
+    # wait for DLL lock
+    sleep 200
+}
+
+proc arx100_ebu_init {} {
+    echo "ARX100: EBU init"
+
+    mww 0xbe105360 0x0001f7ff
+    mww 0xbe105320 0x10000011
+}
+
+proc arx100_ebu_swap_enable {} {
+    echo "ARX100: EBU swap enable"
+
+    mww 0xbe105360 0x4001f7ff
+}
+
+proc arx100_ebu_swap_disable {} {
+    echo "ARX100: EBU swap disable"
+
+    mww 0xbe105360 0x0001f7ff
+}
+
+proc arx100_gdb_attach {} {
+    echo "ARX100: gdb-attach"
+
+    reset halt
+    arx100_ebu_init
+    #arx100_ebu_swap_enable
+    #flash probe 0
+    #arx100_ebu_swap_disable
+}
+
+$TARGETNAME configure -event gdb-attach { arx100_gdb_attach }
diff --git a/testing/lantiq/target/danube.cfg b/testing/lantiq/target/danube.cfg
new file mode 100644
index 0000000..1c8a52b
--- /dev/null
+++ b/testing/lantiq/target/danube.cfg
@@ -0,0 +1,140 @@
+reset_config trst_and_srst
+#adapter_nsrst_assert_width 100
+adapter_nsrst_delay 100
+#jtag_ntrst_assert_width 100
+jtag_ntrst_delay 100
+
+set CHIPNAME danube
+jtag newtap $CHIPNAME cpu0 -irlen 5  -ircapture 0x1 -irmask 0x1f -expected-id 
0x183
+jtag newtap $CHIPNAME cpu1 -irlen 5  -ircapture 0x1 -irmask 0x1f -expected-id 
0x183
+
+set TARGETNAME $CHIPNAME.cpu1
+target create $TARGETNAME mips_m4k -endian big -chain-position $TARGETNAME
+
+set FLASHNAME $CHIPNAME.nor0
+flash bank $FLASHNAME cfi 0xb0000000 0x4000000 2 2 $TARGETNAME
+
+$TARGETNAME configure -work-area-phys 0x1e1a0000 -work-area-size 0x10000 
-work-area-backup 0
+
+proc danube_cgu_init {} {
+    echo "Danube: CGU init"
+
+    # CGU for CPU 333Mhz, DDR 167Mhz, FPI 83Mhz
+    mww 0xbf103010 0x0e8
+    mww 0xbf103014 0x01
+    mww 0xbf103020 0x780000
+}
+
+proc danube_pmu_init {} {
+    echo "Danube: PMU init"
+
+    # Power-on all subsystems
+    mww 0xbf10201c 0x2F3FFE3
+}
+
+proc danube_mc_init_prepare {} {
+    echo "Danube: MC init prepare"
+
+    # General MC register
+    mww 0xbf800060 0x7
+    mww 0xbf800010 0x0
+    mww 0xbf800020 0x0
+    mww 0xbf800200 0x02
+    mww 0xbf800210 0x0
+
+    # DDR Register
+    mww 0xbf801000 0x1b1b
+    mww 0xbf801010 0x0
+    mww 0xbf801020 0x0
+    mww 0xbf801030 0x0
+    mww 0xbf801040 0x0
+    mww 0xbf801050 0x200
+    mww 0xbf801060 0x0605
+    mww 0xbf801070 0x303
+    mww 0xbf801080 0x102
+    mww 0xbf801090 0x70a
+    mww 0xbf8010a0 0x203
+    mww 0xbf8010b0 0xc02
+    mww 0xbf8010c0 0x1c8
+    mww 0xbf8010d0 0x1
+    mww 0xbf8010e0 0x0
+    mww 0xbf8010f0 0x13c
+    mww 0xbf801100 0xC800
+    mww 0xbf801110 0xd
+    mww 0xbf801120 0x300
+    mww 0xbf801130 0x200
+    mww 0xbf801140 0xa04
+    mww 0xbf801150 0xd00
+    mww 0xbf801160 0xd0d
+    mww 0xbf801170 0x0
+    mww 0xbf801180 0x062
+    mww 0xbf801190 0x0
+    mww 0xbf8011a0 0x0
+    mww 0xbf8011b0 0x0
+    mww 0xbf8011c0 0x510
+    mww 0xbf8011d0 0x2d89
+    mww 0xbf8011e0 0x8300
+    mww 0xbf8011f0 0x0
+    mww 0xbf801200 0x0
+    mww 0xbf801210 0x0
+    mww 0xbf801220 0x0
+    mww 0xbf801230 0x0
+    mww 0xbf801240 0x0
+    mww 0xbf801250 0x0
+    mww 0xbf801260 0x0
+    mww 0xbf801270 0x0
+    mww 0xbf801280 0x0
+    mww 0xbf801290 0x0
+    mww 0xbf8012a0 0x0
+    mww 0xbf8012b0 0x0
+    mww 0xbf8012c0 0x0
+    mww 0xbf8012d0 0x500
+    mww 0xbf8012e0 0x0
+}
+
+proc danube_mc_init_finish {} {
+    echo "Danube: MC init finish"
+
+    # start MC
+    mww 0xbf800060 0x05
+    mww 0xbf801030 0x100
+
+    # wait for DLL lock
+    sleep 50
+}
+
+proc danube_ebu_init {} {
+    echo "Danube: EBU init"
+
+    mww 0xbe105360 0x0001f7ff
+    mww 0xbe105320 0x10000011
+}
+
+proc danube_ebu_swap_enable {} {
+    echo "Danube: EBU swap enable"
+
+    mww 0xbe105360 0x4001f7ff
+}
+
+proc danube_ebu_swap_disable {} {
+    echo "Danube: EBU swap disable"
+
+    mww 0xbe105360 0x0001f7ff
+}
+
+proc danube_flash_probe {} {
+    danube_ebu_swap_enable
+    sleep 10
+    flash probe 0
+    danube_ebu_swap_disable
+}
+
+proc danube_gdb_attach {} {
+    echo "Danube: gdb-attach"
+
+    reset halt
+    danube_ebu_init
+    danube_flash_probe
+}
+
+$TARGETNAME configure -event gdb-attach { danube_gdb_attach }
diff --git a/testing/lantiq/target/vrx200.cfg b/testing/lantiq/target/vrx200.cfg
new file mode 100644
index 0000000..a0c910a
--- /dev/null
+++ b/testing/lantiq/target/vrx200.cfg
@@ -0,0 +1,164 @@
+reset_config trst_only
+#adapter_nsrst_assert_width 100
+adapter_nsrst_delay 100
+#jtag_ntrst_assert_width 100
+jtag_ntrst_delay 100
+
+set CHIPNAME vrx200
+jtag newtap $CHIPNAME cpu0 -irlen 5  -ircapture 0x1 -irmask 0x1f -expected-id 
0x1183
+jtag newtap $CHIPNAME cpu1 -irlen 5  -ircapture 0x1 -irmask 0x1f -expected-id 
0x183
+
+set TARGETNAME $CHIPNAME.cpu1
+target create $TARGETNAME mips_m4k -endian big -chain-position $TARGETNAME
+
+$TARGETNAME configure -work-area-phys 0x1e220000 -work-area-size 0x10000 
-work-area-backup 0
+
+proc vrx200_cgu_init {} {
+    echo "VRX200: CGU init"
+
+    # CGU for speed 500/250
+    mww 0xBF10300c 0x12
+    mww 0xBF103010 0x03020000
+
+    # CGU update
+    mww 0xBF103020 0x01
+}
+
+proc vrx200_mc_init_prepare {} {
+    echo "VRX200: MC init prepare"
+
+    # halt MC
+    mww 0xBF401070 0x0
+
+    # programm MC settings
+    mww 0xBF401000     0x101
+    mww 0xBF401010     0x1000100
+    mww 0xBF401020     0x1010000
+    mww 0xBF401030     0x100
+    mww 0xBF401040     0x1000000
+    mww 0xBF401050     0x1000101
+    mww 0xBF401060     0x1000100
+    mww 0xBF401070     0x1010000
+    mww 0xBF401080     0x1000101
+    mww 0xBF401090     0x0
+    mww 0xBF4010A0     0x2000100
+    mww 0xBF4010B0     0x2000401
+    mww 0xBF4010C0     0x30000
+    mww 0xBF4010D0     0x202
+    mww 0xBF4010E0     0x7080A0F
+    mww 0xBF4010F0     0x2040F
+    mww 0xBF401100     0x40000
+    mww 0xBF401110     0x70102
+    mww 0xBF401120     0x4020002
+    mww 0xBF401130     0x30302
+    mww 0xBF401140     0x8000700
+    mww 0xBF401150     0x40F020A
+    mww 0xBF401160     0x0
+    mww 0xBF401170     0xC020000
+    mww 0xBF401180     0x4401B04
+    mww 0xBF401190     0x0
+    mww 0xBF4011A0     0x0
+    mww 0xBF4011B0     0x6420000
+    mww 0xBF4011C0     0x0
+    mww 0xBF4011D0     0x0
+    mww 0xBF4011E0     0x798
+    mww 0xBF4011F0     0x0
+    mww 0xBF401200     0x0
+    mww 0xBF401210     0x650000
+    mww 0xBF401220     0x200C8
+    mww 0xBF401230     0x1D445D
+    mww 0xBF401240     0xC8
+    mww 0xBF401250     0xC351
+    mww 0xBF401260     0x0
+    mww 0xBF401270     0x141F04
+    mww 0xBF401280     0x142704
+    mww 0xBF401290     0x141b42
+    mww 0xBF4012A0     0x141b42
+    mww 0xBF4012B0     0x566504
+    mww 0xBF4012C0     0x566504
+    mww 0xBF4012D0     0x565F17
+    mww 0xBF4012E0     0x565F17
+    mww 0xBF4012F0     0x0
+    mww 0xBF401300     0x0
+    mww 0xBF401310     0x0
+    mww 0xBF401320     0x0
+    mww 0xBF401330     0x0
+    mww 0xBF401340     0x133
+    mww 0xBF401350     0xF3014B27
+    mww 0xBF401360     0xF3014B27
+    mww 0xBF401370     0xF3014B27
+    mww 0xBF401380     0xF3014B27
+    mww 0xBF401390     0x7C00301
+    mww 0xBF4013A0     0x7C00301
+    mww 0xBF4013B0     0x7C00301
+    mww 0xBF4013C0     0x7C00301
+    mww 0xBF4013D0     0x4
+}
+
+proc vrx200_mc_init_finish {} {
+    echo "VRX200: MC init finish"
+
+    # start MC
+    mww 0xBF401070 0x1010100
+
+    # wait for DLL lock
+    sleep 200
+}
+
+proc vrx200_ebu_init {} {
+    echo "VRX200: EBU init"
+
+# Single flash configuration
+    #mww 0xbe105360 0x0001f7ff
+    #mww 0xbe105320 0x10000011
+
+# Dual flash configuration
+    mww 0xbe105360 0x0001e7ff
+    mww 0xbe105320 0x10000031
+    mww 0xbe105364 0x0001e7ff
+    mww 0xbe105324 0x14000031
+}
+
+proc vrx200_ebu_swap_enable {} {
+    echo "VRX200: EBU swap enable"
+
+# Single flash configuration
+    #mww 0xbe105360 0x4001f7ff
+
+# Dual flash configuration
+    mww 0xbe105360 0x4001e7ff
+    mww 0xbe105364 0x4001e7ff
+}
+
+proc vrx200_ebu_swap_disable {} {
+    echo "VRX200: EBU swap disable"
+
+# Single flash configuration
+    #mww 0xbe105360 0x0001f7ff
+
+# Dual flash configuration
+    mww 0xbe105360 0x0001e7ff
+    mww 0xbe105364 0x0001e7ff
+}
+
+proc vrx200_hrst {} {
+    echo "VRX200: HRST"
+
+    # Assert HRST
+    mww 0xBF203010 0x21
+    sleep 800
+    mww 0xBF203010 0x20
+    sleep 10
+}
+
+proc vrx200_gdb_attach {} {
+    echo "VRX200: gdb-attach"
+
+    reset halt
+    vrx200_ebu_init
+    #vrx200_ebu_swap_enable
+    #flash probe 0
+    #vrx200_ebu_swap_disable
+}
+
+$TARGETNAME configure -event gdb-attach { vrx200_gdb_attach }

-- 

------------------------------------------------------------------------------
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to