I tried to export DTS files, but I could not. I got a few “*.dtsi” files by this spreadsheet.
I could not get “.dts" files or ".dtb” files…
Anyone please tell me how to get the “dtb” files ???
Where I should copy this file to ?
I want to get functions(I2S, SPI, PWM and so on).
Maybe I guess… If I can get the “dts” files, I try to execute the command.
->dtc -I dts -O dtb -o xxxxxxxxxx.dtb xxxxxxxxxx.dts
->sudo ./flash.sh -r -k DTB jetson-nano-qspi-sd mmcblk0p1
sorry, Nano platforms don’t need python scripts for conversions.
you have to update the kernel sources to modify the device tree settings,
for example, modify below to customize GPIO settings.
$TOP/kernel_src/hardware/nvidia/platform/t210b01/porg/kernel-dts/porg-platforms/tegra210b01-porg-p3448-a01-gpio-default.dtsi
I used the spreadsheet, And I exported 2 *.dtsi files.
(with Jetson_Nano_DeveloperKit_Users_Pinmux_Configuration.xlsm)
I copied the files with overwriting to
$TOP/public_sources/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms
→ tegra210-porg-gpio-p3448-0000-a02.dtsi
→ tegra210-porg-pinmux-p3448-0000-a02.dtsi
cd $TOP/public_sources/kernel/kernel-4.9
zcat /proc/config.gz > .config
make O=build/jetson-nano/ oldconfig
make O=build/jetson-nano/ dtbs
(“make Image” got same result.)
I got this errors about “suspend_gpio”.
(so I try Next 5’s modification.)
DTC arch/arm64/boot/dts/ddot/ddot/ddot/ddot/ddot/ddot/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a02.dtb
ERROR (phandle_references): Reference to non-existent node or label “suspend_gpio”
ERROR (phandle_references): Reference to non-existent node or label “suspend_gpio”
ERROR: Input tree has errors, aborting (use -f to force output)
/home/masa/public_sources/kernel/kernel-4.9/arch/arm64/boot/dts/Makefile:120: recipe for target ‘arch/arm64/boot/dts/ddot/ddot/ddot/ddot/ddot/ddot/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a02.dtb’ failed
make[2]: *** [arch/arm64/boot/dts/ddot/ddot/ddot/ddot/ddot/ddot/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a02.dtb] Error 2
arch/arm64/Makefile:154: recipe for target ‘dtbs’ failed
make[1]: *** [dtbs] Error 2
make[1]: Leaving directory ‘/home/masa/public_sources/kernel/kernel-4.9/build/jetson-nano’
Makefile:171: recipe for target ‘sub-make’ failed
make: *** [sub-make] Error 2
I modified and add “tegra210-porg-gpio-p3448-0000-a02.dtsi”, with “suspend_gpio”, I copy the code from default file.
Booting using the fdt blob at 0x82000000
reserving fdt memory region: addr=80000000 size=20000
Using Device Tree in place at 0000000082000000, end 0000000082034097
there’s known issue that pinmux spreadsheet is not align with public release sources. please expect next public release (l4t-r32.2) will fix this failure.
also, summarize the steps for using the Jetson Nano’s Pinmux spreadsheet.
I noticed that “Jetson Nano Developer Kit 40-Pin Expansion Header Configuration” PDF was released yeaterday. Unfortunately, following the steps you get stuck at the error:
ERROR (phandle_references): Reference to non-existent node or label "suspend_gpio"
You mentioned that the error would be fixed with the release l4t-r32.2. When could we expect the release to take place? Is there any way to fix the problem before the release?
That’s quite the nano set up you have there. I don’t know if you’re connected to these guys (or if it might be you), but there’s a Japanese robotics shop that seems to be getting through many of these configurations as well.
but nano would not boot,and the serial print the debug message as follow
U-Boot 2016.07 (Aug 02 2019 - 16:30:31 +0800)
TEGRA210
Model: NVIDIA P3450-Porg
Board: NVIDIA P3450-PORG
DRAM: 4 GiB
MMC: Tegra SD/MMC: 0, Tegra SD/MMC: 1
Using default environment
In: serial
Out: serial
Err: serial
Net: No ethernet found.
Card did not respond to voltage select!
** Bad device mmc 1 **
Hit any key to stop autoboot: 0
Card did not respond to voltage select!
Card did not respond to voltage select!
starting USB...
USB0: tegrausb: Invalid dr_mode 2 for host mode
probe failed, error -1
USB error: all controllers failed lowlevel init
Warning: eth_rtl8169 MAC addresses don't match:
Address in SROM is 00:e0:4c:68:04:60
Address in environment is 00:04:4b:e5:0d:93
BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 213
DHCP client bound to address 192.168.6.182 (16 ms)
*** Warning: no boot file name; using 'C0A806B6.img'
Using eth_rtl8169 device
TFTP from server 0.0.0.0; our IP address is 192.168.6.182; sending through gate1
Filename 'C0A806B6.img'.
Load address: 0x80080000
Loading: T T T T T T T T T T
Retry count exceeded; starting again
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-00-04-4b-e5-0d-93
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A806B6
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A806B
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A806
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A80
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A8
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0A
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C0
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/C
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-tegra210
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
*** ERROR: `serverip' not set
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
*** ERROR: `serverip' not set
Config file not found
starting USB...
USB0: tegrausb: Invalid dr_mode 2 for host mode
probe failed, error -1
USB error: all controllers failed lowlevel init
BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 213
DHCP client bound to address 192.168.6.182 (29 ms)
Using eth_rtl8169 device
TFTP from server 0.0.0.0; our IP address is 192.168.6.182; sending through gate1
Filename 'boot.scr.uimg'.
Load address: 0x90000000
Loading: T T T T T T T T T T
Retry count exceeded; starting again
BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 213
DHCP client bound to address 192.168.6.182 (21 ms)
Using eth_rtl8169 device
TFTP from server 0.0.0.0; our IP address is 192.168.6.182; sending through gate1
Filename 'boot.scr.uimg'.
Load address: 0x80080000
Loading: T T T T T T T T T T
Retry count exceeded; starting again
Tegra210 (P3450-Porg) #
Unfortunately, I do not have yet the serial cable for debug, so I could not go further to investigate. I should receive it soon, but in the meantime, I kind of have to rely on external support to diagnose.
I’ll have a look in more details to your log. Please let me know if you find anything on your side.
for info, what modification did you do to the pinmux spreadsheet: enable SPI? other outputs?
Ok, I now have a serial cable. I have something similar on the log.
Log when it doesn’t boot:
Err: serial
Net: No ethernet found.
Card did not respond to voltage select!
** Bad device mmc 1 **
Hit any key to stop autoboot: 0
Card did not respond to voltage select!
Card did not respond to voltage select!
starting USB...
USB0: tegrausb: Invalid dr_mode 2 for host mode
probe failed, error -1
USB error: all controllers failed lowlevel init
BOOTP broadcast 1
Log when it does boot (no modification of pinmux):
Err: serial
Net: No ethernet found.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
733 bytes read in 109 ms (5.9 KiB/s)
L4T boot options
1: primary kernel
Enter choice: 1: primary kernel
Retrieving file: /boot/initrd