The issues are for designing own board.

Hi all,

As title, We would like to design our own board and I’m quite a novice with the Jetson TK1, thus, there are issues I want to ask. Any pointers to these issues will be highly appreciated.

  1. Refer to Jetson TK1 hardware design, there are “Board ID Rom” & “Board ID STRAPS”. Is it possible to remove two components ? If yes, do we need to change any source codes to fit hardware modification ?

I find out the document to demonstrate it, but I don’t really understand it.
https://drive.google.com/file/d/0B5SW75OaeiTNVDVKVUFQT0FESUk/view?usp=sharing
Does it mean if I want to remove “Board ID Rom” & “Board ID STRAPS” the BOARID = “…” line should be commented ?

  1. If we generate own board, there is no any source code in it indeed, how do we flash the image to it ? Like general flash process ? Press Recovery button and reset to flash it ? Or is there a special step for that case ?

Thank you so much
Regards

Hi WesleyLIN,

  1. “Board ID Rom” & “Board ID STRAPS” can be removed, there is relevant SW patch for this.

  2. ROM will set and run the download process in recovery mode.

Hi Trumany,

Thanks for your response.

  1. “Board ID Rom” & “Board ID STRAPS” can be removed, there is relevant SW patch for this.
    ===>Could you please tell me where I can download that SW patch, is it in u-boot source code ?

  2. ROM will set and run the download process in recovery mode.
    ===>That means we still use L4T to flash image, right ?

Thanks for your help
Regards

Hi WesleyLIN,

Please find my comments below:

Hi Trumany,

So when we remove EEPROM, we need to un-comment " #BOARDID=“0x177 0x00 0x03”; " this line. Is it correct ?
And is there any software side need to be modified for this hardware changed ?

  1. The another question is that the boot ROM how to know which boot memory device would be used when “Board ID STRAPS” doesn’t exist ? Is it have default value when there is no “Board ID STRAPS” ?

Thanks for your support
Regards

There are separate bootstrap pins for boot source selection, “Board ID” straps have nothing to do with them.

Yes, only need to un-comment #BOARDID=“0x177 0x00 0x03”;’
There are other dedicate straps for boot device selection.

“Board ID straps” is to select which PCBA version, You may have A01 PCB with BOM_A01, A01 PCB with BOM_A02 or A02 PCB with BOM_A03
You may need adopt different settings on these PCB or BOM version then U-Boot could identify from board ID strap.
Board ID straps just have several bit. Board ID EEPROM could store more information.

Hi cioma, Trumany.

Thanks for your answer

Hi edli1983,

I’m sorry I don’t know what you mean.
You may need adopt different settings on these PCB or BOM version then U-Boot could identify from board ID strap.
==> so if we remove Board ID straps, does it affect u-boot process ? I mean it would cause u-boot flow fail.

Thank you
Regards

Hi WesleyLIN,

To make it clear (if I’m not mistaken) :

*Board ID straps :
-HW : physical resistors (as needed. Could be 1,2…10 if you want)
-SW : GPIO (inputs)
-purpose : telling you what is your PCB release and debug easily if rev A works and not the rev B for example.
-mandatory : no. just helpful for versioning HW.

*Board ID ROM (not really sure about that) :
-HW : EEPROM memory
-SW : its I2C address & what you want to store in that memory
-purpose : identifying the board : Jetson, custom, shield…
-mandatory : no. uncomment the line to make a virtual one on boot process.

*Boot_sel straps :
-HW : 4 resistors on dedicated pins.
-SW : pre-boot inputs.
-purpose : telling the iRAM in the ISP (used for bootloader download) to indicate which is the primary boot device.(not sure).
-mandatory : YES. (not sure)

Speaking of boot_sel straps… is it possible to “erase” the HW straps with software (ie booting on SD/SATA… with physical boot_sel straps configured for eMMC boot) ?

I suspect it’s possible with eFUSE.

Hi alejuventino,

I deeply appreciated your illustration, it is very clear and helpful to me.
Thank you.

alejuventino’s explanation is correct and clear.
Board ID straps(Resistors) and Board ID ROM(I2C EEPROM) are not mandatory but Boot_sel straps(Resistors) is mandatory.
There is a Fuse bit can be set to select read boot straps from Fuse boot device table instead of HW Boot_sel straps.

Hi all,

Is the SPI boot Rom mandatory ? If our designed board only uses EMMC as boot device, can we remove it ?
Thanks in advance.

Regards

No, it’s not mandatory, you can remove it w/ eMMC as boot device.

Hi Trumany,

Got it
Thanks a lot

Hi Trumany,

We test the board we designed, it can be flashed successfully, but it can’t boot up normally, it always enters recovery mode, and I’m sorry that I cannot provide and logs, because the debug interface seems can output logs.
Is it can boot up normally without EEPROM ?
Thanks.

Regards,
Wesley

Hi WesleyLIN,

Did you un-comment boardID?

  1. Check the status of GPIO_PI1 (force_recovery_N) to confirm it’s not PD during boot.
  2. Check the status of RAM_CODE straps to confirm the value is same as that in your SDRAM config file.
  3. Check the status of boot device selction straps to confirm it is 0x1011 which will select eMMC as boot device.

Hi Trumany,

After we check the list you mentioned, we find out the RAM_CODE is not the same as SDRAM config, then we modified it. Now we can boot up successfully.
Thank you so much.

Regards,
Wesley

Hi Trumany,

The SDRAM config you said is “gnu_linux_fastboot_emmc_full.cfg”?
If we want to change SDRAM config instead of RAM_CODE, how do we change the config ?
Thanks.

Regards,
Wesley