<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Flashing_Uboot_to_MMC</id>
	<title>Flashing Uboot to MMC - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Flashing_Uboot_to_MMC"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Flashing_Uboot_to_MMC&amp;action=history"/>
	<updated>2026-04-04T10:47:27Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=Flashing_Uboot_to_MMC&amp;diff=213&amp;oldid=prev</id>
		<title>Unknown user в 08:15, 15 октября 2014</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Flashing_Uboot_to_MMC&amp;diff=213&amp;oldid=prev"/>
		<updated>2014-10-15T08:15:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Exact process of flashing Uboot to MMC.=&lt;br /&gt;
&lt;br /&gt;
* For now flashed uboot wont start&lt;br /&gt;
** Uboot start when flashed from running system&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
* Nvflash [http://stuw.narod.ru/ac100/nvflash-12alpha.zip nvflash-12alpha.zip]&lt;br /&gt;
* Tegrarcm https://github.com/NVIDIA/tegrarcm&lt;br /&gt;
** https://github.com/NVIDIA/tegrarcm.git&lt;br /&gt;
* bct_dump and cbootimage https://github.com/NVIDIA/cbootimage&lt;br /&gt;
** https://github.com/NVIDIA/cbootimage.git&lt;br /&gt;
* Working Uboot binary [http://ac100.wikispaces.com/file/view/uboot-w-kbd.bin/422994764/uboot-w-kbd.bin uboot-w-kbd.bin]&lt;br /&gt;
** rename to u-boot.bin&lt;br /&gt;
&lt;br /&gt;
==BCT Creation process==&lt;br /&gt;
&lt;br /&gt;
Your currect BCT can be extracted with tegrarcm or nvflash.&lt;br /&gt;
&lt;br /&gt;
=== Extract bct and bootloader (tegrarcm) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tegrarcm readbct --bct=ac100.bct&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Extract 0 to 1536 sectors of your mmc (nvflash) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nvflash --bl fastboot.bin --rawdeviceread 0 1536 ac100-part-2.img --go&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Extract 4080 bytes of that image which contain bct and bootloader (nvflash) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=ac100-part-2.img of=ac100.bct bs=4080 count=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Decode bct with bct_dump ===&lt;br /&gt;
* Optional step only to check that bct correct, fresh cbootimage dont need decoded bct to create new&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bct_dump ac100.bct &amp;gt; ac100.bct.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** My decoded bct (ac100-116 32gb,bt,3g)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Version       = 0x00020001;&lt;br /&gt;
BlockSize     = 0x00004000;&lt;br /&gt;
PageSize      = 0x00000200;&lt;br /&gt;
PartitionSize = 0x01000000;&lt;br /&gt;
OdmData       = 0x800c0075;&lt;br /&gt;
&lt;br /&gt;
# Bootloader used       = 0;&lt;br /&gt;
# Bootloaders max       = 4;&lt;br /&gt;
# BCT size              = 4080;&lt;br /&gt;
# Hash size             = 16;&lt;br /&gt;
# Crypto offset         = 16;&lt;br /&gt;
# Crypto length         = 4064;&lt;br /&gt;
# Max BCT search blocks = 64;&lt;br /&gt;
&lt;br /&gt;
DevType[0] = NvBootDevType_Sdmmc;&lt;br /&gt;
DeviceParam[0].SdmmcParams.ClockDivider           = 0x0000000c;&lt;br /&gt;
DeviceParam[0].SdmmcParams.DataWidth              = NvBootSdmmcDataWidth_8Bit;&lt;br /&gt;
DeviceParam[0].SdmmcParams.MaxPowerClassSupported = 0x00000000;&lt;br /&gt;
&lt;br /&gt;
DevType[1] = NvBootDevType_Sdmmc;&lt;br /&gt;
DeviceParam[1].SdmmcParams.ClockDivider           = 0x0000000c;&lt;br /&gt;
DeviceParam[1].SdmmcParams.DataWidth              = NvBootSdmmcDataWidth_8Bit;&lt;br /&gt;
DeviceParam[1].SdmmcParams.MaxPowerClassSupported = 0x00000000;&lt;br /&gt;
&lt;br /&gt;
DevType[2] = NvBootDevType_Sdmmc;&lt;br /&gt;
DeviceParam[2].SdmmcParams.ClockDivider           = 0x0000000c;&lt;br /&gt;
DeviceParam[2].SdmmcParams.DataWidth              = NvBootSdmmcDataWidth_8Bit;&lt;br /&gt;
DeviceParam[2].SdmmcParams.MaxPowerClassSupported = 0x00000000;&lt;br /&gt;
&lt;br /&gt;
DevType[3] = NvBootDevType_Sdmmc;&lt;br /&gt;
DeviceParam[3].SdmmcParams.ClockDivider           = 0x0000000c;&lt;br /&gt;
DeviceParam[3].SdmmcParams.DataWidth              = NvBootSdmmcDataWidth_8Bit;&lt;br /&gt;
DeviceParam[3].SdmmcParams.MaxPowerClassSupported = 0x00000000;&lt;br /&gt;
&lt;br /&gt;
SDRAM[0].MemoryType                 = NvBootMemoryType_Ddr2;&lt;br /&gt;
SDRAM[0].PllMChargePumpSetupControl = 0x00000008;&lt;br /&gt;
SDRAM[0].PllMLoopFilterSetupControl = 0x00000000;&lt;br /&gt;
SDRAM[0].PllMInputDivider           = 0x0000000c;&lt;br /&gt;
SDRAM[0].PllMFeedbackDivider        = 0x0000029a;&lt;br /&gt;
SDRAM[0].PllMPostDivider            = 0x00000000;&lt;br /&gt;
SDRAM[0].PllMStableTime             = 0x0000012c;&lt;br /&gt;
SDRAM[0].EmcClockDivider            = 0x00000001;&lt;br /&gt;
SDRAM[0].EmcAutoCalInterval         = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcAutoCalConfig           = 0xe0a61111;&lt;br /&gt;
SDRAM[0].EmcAutoCalWait             = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcPinProgramWait          = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcRc                      = 0x00000014;&lt;br /&gt;
SDRAM[0].EmcRfc                     = 0x0000002b;&lt;br /&gt;
SDRAM[0].EmcRas                     = 0x0000000f;&lt;br /&gt;
SDRAM[0].EmcRp                      = 0x00000005;&lt;br /&gt;
SDRAM[0].EmcR2w                     = 0x00000004;&lt;br /&gt;
SDRAM[0].EmcW2r                     = 0x00000005;&lt;br /&gt;
SDRAM[0].EmcR2p                     = 0x00000003;&lt;br /&gt;
SDRAM[0].EmcW2p                     = 0x0000000c;&lt;br /&gt;
SDRAM[0].EmcRrd                     = 0x00000003;&lt;br /&gt;
SDRAM[0].EmcRdRcd                   = 0x00000005;&lt;br /&gt;
SDRAM[0].EmcWrRcd                   = 0x00000005;&lt;br /&gt;
SDRAM[0].EmcRext                    = 0x00000001;&lt;br /&gt;
SDRAM[0].EmcWdv                     = 0x00000004;&lt;br /&gt;
SDRAM[0].EmcQUseExtra               = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcQUse                    = 0x00000005;&lt;br /&gt;
SDRAM[0].EmcQRst                    = 0x00000004;&lt;br /&gt;
SDRAM[0].EmcQSafe                   = 0x00000009;&lt;br /&gt;
SDRAM[0].EmcRdv                     = 0x0000000d;&lt;br /&gt;
SDRAM[0].EmcRefresh                 = 0x000009ff;&lt;br /&gt;
SDRAM[0].EmcBurstRefreshNum         = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcPdEx2Wr                 = 0x00000003;&lt;br /&gt;
SDRAM[0].EmcPdEx2Rd                 = 0x00000003;&lt;br /&gt;
SDRAM[0].EmcPChg2Pden               = 0x00000005;&lt;br /&gt;
SDRAM[0].EmcAct2Pden                = 0x00000005;&lt;br /&gt;
SDRAM[0].EmcAr2Pden                 = 0x00000001;&lt;br /&gt;
SDRAM[0].EmcRw2Pden                 = 0x0000000f;&lt;br /&gt;
SDRAM[0].EmcTxsr                    = 0x000000c8;&lt;br /&gt;
SDRAM[0].EmcTcke                    = 0x00000003;&lt;br /&gt;
SDRAM[0].EmcTfaw                    = 0x0000000c;&lt;br /&gt;
SDRAM[0].EmcTrpab                   = 0x00000006;&lt;br /&gt;
SDRAM[0].EmcTClkStable              = 0x00000008;&lt;br /&gt;
SDRAM[0].EmcTClkStop                = 0x00000002;&lt;br /&gt;
SDRAM[0].EmcTRefBw                  = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcFbioCfg1                = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcFbioDqsibDlyMsb         = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcFbioDqsibDly            = 0x34343434;&lt;br /&gt;
SDRAM[0].EmcFbioQuseDlyMsb          = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcFbioQuseDly             = 0x6c6c6c6c;&lt;br /&gt;
SDRAM[0].EmcFbioCfg5                = 0x00000083;&lt;br /&gt;
SDRAM[0].EmcFbioCfg6                = 0x00000002;&lt;br /&gt;
SDRAM[0].EmcFbioSpare               = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrsResetDllWait         = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrsResetDll             = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrsDdr2DllReset         = 0x00000100;&lt;br /&gt;
SDRAM[0].EmcMrs                     = 0x00000a6a;&lt;br /&gt;
SDRAM[0].EmcEmrsEmr2                = 0x00200000;&lt;br /&gt;
SDRAM[0].EmcEmrsEmr3                = 0x00300000;&lt;br /&gt;
SDRAM[0].EmcEmrsDdr2DllEnable       = 0x00100000;&lt;br /&gt;
SDRAM[0].EmcEmrsDdr2OcdCalib        = 0x00100382;&lt;br /&gt;
SDRAM[0].EmcEmrs                    = 0x00100002;&lt;br /&gt;
SDRAM[0].EmcMrw1                    = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrw2                    = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrw3                    = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrwResetCommand         = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrwResetNInitWait       = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcAdrCfg1                 = 0x00070303;&lt;br /&gt;
SDRAM[0].EmcAdrCfg                  = 0x00070303;&lt;br /&gt;
SDRAM[0].McEmemCfg                  = 0x00080000;&lt;br /&gt;
SDRAM[0].McLowLatencyConfig         = 0x80000003;&lt;br /&gt;
SDRAM[0].EmcCfg2                    = 0x00000405;&lt;br /&gt;
SDRAM[0].EmcCfgDigDll               = 0x00000016;&lt;br /&gt;
SDRAM[0].EmcCfgClktrim0             = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcCfgClktrim1             = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcCfgClktrim2             = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcCfg                     = 0x0001ff00;&lt;br /&gt;
SDRAM[0].EmcDbg                     = 0x01000000;&lt;br /&gt;
SDRAM[0].AhbArbitrationXbarCtrl     = 0x00010000;&lt;br /&gt;
SDRAM[0].EmcDllXformDqs             = 0x00000010;&lt;br /&gt;
SDRAM[0].EmcDllXformQUse            = 0x00000008;&lt;br /&gt;
SDRAM[0].WarmBootWait               = 0x00000002;&lt;br /&gt;
SDRAM[0].EmcCttTermCtrl             = 0x00000802;&lt;br /&gt;
SDRAM[0].EmcOdtWrite                = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcOdtRead                 = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcZcalRefCnt              = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcZcalWaitCnt             = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcZcalMrwCmd              = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrwZqInitDev0           = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrwZqInitDev1           = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcMrwZqInitWait           = 0x00000000;&lt;br /&gt;
SDRAM[0].EmcDdr2Wait                = 0x00000002;&lt;br /&gt;
SDRAM[0].PmcDdrPwr                  = 0x00000001;&lt;br /&gt;
SDRAM[0].ApbMiscGpXm2CfgAPadCtrl    = 0x77ffc000;&lt;br /&gt;
SDRAM[0].ApbMiscGpXm2CfgCPadCtrl2   = 0x08080079;&lt;br /&gt;
SDRAM[0].ApbMiscGpXm2CfgCPadCtrl    = 0x77fffff0;&lt;br /&gt;
SDRAM[0].ApbMiscGpXm2CfgDPadCtrl2   = 0x44440009;&lt;br /&gt;
SDRAM[0].ApbMiscGpXm2CfgDPadCtrl    = 0x77fffff0;&lt;br /&gt;
SDRAM[0].ApbMiscGpXm2ClkCfgPadCtrl  = 0x77ffc000;&lt;br /&gt;
SDRAM[0].ApbMiscGpXm2CompPadCtrl    = 0x01f1f008;&lt;br /&gt;
SDRAM[0].ApbMiscGpXm2VttGenPadCtrl  = 0x07076600;&lt;br /&gt;
&lt;br /&gt;
SDRAM[1].MemoryType                 = NvBootMemoryType_Ddr2;&lt;br /&gt;
SDRAM[1].PllMChargePumpSetupControl = 0x00000008;&lt;br /&gt;
SDRAM[1].PllMLoopFilterSetupControl = 0x00000000;&lt;br /&gt;
SDRAM[1].PllMInputDivider           = 0x0000000c;&lt;br /&gt;
SDRAM[1].PllMFeedbackDivider        = 0x0000029a;&lt;br /&gt;
SDRAM[1].PllMPostDivider            = 0x00000000;&lt;br /&gt;
SDRAM[1].PllMStableTime             = 0x0000012c;&lt;br /&gt;
SDRAM[1].EmcClockDivider            = 0x00000001;&lt;br /&gt;
SDRAM[1].EmcAutoCalInterval         = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcAutoCalConfig           = 0xe0a61111;&lt;br /&gt;
SDRAM[1].EmcAutoCalWait             = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcPinProgramWait          = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcRc                      = 0x00000014;&lt;br /&gt;
SDRAM[1].EmcRfc                     = 0x0000002b;&lt;br /&gt;
SDRAM[1].EmcRas                     = 0x0000000f;&lt;br /&gt;
SDRAM[1].EmcRp                      = 0x00000005;&lt;br /&gt;
SDRAM[1].EmcR2w                     = 0x00000004;&lt;br /&gt;
SDRAM[1].EmcW2r                     = 0x00000005;&lt;br /&gt;
SDRAM[1].EmcR2p                     = 0x00000003;&lt;br /&gt;
SDRAM[1].EmcW2p                     = 0x0000000c;&lt;br /&gt;
SDRAM[1].EmcRrd                     = 0x00000003;&lt;br /&gt;
SDRAM[1].EmcRdRcd                   = 0x00000005;&lt;br /&gt;
SDRAM[1].EmcWrRcd                   = 0x00000005;&lt;br /&gt;
SDRAM[1].EmcRext                    = 0x00000001;&lt;br /&gt;
SDRAM[1].EmcWdv                     = 0x00000004;&lt;br /&gt;
SDRAM[1].EmcQUseExtra               = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcQUse                    = 0x00000005;&lt;br /&gt;
SDRAM[1].EmcQRst                    = 0x00000004;&lt;br /&gt;
SDRAM[1].EmcQSafe                   = 0x00000009;&lt;br /&gt;
SDRAM[1].EmcRdv                     = 0x0000000d;&lt;br /&gt;
SDRAM[1].EmcRefresh                 = 0x000009ff;&lt;br /&gt;
SDRAM[1].EmcBurstRefreshNum         = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcPdEx2Wr                 = 0x00000003;&lt;br /&gt;
SDRAM[1].EmcPdEx2Rd                 = 0x00000003;&lt;br /&gt;
SDRAM[1].EmcPChg2Pden               = 0x00000005;&lt;br /&gt;
SDRAM[1].EmcAct2Pden                = 0x00000005;&lt;br /&gt;
SDRAM[1].EmcAr2Pden                 = 0x00000001;&lt;br /&gt;
SDRAM[1].EmcRw2Pden                 = 0x0000000f;&lt;br /&gt;
SDRAM[1].EmcTxsr                    = 0x000000c8;&lt;br /&gt;
SDRAM[1].EmcTcke                    = 0x00000003;&lt;br /&gt;
SDRAM[1].EmcTfaw                    = 0x0000000c;&lt;br /&gt;
SDRAM[1].EmcTrpab                   = 0x00000006;&lt;br /&gt;
SDRAM[1].EmcTClkStable              = 0x00000008;&lt;br /&gt;
SDRAM[1].EmcTClkStop                = 0x00000002;&lt;br /&gt;
SDRAM[1].EmcTRefBw                  = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcFbioCfg1                = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcFbioDqsibDlyMsb         = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcFbioDqsibDly            = 0x34343434;&lt;br /&gt;
SDRAM[1].EmcFbioQuseDlyMsb          = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcFbioQuseDly             = 0x6c6c6c6c;&lt;br /&gt;
SDRAM[1].EmcFbioCfg5                = 0x00000083;&lt;br /&gt;
SDRAM[1].EmcFbioCfg6                = 0x00000002;&lt;br /&gt;
SDRAM[1].EmcFbioSpare               = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrsResetDllWait         = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrsResetDll             = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrsDdr2DllReset         = 0x00000100;&lt;br /&gt;
SDRAM[1].EmcMrs                     = 0x00000a6a;&lt;br /&gt;
SDRAM[1].EmcEmrsEmr2                = 0x00200000;&lt;br /&gt;
SDRAM[1].EmcEmrsEmr3                = 0x00300000;&lt;br /&gt;
SDRAM[1].EmcEmrsDdr2DllEnable       = 0x00100000;&lt;br /&gt;
SDRAM[1].EmcEmrsDdr2OcdCalib        = 0x00100382;&lt;br /&gt;
SDRAM[1].EmcEmrs                    = 0x00100002;&lt;br /&gt;
SDRAM[1].EmcMrw1                    = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrw2                    = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrw3                    = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrwResetCommand         = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrwResetNInitWait       = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcAdrCfg1                 = 0x00070303;&lt;br /&gt;
SDRAM[1].EmcAdrCfg                  = 0x00070303;&lt;br /&gt;
SDRAM[1].McEmemCfg                  = 0x00080000;&lt;br /&gt;
SDRAM[1].McLowLatencyConfig         = 0x80000003;&lt;br /&gt;
SDRAM[1].EmcCfg2                    = 0x00000405;&lt;br /&gt;
SDRAM[1].EmcCfgDigDll               = 0x00000016;&lt;br /&gt;
SDRAM[1].EmcCfgClktrim0             = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcCfgClktrim1             = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcCfgClktrim2             = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcCfg                     = 0x0001ff00;&lt;br /&gt;
SDRAM[1].EmcDbg                     = 0x01000000;&lt;br /&gt;
SDRAM[1].AhbArbitrationXbarCtrl     = 0x00010000;&lt;br /&gt;
SDRAM[1].EmcDllXformDqs             = 0x00000010;&lt;br /&gt;
SDRAM[1].EmcDllXformQUse            = 0x00000008;&lt;br /&gt;
SDRAM[1].WarmBootWait               = 0x00000002;&lt;br /&gt;
SDRAM[1].EmcCttTermCtrl             = 0x00000802;&lt;br /&gt;
SDRAM[1].EmcOdtWrite                = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcOdtRead                 = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcZcalRefCnt              = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcZcalWaitCnt             = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcZcalMrwCmd              = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrwZqInitDev0           = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrwZqInitDev1           = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcMrwZqInitWait           = 0x00000000;&lt;br /&gt;
SDRAM[1].EmcDdr2Wait                = 0x00000002;&lt;br /&gt;
SDRAM[1].PmcDdrPwr                  = 0x00000001;&lt;br /&gt;
SDRAM[1].ApbMiscGpXm2CfgAPadCtrl    = 0x77ffc000;&lt;br /&gt;
SDRAM[1].ApbMiscGpXm2CfgCPadCtrl2   = 0x08080079;&lt;br /&gt;
SDRAM[1].ApbMiscGpXm2CfgCPadCtrl    = 0x77fffff0;&lt;br /&gt;
SDRAM[1].ApbMiscGpXm2CfgDPadCtrl2   = 0x44440009;&lt;br /&gt;
SDRAM[1].ApbMiscGpXm2CfgDPadCtrl    = 0x77fffff0;&lt;br /&gt;
SDRAM[1].ApbMiscGpXm2ClkCfgPadCtrl  = 0x77ffc000;&lt;br /&gt;
SDRAM[1].ApbMiscGpXm2CompPadCtrl    = 0x01f1f008;&lt;br /&gt;
SDRAM[1].ApbMiscGpXm2VttGenPadCtrl  = 0x07076600;&lt;br /&gt;
&lt;br /&gt;
SDRAM[2].MemoryType                 = NvBootMemoryType_Ddr2;&lt;br /&gt;
SDRAM[2].PllMChargePumpSetupControl = 0x00000008;&lt;br /&gt;
SDRAM[2].PllMLoopFilterSetupControl = 0x00000000;&lt;br /&gt;
SDRAM[2].PllMInputDivider           = 0x0000000c;&lt;br /&gt;
SDRAM[2].PllMFeedbackDivider        = 0x0000029a;&lt;br /&gt;
SDRAM[2].PllMPostDivider            = 0x00000000;&lt;br /&gt;
SDRAM[2].PllMStableTime             = 0x0000012c;&lt;br /&gt;
SDRAM[2].EmcClockDivider            = 0x00000001;&lt;br /&gt;
SDRAM[2].EmcAutoCalInterval         = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcAutoCalConfig           = 0xe0a61111;&lt;br /&gt;
SDRAM[2].EmcAutoCalWait             = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcPinProgramWait          = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcRc                      = 0x00000014;&lt;br /&gt;
SDRAM[2].EmcRfc                     = 0x0000002b;&lt;br /&gt;
SDRAM[2].EmcRas                     = 0x0000000f;&lt;br /&gt;
SDRAM[2].EmcRp                      = 0x00000005;&lt;br /&gt;
SDRAM[2].EmcR2w                     = 0x00000004;&lt;br /&gt;
SDRAM[2].EmcW2r                     = 0x00000005;&lt;br /&gt;
SDRAM[2].EmcR2p                     = 0x00000003;&lt;br /&gt;
SDRAM[2].EmcW2p                     = 0x0000000c;&lt;br /&gt;
SDRAM[2].EmcRrd                     = 0x00000003;&lt;br /&gt;
SDRAM[2].EmcRdRcd                   = 0x00000005;&lt;br /&gt;
SDRAM[2].EmcWrRcd                   = 0x00000005;&lt;br /&gt;
SDRAM[2].EmcRext                    = 0x00000001;&lt;br /&gt;
SDRAM[2].EmcWdv                     = 0x00000004;&lt;br /&gt;
SDRAM[2].EmcQUseExtra               = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcQUse                    = 0x00000005;&lt;br /&gt;
SDRAM[2].EmcQRst                    = 0x00000004;&lt;br /&gt;
SDRAM[2].EmcQSafe                   = 0x00000009;&lt;br /&gt;
SDRAM[2].EmcRdv                     = 0x0000000d;&lt;br /&gt;
SDRAM[2].EmcRefresh                 = 0x000009ff;&lt;br /&gt;
SDRAM[2].EmcBurstRefreshNum         = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcPdEx2Wr                 = 0x00000003;&lt;br /&gt;
SDRAM[2].EmcPdEx2Rd                 = 0x00000003;&lt;br /&gt;
SDRAM[2].EmcPChg2Pden               = 0x00000005;&lt;br /&gt;
SDRAM[2].EmcAct2Pden                = 0x00000005;&lt;br /&gt;
SDRAM[2].EmcAr2Pden                 = 0x00000001;&lt;br /&gt;
SDRAM[2].EmcRw2Pden                 = 0x0000000f;&lt;br /&gt;
SDRAM[2].EmcTxsr                    = 0x000000c8;&lt;br /&gt;
SDRAM[2].EmcTcke                    = 0x00000003;&lt;br /&gt;
SDRAM[2].EmcTfaw                    = 0x0000000c;&lt;br /&gt;
SDRAM[2].EmcTrpab                   = 0x00000006;&lt;br /&gt;
SDRAM[2].EmcTClkStable              = 0x00000008;&lt;br /&gt;
SDRAM[2].EmcTClkStop                = 0x00000002;&lt;br /&gt;
SDRAM[2].EmcTRefBw                  = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcFbioCfg1                = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcFbioDqsibDlyMsb         = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcFbioDqsibDly            = 0x34343434;&lt;br /&gt;
SDRAM[2].EmcFbioQuseDlyMsb          = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcFbioQuseDly             = 0x6c6c6c6c;&lt;br /&gt;
SDRAM[2].EmcFbioCfg5                = 0x00000083;&lt;br /&gt;
SDRAM[2].EmcFbioCfg6                = 0x00000002;&lt;br /&gt;
SDRAM[2].EmcFbioSpare               = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrsResetDllWait         = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrsResetDll             = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrsDdr2DllReset         = 0x00000100;&lt;br /&gt;
SDRAM[2].EmcMrs                     = 0x00000a6a;&lt;br /&gt;
SDRAM[2].EmcEmrsEmr2                = 0x00200000;&lt;br /&gt;
SDRAM[2].EmcEmrsEmr3                = 0x00300000;&lt;br /&gt;
SDRAM[2].EmcEmrsDdr2DllEnable       = 0x00100000;&lt;br /&gt;
SDRAM[2].EmcEmrsDdr2OcdCalib        = 0x00100382;&lt;br /&gt;
SDRAM[2].EmcEmrs                    = 0x00100002;&lt;br /&gt;
SDRAM[2].EmcMrw1                    = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrw2                    = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrw3                    = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrwResetCommand         = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrwResetNInitWait       = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcAdrCfg1                 = 0x00070303;&lt;br /&gt;
SDRAM[2].EmcAdrCfg                  = 0x00070303;&lt;br /&gt;
SDRAM[2].McEmemCfg                  = 0x00080000;&lt;br /&gt;
SDRAM[2].McLowLatencyConfig         = 0x80000003;&lt;br /&gt;
SDRAM[2].EmcCfg2                    = 0x00000405;&lt;br /&gt;
SDRAM[2].EmcCfgDigDll               = 0x00000016;&lt;br /&gt;
SDRAM[2].EmcCfgClktrim0             = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcCfgClktrim1             = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcCfgClktrim2             = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcCfg                     = 0x0001ff00;&lt;br /&gt;
SDRAM[2].EmcDbg                     = 0x01000000;&lt;br /&gt;
SDRAM[2].AhbArbitrationXbarCtrl     = 0x00010000;&lt;br /&gt;
SDRAM[2].EmcDllXformDqs             = 0x00000010;&lt;br /&gt;
SDRAM[2].EmcDllXformQUse            = 0x00000008;&lt;br /&gt;
SDRAM[2].WarmBootWait               = 0x00000002;&lt;br /&gt;
SDRAM[2].EmcCttTermCtrl             = 0x00000802;&lt;br /&gt;
SDRAM[2].EmcOdtWrite                = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcOdtRead                 = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcZcalRefCnt              = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcZcalWaitCnt             = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcZcalMrwCmd              = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrwZqInitDev0           = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrwZqInitDev1           = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcMrwZqInitWait           = 0x00000000;&lt;br /&gt;
SDRAM[2].EmcDdr2Wait                = 0x00000002;&lt;br /&gt;
SDRAM[2].PmcDdrPwr                  = 0x00000001;&lt;br /&gt;
SDRAM[2].ApbMiscGpXm2CfgAPadCtrl    = 0x77ffc000;&lt;br /&gt;
SDRAM[2].ApbMiscGpXm2CfgCPadCtrl2   = 0x08080079;&lt;br /&gt;
SDRAM[2].ApbMiscGpXm2CfgCPadCtrl    = 0x77fffff0;&lt;br /&gt;
SDRAM[2].ApbMiscGpXm2CfgDPadCtrl2   = 0x44440009;&lt;br /&gt;
SDRAM[2].ApbMiscGpXm2CfgDPadCtrl    = 0x77fffff0;&lt;br /&gt;
SDRAM[2].ApbMiscGpXm2ClkCfgPadCtrl  = 0x77ffc000;&lt;br /&gt;
SDRAM[2].ApbMiscGpXm2CompPadCtrl    = 0x01f1f008;&lt;br /&gt;
SDRAM[2].ApbMiscGpXm2VttGenPadCtrl  = 0x07076600;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create cbootimage config file === &lt;br /&gt;
&lt;br /&gt;
For example u-boot.cfg, with this content&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Copyright (c) 2012, NVIDIA CORPORATION.  All rights reserved.&lt;br /&gt;
#&lt;br /&gt;
# This software is provided 'as-is', without any express or implied&lt;br /&gt;
# warranty. In no event will the authors be held liable for any damages&lt;br /&gt;
# arising from the use of this software.&lt;br /&gt;
#&lt;br /&gt;
# Permission is granted to anyone to use this software for any purpose,&lt;br /&gt;
# including commercial applications, and to alter it and redistribute it&lt;br /&gt;
# freely, subject to the following restrictions:&lt;br /&gt;
#&lt;br /&gt;
# 1. The origin of this software must not be misrepresented; you must not&lt;br /&gt;
#    claim that you wrote the original software. If you use this software&lt;br /&gt;
#    in a product, an acknowledgment in the product documentation would be&lt;br /&gt;
#    appreciated but is not required.&lt;br /&gt;
# 2. Altered source versions must be plainly marked as such, and must not be&lt;br /&gt;
#    misrepresented as being the original software.&lt;br /&gt;
# 3. This notice may not be removed or altered from any source distribution.&lt;br /&gt;
&lt;br /&gt;
Version       = 0x00020001;&lt;br /&gt;
Bctcopy       = 1;&lt;br /&gt;
Bctfile       = ac100.bct;&lt;br /&gt;
BootLoader    = u-boot.bin,0x00108000,0x00108000,Complete;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compile new combined bct ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cbootimage -d u-boot.cfg ac100.bct.new&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Output&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bct size: 4080&lt;br /&gt;
**update_bl()&lt;br /&gt;
begin_update(): bct data: b=14 p=9&lt;br /&gt;
write_bootloaders()&lt;br /&gt;
  redundancy = 1&lt;br /&gt;
**BL[0]: 131073 0001 0000 313691 0x00108000 0x00108000 k=a8f61eef01b368ee92e932474a0cee1b&lt;br /&gt;
**BL[1]: 0 0000 0000 0000 0x00000000 0x00000000 k=00000000000000000000000000000000&lt;br /&gt;
**BL[2]: 0 0000 0000 0000 0x00000000 0x00000000 k=00000000000000000000000000000000&lt;br /&gt;
**BL[3]: 0 0000 0000 0000 0x00000000 0x00000000 k=00000000000000000000000000000000&lt;br /&gt;
Image file ac100.bct.new has been successfully generated!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Output file&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
330240 Apr 25 13:25 ac100.bct.new&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flash new bct from running system ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 0 &amp;gt; /sys/block/mmcblk0boot0/force_ro&lt;br /&gt;
chmod 666 /dev/block/mmcblk0boot0&lt;br /&gt;
dd if=ac100.bct.new of=/dev/block/mmcblk0boot0&lt;br /&gt;
echo 1 &amp;gt; /sys/block/mmcblk0boot0/force_ro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* mmcblk1boot0 with mainline kernels&lt;br /&gt;
&lt;br /&gt;
Successful dd output must look like this&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
645+0 records in&lt;br /&gt;
645+0 records out&lt;br /&gt;
330240 bytes transferred in 0.230 secs (1435826 bytes/sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>