[U-Boot] Please pull u-boot-dm.git [take 2]
Tom Rini
trini at konsulko.com
Fri Apr 17 23:13:28 CEST 2015
On Fri, Apr 17, 2015 at 09:39:50PM +0200, Hans de Goede wrote:
> Hi,
>
> On 17-04-15 21:28, Hans de Goede wrote:
> >Hi,
> >
> >On 17-04-15 19:53, Tom Rini wrote:
> >>On Fri, Apr 17, 2015 at 10:54:21AM -0600, Simon Glass wrote:
> >>>Hi Tom,
> >>>
> >>>On 17 April 2015 at 10:46, Tom Rini <trini at konsulko.com> wrote:
> >>>>On Fri, Apr 17, 2015 at 10:30:36AM -0600, Simon Glass wrote:
> >>>>>Hi Tom,
> >>>>>
> >>>>>On 17 April 2015 at 10:27, Tom Rini <trini at konsulko.com> wrote:
> >>>>>>
> >>>>>>On Thu, Apr 16, 2015 at 09:15:26PM -0600, Simon Glass wrote:
> >>>>>>
> >>>>>>>Hi Tom,
> >>>>>>>
> >>>>>>>As mentioned I reverted this patch as it conflicted with the dm tree
> >>>>>>>and I suspect it might be buggy:
> >>>>>>>
> >>>>>>>cd749658 usb_storage : scan all interfaces to find a storage device
> >>>>>>>
> >>>>>>>Assuming this is OK and applies successfully I will rebase and resend
> >>>>>>>this patch, then reply with some comments I have on the patch.
> >>>>>>>
> >>>>>>>
> >>>>>>>The following changes since commit 4564faeafbf11feb839e2e3f927be2f1a919ba96:
> >>>>>>>
> >>>>>>> ti: dwc3: Enable clocks in enable_basic_clocks() in hw_data.c
> >>>>>>>(2015-04-16 15:08:36 -0400)
> >>>>>>>
> >>>>>>>are available in the git repository at:
> >>>>>>>
> >>>>>>> http://git.denx.de/u-boot-dm.git
> >>>>>>>
> >>>>>>>for you to fetch changes up to 2e6263093b3a5c2d2c586afaedfd346d6628f784:
> >>>>>>>
> >>>>>>> sandbox: exynos: Move CONFIG_SOUND_SANDBOX to Kconfig (2015-04-16
> >>>>>>>20:47:57 -0600)
> >>>>>>
> >>>>>>With this PR, am335x_boneblack (which has DM enabled) no longer
> >>>>>>functions. I'm running a bisect now, but heads up.
> >>>>>
> >>>>>OK, I'll wait for your bisect - also what is the console output when it breaks?
> >>>>
> >>>>OK, disregard Beaglebone Black error, that was me (need to remember that
> >>>>eMMC boot only works off of am335x_boneblack_config). But,
> >>>>A20-OLinuXino-Lime2_defconfig is broken by this. The error log:
> >>>>Command(A20 OLinuXino Lime2 console)> on
> >>>>(user:trini) Power turned on
> >>>>
> >>>>U-Boot SPL 2015.04-00342-g2e62630 (Apr 17 2015 - 12:40:45)
> >>>>DRAM: 1024 MiB
> >>>>CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
> >>>>
> >>>>
> >>>>U-Boot 2015.04-00342-g2e62630 (Apr 17 2015 - 12:40:45) Allwinner Technology
> >>>>
> >>>>CPU: Allwinner A20 (SUN7I)
> >>>>I2C: ready
> >>>>DRAM: 1 GiB
> >>>>MMC: SUNXI SD/MMC: 0
> >>>>*** Warning - bad CRC, using default environment
> >>>>
> >>>>In: serial
> >>>>Out: serial
> >>>>Err: serial
> >>>>SCSI: SUNXI SCSI INIT
> >>>>SATA link 0 timeout.
> >>>>AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
> >>>>flags: ncq stag pm led clo only pmp pio slum part ccc apst
> >>>>Net: dwmac.1c50000
> >>>>starting USB...
> >>>>USB0: USB EHCI 1.00
> >>>>scanning bus 0 for devices...
> >>>>U-Boot SPL 2015.04-00342-g2e62630 (Apr 17 2015 - 12:40:45)
> >>>>DRAM: 1024 MiB
> >>>>CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
> >>>>MMC Device 0 not found
> >>>>spl: mmc device not found!!
> >>>>### ERROR ### Please RESET the board ###
> >>>>
> >>>>And good:
> >>>>Command(A20 OLinuXino Lime2 console)> on
> >>>>(user:trini) Power turned on
> >>>>
> >>>>U-Boot SPL 2015.04-00121-g4564fae (Apr 17 2015 - 12:42:40)
> >>>>DRAM: 1024 MiB
> >>>>CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
> >>>>
> >>>>
> >>>>U-Boot 2015.04-00121-g4564fae (Apr 17 2015 - 12:42:40) Allwinner Technology
> >>>>
> >>>>CPU: Allwinner A20 (SUN7I)
> >>>>I2C: ready
> >>>>DRAM: 1 GiB
> >>>>MMC: SUNXI SD/MMC: 0
> >>>>*** Warning - bad CRC, using default environment
> >>>>
> >>>>In: serial
> >>>>Out: serial
> >>>>Err: serial
> >>>>SCSI: SUNXI SCSI INIT
> >>>>SATA link 0 timeout.
> >>>>AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
> >>>>flags: ncq stag pm led clo only pmp pio slum part ccc apst
> >>>>Net: dwmac.1c50000
> >>>>starting USB...
> >>>>USB0: USB EHCI 1.00
> >>>>scanning bus 0 for devices... 1 USB Device(s) found
> >>>>USB1: USB EHCI 1.00
> >>>>scanning bus 1 for devices... 1 USB Device(s) found
> >>>> scanning usb for storage devices... 0 Storage Device(s) found
> >>>>Hit any key to stop autoboot: 0
> >>>>sunxi#
> >>>>
> >>>>So... we cause a reset during USB scan and then fail to boot a second
> >>>>time?
> >>>
> >>>Thanks for testing this.
> >>>
> >>>I'm not sure if I have a Lime (I might do, will need to look). I was
> >>>testing sunxi on a pcduino3 but USB does not work on that for reasons
> >>>I was looking into (it just says lowlevel init failure due to moving
> >>>to driver model for GPIO).
> >>>
> >>>I will take a look. In the meantime, which commit breaks this? I could
> >>>perhaps issue a pull for commits up to that point to reduce the load.
> >>
> >>I haven't had a chance to bisect yet but I will in a few hours.
> >
> >No need to, I've just completed a bisect, it points to:
> >
> >5bca5a6303f3526ab2cf9c0a62cd26c16e0d5c2f is the first bad commit
> >commit 5bca5a6303f3526ab2cf9c0a62cd26c16e0d5c2f
> >Author: Simon Glass <sjg at chromium.org>
> >Date: Wed Mar 25 12:22:27 2015 -0600
> >
> > dm: usb: Drop the EHCI weak functions
> >
> > These are a pain with driver model because we might have different EHCI
> > drivers which want to implement them differently. Now that they use
> > consistent function signatures, we can in good conscience move them to
> > a struct.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > Reviewed-by: Marek Vasut <marex at denx.de>
> >
> >I'm going to first spend some time with my family now, I may look into
> >this later tonight, or otherwise this weekend. I'll be sure to check mail
> >first to avoid double work, so feel free to fix the problem while I'm
> >relaxing :)
>
> Ok, so I could not help myself and took a quick look at the patch causing the
> issue, this fixes the reset on usb scan problem:
>
> diff --git a/drivers/usb/host/ehci-sunxi.c b/drivers/usb/host/ehci-sunxi.c
> index eda9f69..a847ac5 100644
> --- a/drivers/usb/host/ehci-sunxi.c
> +++ b/drivers/usb/host/ehci-sunxi.c
> @@ -34,6 +34,8 @@ int ehci_hcd_init(int index, enum usb_init_type init, struct ehci_hccr **hccr,
> (uint32_t)*hccr, (uint32_t)*hcor,
> (uint32_t)HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
>
> + ehci_set_controller_priv(index, NULL, NULL);
> +
> return 0;
> }
>
> And should probably be squashed into the original patch to avoid bisect
> problems.
>
> But with this in place, all is still not well wrt non devicetree usb,
> usb keyboard support does not work, "usb tree" says:
>
> USB device tree:
> 1 Hub (480 Mb/s, 0mA)
> | u-boot EHCI Host Controller
> |
> +-2 Hub (480 Mb/s, 100mA)
> |
> +-3 Hub (12 Mb/s, 100mA)
> |
> | -1 See Interface (12 Mb/s, 0mA)
> |
>
> Note the -1 as device number for the "See Interface" device.
>
> This particular usb setup used to work fine.
>
> I guess this is another issue to git bisect, no idea when I'll get around
> to that.
So, another bisect. The problem commit is:
commit 5bbc627e33a9b3666438e03d560d06ab3de28f6f
Author: Simon Glass <sjg at chromium.org>
Date: Wed Mar 25 12:22:06 2015 -0600
dm: usb: Split out more code from usb_new_device()
Move the code that sets up the device with a new address into its own
function, usb_prepare_device().
Signed-off-by: Simon Glass <sjg at chromium.org>
Reviewed-by: Marek Vasut <marex at denx.de>
Prior to this commit on a non-DM board (my A20 Lime2) a USB keyboard
being inserted causes:
scanning bus 1 for devices... cannot reset port 1!?
1 USB Device(s) found
And then at the end, USB is "running" and I can usb tree. Afterwards,
same message about reset but then No USB Device found.
--
Tom
More information about the U-Boot
mailing list