PICO-PI-IMX7: Editing and Recovery/Linux 4.19.x

@RobertCNelson

So, how are you doing?

I need your help yet

Remember I said I want to implement rpmsg on this device and I’m basing myself on this tutorial: Webinar: Linux e Zephyr Conversando no mesmo System-on-chip - YouTube

At the minute: 56.38 (according to the attached screen) he says to make modifications to the kernel (in my case it’s 5.6.17) using kconfig to show some *.c files (which currently, as I’ve already verified, don’t exist yet )

The point is that I use make menuconfig.

How to proceed in this case?

Pls

NXP/Freescale hasn’t pushed that driver mainline:

https://elixir.bootlin.com/linux/v5.14-rc5/source/drivers/rpmsg

Regards,

@RobertCNelson

Could you elaborate on your previous answer? (attached photo)

(After all, the tutorial video refers to imx7 much like pico-imx7d)

And about attached photo, below, it looks like rpmsg is already available on my device (pico-imx7d with debian 9)

All that’s left is to use the find command to find it

You are using Mainline Linux, that driver referenced in your video does not “exist” on Mainline Linux. NXP/Freescale has not pushed it Mainline, thus it only exists on NXP/Freescale’s Linux tree.

So you need to use NXP/Freescale’s 4.9-1.0.x-imx branch to utilze that driver.

That is the generic rpmsg subsystem:

Regards,

Can I use this (generic rpmsg subsystem) to my project?
My project is use rpmsg and/or rpmsg-lite to send messages from a7(linux) to m4(zephyr) via u-boot (stty -f option) and (if possible) later send messages after full linux boot

If I can, How?

No, while this is the generic subsystem, you still need a driver for the specific hardware implementation imx7 (a7 and m4) that utilzes this subsystem. In the case of 4.9-1.0.x-imx NXP/Freescale wrote this driver (imx_rpmsg.c and imx_rpmsg_tty.c), but have not pushed it mainline…

Regards,

@RobertCNelson Sir. I need your help in this: embedded - Reading file would overwrite reserved memory. Failed to load 'hello_world.bin - Stack Overflow

I have the sources for U-boot 2020.04 here and I have already removed several things related to 0x7F8000, 0x720000, 0x780000 and I can never get the *.bin to 0X7F8000 (only 0X808000. I need to know what is blocking it at 0X7F8000

issue: Reading file would overwrite reserved memory. Failed to load 'hello_world.bin

Hi @neuberfran, After looking at the TechNexion docs, they are using NXP’s u-boot fork…

Looking at the repo, there is already a similar question here:

You should contact the developers of that repo…

Regards,

@RobertCNelson in this issue in technexion repo, Paolo Turim it is me. That company blocked me on github since the day I found out that USB-C (3.0 or 3.1) can burn imx7d-pico components. They are no longer responding to me. Much less about imx7d-pico and much less about RPMsg on that device

Hi @neuberfran i can’t take sides… That’s between you and them…

Looking at the docs, they used NXP’s u-boot fork in their project. NXP’s u-boot was forked from mainline a long time ago… You need to use their u-boot source to make it work…

Regards,

@RobertCNelson Not solved yet with other (mainline I think) U-boot version:

Considering TechNexion has there own u-boot:

Since they don’t document which branch, you’d have to ask them…

Regards,

@RobertCNelson Sorry Sir. I didn’t understand his last line. Why the branch information can somehow help me solve my issue?:

**fatload mmc 0:1 0x7F8000 hello_world.bin (with issue) **
** ** Reading file would overwrite reserved memory ****

There “hello_world.bin” demo uses a feature that is not in mainline u-boot… You need to contact the developer and find out what branch of NXP’s version of u-boot they used when creating that demo…

Regards,

@RobertCNelson No Sir. I can run fatload mmc 0:1 0x80800 hello_world.bin. But I can’t run fatload mmc 0:1 0x7F8000 hello_world.bin. As Mr @sawdust said in the question, I need to use LMB (Debug) before the line log_err("** Reading the file would overwrite the reserved memory **\n"); in order to find out what is using 0x7F8000 memory

Hi @neuberfran looking at the document posted by that user…

The following table lists some NXP SoCs that can be used in the AMP configuration and the software support for Cortex-M loading
from a side in U-Boot and Linux starting with NXP Linux BSP versions ≥ L5.10.35_2.0.0.

You need to be using NXP’s 2.0.0

linux: https://source.codeaurora.org/external/imx/linux-imx/tag/?h=lf-5.10.35-2.0.0

Looking at NXP’s repo:

https://source.codeaurora.org/external/imx/meta-imx/tag/?h=rel_imx_5.10.35_2.0.0

linux: git commit: https://source.codeaurora.org/external/imx/meta-imx/tree/meta-bsp/recipes-kernel/linux/linux-imx_5.10.bb?h=rel_imx_5.10.35_2.0.0#n20

u-boot: git commit: https://source.codeaurora.org/external/imx/meta-imx/tree/meta-bsp/recipes-bsp/u-boot/u-boot-imx_2021.04.bb?h=rel_imx_5.10.35_2.0.0#n20

which is this: https://source.codeaurora.org/external/imx/uboot-imx/commit/?id=3463140881c523e248d2fcb6bfc9ed25c0db93bd

Regards,

@RobertCNelson you said: “which is this: uboot-imx - i.MX U-Boot

In this link I can’t see imx7d. That would be the reason for my issue. Because I already did the build with the latest version of u-boot-tn-imx (2021.04/by TechNexion) and the command fatload mmc 0:1 0x7F8000 hello_world.bin didn’t work?

@RobertCNelson Commands to build image:

  1. mkdir tn-imx-yocto && cd tn-imx-yocto
    2)repo init -u GitHub - TechNexion/tn-imx-yocto-manifest: TechNexion i.MX Yocto manifests -b hardknott_5.10.y-next -m imx-5.10.52-2.1.0.xml
  2. repo sync -j8
  3. WIFI_FIRMWARE=y WIFI_MODULE=qca DISTRO=fsl-imx-xwayland MACHINE=pico-imx7 BASEBOARD=pi source tn-setup-release.sh -b build-fsl-imx-xwayland-pico-imx7
  4. bitbake imx-image-multimedia

That specific “git” commit “3463140881c523e248d2fcb6bfc9ed25c0db93bd” happens to be modifying arch/arm/dts/fsl-imx8qm.dtsi… That does NOT matter… behind that specific git commit is a branch, imx_v2021.04, that NXP created to support “L5.10.35_2.0.0.” That is the exact u-boot tree, you NEED to be running on your board to utilize NXP’s appnote…

Regards,

Awesome! Glad you found their tree… Sadly, I’m not a Yocto developer… Instead i “compete” with Yocto developers for a better build system.

If you have any Yocto issues, please feel free to contact Yocto developers for faster response…

Regards,