RIOT icon indicating copy to clipboard operation
RIOT copied to clipboard

boards/imx8mq: add imx8 m4 support for IMX8MQEVK board

Open dylad opened this issue 6 years ago • 2 comments

Contribution description

This PR is a WIP proof of concept to add support for the CM4 of IMX8MQ cpu. This CPU contains a quad A53 + one cortex M4F for low-power application and this PR adds supports ONLY FOR CM4. Linux or Android should run on the A53 part. The CM4 have access to the same IP as the A53 so users must ensure that peripherals are not use by A53 and M4 at the same time. Some mechanisms to prevent such behavior exist but are not present in this PR but this can be add in a followup PR.

Users should also be aware that CM4 has no dedicated ROM/Flash. So applications won't restart automatically after a shutdown. However, it is possible to use U-boot or Linux to load RIOT firmware in RAM and start CM4. Regarding RAM, the CM4 uses a small portion of the LPPDR4.

By using JLink, you should be able to load your firmware on RAM (LPDDR4) but this require to have LPDDR4 initialized which is done by the U-boot SPL.

Having RIOT running on the CM4 allow user to remotely wakeup their Linux/Android or retrieve sensors data without to have a whole Linux system running at 1Ghz for instance. For now, only GPIOs, UART and Timer drivers should work.

Reviews, comments and tests are highly appreciated.

Datasheet can be access for free but required login into nxp website. IMX8MQ link

@kaspar030 and @emmanuelsearch may be interested by this PR.

Testing procedure

Attach a JLink probe to the IMX8MQEVK board, connect a microUSB cable on the debug USB. Two serial ports should pop-up, the first is dedicated to Linux/Android on the A53 and the second is used by RIOT. Run all kind of tests.

Issues/PRs references

None.

dylad avatar Nov 16 '19 08:11 dylad

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.

stale[bot] avatar Jun 16 '20 21:06 stale[bot]

Rebased into lastest master. I'll add Kconfig part later.

dylad avatar Sep 22 '20 11:09 dylad