diff options
author | Walter Schweizer <swwa@users.sourceforge.net> | 2016-10-06 23:29:56 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2016-10-09 10:55:32 +0200 |
commit | a0a868b20b7e3a8bc331f32720516d0ba85d7df8 (patch) | |
tree | bb4aacccd09a3b3d509d1b50be710ef650311125 /board/Synology/ds109/openocd.cfg | |
parent | f5fd45ff64e28a73499548358e3d1ceda0de7daf (diff) | |
download | u-boot-imx-a0a868b20b7e3a8bc331f32720516d0ba85d7df8.zip u-boot-imx-a0a868b20b7e3a8bc331f32720516d0ba85d7df8.tar.gz u-boot-imx-a0a868b20b7e3a8bc331f32720516d0ba85d7df8.tar.bz2 |
arm: kirkwood: add support for Synology DS109 board
Synology DS109 is based on MV88F6281. The code
is based on Dreamplug code with modificatons
from Synologys open source repository.
Signed-off-by: Walter Schweizer <swwa@users.sourceforge.net>
Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'board/Synology/ds109/openocd.cfg')
-rw-r--r-- | board/Synology/ds109/openocd.cfg | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/board/Synology/ds109/openocd.cfg b/board/Synology/ds109/openocd.cfg new file mode 100644 index 0000000..baa512a --- /dev/null +++ b/board/Synology/ds109/openocd.cfg @@ -0,0 +1,115 @@ +# Synology DS109 + +interface ftdi +ftdi_vid_pid 0x0403 0x6010 + +ftdi_layout_init 0x0008 0x000b +ftdi_layout_signal nTRST -data 0x0010 -oe 0x0010 +ftdi_layout_signal nSRST -data 0x0040 -oe 0x0040 + +adapter_khz 2000 + +# length of reset signal: [ms] +adapter_nsrst_assert_width 1000 + +# don't talk to JTAG after reset for: [ms] +adapter_nsrst_delay 200 + +source [find target/feroceon.cfg] + +reset_config trst_and_srst srst_nogate + +proc ds109_init { } { + + # We need to assert DBGRQ while holding nSRST down. + # However DBGACK will be set only when nSRST is released. + # Furthermore, the JTAG interface doesn't respond at all when + # the CPU is in the WFI (wait for interrupts) state, so it is + # possible that initial tap examination failed. So let's + # re-examine the target again here when nSRST is asserted which + # should then succeed. + jtag_reset 0 1 + feroceon.cpu arp_examine + halt 0 + jtag_reset 0 0 + wait_halt + #reset run + #soft_reset_halt + + arm mcr 15 0 0 1 0 0x00052078 + + mww 0xD00100e0 0x1b1b1b9b ;# + mww 0xD0020134 0xbbbbbbbb ;# + mww 0xD0020138 0x00bbbbbb ;# + mww 0xD0001400 0x43000C30 ;# DDR SDRAM Configuration Register + mww 0xD0001404 0x39743000 ;# Dunit Control Low Register + mww 0xD0001408 0x22125551 ;# DDR SDRAM Timing (Low) Register + mww 0xD000140C 0x00000833 ;# DDR SDRAM Timing (High) Register + mww 0xD0001410 0x0000000d ;# DDR SDRAM Address Control Register + mww 0xD0001414 0x00000000 ;# DDR SDRAM Open Pages Control Register + mww 0xD0001418 0x00000000 ;# DDR SDRAM Operation Register + mww 0xD000141C 0x00000C62 ;# DDR SDRAM Mode Register + mww 0xD0001420 0x00000042 ;# DDR SDRAM Extended Mode Register + mww 0xD0001424 0x0000F1FF ;# Dunit Control High Register + mww 0xD0001428 0x00085520 ;# Dunit Control High Register + mww 0xD000147c 0x00008552 ;# Dunit Control High Register + mww 0xD0001500 0x00000000 ;# + mww 0xD0001504 0x07FFFFF1 ;# CS0n Size Register + mww 0xD0001508 0x10000000 ;# CS1n Base Register + mww 0xD000150C 0x00000000 ;# CS1n Size Register + mww 0xD0001510 0x20000000 ;# + mww 0xD0001514 0x00000000 ;# CS2n Size Register + mww 0xD000151C 0x00000000 ;# CS3n Size Register + mww 0xD0001494 0x003C0000 ;# DDR2 SDRAM ODT Control (Low) Register + mww 0xD0001498 0x00000000 ;# DDR2 SDRAM ODT Control (High) REgister + mww 0xD000149C 0x0000F80F ;# DDR2 Dunit ODT Control Register + mww 0xD0001480 0x00000001 ;# DDR SDRAM Initialization Control Register + mww 0xD0020204 0x00000000 ;# Main IRQ Interrupt Mask Register + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + mww 0xD0020204 0x00000000 ;# " + + mww 0xD0010000 0x01111111 ;# MPP 0 to 7 + mww 0xD0010004 0x11113322 ;# MPP 8 to 15 + mww 0xD0010008 0x00001111 ;# MPP 16 to 23 +} + +proc ds109_load { } { + # load u-Boot into RAM and execute it + ds109_init + load_image u-boot.bin 0x00600000 bin + resume 0x00600000 +} |