Throttled overcurrent on TX2NX 4.6

I put TX2NX module on our custom carrier board , running l4t 4.6.
System shows “throttled due to Over-current” every time while bootup.
kernel log keep showing “soctherm: OC ALARM 0x00000001”

I’ve tried workaround method from this thread

cri_current_limit_0 is under /sys/devices/31800000.i2c/i2c-2/2-0040/iio-device0/
Change it to 5000mA , but warning keep show up even without any software running.

And It does not happen on devkit carrier board.
Is there any carrier board hardware design issue we can check?
Or any debug info to check the soc current value

hello Wiser.Kuo,

please refer to design guides to review your board.
you may check Jetson TX2 NX Product Design Guide for the recommendations and guidelines for product design.
please also check Jetson Xavier NX Developer Kit Carrier Board files for carrier board reference,

Hi Jerry
Which part of carrier board power section is related to this over-current soctherm oc issue?
How does cri_current_limit_0 detect over current event ?
Which kernel driver attribute value can be checked?

If i don’t build soctherm in dts . Will it have any risk for running 4.6 on TX2NX without this detection?

hello Wiser.Kuo,

it is device tree to define the OC limit.
you can modify the over current limit from 3.6A to 5A, it prevents frequent OC alarm warning message.
for example,

diff --git a/kernel-dts/common/tegra186-p3636-0001-a00-powermon.dtsi b/kernel-dts/common/tegra186-p3636-0001-a00-powermon.dtsi
@@ -30,7 +30,7 @@
                                ti,rail-name = "VDD_IN";
                                ti,shunt-resistor-mohm = <5>;
                                ti,current-warning-limit-ma = <3000>;
-                               ti,current-critical-limit-ma = <3600>;
+                               ti,current-critical-limit-ma = <5000>;

Hi Jerry
I’ve modified criti_current_limit_0 to 5000ma
but it still show throttle over-current warning on our carrier board.
It doesn’t show warning on devkit.
I’ve tested NX and TX2NX on both devkit and our carrier board, and taken some screenshot of driver’s attributes.

NX on devkit , no warning

NX on our carrier board ,warning

TX2NX on devkit , no warning

TN2NX on our carrier board, warning

Which value does soctherm oc threshold 5000mA/3600mA monitor for?
Is it in_current0_input or other?
Does the value mean for VDD_IN 5V 's cureent mA?

And sometimes i found ina3221x will unavailable on i2c .
When i tried to cat values , it will stuck for awhile and shows “Connection timeout” ,it also shows throttle over-current event at this condition .

hello Wiser.Kuo,

soctherm it’s used to monitor temperature.
since you’re able to run the use-case on the DevKits, please review your board design.
in addition, please access Carrier Board Specification, and check [Table 5-2. Interface Supply Current Capabilities] to check the max current for reference,

this current-critical-limit-ma modification only for test purpose,
we don’t suggest to increase OC limit higher than default value for your all finalize products.


The OC alarm is triggered by Under voltage protection. Does you carrier board provide stable 5V to CVM module?