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

Diego Dorta diegohdorta at gmail.com
Tue Jan 16 12:15:28 UTC 2018


Hi Peng,

2018-01-13 8:55 GMT-02:00 Peng Fan <van.freenix at gmail.com>:
> Hi Diego,
> On Thu, Jan 11, 2018 at 10:36:02AM -0200, Diego Dorta wrote:
>>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 test the patchset on my A0 board, it works. But I still
> suggest using board with B0 chip.
>

It is still not working on my A0 chip. I've enable the debug mode so
you can see where it hangs:

Training PASS
Normal Boot
Trying to boot from MMC2
spl: mmc boot mode: raw
hdr read sector 300, count=1
spl: payload image: Second uimage loader load addr: 0x40000fc0 size: 632345
read 4d4 sectors to 40000fc0
Jumping to U-Boot
loaded - jumping to U-Boot...
image entry point: 0x40001000

Unfortunately we do not have here the B0 chip. Can you solve the
problem with this log?

Thanks,
Diego

> Thanks,
> Peng
>
>>
>>> 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