Hi Stefan, On 8 March 2016 at 09:45, Stefan Roese <s...@denx.de> wrote: > Hi Simon, Hi Bin, > > On 12.08.2015 05:54, Simon Glass wrote: >> +Gabriel >> >> Hi Andrew, >> >> On 11 August 2015 at 09:20, Andrew Bradford <and...@bradfordembedded.com> >> wrote: >>> Hi Simon, >>> >>> On 08/11 08:06, Simon Glass wrote: >>>> Hi Andrew, >>>> >>>> On 11 August 2015 at 06:08, Andrew Bradford <and...@bradfordembedded.com> >>>> wrote: >>>>> Hi Simon, >>>>> >>>>> On 08/10 21:07, Simon Glass wrote: >>>>>> Hi Bin, >>>>>> >>>>>> On 10 August 2015 at 20:53, Bin Meng <bmeng...@gmail.com> wrote: >>>>>>> Hi Andrew, >>>>>>> >>>>>>> On Mon, Aug 10, 2015 at 7:32 PM, Andrew Bradford >>>>>>> <and...@bradfordembedded.com> wrote: >>>>>>>> Hi Bin, >>>>>>>> >>>>>>>> On 08/09 10:52, Bin Meng wrote: >>>>>>>>> Hi Andrew, >>>>>>>>> >>>>>>>>> On Sun, Aug 9, 2015 at 9:08 AM, Andrew Bradford >>>>>>>>> <and...@bradfordembedded.com> wrote: >>>>>>>>>> Hi Simon, >>>>>>>>>> >>>>>>>>>> On 08/08 10:18, Simon Glass wrote: >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> On 7 August 2015 at 06:44, Bin Meng <bmeng...@gmail.com> wrote: >>>>>>>>>>>> On Fri, Aug 7, 2015 at 8:36 PM, Andrew Bradford >>>>>>>>>>>> <and...@bradfordembedded.com> wrote: >>>>>>>>>>>>> From: Andrew Bradford <andrew.bradf...@kodakalaris.com> >>>>>>>>>>>>> >>>>>>>>>>>>> Allow for configuration of FSP UPD from the device tree which will >>>>>>>>>>>>> override any settings which the FSP was built with itself. >>>>>>>>>>>>> >>>>>>>>>>>>> Modify the MinnowMax and BayleyBay boards to transfer sensible UPD >>>>>>>>>>>>> settings from the Intel FSPv4 Gold release to the respective dts >>>>>>>>>>>>> files, >>>>>>>>>>>>> with the condition that the memory-down parameters for MinnowMax >>>>>>>>>>>>> are >>>>>>>>>>>>> also used. >>>>>>>>>>>>> >>>>>>>>>>>>> Signed-off-by: Andrew Bradford <andrew.bradf...@kodakalaris.com> >>>>>>>>>>>>> --- >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Reviewed-by: Bin Meng <bmeng...@gmail.com> >>>>>>>>>>>> Tested-by: Bin Meng <bmeng...@gmail.com> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Acked-by: Simon Glass <s...@chromium.org> >>>>>>>>>>> Tested on minnowmax: >>>>>>>>>>> Tested-by: Simon Glass <s...@chromium.org> >>>>>>>>>>> >>>>>>>>>>> I found that I need to remove two properties from the minnowmax.dts: >>>>>>>>>>> >>>>>>>>>>> - fsp,enable-xhci needs to be removed as this does not work in >>>>>>>>>>> U-Boot >>>>>>>>>>> at present and stops EHCI from working >>>>>>>>>>> - fsp,mrc-debug-msg needs to be removed to prevent debug information >>>>>>>>>>> being displayed >>>>>>>>>>> >>>>>>>>>>> I plan to apply this with these changes - please let me know if this >>>>>>>>>>> doesn't suit. >>>>>>>>>> >>>>>>>>>> I'm OK with disabling xhci and the MRC debug output in the FSP. >>>>>>>>>> >>>>>>>>>> But if xhci is disabled then I believe when Linux boots that the USB >>>>>>>>>> 3.0 >>>>>>>>>> port on Minnow Max will only act as a USB 2.0 port. That u-boot >>>>>>>>>> doesn't >>>>>>>>>> yet have working XHCI on E3800 means there is a tradeoff and I wasn't >>>>>>>>>> sure which was a better choice. >>>>>>>>> >>>>>>>>> Does these xHCI ports on MinnowMax work fully on Linux kernel? If it >>>>>>>>> works, I'd rather we keep fsp,enable-xhci in the U-Boot. >>>>>>>> >>>>>>>> I believe that the xhci port does work on Minnow Max in Linux but I do >>>>>>>> not have a board so I'm unable to test, sorry. >>>>>>>> >>>>>>> >>>>>>> OK, my test shows that ehci works fine in U-Boot on Bayley Bay. >>>>>>> >>>>>>> Hi Simon, >>>>>>> >>>>>>> What do you think regarding to xhci vs. ehci in U-Boot? >>>>>> >>>>>> The problem is that USB is then broken in U-Boot. I think it is better >>>>>> to limit the speed for the moment until we have that fixed. It is >>>>>> quite useful to be able to use a keyboard or USB stick in U-Boot. >>>>>> >>>>>> With my testing the bottom (blue) port works fine but the top port >>>>>> does not. This happens regardless of the xhci setting. >>>>> >>>>> Minnowmax has a USB power switch enable which determines if the VBUS2 >>>>> net is turned on or not, which will supply or not supply power to the >>>>> USB 2.0 port. The blue USB 3.0 port also has an enable. Both enables >>>>> and the USB ports themselves are located on page 16 of the schematic >>>>> that I have. >>>>> >>>>> The switches to enable the VBUS for each port are active high and pulled >>>>> down. So to turn them on, I believe that's the point of the pinmuxing >>>>> and GPIO settings which are used in the minnowmax.dts. Can you verify >>>>> if these are correctly turning on VBUS2 (since it sounds like they are >>>>> turning on VBUS1)? If not, when you turn these GPIO on manually, does >>>>> the USB 2.0 port work correctly? >>>> >>>> I see power on the bottom port but not the top one. >>> >>> OK, that's odd, but likely can be fixed with changes to the pin mux and >>> pad settings in the dts. I believe that the "pad-offset" for >>> pin_usb_host_en1@0 is wrong and that it should be 0x250 instead of >>> 0x258. >>> >>> diff --git a/arch/x86/dts/minnowmax.dts b/arch/x86/dts/minnowmax.dts >>> index d0c0fe6..4988163 100644 >>> --- a/arch/x86/dts/minnowmax.dts >>> +++ b/arch/x86/dts/minnowmax.dts >>> @@ -39,7 +39,7 @@ >>> >>> pin_usb_host_en1@0 { >>> gpio-offset = <0x80 9>; >>> - pad-offset = <0x258>; >>> + pad-offset = <0x250>; >>> mode-gpio; >>> output-value = <1>; >>> direction = <PIN_OUTPUT>; >>> >>> Does that fix it? >> >> I dug into this a bit and it all seems quite broken: >> >> - PCI bus configuration does not work in gpio_ich6_pinctrl_init(). I >> will send a patch for this >> - gpio_ich6_get_base() returns a 16-bit word but function is also used >> to read the memory address which holds a 32-bit word >> - Intel's hardware won't let you read the status of an output! >> >> The last point means that _gpio_ich6_pinctrl_cfg_pin cannot work. We >> need to mirror the lvl register in order to be able to read it. >> >> I confirmed that with the 'correct' value in the lvl registers both >> USB ports work. > > I'm currently struggling with the USB EHCI ports on my custom Bay > Trail x86 board. With the current U-Boot, cloned from the MinnowMAX, > only some of the USB EHCI ports are enabled / available. Here > the "usb tree" output with 3 USB keys installed: > > => usb tree > USB device tree: > 1 Hub (480 Mb/s, 0mA) > | u-boot EHCI Host Controller > | > +-2 Hub (480 Mb/s, 0mA) > | > +-3 Hub (480 Mb/s, 100mA) > | | > | +-4 Hub (12 Mb/s, 100mA) > | > +-5 Mass Storage (480 Mb/s, 200mA) > JetFlash Mass Storage Device 3281440601 > > When I first start the original (AMI) BIOS on this custom board, > and then reboot into U-Boot (without a power-cycle), I see this > configuration: > > => usb tree > USB device tree: > 1 Hub (480 Mb/s, 0mA) > | u-boot EHCI Host Controller > | > +-2 Hub (480 Mb/s, 0mA) > | > +-3 Hub (480 Mb/s, 100mA) > | | > | +-4 Hub (12 Mb/s, 100mA) > | > +-5 Hub (480 Mb/s, 0mA) > | | > | +-6 Mass Storage (480 Mb/s, 200mA) > | | Kingston DataTraveler 2.0 50E549C688C4BE7189942766 > | | > | +-7 Mass Storage (480 Mb/s, 98mA) > | USBest Technology USB Mass Storage Device 09092207fbf0c4 > | > +-8 Mass Storage (480 Mb/s, 200mA) > JetFlash Mass Storage Device 3281440601 > > So now all 3 USB sticks are detected. > > It doesn't seem to be a problem with missing USB power switch > enabling via some GPIOs. I've checked the schematics and all ports > should have power enabled. > > Do you have any quick ideas, what might be missing to enable all > 4 EHCI ports on Bay Trail? There seems to be a per-port disable > feature which might be involved. I'm still pretty new to x86, and > I'm struggling with finding the correct datasheet for this. So any > hints are really appreciated.
It might be worth checking the pci bus device list in both cases. Perhaps one of the USB ports is disabled? Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot