RZ/V2M USB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Geert, Yoshihiro,

I'm a bit stuck with the usb3 drivers for RZ/V2M.

The RZ/V2M USB3 is very similar to R-Car Gen3, the main difference being
where the DRD registers are located and additional clocks, interrupts
and resets exposed. The DRD registers are still part of the USBP address
space, though they have been moved above the other USBP regs.

There is however, one big difference. On RZ/V2M, you can only access the
corresponding registers for whatever DRD mode has been set in the
DRD_CON register, PERI_CON bit. That is to say, when PERI_CON=1 (periph
mode), reading from a USBH register will cause an abort, and when
PERI_CON=0 (host mode), reading from a USBP register will cause an
abort.

This makes role switching rather difficult in Linux as the usb host hub
code does some work in a delayed work queue, after role switch.

I am therefore advocating that users can only enable host or peripheral
in DT, and role switching is not allowed. Is that reasonable?
How can I ensure only one driver is enabled?

This unfortunately opens up another problem... So that the USBH driver
can set the DRD mode, it needs access to the USBP address space. Could
that be just be additional reg entry in DT for this?

I'm not sure how to go about this, any advice appreciated!

Thanks
Phil





[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux