<div dir="ltr"><div><div><div><div>Hi Ben,<br><br></div>I've had some success now. <br></div><br>Once I knew that you had it working with eMMC without any real fiddling, I went on the assumption that an older version of coreboot would be worth trying. <br></div><br>I had been using the latest version from github but have now gone back to the version of code that Intel supplied with FSP Gold 4, which works!<br><br></div><div>So either something didn't get integrated into the official coreboot source or its broken between then and now. <br></div><div>When I get some time I will try and track down exactly where the difference is. <br></div><div>For now I'm just glad I'm not spending the weekend in the office!<br><br></div><div>Thanks<br><br></div><div>David<br><br></div><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 14, 2016 at 5:36 PM, Ben Gardner <span dir="ltr"><<a href="mailto:gardner.ben@gmail.com" target="_blank">gardner.ben@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi David,<br>
<br>
I've been using eMMC with the baytrail FSP on the E3800 CPU without issue.<br>
I don't recall doing anything special to get it to work under Linux.<br>
<br>
Comparing my devicetree.cb with bayleybay_fsp shows these differences<br>
related to eMMC.<br>
I don't know if any of those are important.<br>
<br>
register "PcdEMMC45DDR50Enabled"   = "EMMC45_DDR50_DISABLE"<br>
register "PcdEMMC45HS200Enabled"     = "EMMC45_HS200_DISABLE"<br>
register "PcdEMMC45RetuneTimerValue" = "EMMC45_RETURN_TIMER_DEFAULT"<br>
<br>
I also have devices 0x11 and 0x12 turned off.<br>
<br>
By "relevant" pins, I assume you mean GPIO_S0_SC[016] thru GPIO_S0_SC[026].<br>
<br>
Ben<br>
<div class="HOEnZb"><div class="h5"><br>
On Wed, Jan 13, 2016 at 9:16 AM, David Popeck <<a href="mailto:david@justaride.org">david@justaride.org</a>> wrote:<br>
> Hi all,<br>
><br>
> I've been trying to get Coreboot going on a custom Baytrail based board that<br>
> I have.<br>
><br>
> Pretty much everything is working with one major exception - eMMC.<br>
><br>
> I've enabled eMMC in BCT.<br>
> In devicetree.cb I've switched off device 10 (eMMC 4.1 controller) and<br>
> switched on device 17 (eMMC 4.5 controller).<br>
> And finally I've switched the relevent pins to GPIO_FUNC3 in gpio.c.<br>
><br>
> Linux sees device 17.0 in lspci and loads the module but doesn't show any<br>
> mmcblk devices.<br>
><br>
> I was supplied the board with an Insyde systems EFI firmware which I really<br>
> don't want to use.<br>
> This does recognise the eMMC, boots the same kernel I used with coreboot and<br>
> now I can access the eMMC.<br>
> So I know there is nothing electrically wrong here.<br>
><br>
><br>
> Should this configuration work with coreboot?<br>
> If I look in the non-fsp baytrail directory I can see emmc.c which appears<br>
> to contain explicit code to initialise the controller.<br>
> There is no equivelent code in the fsp_baytrail directory that I can see.<br>
> Is FSP supposed to initialise the controller or is there something missing<br>
> here?<br>
><br>
><br>
> Thanks for any help<br>
><br>
> David<br>
><br>
><br>
><br>
</div></div><span class="HOEnZb"><font color="#888888">> --<br>
> coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>
> <a href="http://www.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">http://www.coreboot.org/mailman/listinfo/coreboot</a><br>
</font></span></blockquote></div><br></div>