[U-Boot] [PATCH V5 00/31] imx: add i.MX8M support and i.MX8MQ EVK

Diego Dorta diegohdorta at gmail.com
Thu Jan 11 12:36:02 UTC 2018


Hi Peng,

2018-01-10 23:16 GMT-02:00 Peng Fan <van.freenix at gmail.com>:
> Hi Diego,
>
> On Wed, Jan 10, 2018 at 11:08:54AM -0200, Diego Dorta wrote:
>>Hi Peng,
>>
>>2018-01-10 3:20 GMT-02:00 Peng Fan <peng.fan at nxp.com>:
>>> This patchset is to add i.MX8M and i.MX8MQ-EVK support
>>>
>>> V5:
>>>  Drop wait_mask_set/clr_timeout and switch to use readl_poll_timeout in
>>>  the patchset.
>>>
>>> V4:
>>>  Regenerate patchset based on Tom's master tree.
>>>  In this patchset, https://patchwork.ozlabs.org/patch/855027/
>>>  "arm: imx: Rework i.MX specific commands to be excluded from SPL" from
>>>  Tom is included to avoid merge conflicts because the i.mx8m change
>>>  also has some modification to bootaux and arch/arm/mach-imx/Makefile.
>>>  Because CONFIG_GPT_TIMER change, I did a small modification to apply
>>>  Tom's patch, no function change.
>>>
>>>  Include ATF link in README.
>>>
>>> V3:
>>>  This patchset based on https://patchwork.ozlabs.org/patch/855027/
>>>  "arm: imx: Rework i.MX specific commands to be excluded from SPL" from
>>>  Tom to avoid this patchset fail apply after Tom's patch merged.
>>>
>>>  Previously "power: pmic/regulator allow dm be omited by SPL" broke other
>>>  boards, in V3 patchset, only touch pfuze100 related options.
>>>
>>>  Sharing code about get mac from fuse between mx7/mx8m
>>>  Sharing code about bootaux between mx6/7/mx8m
>>>  Sharing code about cpu speed grade between mx7/mx8m
>>>  Sharing code about get boot device between mx7/mx8m
>>>  Sharding code about mmc env between mx7/mx8m
>>>
>>>  Introduce wait_mask_set/clr_timeout to avoid deadloop in clock pll configuration
>>>
>>>  Correct authorship of fix building warning on fec arm64, patch 27/31.
>>>
>>>  Switch to use structure for DDR Controller. For DDR PHY registers,
>>>  there are about more than 10 thousands registers, I could not convert
>>>  them with detailed register name, and the script is generated from IC team,
>>>  So I use regs[0xxxxx] arrays here fo easily converting between IC team
>>>  released script and uboot ddr phy cod.
>>>
>>>  Improve REAMME file to include where to download firmware and imx-mkimage
>>>  and how to build
>>>
>>>  Add review tags on the V2 patchset.
>>>
>>>  Hope this patchset could catch up next release :)
>>>
>>> V2:
>>>
>>>  patch 02/23: convert to structure, drop is_boot_from_usb and
>>>               disconnect_from_usb
>>>  patch 04/23: conver to use structure for the clock driver, removed the
>>>               CCM_xxx macros. Add static for local functons.
>>>               Add init_usdhc_clk, init_uart_clk and etc to not enable
>>>               them all at default.
>>>  patch 05/23: Add more commit msg for the sip part.
>>>  patch 08/23: Merge the spl boot device with i.MX7
>>>  patch 12/23: Typo fix and return error fix from Heiko for the SoC related part
>>>  patch 22/23: Use a weak function ddr_init. If patch 23/23 could not be
>>>               accepted at current stage, to make others still be could be
>>>               compiled.
>>>
>>> The patchset depends on
>>> https://patchwork.ozlabs.org/patch/841934/
>>> https://patchwork.ozlabs.org/patch/841958/
>>> to be tested on real hardware.
>>>
>>> V1:
>>>
>>> patch: "power: pmic.h: include dm/ofnode.h" and
>>> "power: pmic/regulator allow dm be omited by SPL" is previously reviewed
>>> in mailist to not merged. If no issue, you may pick it up.
>>>
>>> The board support is a large patch because of the ddr related code.
>>> If it is not good, please first review/pick-up other patches if they
>>> are ok.
>>>
>>>
>>>
>>> Peng Fan (29):
>>>   imx: add i.MX8M into Kconfig
>>>   imx: mx8m: add register definition header file
>>>   imx: mx8m: add pin header file
>>>   imx: mx8m: add clock driver
>>>   imx: add sip function
>>>   imx: boot_mode: add USB_BOOT entry
>>>   imx: cpu: update cpu file to support i.MX8M
>>>   imx: spl: implement spl_boot_device for i.MX8M
>>>   imx: add i.MX8MQ SoC Revision and is_mx8m helper
>>>   imx: add pad settings bit definition for i.MX8M
>>>   imx: cpu: move speed/temp to common cpu
>>>   imx: cpu: add cpu speed/grade for i.MX8M
>>>   imx: refactor imx_get_mac_from_fuse
>>>   imx: cleanup bootaux
>>>   imx: bootaux: support i.MX8M
>>>   imx: mx7: move get_boot_device to cpu.c
>>>   imx: cpu: support get_boot_device for i.MX8M
>>>   imx: mx7: move mmc env code to mmc_env.c
>>>   imx: mx8m: add soc related settings and files
>>>   imx: makefile: compile files for i.MX8M
>>>   misc: ocotp: add i.MX8M support
>>>   mmc: fsl_esdhc: support i.MX8M
>>>   imx: lcdif: include i.MX8M
>>>   gpio: mxc: add i.MX8M support
>>>   net: fec: do not access reserved register for i.MX8M
>>>   imx: imx8mq: add dtsi file
>>>   power: pmic/regulator allow dm be omitted by SPL
>>>   imx: mx8m: add ddr controller memory map
>>>   imx: add i.MX8MQ EVK support
>>>
>>> Tom Rini (1):
>>>   arm: imx: Rework i.MX specific commands to be excluded from SPL
>>
>>Thanks for your V5 patches, this time I had no problem on compiling it.
>>
>>But, even following your README step by step, the U-Boot hangs
>>completely on this point:
>>
>>U-Boot SPL 2018.01-00038-gb464677cc7 (Jan 10 2018 - 09:50:45)
>>PMIC:  PFUZE100 ID=0x10
>>PMU message timeout
>
> Seems needs larger time wait.
> Could you try
> static inline void poll_pmu_message_ready(void)
> {
>         int ret;
>         u32 val;
>
>         /*
>          * When BIT0 set to 0, the PMU has a message for the user
>          * 10ms seems not enough for poll message, so use 1s here.
>          */
>           ret = readl_poll_timeout(&regs->reg[0xd0004], val,
>                             !(val & BIT(0)), 1000000);  --> Change 1000000 to 0?
>            if (ret)
>               puts("PMU message timeout\n");
> }
>

I've just tested your suggestion and this time the U-Boot hangs it before:

U-Boot SPL 2018.01-00038-gb464677cc7-dirty (Jan 11 2018 - 10:20:13)
PMIC:  PFUZE100 ID=0x10


> in board/freescale/mx8mq_evk/ddr/ddrphy_train.c
> Not sure you are using latest B0 chip or not.
>

I only have the A0 chip, can you test on this one?

> I'll wait for comments before sending new version patchset.
>
> Thanks,
> Peng.
>
>>Normal Boot
>>Trying to boot from MMC2
>>
>>Do you know how to solve it? If so, please add this information on the
>>README file.
>>
>>Thanks,
>>Diego

Thanks,
Diego


More information about the U-Boot mailing list