From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quentin Schulz Date: Mon, 11 Apr 2016 12:25:55 +0200 Subject: [U-Boot] Ethernet via USB on Sinlinx SinA33 In-Reply-To: <57052A30.5000902@redhat.com> References: <56F5720A.5000805@free-electrons.com> <56F929E7.6060200@redhat.com> <56FA22D4.7050104@free-electrons.com> <57052A30.5000902@redhat.com> Message-ID: <570B7BB3.90800@free-electrons.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, On 06/04/2016 17:24, Hans de Goede wrote: > Hi, > > On 29-03-16 08:38, Quentin Schulz wrote: >> Hi, >> >> On 28/03/2016 14:56, Hans de Goede wrote: >>> Hi, >>> >>> On 25-03-16 18:14, Quentin Schulz wrote: >>>> Hi, >>>> >>>> I am trying to get Ethernet to work through the USB port of the Sinlinx >>>> SinA33 on U-Boot to use TFTP to get the kernel and dtb files. >>>> >>>> However, I am getting 'data abort' when using dhcp or tftp after >>>> adding: >>>> #define CONFIG_USB_HOST_ETHER >>>> #define CONFIG_USB_ETHER_ASIX >>>> >>>> to include/configs/sunxi-common.h and checking CONFIG_USB_EHCI_HCD as >>>> told in the documentation [1] >>>> >>>> I tested this configuration with the C.H.I.P. and it is working well. >>> >>> Are you perhaps building u-boot with gcc6 ? There are some known issues >>> when building u-boot with gcc-6, which look pretty much like this. >> >> No, I'm building with gcc-5: >> $ arm-linux-gnueabihf-gcc --version >> arm-linux-gnueabihf-gcc (Ubuntu 5.2.1-22ubuntu1) 5.2.1 20151010 >> >>> Is the ethernet adapter connected to a regular usb host port, or to >>> the otg port ? >> >> The Ethernet adapter is connected to the regular USB host port. > > So I've been debugging some armv7 cache issues lately and I've come > up with the following fix: > > https://patchwork.ozlabs.org/patch/605967/ > > This might very will fix your issue too. If not we're likely missing > some cache flushing / invalidation in the usb driver for your usb > host controller. > > Regards, > > Hans I actually tried uboot-sunxi repository (and then checked out on merge commit in master for this repository) and it is working as expected: I get Ethernet over USB. I tested with master (43d3fb5c0609a76409e7859a2a5800670c7b5bd2) and I first get a reset of the board when starting USB (before I can enter U-Boot command line) and then after the reboot, U-Boot hangs on starting USB (still before the command line). I did a git bisect on master and it returned this commit: http://git.denx.de/?p=u-boot.git;a=commit;h=3f9f8a5b83f8aec40c9f4ee496046a695e333c45 Tell me if I can help in any way. Regards, Quentin >> >> Regards, >> >> Quentin >> >> >>>> Steps to reproduce: >>>> >>>> 1) Add the following lines to include/configs/sunxi-common.h: >>>> >>>> #define CONFIG_USB_HOST_ETHER >>>> #define CONFIG_USB_ETHER_ASIX >>>> >>>> 2) make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- >>>> Sinlinx_SinA33_defconfig >>>> 3) make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig >>>> 4) Check CONFIG_USB_EHCI_HC and save configuration >>>> 5) make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j$(nproc) >>>> 6) Prepare SDCard: >>>> sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8 >>>> 7) Boot the board and run dhcp or tftp >>>> 8) Get 'data abort' and board gets reset (ethact is also not defined) >>>> >>>> The log file is attached. >>>> >>>> Thank you, >>>> >>>> Quentin >>>> >>>> [1] https://github.com/lentinj/u-boot/blob/master/doc/README.usb#L132 >>>>