Open canbus pllaon cause Suspend can not wake up on AGX Xavier with J5.0.2

Hi,

Platform : AGX Xavier
Jetpack : 5.0.2

I’am testing the suspend function on our carrier board with the pure image by using the button on the upper right corner

All is fine until I edit the pllaon

After I mount the drivers, I can’t wake up from suspend mode and the system will auto reboot

I reference the steps in document to edit pllaon on dts

https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/Clocks.html#sd-clocks-configuringclocks

And the testing steps:

sudo busybox devmem 0x0c303000 32 0x0000C400
sudo busybox devmem 0x0c303008 32 0x0000C458
sudo busybox devmem 0x0c303010 32 0x0000C400
sudo busybox devmem 0x0c303018 32 0x0000C458
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
Then enter suspend mode manually
And it can’t wake up until reboot

here’s uart logs when entering suspend mode

can wakeup before the testing steps

[ 76.380900] Trying to unregister non-registered hwtime source
����spe entering sc7
��tegra_clks_suspend
tegra_clks_suspend done
t194_adc_suspend done
fmon_suspend done
WAKE_MASK[31:0] = 0x20000100
WAKE_MASK[63:32] = 0x0
WAKE_MASK[95:64] = 0x1ff200
TIER0[31:0] = 0x0
TIER0[63:32] = 0x0
TIER0[95:64] = 0x0
TIER1[31:0] = 0x0
TIER1[63:32] = 0x0
TIER1[95:64] = 0x100000
TIER2[31:0] = 0x20000100
TIER2[63:32] = 0x0
TIER2[95:64] = 0xff200
I> Welcome to SC7-RF (d21b625989c015c2919c59eadfb1ae98d8b67fdb)
I> start sc7 exit
I> done sc7 exit
Reset reason 0x33
fmon_resume done
t194_adc_resume done
tegra_clks_resume
tegra_clks_resume done
ec_resume done
resume check ok
��spe exiting sc7
��Tier2 wake event received wake id = 82
��I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot
��[ 110.615040] Camera-FW on t194-rce-safe started
TCU early console enabled.
��[ 80.748249] migrate_one_irq: 34 callbacks suppressed
[ 80.748265] IRQ290: set affinity failed(-22).
[ 80.748313] CPU1: shutdown
[ 80.750750] IRQ290: set affinity failed(-22).
[ 80.750800] CPU2: shutdown
[ 80.753834] IRQ290: set affinity failed(-22).
[ 80.753904] CPU3: shutdown
[ 82.138251] nvethernet 2490000.ethernet eth2: ether_get_wol: phydev is null check iface up status
��[ 111.822031] Camera-FW on t194-rce-safe ready SHA1=d48f1e27 (crt 20.796 ms, total boot 1228.365 ms)

can not wake up after the testing steps

[ 260.333303] Trying to unregister non-registered hwtime source
����spe entering sc7
��tegra_clks_suspend
tegra_clks_suspend done
t194_adc_suspend done
fmon_suspend done
WAKE_MASK[31:0] = 0x20000100
WAKE_MASK[63:32] = 0x0
WAKE_MASK[95:64] = 0x1ff200
TIER0[31:0] = 0x0
TIER0[63:32] = 0x0
TIER0[95:64] = 0x0
TIER1[31:0] = 0x0
TIER1[63:32] = 0x0
TIER1[95:64] = 0x100000
TIER2[31:0] = 0x20000100
TIER2[63:32] = 0x0
TIER2[95:64] = 0xff200
I> Welcome to SC7-RF (d21b625989c015c2919c59eadfb1ae98d8b67fdb)
I> start sc7 exit
I> done sc7 exit
Reset reason 0x33
fmon_resume done
t194_adc_resume done
tegra_clks_resume
tegra_clks_resume done
ec_resume done
resume check ok
��spe exiting sc7
��Tier2 wake event received wake id = 82
��I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot

By the way, I have done the same steps and edition on Jetpack 4.6.2 and it is fine to work with the same environment

hello zax0220jecht,

there’re two DTB changes, BPMPFW DTB and kernel DTB.
may I know how you update the device tree, did you confirm device load revised binary correctly?
you may also share the complete steps for reference.

besides, may I also know how you wake-up device from deep sleep,
are you using those common wake sources on Jetson platforms?

Hi JerryChang,

how you update the device tree?

Just follow the document and this is the edition

did you confirm device load revised binary correctly?

I have check the device-tree under /proc and the properties of pallon_source are exist
Also, I use dtc tool to check the dtb under /boot

how you wake-up device from deep sleep?

I just type the keyboard to wake up the device and this way always work on other jetson platform

By the way, I also modified the pimux under bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg

And the pllaon parent(edit by dtc tool)
bootloader/t186ref/tegra194-a02-bpmp-p2888-a04.dtb

hello zax0220jecht,

are you using AGX Xavier developer kit?
we’ve tried this locally on JP-5.0.2/ AGX Xavier, and it’s confirmed suspend/resume still works by configure PLLAON as CAN clock source.

Hi Jerry,

Did you execute “sudo modprode mttcan” to mount driver?

If I configure PLLAON as CAN clock source and not to mount the mttcan driver, the suspend/resume will work normally

Please help to try the step as I mentioned
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
then try suspend again

hello zax0220jecht,

ya, our QA has tested with the steps as you mentioned in 1st post.

are you also using AGX Xavier developer kit?

No, I’m using our carrier board

So, suspend is work on developer kit

I’ll try on developer kit

Hi Jerry,

The developer kit still not work as the situation on our carrier board

Could you please try again and confirm?

Besides, how do you configure PLLAON?

Could you offer the detail procedures or the dts of pllaon configurations?

And what is the command you flash to target?

Hi zax0220jecht,

We follow document steps and modify below two DTB files:
tegra194-p2888-0001-p2822-0000.dtb
tegra194-a02-bpmp-p2888-a04.dtb
Then full flash the image on Xavier.

After boot up and run below commands:

sudo busybox devmem 0x0c303000 32 0x0000C400
sudo busybox devmem 0x0c303008 32 0x0000C458
sudo busybox devmem 0x0c303010 32 0x0000C400
sudo busybox devmem 0x0c303018 32 0x0000C458
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan

Then start test suspend/resume function.

Sorry for my mistake

The mttcan clock setting is wrong

This issue is solved

Thanks for help

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.