<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Tegra-otg_loop_with_u-boot</id>
	<title>Tegra-otg loop with u-boot - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Tegra-otg_loop_with_u-boot"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Tegra-otg_loop_with_u-boot&amp;action=history"/>
	<updated>2026-05-02T10:54:50Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=Tegra-otg_loop_with_u-boot&amp;diff=271&amp;oldid=prev</id>
		<title>Unknown user в 08:15, 15 октября 2014</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Tegra-otg_loop_with_u-boot&amp;diff=271&amp;oldid=prev"/>
		<updated>2014-10-15T08:15:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Bugreport sent to linux-tegra-bugs@nvidia.com =&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
I have found tegra-otg loop which prevents boot process in kernel L4T-R16-RC3 when using mainline U-BOOT bootloader on&lt;br /&gt;
Tegra2 harmony based board paz00 (toshiba ac100). Here is ac100 repo https://gitorious.org/~marvin24/ac100/marvin24s-kernel/commits/l4t-r16-r2-ac100 which is based on L4T-R16-RC3.&lt;br /&gt;
&lt;br /&gt;
Kernel output of boot here http://pastebin.com/TH7Pe6Md&lt;br /&gt;
&lt;br /&gt;
loop message is&lt;br /&gt;
tegra-otg: tegra_otg_irq(280) interrupt val = 0x646&lt;br /&gt;
kernel spam it very fast and non stop.&lt;br /&gt;
&lt;br /&gt;
It is possible to bypass this problem if i disable otg in kernel board-paz00 file or if i use below patch, but patch&lt;br /&gt;
leads to random otg deaths.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff --git a/drivers/usb/gadget/tegra_udc.c b/drivers/usb/gadget/tegra_udc.c&lt;br /&gt;
index c130dae..97d6493 100644&lt;br /&gt;
--- a/drivers/usb/gadget/tegra_udc.c&lt;br /&gt;
+++ b/drivers/usb/gadget/tegra_udc.c&lt;br /&gt;
@@ -2609,7 +2609,7 @@ static int __init tegra_udc_probe(struct platform_device *pdev)&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        err = request_irq(udc-&amp;gt;irq, tegra_udc_irq,&lt;br /&gt;
-                               IRQF_SHARED | IRQF_TRIGGER_HIGH,&lt;br /&gt;
+                               IRQF_SHARED | IRQF_TRIGGER_RISING,&lt;br /&gt;
                                driver_name, udc);&lt;br /&gt;
        if (err) {&lt;br /&gt;
                ERR(&amp;quot;cannot request irq %d err %d\n&amp;quot;, udc-&amp;gt;irq, err);&lt;br /&gt;
diff --git a/drivers/usb/otg/tegra-otg.c b/drivers/usb/otg/tegra-otg.c&lt;br /&gt;
index 12c359b..986c1e8 100644&lt;br /&gt;
--- a/drivers/usb/otg/tegra-otg.c&lt;br /&gt;
+++ b/drivers/usb/otg/tegra-otg.c&lt;br /&gt;
@@ -463,7 +463,7 @@ static int tegra_otg_probe(struct platform_device *pdev)&lt;br /&gt;
        tegra-&amp;gt;irq = res-&amp;gt;start;&lt;br /&gt;
        err = request_threaded_irq(tegra-&amp;gt;irq, tegra_otg_irq,&lt;br /&gt;
                                   NULL,&lt;br /&gt;
-                                  IRQF_SHARED | IRQF_TRIGGER_HIGH,&lt;br /&gt;
+                                  IRQF_SHARED | IRQF_TRIGGER_RISING,&lt;br /&gt;
                                   &amp;quot;tegra-otg&amp;quot;, tegra);&lt;br /&gt;
        if (err) {&lt;br /&gt;
                dev_err(&amp;amp;pdev-&amp;gt;dev, &amp;quot;Failed to register IRQ\n&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nvidia answer ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hello Misha,&lt;br /&gt;
 &lt;br /&gt;
We would like to thank you for pointing out the issue.&lt;br /&gt;
 &lt;br /&gt;
I would like to inform you that even after our best efforts, &lt;br /&gt;
we have not been able to reproduce the issue locally on Nvidia’s Tegra2 &lt;br /&gt;
reference platform (Ventana). We are observing that it is booting &lt;br /&gt;
normally without any crashes.&lt;br /&gt;
 &lt;br /&gt;
Since we do not have any AC100 units in-house to rule-out hardware specific issues, &lt;br /&gt;
can you please confirm if anybody else is also facing similar issue with any other AC100 boards?&lt;br /&gt;
Also, we would like to know if you have used USB-OTG successfully on &lt;br /&gt;
any prior kernels on this specific hardware?&lt;br /&gt;
 &lt;br /&gt;
Please note that our ability to diagnose the issue is limited as &lt;br /&gt;
we do not have access either to the AC100 boards or its schematics/design.&lt;br /&gt;
 &lt;br /&gt;
But I would like to provide you with an opinion from one of our engineers &lt;br /&gt;
on the possible cause for the issue:&lt;br /&gt;
“Some hang caused by device controller is fixed by changing interrupt &lt;br /&gt;
trigger type from LEVEL (IRQF_TRIGGER_HIGH) to EDGE (IRQF_TRIGGER_RISING) type.  &lt;br /&gt;
Reverting the patch should be fine, but this is not a correct fix and hence &lt;br /&gt;
should root cause the original issue. My suspicion based on the observation &lt;br /&gt;
is that the OTG interrupts might not be cleared properly in bootloader. &lt;br /&gt;
You can try by clearing it in otg probe but better one would do it in bootloader. &lt;br /&gt;
If still the issue persists could you post the log with OTG_DEBUG enabled?”&lt;br /&gt;
 &lt;br /&gt;
Can you please try-out the things suggested here. &lt;br /&gt;
Also, if the issue still persists, please post a log with OTG_DEBUG enabled.&lt;br /&gt;
 It’ll be helpful in diagnosing the issue better.&lt;br /&gt;
 &lt;br /&gt;
We have raised Bug 1299732 (https://nvbugswb.nvidia.com/NVBugs5/swbug.aspx?BugID=1299732&amp;amp;cp=qck) &lt;br /&gt;
for tracking the issue.&lt;br /&gt;
 &lt;br /&gt;
Thanks and regards,&lt;br /&gt;
Naveen Kumar S&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>