Testing as follows:
- Load the BCT file ( which contains the SDRAM parameters ) to IRAM
- Then BootROM will configure the SDRAM timing parameters
- Then Load the U-Boot bin into SDRAM and get the output from u-boot
- This is to validate the DDR3L timing parameters.
Tried the below cmd:
sudo ./nvflash --bct bct_read --setbct --configfile …/bootloader/ardbeg/cfg/gnu_linux_fastboot_emmc_full.cfg --bl fastboot.bin --go
This cmd is working fine, the output is in target side:
[0000.000] [TegraBoot] (version UNDEF_BUILD)
[0000.004] Reset reason: power on reset
[0000.008] Processing in recovery mode
[0000.011] Established communication link with host
[0001.089] Downloaded bct successfully
[0001.115] No Battery Present
[0001.119] Sdram initialization is successful
[0001.200] Downloaded bootloader successfully
[0001.204] CPU-bootloader entry address: 0x83d88000
[0001.209] BoardId: 375
[0001.211] Vpr Carveout Base=0x0f4600000 Size=0x00ba00000
[0001.216] Tsec Carveout Base=0x0f2600000 Size=0x002000000
[0001.221] Lp0 Carveout Base=0x0f25ff000 Size=0x000001000
[0001.226] Xusb Carveout Base=0x0f2300000 Size=0x000200000
[0001.231] Platform-DebugCarveout: 0
[0001.258] CPU power rail is up
[0001.261] Performing RAM repair
[0001.264] CPU clock init successful
[0001.267] Starting CPU & Halting co-processor
NVRM Initialized shmoo database
NVRM CLOCKS: PLLX0: 696000 Khz
NVRM CLOCKS: PLLM0: 924000 Khz
NVRM CLOCKS: PLLC0: 0 Khz
NVRM CLOCKS: PLLP0: 408000 Khz
NVRM CLOCKS: PLLA0: 11289 Khz
NVRM CLOCKS: CPU: 696000 Khz
NVRM CLOCKS: AVP: 48000 Khz
NVRM CLOCKS: System Bus: 48000 Khz
NVRM CLOCKS: Memory Controller: 924000
NVRM CLOCKS: External Memory Controller: 924000
EEPROM instance-5: No slave at this instance.
EEPROM instance-0: No slave at this instance.
EEPROM instance-0: Querying board info from BCT.
EEPROM instance-0: No board info available for this instance in BCT.
EEPROM instance-1: No slave at this instance.
EEPROM instance-1: Querying board info from BCT.
EEPROM instance-1: Board info present in BCT is invalid.
EEPROM instance-2: No slave at this instance.
EEPROM instance-2: Querying board info from BCT.
EEPROM instance-2: No board info available for this instance in BCT.
EEPROM instance-3: No slave at this instance.
EEPROM instance-3: Querying board info from BCT.
EEPROM instance-3: No board info available for this instance in BCT.
EEPROM instance-4: No slave at this instance.
EEPROM instance-4: Querying board info from BCT.
EEPROM instance-4: Board info present in BCT is invalid.
EEPROM instance-5: No slave at this instance.
EEPROM instance-5: Querying board info from BCT.
EEPROM instance-5: Board info present in BCT is invalid.
EEPROM instance-6: BoardInfo: 0x0001:0x0007:0375:0000:03:E:00:0xff:0xff:0xff:0xff:0xff:0xff
EEPROM instance-7: No slave at this instance.
EEPROM instance-7: Querying board info from BCT.
EEPROM instance-7: No board info available for this instance in BCT.
Final BoardID: proc: 375 and pmu 375
ADJUSTED CLOCKS:
MC clock is set to 924000 KHz
EMC clock is set to 924000 KHz (DDR clock is at 924000 KHz)
PLLX0 clock is set to 696000 KHz
PLLC0 clock is set to 0 KHz
CPU clock is set to 696000 KHz
System and AVP clock is set to 48000 KHz
GraphicsHost clock is set to 163200 KHz
MSENC clock is set to 92400 KHz
Vde clock is set to 204000 KHz
Bootloader-Cpu Init at (time stamp): 135851883 us
Pinmux changes applied in kernel way
[bootloader] (version UNDEF_BUILD)
Platform Pre Boot configuration…
NvDdkUsbhBlockDevInit…
Initializing Display
The proc BoardInfo: 0x0177:0x0000:0x03:0x45:0x00
The proc BoardInfo: 0x0177:0x0000:0x03:0x45:0x00
This Pmu Module is not present.
The best display mode is 2560x1600/60Hz, pclk: 268627Khz
DSI PAD calibration done
DSI PAD calibration done
DSI PAD calibration done
DSI PAD calibration done
Entering NvFlash recovery mode / Nv3p Server
Nv3pServer Version 4.13.0000
Host side output:
sudo ./nvflash --bct bct_read1 --setbct --configfile …/bootloader/ardbeg/cfg/gnu_linux_fastboot_emmc_full.cfg --bl fastboot.bin --go
[sudo] password for balaji1:
Nvflash 4.13.0000 started
BR_CID: 0x34001001740de1032400000009008540
rcm version 0X400001
Skipping BoardID read at miniloader level
System Information:
chip name: unknown
chip id: 0x40 major: 1 minor: 1
chip sku: 0x0
chip uid: 0x00000001740de1032400000009008540
macrovision: disabled
hdcp: disabled
jtag: disabled
sbk burned: false
board id: 0
warranty fuse: 0
dk burned: false
boot device: emmc
operating mode: 3
device config strap: 0
device config fuse: 0
sdram config strap: 0
RCM communication completed
BCT sent successfully
downloading bootloader – load address: 0x83d88000 entry point: 0x83d88000
sending file: fastboot.bin
- 594363/594363 bytes sent
fastboot.bin sent successfully
waiting for bootloader to initialize
bootloader downloaded successfully
Time taken for flashing 3 Secs
The doubt is: Why this --setbct cmd requires --configfile option. In above cmd,
if --configfile is not there, then got the error as:
sudo ./nvflash --bct bct_read1 --setbct --bl fastboot.bin --go
Nvflash 4.13.0000 started
BR_CID: 0x34001001740de1032400000009008540
rcm version 0X400001
Skipping BoardID read at miniloader level
System Information:
chip name: unknown
chip id: 0x40 major: 1 minor: 1
chip sku: 0x0
chip uid: 0x00000001740de1032400000009008540
macrovision: disabled
hdcp: disabled
jtag: disabled
sbk burned: false
board id: 0
warranty fuse: 0
dk burned: false
boot device: emmc
operating mode: 3
device config strap: 0
device config fuse: 0
sdram config strap: 0
RCM communication completed
–configfile needed for --setbct
failed executing command 4 NvError 0x4
setbct failed NvError 0x0
command failure/warning: bootloader download failed
In custom board bring up time, we may not give this config file. Please help.