<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/index.php?title=Ar724x.cfg&amp;feed=atom&amp;action=history</id>
		<title>Ar724x.cfg - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/index.php?title=Ar724x.cfg&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Ar724x.cfg&amp;action=history"/>
		<updated>2013-05-25T12:49:37Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.22alpha</generator>

	<entry>
		<id>http://elinux.org/index.php?title=Ar724x.cfg&amp;diff=135698&amp;oldid=prev</id>
		<title>Finger: Created page with &quot;&lt;syntaxhighlight code=&quot;tcl&quot;&gt; # Atheros AR724x MIPS 24Kc SoC. # tested on AP99 refererence board # # this settings are taken from source of u-boot for this board # (for PLL) file:...&quot;</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Ar724x.cfg&amp;diff=135698&amp;oldid=prev"/>
				<updated>2012-06-01T21:25:44Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;syntaxhighlight code=&amp;quot;tcl&amp;quot;&amp;gt; # Atheros AR724x MIPS 24Kc SoC. # tested on AP99 refererence board # # this settings are taken from source of u-boot for this board # (for PLL) file:...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;syntaxhighlight code=&amp;quot;tcl&amp;quot;&amp;gt;&lt;br /&gt;
# Atheros AR724x MIPS 24Kc SoC.&lt;br /&gt;
# tested on AP99 refererence board&lt;br /&gt;
#&lt;br /&gt;
# this settings are taken from source of u-boot for this board&lt;br /&gt;
# (for PLL) file:	u-boot/board/ar7240/common/lowlevel_init.S&lt;br /&gt;
# (for DDR) file:	u-boot/cpu/mips/ar7240/meminit.c&lt;br /&gt;
#      with file:	u-boot/include/configs/ap99.h&lt;br /&gt;
# to execute first part of initialization script &lt;br /&gt;
# use this command:	ar724x.cpu invoke-event reset-halt-post&lt;br /&gt;
&lt;br /&gt;
adapter_nsrst_delay 100&lt;br /&gt;
jtag_ntrst_delay 100&lt;br /&gt;
&lt;br /&gt;
reset_config trst_only separate		;# or use only &amp;quot;reset_config none&amp;quot;&lt;br /&gt;
#reset_config none&lt;br /&gt;
&lt;br /&gt;
set CHIPNAME ar724x&lt;br /&gt;
&lt;br /&gt;
jtag newtap $CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id 1&lt;br /&gt;
&lt;br /&gt;
set TARGETNAME $CHIPNAME.cpu&lt;br /&gt;
target create $TARGETNAME mips_m4k -endian big -chain-position $TARGETNAME&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$TARGETNAME configure -event reset-halt-post {&lt;br /&gt;
	#reset Watchdog Timer (when timer ends - resets SoC - then again halted)&lt;br /&gt;
	mww 0xb806000c 0x400000		;# rst watchdog timer (delay ~250ms for JTAG adapter with slow speed)&lt;br /&gt;
	mww 0xb8060008 3		;# rst watchdog timer control (set control bit in this delay window)&lt;br /&gt;
&lt;br /&gt;
	sleep 250			;# wait resetting SoC (delay for JTAG adapter with fast speed)&lt;br /&gt;
	poll				;# echo target state cpu (must be: running)&lt;br /&gt;
	halt&lt;br /&gt;
&lt;br /&gt;
	#setup PLL to lowest(default) common denominator 400/400/200 setting&lt;br /&gt;
	mww 0xb8050000 0x00090828	;# clr pll mask (rst:02090828)&lt;br /&gt;
	mww 0xb8050000 0x00050828	;# CPU:400 DDR:400 AHB:200&lt;br /&gt;
	mww 0xb8050000 0x00040828	;# clr pll bypass&lt;br /&gt;
&lt;br /&gt;
	#next command will reset for PLL changes to take effect &lt;br /&gt;
	mww 0xb8050008 2		;# set reset_switch&lt;br /&gt;
	mww 0xb8050008 3		;# set clock_switch (resets SoC)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$TARGETNAME configure -event reset-init {&lt;br /&gt;
	#complete pll initialization&lt;br /&gt;
	mww 0xb8050008 0		;# set reset_switch bit &amp;amp; clock_switch bit&lt;br /&gt;
	&lt;br /&gt;
	# Setup DDR config and flash mapping&lt;br /&gt;
	mww 0xb8000000 0xc7bc8cd0 	;# DDR cfg cdl val (rst:77be8cd0)&lt;br /&gt;
	mww 0xb8000004 0x9dd0e6a8 	;# DDR cfg2 cdl val (rst:99d10628)&lt;br /&gt;
&lt;br /&gt;
	mww 0xb8000010 8		;# force precharge all banks&lt;br /&gt;
	mww 0xb8000008 0x133		;# DDR mode value init&lt;br /&gt;
	mww 0xb8000010 1		;# force EMRS update cycle&lt;br /&gt;
	mww 0xb800000c 0		;# clr ext. mode register&lt;br /&gt;
&lt;br /&gt;
	mww 0xb8000010 2		;# force auto refresh all banks&lt;br /&gt;
	mww 0xb8000010 8		;# force precharge all banks&lt;br /&gt;
	mww 0xb8000008 0x33		;# set DDR mode value CAS=3&lt;br /&gt;
	mww 0xb8000010 1		;# force EMRS update cycle&lt;br /&gt;
	mww 0xb8000014 0x4f10		;# DDR refresh value&lt;br /&gt;
	mww 0xb8000018 0xff		;# DDR Read Data This Cycle value (16bit: 0xffff)&lt;br /&gt;
	mww 0xb800001c 2		;# delay added to the DQS0 line (normal = 7)&lt;br /&gt;
	mww 0xb8000020 2		;# delay added to the DQS1 line (normal = 7)&lt;br /&gt;
	mww 0xb8000024 0&lt;br /&gt;
	mww 0xb8000028 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# setup working area somewhere in RAM&lt;br /&gt;
$TARGETNAME configure -work-area-phys 0xa0600000 -work-area-size 0x20000&lt;br /&gt;
&lt;br /&gt;
# serial SPI capable flash&lt;br /&gt;
# flash bank &amp;lt;driver&amp;gt; &amp;lt;base&amp;gt; &amp;lt;size&amp;gt; &amp;lt;chip_width&amp;gt; &amp;lt;bus_width&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Source=&lt;br /&gt;
http://wiki.openwrt.org/ru/toh/tp-link/tl-mr3420/debrick.using.jtag&lt;br /&gt;
&lt;br /&gt;
[[Category:OpenOCD]]&lt;br /&gt;
[[Category:Debugging]]&lt;/div&gt;</summary>
		<author><name>Finger</name></author>	</entry>

	</feed>