[Letux-kernel] [PATCH 0/3] MIPS: CI20: USB EHCI/OHCI
H. Nikolaus Schaller
hns at goldelico.com
Sun Sep 27 09:06:35 CEST 2020
> Am 26.09.2020 um 18:53 schrieb Paul Boddie <paul at boddie.org.uk>:
> On Saturday, 26 September 2020 16:23:08 CEST H. Nikolaus Schaller wrote:
>> Yes. I have cleaned it up a little and will include it in letux-5.9-rc7 next
>> * EHCI doesn't seem to work - falls back to USB 1.1 speed
>> * using my panel on either port and a memory stick on the other leads to
>> dwc2 13500000.usb: Overcurrent change detected
>> * it seems as if I have to remove the Mini-OTG jumper for a moment to make
>> the OTG port detect something * my attempt to do the enable/disable by
>> [JZ4780_CLK_UHC] leads to a kernel panic - so I have it disabled
>> Your observations and fixes will be welcome.
> Well done on getting something working! I seem to remember some USB-specific
> operations in the CGU driver, unless I am thinking of the Minibook again, and
> it looks as if you have discovered them in the 3.18 driver.
> The manual indicates that the suspend controls are indeed in the oscillator
> and power control register (OPCR), and I see that Zhou Yanjie (perhaps) might
> have reintroduced operations and a clock construct to access them for the OTG
> peripheral, associating them with the OTG PHY clock source.
> However, my interpretation of the OPCR controls is that they suspend the
> peripheral regardless of which clock input is used to provide the UHC clock.
> So, I imagine that if circumstances (dynamic configuration magic) do not cause
> the OTG PHY input to be selected for the UHC clock, the OTG peripheral may not
> get awakened. (I guess you could check which source is selected.)
> Maybe the enable/disable operations need to be defined in the UHC clock
> construct instead, though.
Yes, that is what I also would assume. Currently it is just a hack, but the
[JZ4780_CLK_UHC] setup breaks if I add custom ops. Maybe it does not manage
to handle simple setup for the clock and custom for the OPCR. So we may have
to do clock setup in the ops as well.
So let's see how we can improve it.
BTW: I have observed a watchdog/reboot problems for the "reboot" command for a while.
It reports some atomic notifier etc. an the watchdog triggers and the board
reboots after 10 seconds again. "poweroff" works.
I think it might be some issue with the HDMI setup. Maybe this keeps something
enabled during a warm reboot.
Enough topics for polishing before thinking about upstreaming :)
More information about the Letux-kernel