On Tue, Mar 31, 2020 at 4:16 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
On 3/31/20 11:28 AM, Gerd Hoffmann wrote:
> On Sat, Mar 28, 2020 at 05:16:59PM -0700, Paul Zimmerman wrote:
>> This patch series adds emulation for the dwc-hsotg USB controller,
>> which is used on the Raspberry Pi 3 and earlier, as well as a number
>> of other development boards. The main benefit for Raspberry Pi is that
>> this enables networking on these boards, since the network adapter is
>> attached via USB.
>>
>> The emulation is working quite well, I have tested with USB network,
>> mass storage, mouse, keyboard, and tablet. I have tested with the dwc2
>> driver in the upstream Linux kernel, and with the dwc-otg driver in the
>> Raspbian kernel. One remaining issue is that USB redirection does not
>> work, I tried connecting to a USB stick on the host, but the device
>> generates babble errors and does not work. I will continue to work on
>> this issue.
>>
>> The patch series also includes a very basic emulation of the MPHI
>> device on the Raspberry Pi SOC, which provides the FIQ interrupt that
>> is used by the dwc-otg driver in the Raspbian kernel. But that driver
>> still does not work in full FIQ mode, so it is necessary to add a
>> parameter to the kernel command line ("dwc_otg.fiq_fsm_enable=0") to
>> make it work.
>>
>> I have used some on-line sources of information while developing
>> this emulation, including:
>>
>> http://www.capital-micro.com/PDF/CME-M7_Family_User_Guide_EN.pdf
>> has a pretty complete description of the controller starting on
>> page 370.
>>
>> https://sourceforge.net/p/wive-ng/wive-ng-mt/ci/master/tree/docs/DataSheets/RT3050_5x_V2.0_081408_0902.pdf
>> has a description of the controller registers starting on page
>> 130.
>>
>> Changes from v1:
>>    - Fixed checkpatch errors/warnings, except for dwc2-regs.h since
>>      that is a direct import from the Linux kernel.
>>    - Switched from debug printfs to tracepoints in hcd-dwc2.c, on the
>>      advice of Gerd. I just dropped the debug prints in bcm2835_mphi.c,
>>      since I didn't consider them very useful.
>>    - Updated a couple of the commit messages with more info.
>>
>> Thanks for your time,
>> Paul
>
> Looks good to me.  We are in 5.0 freeze now though, so this has to wait
> until the tree is open for 5.1 development.

Plenty of time to complete this series with an acceptance test using
your device :)

As a starting point you can look at do_test_arm_raspi2() in
tests/acceptance/boot_linux_console.py.

Regards,

Phil.


 Ok Phil, I will look into that.

Thanks,
Paul