[PATCH] imx: Add support for i.MX8MM Beacon EmbeddedWorks devkit.
Marek Vasut
marex at denx.de
Mon Apr 27 08:46:36 CEST 2020
On 4/27/20 4:26 AM, Adam Ford wrote:
Hi,
[...]
>>> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
>>> index 59a2713cb2..249d446f69 100644
>>> --- a/arch/arm/dts/Makefile
>>> +++ b/arch/arm/dts/Makefile
>>> @@ -730,7 +730,8 @@ dtb-$(CONFIG_ARCH_IMX8M) += \
>>> imx8mm-verdin.dtb \
>>> imx8mn-ddr4-evk.dtb \
>>> imx8mq-evk.dtb \
>>> - imx8mp-evk.dtb
>>> + imx8mp-evk.dtb \
>>> + imx8mm-beacon-kit.dtb
>>
>> Keep the list sorted.
>
> Before verdin or before ddr4-evk? It's already out of order.
Alphabetical (and if it's not sorted, it should be. can you send a patch
to sort it ?)
[...]
>>> diff --git a/board/beacon/imx8mm/README b/board/beacon/imx8mm/README
>>> new file mode 100644
>>> index 0000000000..6dc916fc10
>>> --- /dev/null
>>> +++ b/board/beacon/imx8mm/README
>>> @@ -0,0 +1,37 @@
>>> +U-Boot for the Beacon EmbeddedWorks Devkit
>>> +
>>> +Quick Start
>>> +===========
>>> +- Build the ARM Trusted firmware binary
>>> +- Get ddr fimware
>>> +- Build U-Boot
>>> +- Boot
>>> +
>>> +Get and Build the ARM Trusted firmware
>>> +======================================
>>> +Note: srctree is U-Boot source directory
>>> +
>>> +$ git clone https://source.codeaurora.org/external/imx/imx-atf
>>> +$ git checkout imx_4.19.35_1.0.0
>>> +$ make PLAT=imx8mm bl31 ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-
>>> +$ cp build/imx8mm/release/bl31.bin $(srctree)
>>
>> Why not use mainline TFA instead of this NXP one ?
>
> The testing of upstream kernel code appears to require the NXP ATF
> instead of upstream ATF. Some of the DDRC stuff doesnt' appear to
> work with upstream ATF.
Are there any more details on this ?
[...]
>>> +int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>>> +{
>>> + puts("resetting ...\n");
>>> +
>>> + reset_cpu(WDOG1_BASE_ADDR);
>>> +
>>> + return 0;
>>> +}
>>
>> Please do not reimplement reset in SPL, just use some reset driver.
>> This must also be fixed on the NXP devkits, because they are broken and
>> wrong.
>
>
> What should they be doing instead? I am just modeling it after the
> NXP dev kit and it appears to work.
Sure, it "works", but it's not implemented correctly. This NXP devkit is
literally the only board which hacks around missing do_reset() in their
SPL by implementing it in board files and proliferation of this bug must
be stopped.
Either arch/arm/lib/reset.c or drivers/sysreset/sysreset_watchdog.c
should be used, in this case it's likely the later.
> Since I don't know what the
> 'reight' was is, I don't know what I need to do. Ideally, it would be
> nice if NXP had platform-common code that would do it
Reset implementation is not platform code, it shouldn't be there, see
drivers/sysreset/ .
> instead of a
> series of board files with nearly identical code.
I agree the amount of duplication in board files should be reduced.
More information about the U-Boot
mailing list