<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rtime.felk.cvut.cz/hw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Meloumar</id>
	<title>HW wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://rtime.felk.cvut.cz/hw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Meloumar"/>
	<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php/Special:Contributions/Meloumar"/>
	<updated>2026-05-20T02:03:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4111</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4111"/>
		<updated>2013-09-10T14:40:09Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* ISE Design Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes &amp;quot;LX CPU1&amp;quot; developer board made by PiKRON, with LPC1788 and Spartan6.&lt;br /&gt;
&lt;br /&gt;
== ISE Design Suite ==&lt;br /&gt;
&lt;br /&gt;
ISE 14.6 is known to work well for Spartan6, WebPack edition is sufficient, however the board is using customized Tumbl core coprocessor, which is based off Microblaze from EDK. You can use versions 13.4+, as there is the fix for errata preventing 9K block ram initialization. Additional information for ISE deployment under Linux system can be found [http://rtime.felk.cvut.cz/hw/index.php/Xilinx_ISE here].&lt;br /&gt;
&lt;br /&gt;
== Board notes ==&lt;br /&gt;
&lt;br /&gt;
#DONE pin&lt;br /&gt;
#: [http://www.xilinx.com/support/documentation/user_guides/ug380.pdf Xilinx configuration guide] recommends using an external pull-up resistor for DONE pin, 330 Ohms to Vcco_2 voltage.&lt;br /&gt;
#BLS1 pin&lt;br /&gt;
#: Random problems (reason unknown) occuring with BLS1 not being asserted upon memory bus write transaction (for 32-bit and 16-bit). At the moment it appears to be either soldering problem or HW issue. Identified by memory bus verification failing upon writing the respective bits regardless of External Memory Controller setup.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4110</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4110"/>
		<updated>2013-09-10T14:39:55Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* ISE Design Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes &amp;quot;LX CPU1&amp;quot; developer board made by PiKRON, with LPC1788 and Spartan6.&lt;br /&gt;
&lt;br /&gt;
== ISE Design Suite ==&lt;br /&gt;
&lt;br /&gt;
ISE 14.6 is known to work well for Spartan6, WebPack edition is sufficient, however the board is using customized Tumbl core coprocessor, which is based off Microblaze from EDK. You can use version 13.4+, as there is the fix for errata preventing 9K block ram initialization. Additional information for ISE deployment under Linux system can be found [http://rtime.felk.cvut.cz/hw/index.php/Xilinx_ISE here].&lt;br /&gt;
&lt;br /&gt;
== Board notes ==&lt;br /&gt;
&lt;br /&gt;
#DONE pin&lt;br /&gt;
#: [http://www.xilinx.com/support/documentation/user_guides/ug380.pdf Xilinx configuration guide] recommends using an external pull-up resistor for DONE pin, 330 Ohms to Vcco_2 voltage.&lt;br /&gt;
#BLS1 pin&lt;br /&gt;
#: Random problems (reason unknown) occuring with BLS1 not being asserted upon memory bus write transaction (for 32-bit and 16-bit). At the moment it appears to be either soldering problem or HW issue. Identified by memory bus verification failing upon writing the respective bits regardless of External Memory Controller setup.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=Template:Main_Page/Hardware&amp;diff=4109</id>
		<title>Template:Main Page/Hardware</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=Template:Main_Page/Hardware&amp;diff=4109"/>
		<updated>2013-09-10T14:38:07Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [[A0B36APO Virtual Hardware]]&lt;br /&gt;
* [[AT91SAM7X256]]&lt;br /&gt;
* [[Boa5200]]&lt;br /&gt;
* [[ColdFire_DEMO52233 | ColdFire DEMO52233 (Board from Freescale)]] &lt;br /&gt;
* [[ColdFire_MCF548x | ColdFire MCF548x (resources and experiments)]] &lt;br /&gt;
* [[FPGA]]&lt;br /&gt;
* [[FTDI2232 JTAG]]&lt;br /&gt;
* [[H8S/2638]]&lt;br /&gt;
* [[HC12 | Motorola HC12]]&lt;br /&gt;
* [[Humusoft MF6xx]]&lt;br /&gt;
* [[LX CPU1]]&lt;br /&gt;
* [[LPC21xx]]&lt;br /&gt;
* [[MIDAM MPC5200 DB1]] (Mikroklima)&lt;br /&gt;
* [[ML403 | ML403 Xilinx Virtex-4]]&lt;br /&gt;
* [[OJ10 - welding robot]]&lt;br /&gt;
* [[PiMX1]] i.MX1 processor based board&lt;br /&gt;
* [[STM32 VLDISCOVERY]]&lt;br /&gt;
* [[TC1798|TC1798 - Infineon AUDO MAX]]&lt;br /&gt;
* [[TMS570LS3137]]&lt;br /&gt;
* [[Wireless_Sensor_Networks | Wireless Sensor Networks (WSNs)]]&lt;br /&gt;
* [[XC2S100-kit|Xilinx Spartan II XC2S100 Demo Board]]&lt;br /&gt;
* [[XC2V1000-kit|Xilinx Virtex II XC2V1000 Demo Board]]&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4108</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4108"/>
		<updated>2013-08-30T09:28:07Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Board notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes &amp;quot;LX CPU1&amp;quot; developer board made by PiKRON, with LPC1788 and Spartan6.&lt;br /&gt;
&lt;br /&gt;
== ISE Design Suite ==&lt;br /&gt;
&lt;br /&gt;
ISE 14.6 is known to work well for Spartan6, WebPack edition is sufficient if you do not indent to use EDK. You can use version 13.4+, as there is the fix for errata preventing 9K block ram initialization. Additional information for ISE deployment under Linux system can be found [http://rtime.felk.cvut.cz/hw/index.php/Xilinx_ISE here].&lt;br /&gt;
&lt;br /&gt;
== Board notes ==&lt;br /&gt;
&lt;br /&gt;
#DONE pin&lt;br /&gt;
#: [http://www.xilinx.com/support/documentation/user_guides/ug380.pdf Xilinx configuration guide] recommends using an external pull-up resistor for DONE pin, 330 Ohms to Vcco_2 voltage.&lt;br /&gt;
#BLS1 pin&lt;br /&gt;
#: Random problems (reason unknown) occuring with BLS1 not being asserted upon memory bus write transaction (for 32-bit and 16-bit). At the moment it appears to be either soldering problem or HW issue. Identified by memory bus verification failing upon writing the respective bits regardless of External Memory Controller setup.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4107</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4107"/>
		<updated>2013-08-30T09:27:11Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Board notes = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes &amp;quot;LX CPU1&amp;quot; developer board made by PiKRON, with LPC1788 and Spartan6.&lt;br /&gt;
&lt;br /&gt;
== ISE Design Suite ==&lt;br /&gt;
&lt;br /&gt;
ISE 14.6 is known to work well for Spartan6, WebPack edition is sufficient if you do not indent to use EDK. You can use version 13.4+, as there is the fix for errata preventing 9K block ram initialization. Additional information for ISE deployment under Linux system can be found [http://rtime.felk.cvut.cz/hw/index.php/Xilinx_ISE here].&lt;br /&gt;
&lt;br /&gt;
== Board notes ==&lt;br /&gt;
&lt;br /&gt;
#DONE pin&lt;br /&gt;
#: [http://www.xilinx.com/support/documentation/user_guides/ug380.pdf Xilinx configuration guide] recommends using an external pull-up resistor for DONE pin, 330 Ohms to Vcco_2 voltage.&lt;br /&gt;
#BLS1 pin&lt;br /&gt;
#: Random problems (reason unknown) occuring with BLS1 not being asserted upon memory bus write transaction (for 32-bit and 16-bit). At the moment it appears to be either soldering problem or EMC issue. Identified by memory bus verification failing upon writing the respective bits regardless of EMC setup.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4106</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4106"/>
		<updated>2013-08-30T09:25:07Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* ISE Design Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes &amp;quot;LX CPU1&amp;quot; developer board made by PiKRON, with LPC1788 and Spartan6.&lt;br /&gt;
&lt;br /&gt;
== ISE Design Suite ==&lt;br /&gt;
&lt;br /&gt;
ISE 14.6 is known to work well for Spartan6, WebPack edition is sufficient if you do not indent to use EDK. You can use version 13.4+, as there is the fix for errata preventing 9K block ram initialization. Additional information for ISE deployment under Linux system can be found [http://rtime.felk.cvut.cz/hw/index.php/Xilinx_ISE here].&lt;br /&gt;
&lt;br /&gt;
== Board notes ===&lt;br /&gt;
&lt;br /&gt;
#DONE pin&lt;br /&gt;
#: [http://www.xilinx.com/support/documentation/user_guides/ug380.pdf Xilinx configuration guide] recommends using an external pull-up resistor for DONE pin, 330 Ohms to Vcco_2 voltage.&lt;br /&gt;
#BLS1 pin&lt;br /&gt;
#: Random problems (reason unknown) occuring with BLS1 not being asserted upon memory bus write transaction (for 32-bit and 16-bit). At the moment it appears to be either soldering problem or EMC issue. Identified by memory bus verification failing upon writing the respective bits regardless of EMC setup.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=Xilinx_ISE&amp;diff=4105</id>
		<title>Xilinx ISE</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=Xilinx_ISE&amp;diff=4105"/>
		<updated>2013-08-30T09:20:40Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Xilix based boards at DCE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notes for Xilinx ISE version 14.6 under Linux system =&lt;br /&gt;
&lt;br /&gt;
# ISIM and gcc&lt;br /&gt;
#: ISIM binaries have hardcoded gcc path, as &amp;quot;/usr/bin/gcc4&amp;quot; and &amp;quot;/usr/bin/gcc&amp;quot; (in this order), however doesn&#039;t work with newest GCC distributions (symbol mismatches during linking). If you run into a trouble (probable with GCC 4.7+ versions), install older GCC (3.3 works fine) and either symlink &amp;quot;/usr/bin/gcc4&amp;quot; to the old one, or modify the binaries with a hex editor and update the path in them. The binaries &amp;quot;fuse&amp;quot;, &amp;quot;vlogcomp&amp;quot; and &amp;quot;vhpcomp&amp;quot; require patching.&lt;br /&gt;
# QT and Coregen&lt;br /&gt;
#: To prevent mismatches, unset QT_PLUGIN_PATH before running ISE, otherwise Coregen will segfault when running dialogs for source file generation (such as BRAM) due to different QT versions. It may be good to unset the rest of QT_ environmental variables too.&lt;br /&gt;
&lt;br /&gt;
= Xilix based boards at DCE =&lt;br /&gt;
&lt;br /&gt;
* [[XC2S100-kit]] includes documentation how to use FTDI2232 based cable with ISE 10.1&lt;br /&gt;
* [[XC2V1000-kit]]&lt;br /&gt;
* [[ML403]]&lt;br /&gt;
* [[LX CPU1]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA]]&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4104</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4104"/>
		<updated>2013-08-30T09:19:29Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* ISE Design Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes &amp;quot;LX CPU1&amp;quot; developer board made by PiKRON, with LPC1788 and Spartan6.&lt;br /&gt;
&lt;br /&gt;
== ISE Design Suite ==&lt;br /&gt;
&lt;br /&gt;
ISE 14.6 is known to work well for Spartan6, WebPack edition is sufficient if you do not indent to use EDK. You can use version 13.4+, as there is the fix for errata preventing 9K block ram initialization. Additional information for ISE deployment under Linux system can be found [http://rtime.felk.cvut.cz/hw/index.php/Xilinx_ISE here].&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4103</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4103"/>
		<updated>2013-08-30T09:17:22Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* ISE Design Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes &amp;quot;LX CPU1&amp;quot; developer board made by PiKRON, with LPC1788 and Spartan6.&lt;br /&gt;
&lt;br /&gt;
== ISE Design Suite ==&lt;br /&gt;
&lt;br /&gt;
ISE 14.6 is known to work well for Spartan6. You can use version 13.4+, as there is the fix for errata preventing 9K block ram initialization. Additional information for ISE deployment under Linux system can be found [http://rtime.felk.cvut.cz/hw/index.php/Xilinx_ISE here].&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=Xilinx_ISE&amp;diff=4102</id>
		<title>Xilinx ISE</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=Xilinx_ISE&amp;diff=4102"/>
		<updated>2013-08-30T09:15:09Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: English translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notes for Xilinx ISE version 14.6 under Linux system =&lt;br /&gt;
&lt;br /&gt;
# ISIM and gcc&lt;br /&gt;
#: ISIM binaries have hardcoded gcc path, as &amp;quot;/usr/bin/gcc4&amp;quot; and &amp;quot;/usr/bin/gcc&amp;quot; (in this order), however doesn&#039;t work with newest GCC distributions (symbol mismatches during linking). If you run into a trouble (probable with GCC 4.7+ versions), install older GCC (3.3 works fine) and either symlink &amp;quot;/usr/bin/gcc4&amp;quot; to the old one, or modify the binaries with a hex editor and update the path in them. The binaries &amp;quot;fuse&amp;quot;, &amp;quot;vlogcomp&amp;quot; and &amp;quot;vhpcomp&amp;quot; require patching.&lt;br /&gt;
# QT and Coregen&lt;br /&gt;
#: To prevent mismatches, unset QT_PLUGIN_PATH before running ISE, otherwise Coregen will segfault when running dialogs for source file generation (such as BRAM) due to different QT versions. It may be good to unset the rest of QT_ environmental variables too.&lt;br /&gt;
&lt;br /&gt;
= Xilix based boards at DCE =&lt;br /&gt;
&lt;br /&gt;
* [[XC2S100-kit]] includes documentation how to use FTDI2232 based cable with ISE 10.1&lt;br /&gt;
* [[XC2V1000-kit]]&lt;br /&gt;
* [[ML403]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA]]&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=Lx_cpu1&amp;diff=4101</id>
		<title>Lx cpu1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=Lx_cpu1&amp;diff=4101"/>
		<updated>2013-08-30T09:07:56Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=Lx_cpu1&amp;diff=4100</id>
		<title>Lx cpu1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=Lx_cpu1&amp;diff=4100"/>
		<updated>2013-08-30T09:07:47Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: Meloumar moved page Lx cpu1 to LX CPU1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[LX CPU1]]&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4099</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4099"/>
		<updated>2013-08-30T09:07:47Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: Meloumar moved page Lx cpu1 to LX CPU1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes &amp;quot;LX CPU1&amp;quot; developer board made by PiKRON, with LPC1788 and Spartan6.&lt;br /&gt;
&lt;br /&gt;
== ISE Design Suite ==&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4098</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4098"/>
		<updated>2013-08-30T09:07:33Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes &amp;quot;LX CPU1&amp;quot; developer board made by PiKRON, with LPC1788 and Spartan6.&lt;br /&gt;
&lt;br /&gt;
== ISE Design Suite ==&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4097</id>
		<title>LX CPU1</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=LX_CPU1&amp;diff=4097"/>
		<updated>2013-08-30T09:05:30Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: Created page with &amp;quot;.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=Xilinx_ISE&amp;diff=4096</id>
		<title>Xilinx ISE</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=Xilinx_ISE&amp;diff=4096"/>
		<updated>2013-08-24T11:21:55Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Poznámky k ISE v 14.6 při použití na systému Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Poznámky k ISE v 14.6 při použití na systému Linux =&lt;br /&gt;
&lt;br /&gt;
# ISIM a gcc&lt;br /&gt;
#: V binarkach pro ISIM je natvrdo cesta ke gcc &amp;quot;/usr/bin/gcc4&amp;quot; a pote  &amp;quot;/usr/bin/gcc&amp;quot;, ovsem s nejnovejsim gcc nefunguje (problemy se symboly pri linkovani). V mem pripade funguje gcc-3.3 (na internetu pisou problemy od gcc asi 4.7 a vice). Jedna se o binarky: &amp;quot;fuse&amp;quot;, &amp;quot;vlogcomp&amp;quot; a &amp;quot;vhpcomp&amp;quot; (ve slozce unwrapped). Pripade je mozne tyto soubory otevrit v HEX editoru a rucne upravit cestu ke gcc.&lt;br /&gt;
&lt;br /&gt;
# QT a coregen&lt;br /&gt;
#: Je vhodne odnastavit QT_PLUGIN_PATH, jinak se v Coregenu nemusi spustit dialogy pro generovani zdrojovych souboru (alespon u blokove RAM pameti) kvuli ruznym verzim QT.&lt;br /&gt;
&lt;br /&gt;
= Xilix based boards at DCE =&lt;br /&gt;
&lt;br /&gt;
* [[XC2S100-kit]] includes documentation how to use FTDI2232 based cable with ISE 10.1&lt;br /&gt;
* [[XC2V1000-kit]]&lt;br /&gt;
* [[ML403]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA]]&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3962</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3962"/>
		<updated>2011-06-28T20:35:11Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Bootloaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== GCC ==&lt;br /&gt;
&lt;br /&gt;
GCC works correctly with Coldfire since version 4.5.x; however produces badly optimized code (redundant register allocations).&lt;br /&gt;
&lt;br /&gt;
== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XL Bus arbiter.&lt;br /&gt;
&lt;br /&gt;
Source Code Archive: [https://rapidshare.com/files/2137542509/colilo-0.3.3-fsl.tar.gz]&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2, [ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06-rc2.tar.bz2]) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
Latest kernel officially supported by Freescale is 2.6.25 can be found in BSP package [https://www.freescale.com/webapp/Download?colCode=CWF-MCF547X-548X-2-6-KL&amp;amp;nodeId=015210033202A9&amp;amp;appType=license&amp;amp;location=overview&amp;amp;Parent_nodeId=11490914845966901902A9&amp;amp;Parent_pageType=overview]. A repository of 2.6.31 kernel by Freescale (with support only for Serial and FEC is here [https://dev.openwrt.org/browser/trunk/target/linux/coldfire]. Locally developped port (2.6.37) git repository is here [http://rtime.felk.cvut.cz/gitweb/mcf548x/linux.git], this port is still in development.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3961</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3961"/>
		<updated>2011-06-28T20:33:56Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* GCC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XL Bus arbiter.&lt;br /&gt;
&lt;br /&gt;
Source Code Archive: [https://rapidshare.com/files/2137542509/colilo-0.3.3-fsl.tar.gz]&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2, [ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06-rc2.tar.bz2]) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
Latest kernel officially supported by Freescale is 2.6.25 can be found in BSP package [https://www.freescale.com/webapp/Download?colCode=CWF-MCF547X-548X-2-6-KL&amp;amp;nodeId=015210033202A9&amp;amp;appType=license&amp;amp;location=overview&amp;amp;Parent_nodeId=11490914845966901902A9&amp;amp;Parent_pageType=overview]. A repository of 2.6.31 kernel by Freescale (with support only for Serial and FEC is here [https://dev.openwrt.org/browser/trunk/target/linux/coldfire]. Locally developped port (2.6.37) git repository is here [http://rtime.felk.cvut.cz/gitweb/mcf548x/linux.git], this port is still in development.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3960</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3960"/>
		<updated>2011-06-28T20:29:50Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Bootloaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== GCC ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XL Bus arbiter.&lt;br /&gt;
&lt;br /&gt;
Source Code Archive: [https://rapidshare.com/files/2137542509/colilo-0.3.3-fsl.tar.gz]&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2, [ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06-rc2.tar.bz2]) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
Latest kernel officially supported by Freescale is 2.6.25 can be found in BSP package [https://www.freescale.com/webapp/Download?colCode=CWF-MCF547X-548X-2-6-KL&amp;amp;nodeId=015210033202A9&amp;amp;appType=license&amp;amp;location=overview&amp;amp;Parent_nodeId=11490914845966901902A9&amp;amp;Parent_pageType=overview]. A repository of 2.6.31 kernel by Freescale (with support only for Serial and FEC is here [https://dev.openwrt.org/browser/trunk/target/linux/coldfire]. Locally developped port (2.6.37) git repository is here [http://rtime.felk.cvut.cz/gitweb/mcf548x/linux.git], this port is still in development.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3959</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3959"/>
		<updated>2011-06-28T20:27:06Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Coldfire Linux Loader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XL Bus arbiter.&lt;br /&gt;
&lt;br /&gt;
TODO: Add source code archive&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2, [ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06-rc2.tar.bz2]) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
Latest kernel officially supported by Freescale is 2.6.25 can be found in BSP package [https://www.freescale.com/webapp/Download?colCode=CWF-MCF547X-548X-2-6-KL&amp;amp;nodeId=015210033202A9&amp;amp;appType=license&amp;amp;location=overview&amp;amp;Parent_nodeId=11490914845966901902A9&amp;amp;Parent_pageType=overview]. A repository of 2.6.31 kernel by Freescale (with support only for Serial and FEC is here [https://dev.openwrt.org/browser/trunk/target/linux/coldfire]. Locally developped port (2.6.37) git repository is here [http://rtime.felk.cvut.cz/gitweb/mcf548x/linux.git], this port is still in development.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3957</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3957"/>
		<updated>2011-06-15T13:41:55Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XLB arbiter.&lt;br /&gt;
&lt;br /&gt;
TODO: Add source code archive&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2, [ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06-rc2.tar.bz2]) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
Latest kernel officially supported by Freescale is 2.6.25 can be found in BSP package [https://www.freescale.com/webapp/Download?colCode=CWF-MCF547X-548X-2-6-KL&amp;amp;nodeId=015210033202A9&amp;amp;appType=license&amp;amp;location=overview&amp;amp;Parent_nodeId=11490914845966901902A9&amp;amp;Parent_pageType=overview]. A repository of 2.6.31 kernel by Freescale (with support only for Serial and FEC is here [https://dev.openwrt.org/browser/trunk/target/linux/coldfire]. Locally developped port (2.6.37) git repository is here [http://rtime.felk.cvut.cz/gitweb/mcf548x/linux.git], this port is still in development.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3956</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3956"/>
		<updated>2011-06-15T13:35:38Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Coldfire Linux Loader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XLB arbiter.&lt;br /&gt;
&lt;br /&gt;
TODO: Add source code archive&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2, [ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06-rc2.tar.bz2]) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3955</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3955"/>
		<updated>2011-06-15T13:35:30Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Coldfire Linux Loader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
==== Coldfire Linux Loader ====&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XLB arbiter.&lt;br /&gt;
&lt;br /&gt;
TODO: Add source code archive&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2, [ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06-rc2.tar.bz2]) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3954</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3954"/>
		<updated>2011-06-15T13:35:18Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Bootloaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XLB arbiter.&lt;br /&gt;
&lt;br /&gt;
TODO: Add source code archive&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2, [ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06-rc2.tar.bz2]) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3953</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3953"/>
		<updated>2011-06-15T13:34:26Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* U-Boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XLB arbiter.&lt;br /&gt;
&lt;br /&gt;
TODO: Add source code archive&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2, [ftp://ftp.denx.de/pub/u-boot/u-boot-2011.06-rc2.tar.bz2]) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3952</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3952"/>
		<updated>2011-06-15T13:32:41Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Coldfire Linux Loader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
Coldfire Linux loader in version 0.3.3 supports MCF548x (bootable from SRAM with dBUG; or from Flash). Note that CoLiLo has set harcoded only 9600 baudrate for serial line (edit board.c file to change). In case for MCF5484LITE it also has to be updated with Flash Adress. CoLiLo does not initialize XLB arbiter.&lt;br /&gt;
&lt;br /&gt;
TODO: Add source code archive&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3951</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3951"/>
		<updated>2011-06-15T13:24:59Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Bootloaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== Coldfire Linux Loader ===&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3950</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3950"/>
		<updated>2011-06-15T13:24:37Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* U-Boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
=== U-Boot ===&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3949</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3949"/>
		<updated>2011-06-15T13:24:31Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: /* Bootloaders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bootloaders ==&lt;br /&gt;
&lt;br /&gt;
== U-Boot ==&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3948</id>
		<title>ColdFire MCF548x</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=ColdFire_MCF548x&amp;diff=3948"/>
		<updated>2011-06-15T13:24:18Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Bootloaders ===&lt;br /&gt;
&lt;br /&gt;
== U-Boot ==&lt;br /&gt;
&lt;br /&gt;
Current version of U-Boot (u-boot-2011.06-rc2) requires small compilation fixes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/Makefile	2011-06-03 18:31:05.849143300 +0200&lt;br /&gt;
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk&lt;br /&gt;
 &lt;br /&gt;
 # CFLAGS += -DET_DEBUG&lt;br /&gt;
 &lt;br /&gt;
-LIB	= lib$(CPU).o&lt;br /&gt;
+LIB	= $(obj)lib$(CPU).o&lt;br /&gt;
 &lt;br /&gt;
 START	=&lt;br /&gt;
 COBJS	= cpu.o speed.o cpu_init.o pci.o interrupts.o slicetimer.o&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/u-boot.lds	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/u-boot.lds	2011-06-03 18:28:15.013291752 +0200&lt;br /&gt;
@@ -56,9 +56,9 @@ SECTIONS&lt;br /&gt;
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/&lt;br /&gt;
 &lt;br /&gt;
     arch/m68k/cpu/mcf547x_8x/start.o		(.text)&lt;br /&gt;
-    arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
+    /*arch/m68k/lib/traps.o		(.text)&lt;br /&gt;
     arch/m68k/lib/interrupts.o	(.text)&lt;br /&gt;
-    common/dlmalloc.o		(.text)&lt;br /&gt;
+    common/dlmalloc.o		(.text)*/&lt;br /&gt;
 &lt;br /&gt;
     . = DEFINED(env_offset) ? env_offset : .;&lt;br /&gt;
     common/env_embedded.o	(.text)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch will allow booting U-Boot from SRAM. This allows keeping original dBUG bootloader on the board and send U-Boot via ethernet and then boot it from SRAM. It requires MBAR on 0x01000000 and SDRAM base on 0x00000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S&lt;br /&gt;
--- u-boot-2011.06-rc2/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/arch/m68k/cpu/mcf547x_8x/start.S	2011-06-05 18:24:40.791112512 +0200&lt;br /&gt;
@@ -130,7 +130,7 @@ _start:&lt;br /&gt;
 	move.w #0x2700,%sr		/* Mask off Interrupt */&lt;br /&gt;
 &lt;br /&gt;
 	/* Set vector base register at the beginning of the Flash */&lt;br /&gt;
-	move.l	#CONFIG_SYS_FLASH_BASE, %d0&lt;br /&gt;
+	move.l	#CONFIG_SYS_TEXT_BASE, %d0&lt;br /&gt;
 	movec	%d0, %VBR&lt;br /&gt;
 &lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0&lt;br /&gt;
@@ -139,8 +139,11 @@ _start:&lt;br /&gt;
 	move.l	#(CONFIG_SYS_INIT_RAM1_ADDR + CONFIG_SYS_INIT_RAM1_CTRL), %d0&lt;br /&gt;
 	movec	%d0, %RAMBAR1&lt;br /&gt;
 &lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* Don&#039;t do this if we are running from SRAM */&lt;br /&gt;
 	move.l	#CONFIG_SYS_MBAR, %d0		/* set MBAR address */&lt;br /&gt;
 	move.c	%d0, %MBAR&lt;br /&gt;
+#endif&lt;br /&gt;
 &lt;br /&gt;
 	/* invalidate and disable cache */&lt;br /&gt;
 	move.l	#0x01040100, %d0	/* Invalidate cache cmd */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/config.mk	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/config.mk	2011-06-05 18:05:07.807347260 +0200&lt;br /&gt;
@@ -22,4 +22,8 @@&lt;br /&gt;
 # MA 02111-1307 USA&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
-CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+ifdef SRAM_BOOT&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0x01000000&lt;br /&gt;
+else&lt;br /&gt;
+	CONFIG_SYS_TEXT_BASE = 0xFF800000&lt;br /&gt;
+endif&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c&lt;br /&gt;
--- u-boot-2011.06-rc2/board/freescale/m548xevb/m548xevb.c	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/board/freescale/m548xevb/m548xevb.c	2011-06-15 14:45:58.556427667 +0200&lt;br /&gt;
@@ -68,13 +70,18 @@ phys_size_t initdram(int board_type)&lt;br /&gt;
 	sdram-&amp;gt;cfg1 = CONFIG_SYS_SDRAM_CFG1;&lt;br /&gt;
 	sdram-&amp;gt;cfg2 = CONFIG_SYS_SDRAM_CFG2;&lt;br /&gt;
 &lt;br /&gt;
+#ifdef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+	/* This is already done; and MODE_EN in ctrl will be disabled. */&lt;br /&gt;
+	return dramsize;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
 	sdram-&amp;gt;ctrl = CONFIG_SYS_SDRAM_CTRL | 2;&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue LEMR */&lt;br /&gt;
 	sdram-&amp;gt;mode = CONFIG_SYS_SDRAM_EMOD;&lt;br /&gt;
 	sdram-&amp;gt;mode = (CONFIG_SYS_SDRAM_MODE | 0x04000000);&lt;br /&gt;
&lt;br /&gt;
 	udelay(500);&lt;br /&gt;
 &lt;br /&gt;
 	/* Issue PALL */&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5475EVB.h u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5475EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5475EVB.h	2011-06-05 18:21:21.431681338 +0200&lt;br /&gt;
@@ -239,7 +239,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/include/configs/M5485EVB.h u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h&lt;br /&gt;
--- u-boot-2011.06-rc2/include/configs/M5485EVB.h	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/include/configs/M5485EVB.h	2011-06-15 14:29:14.422206634 +0200&lt;br /&gt;
@@ -181,8 +181,13 @@&lt;br /&gt;
 #define CONFIG_SYS_CLK			CONFIG_SYS_BUSCLK&lt;br /&gt;
 #define CONFIG_SYS_CPU_CLK		CONFIG_SYS_CLK * 2&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MBAR		0xF0000000&lt;br /&gt;
-#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000)&lt;br /&gt;
+#ifndef CONFIG_SYS_SRAM_BOOT&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0xF0000000 /* And we use that value because of? */&lt;br /&gt;
+#else&lt;br /&gt;
+#define CONFIG_SYS_MBAR		0x10000000&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
+#define CONFIG_SYS_INTSRAM		(CONFIG_SYS_MBAR + 0x10000) /* ??? */&lt;br /&gt;
 #define CONFIG_SYS_INTSRAMSZ		0x8000&lt;br /&gt;
 &lt;br /&gt;
 /*#define CONFIG_SYS_LATCH_ADDR		(CONFIG_SYS_CS1_BASE + 0x80000)*/&lt;br /&gt;
@@ -225,7 +230,7 @@&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE + 0x400&lt;br /&gt;
 #define CONFIG_SYS_MEMTEST_END		((CONFIG_SYS_SDRAM_SIZE - 3) &amp;lt;&amp;lt; 20)&lt;br /&gt;
 &lt;br /&gt;
-#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)&lt;br /&gt;
+#define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_TEXT_BASE + 0x400)&lt;br /&gt;
 #define CONFIG_SYS_MONITOR_LEN		(256 &amp;lt;&amp;lt; 10)	/* Reserve 256 kB for Monitor */&lt;br /&gt;
 &lt;br /&gt;
 #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024&lt;br /&gt;
diff -rupN u-boot-2011.06-rc2/Makefile u-boot-2011.06-rc2-mod/Makefile&lt;br /&gt;
--- u-boot-2011.06-rc2/Makefile	2011-06-02 23:19:27.000000000 +0200&lt;br /&gt;
+++ u-boot-2011.06-rc2-mod/Makefile	2011-06-15 11:54:54.643463575 +0200&lt;br /&gt;
@@ -758,6 +758,45 @@ M5485HFE_config :	unconfig&lt;br /&gt;
 	fi&lt;br /&gt;
 	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
 &lt;br /&gt;
+M5485AFE_SRAM_config \&lt;br /&gt;
+M5485BFE_SRAM_config \&lt;br /&gt;
+M5485CFE_SRAM_config \&lt;br /&gt;
+M5485DFE_SRAM_config \&lt;br /&gt;
+M5485EFE_SRAM_config \&lt;br /&gt;
+M5485FFE_SRAM_config \&lt;br /&gt;
+M5485GFE_SRAM_config \&lt;br /&gt;
+M5485HFE_SRAM_config :	unconfig&lt;br /&gt;
+	@case &amp;quot;$@&amp;quot; in \&lt;br /&gt;
+	M5485AFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485BFE_SRAM_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485CFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485DFE_SRAM_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485EFE_SRAM_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485FFE_SRAM_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \&lt;br /&gt;
+	M5485GFE_SRAM_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	M5485HFE_SRAM_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \&lt;br /&gt;
+	esac; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BUSCLK	100000000&amp;quot; &amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_BOOTSZ	$${BOOT}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_DRAMSZ	$${RAM}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	echo &amp;quot;#define CONFIG_SYS_SRAM_BOOT&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	if [ &amp;quot;$${RAM1}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_DRAMSZ1	$${RAM1}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${CODE}&amp;quot; != &amp;quot;0&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_NOR1SZ	$${CODE}&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${VID}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_VIDEO&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi; \&lt;br /&gt;
+	if [ &amp;quot;$${USB}&amp;quot; == &amp;quot;1&amp;quot; ] ; then \&lt;br /&gt;
+		echo &amp;quot;#define CONFIG_SYS_USBCTRL&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.h ; \&lt;br /&gt;
+	fi&lt;br /&gt;
+	&lt;br /&gt;
+	@$(MKCONFIG) -n $@ -a M5485EVB m68k mcf547x_8x m548xevb freescale&lt;br /&gt;
+	#add the ram switch to config.mk&lt;br /&gt;
+	echo &amp;quot;SRAM_BOOT = 1&amp;quot; &amp;gt;&amp;gt; $(obj)include/config.mk&lt;br /&gt;
+&lt;br /&gt;
 #========================================================================&lt;br /&gt;
 # ARM&lt;br /&gt;
 #========================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
	<entry>
		<id>https://rtime.felk.cvut.cz/hw/index.php?title=File:U-boot_coldfire_compilation_error.txt&amp;diff=3947</id>
		<title>File:U-boot coldfire compilation error.txt</title>
		<link rel="alternate" type="text/html" href="https://rtime.felk.cvut.cz/hw/index.php?title=File:U-boot_coldfire_compilation_error.txt&amp;diff=3947"/>
		<updated>2011-06-15T13:05:22Z</updated>

		<summary type="html">&lt;p&gt;Meloumar: Fixes compilation error for u-boot for Coldfire.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fixes compilation error for u-boot for Coldfire.&lt;/div&gt;</summary>
		<author><name>Meloumar</name></author>
	</entry>
</feed>