Re: Linux v5.10 for i.MX8 development


Andrey Zhizhikin
 

Hello Tim,

On Tue, Sep 21, 2021 at 7:11 PM Tim Harvey <tharvey@...> wrote:

On Tue, Sep 21, 2021 at 1:36 AM Andrey Zhizhikin <andrey.z@...> wrote:

Hello Ankur,

On Mon, Sep 20, 2021 at 11:30 PM Ankur Tyagi <ankur.tyagi@...> wrote:

Hi,

We are currently using Linux v5.4 for i.MX8 provided by recipe linux-fslc-imx_5.4.bb because as mentioned in recipe as well, branch "5.4-2.3.x-imx" from repo "linux-fslc" get changes merged from branch "imx_5.4.70_2.3.0" of linux-imx repo (https://source.codeaurora.org/external/imx/linux-imx/log/?h=imx_5.4.70_2.3.0)

Now we are planning to upgrade to Linux v5.10 and here I have few questions:

1. Recipe linux-fslc-lts_5.10.bb doesn't support i.MX8 https://github.com/Freescale/meta-freescale/blob/325ad529187fb1309b0a889c5196c8df039aeea9/recipes-ke... Neither I can see any merge from NXP linux-imx branch "lf-5.10.y" into linux-fslc branch "5.10.x+fslc".
When you say that i.MX8 is not supported - to which SoC you're
referring to? Mainline kernel on the [master] branch of this layer
does provide a descent support for all i.MX8M derivatives, but I'm not
entirely sure of the state for i.MX8 family SoC support since I do not
have that HW.
Andrey,

By decent support for i.MX8M derivatives you mean no USB, no PCI, no
DSI, no MIPI right? :)
It depends on the definition of "decency". :)

Actually, I was referring to 5.14.y kernel, and at least from what I
know USB support is present, although I did not test the performance
of it.

Of course, there are few pieces that are missing in upstream kernel,
which are present in the vendor one, but there are different opinion
on the topic of "Vendor vs Vanilla" kernel, some tend to favor one for
the other.

My take on this is: if the functionality I need is present in upstream
- I tend to use it, otherwise I take a vendor kernel (but would look
for an option to have at least latest LTS patchset applied on it).
This is strictly IMHO, and might not reflect the opinion of the
others. :)


I haven't looked at the yocto kernel recipes but I spend a lot of time
with the mainline kernel that I'm sure they are based on. While most
of the power-domain stuff landed in 5.13 we are still waiting for
blk-ctl which is needed to finish out the power-domain and reset
control for all of those blocks unfortunately.
Correct, linux-fslc recipe on [master] branch does provide
linux-5.14.y now with handful of patches on top. I'm not aware of
those missing pieces you referred here, but your input here is pretty
valuable! If you have any other constraints you're aware of - please
share it here, or in the layer on GitHub.



Can you specify which derivative you're talking about?

Is there any plan for that merge? If yes, any timeline by which it will happen?
I've looked into updating NXP branch [lf-5.10.y], and it is not
trivial... I'm now short on time to have a full swing of merging the
latest stable update on top of it, but probably would get to this
eventually. If there are any volunteers here that are willing to
undertake this task - this would be really appreciated.
Could you explain the difference between NXP's 'lf-' and 'imx-'
branches? I can never understand their branch naming scheme nor their
commit log prefix scheme.
This was always a mystery to me as well... I guess I would need to
make a disclaimer here: I'm neither employed nor affiliated with NXP,
so I cannot answer this. :)

If there is a person from NXP on this list, then perhaps he/she can
comment on this point.


Best regards,

Tim


If no, then can I use "imx_v8_defconfig" from linux-imx repo to build kernel using linux-fslc repo?
You can use the `defconfig` file, which is present in the layer to
build [linux-fslc] for i.MX8 machine. It resides in
recipes-kernel/linux/linux-fslc/armv8a/defconfig and is synchronized
with stable kernel release 5.14.

If you however opt-in for [linux-fslc-lts] kernel package, then the
kernel config file would be taken from
recipes-kernel/linux/linux-fslc-lts/armv8a/defconfig, which is also
synchronized with 5.10 from stable.

Are there any specific configuration options you need from
imx_v8_defconfig, which should be present in the defconfig for
mainline recipes?

i.MX8 is supported in linux-imx_5.10.bb recipe https://github.com/Freescale/meta-freescale/blob/325ad529187fb1309b0a889c5196c8df039aeea9/recipes-ke... which is using kernel from branch "lf-5.10.y" provided by linux-imx repo but this repo is NXP internal and doesn't get updated with stable Linux kernel. It is providing v5.10.35 (https://source.codeaurora.org/external/imx/linux-imx/log/?h=lf-5.10.y)
Correct, but as I've already pointed out - the merge of stable updates
to this kernel base is not trivial... :/


So ideally, just like v5.4 would like to use linux-fslc repo for v5.10 development as well.


Will appreciate any guidance around appropriate repo for v5.10 development for i.MX8
As one of the things to try out: you can switch the BSP flavor to use
"mainline" instead of "nxp", which would take all upstream components
instead of those provided by NXP. Be aware, that if you rely on any
functionality which is present in NXP BSP only (e.g. GPU/VPU) - this
would be unavailable in Mainline BSP.


thanks
Ankur


--
Regards,
Andrey.




--
Cheers,
Andrey.

Join meta-freescale@lists.yoctoproject.org to automatically receive all group messages.