ASoC: SOF: imx8m: add SAI2,5,6,7#4391
Conversation
Added the remaining SAIs in addition to SAI1 and SAI3. There is no SAI4. Signed-off-by: Alexander Boehm <aboehm@eurofunk.com>
|
Can one of the admins verify this patch?
|
|
I may be wrong but I believe SDRAM0 contains parts of the code and data of SOF (and Zephyr, in the Zephyr build) itself, so it is in fact in use. For example in coredumps (when they actually work AKA on panics) typically you see addresses in that range for the code itself. And if you do "nm" on the .elf intermediate file in the build process you will also see addresses from that range. The reserved memory region is larger than SDRAM0 + SDRAM1 mostly in order to allow ourselves some room to expand without having to do any kernel changes. This has mostly been unnecessary but we did need more memory than normal in order to do e.g. MP3 decoding, which is pretty heavy in terms of memory compared to the default. That thing has in fact been the reason why our code and data sections are not in DSP memory like normal but instead in the SDRAM0 region. |
|
Thanks @paulstelian97, sometimes I'm really blind. Now that I read your explanation it all makes sense and I found that SDRAM0 is used in imx8m.x.in. I also just could have read the nice memory map output at the end of the build process - but for unknown reasons I didn't. |
|
test this please |
| .channels_max = 32, | ||
| }, | ||
| }, | ||
| { |
There was a problem hiding this comment.
I suspect that NXP won't support HDMI in Sound Open Firmware, so skipping it is likely fine here. If that changes at some point then fair game though.
There was a problem hiding this comment.
"skipped - not supported" is different to "does not exist"...
There was a problem hiding this comment.
The use of imx8m in SOF is a bit unfortunate (or I just don't understand it) because NXP i.MX8M does not even have a DSP. So it is more about i.MX8MPlus...
imx8 and imx8ulp don't have a SAI 4 with external connections as far as I saw. They do have more SAIs than are defined in imx8.c and imx8ulp.c but I concerned myself only with imx8mp.
|
@dbaluta I'll let you review this first |

Added the remaining SAIs in addition to SAI1 and SAI3. There is no SAI4, to my knowledge. I checked the imx93 ref manual, for imx8ulp I couldn't even find the reference manual...
This is related to sof #7689.
The (necessary...) sai aux clks have always been missing in the topic/sof-dev branch, they are only present in the nxp linux-imx repo:
nxp-imx/linux-imx@bdef7ec
It is a pretty simple additional modification for linux-imx:
Tested on imx8mp with a .dts that looks like that:
This leads me to a, maybe somewhat off-topic, question about the reserved memory:
imx8mp-evk-sof-wm8960.dts over in the linux-imx repo contains:
sof imx8m platform memory.h:
Why is more than SDRAM0_SIZE+SDRAM1_SIZE reserved? And what is SDRAM0 used for, seemingly nothing?