public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Rudolf J Streif <rudolf.streif@ibeeto.com>
To: u-boot@lists.denx.de
Subject: U-Boot DM device tree and Linux device tree - what are the differences and why?
Date: Mon, 18 May 2020 21:28:15 -0700	[thread overview]
Message-ID: <72715e83-6970-e401-5c0d-fb5a1b10c515@ibeeto.com> (raw)
In-Reply-To: <ef9fbb86-9ca5-c86d-a0c8-34eebe96544d@ibeeto.com>

I solved the problem with u-boot not recognizing the eMMC. The device
tree is working now for u-boot.

However, i.MX6 is using SPL which is loaded into OCRAM. If I flash SPL
and u-boot to a boot partition on the eMMC the boot ROM loads SPL just
fine but then SPL cannot load u-boot from eMMC:

Trying to boot from MMC1
MMC: no card present
spl: mmc init failed with error: -123
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

If I enable CONFIG_SPL_DM=y and CONFIG_SPL_DM_MMC=y then I am getting
this undefined reference (and a whole slew of other related to DM):

common/built-in.o:(.u_boot_list_2_uclass_2_usb_hub+0x8): undefined
reference to `dm_scan_fdt_dev'

Even if I get this to link then the next question of course is if it
will fit into the 68k OCRAM that the SoC has (the whole device tree
infrastructure has a rather large footprint). It is hard to follow why
the DM now is essentially enforced for storage media but does not seem
to be tested with SPL.

Once again, I appreciate any pointer to a possible solution.

Rudi


On 5/18/20 4:45 PM, Rudolf J Streif wrote:
> I have a custom board that is similar to the i.MX6UL 14x14. One
> difference is that it has an eMMC rather than a SD card. Most recently I
> upgraded from u-boot 2019.07 to u-boot 2020.01 and now u-boot cannot
> detect the eMMC anymore.
>
> For the 2019.07 version I did use CONFIG_FSL_ESDHC=y without
> CONFIG_DM_MMC. That does not work anymore. Compilation fails with
> "CONFIG_SYS_FSL_ESDHC_ADDR undefined". What has changed here and why?
>
> Then I tried using CONFIG_FSL_USDHC=y and CONFIG_DM_MMC=y. I simply used
> the device tree from the Linux kernel which works just fine for the
> kernel. But it does not work for u-boot. It's hard to understand why.
> Why would the u-boot device tree be different than the kernel device
> tree? If that is even the issue.
>
> It's an eMMC with 8-bit bus. Here are the definitions that work
> perfectly well for the Linux kernel:
>
> &usdhc2 {
> ??? pinctrl-names = "default";
> ??? pinctrl-0 = <&pinctrl_usdhc2>;
> ??? bus-width = <8>;
> ??? max-frequency = <200000000>;
> ??? vmmc-supply = <&sw2_reg>;
> ??? mmc-ddr-1_8v;
> ??? cap-mmc-highspeed;
> ??? non-removable;
> ??? keep-power-in-suspend;
> ??? status = "okay";
> };
>
> ??? ??? pinctrl_usdhc2: usdhc2grp {
> ??? ??? ??? fsl,pins = <
> ??? ??? ??? ??? MX6UL_PAD_NAND_RE_B__USDHC2_CLK??? ??? 0x1b0d9 /*
> eMMC_CLK */
> ??? ??? ??? ??? MX6UL_PAD_NAND_WE_B__USDHC2_CMD??? ??? 0x1b0d9 /*
> eMMC_CMD */
> ??? ??? ??? ??? MX6UL_PAD_NAND_ALE__USDHC2_RESET_B??? 0x1b0d9 /* eMMC_RST */
> ??? ??? ??? ??? MX6UL_PAD_NAND_DATA00__USDHC2_DATA0??? 0x1b0d9 /*
> eMMC_DAT0 */
> ??? ??? ??? ??? MX6UL_PAD_NAND_DATA01__USDHC2_DATA1??? 0x1b0d9 /*
> eMMC_DAT1 */
> ??? ??? ??? ??? MX6UL_PAD_NAND_DATA02__USDHC2_DATA2??? 0x1b0d9 /*
> eMMC_DAT2 */
> ??? ??? ??? ??? MX6UL_PAD_NAND_DATA03__USDHC2_DATA3??? 0x1b0d9 /*
> eMMC_DAT3 */
> ??? ??? ??? ??? MX6UL_PAD_NAND_DATA04__USDHC2_DATA4??? 0x1b0d9 /*
> eMMC_DAT4 */
> ??? ??? ??? ??? MX6UL_PAD_NAND_DATA05__USDHC2_DATA5??? 0x1b0d9 /*
> eMMC_DAT5 */
> ??? ??? ??? ??? MX6UL_PAD_NAND_DATA06__USDHC2_DATA6??? 0x1b0d9 /*
> eMMC_DAT6 */
> ??? ??? ??? ??? MX6UL_PAD_NAND_DATA07__USDHC2_DATA7??? 0x1b0d9 /*
> eMMC_DAT7 */
> ??? ??? ??? >;
> ??? ??? };
>
> Every time the eMMC is probed e.g 'mmc dev 1' it takes about a second
> and then the response is 'MMC: no card present'.
>
> I appreciate the help.
>
> Thank you,
> Rudi
>
-- 
-----
Rudolf J Streif
CEO/CTO ibeeto
+1.855.442.3386 x700

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200518/f5732b0e/attachment.sig>

  reply	other threads:[~2020-05-19  4:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-18 23:45 U-Boot DM device tree and Linux device tree - what are the differences and why? Rudolf J Streif
2020-05-19  4:28 ` Rudolf J Streif [this message]
2020-05-19 12:23   ` Fabio Estevam
2020-05-19 23:11     ` Rudolf J Streif

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=72715e83-6970-e401-5c0d-fb5a1b10c515@ibeeto.com \
    --to=rudolf.streif@ibeeto.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox