imx8m: add SAI2,5,6,7

Made the remaining imx8mp SAI peripherals available for use.
SAI4 does not exist.

Signed-off-by: Alexander Boehm <aboehm@eurofunk.com>
This commit is contained in:
Alexander Boehm 2023-05-24 19:03:35 +02:00 committed by Liam Girdwood
parent d176d09529
commit e70175eb89
2 changed files with 98 additions and 0 deletions

View File

@ -44,9 +44,21 @@
#define SAI_1_BASE 0x30c10000
#define SAI_1_SIZE 0x00010000
#define SAI_2_BASE 0x30c20000
#define SAI_2_SIZE 0x00010000
#define SAI_3_BASE 0x30c30000
#define SAI_3_SIZE 0x00010000
#define SAI_5_BASE 0x30c50000
#define SAI_5_SIZE 0x00010000
#define SAI_6_BASE 0x30c60000
#define SAI_6_SIZE 0x00010000
#define SAI_7_BASE 0x30c80000
#define SAI_7_SIZE 0x00010000
#define UUID_ENTRY_ELF_BASE 0x1FFFA000
#define UUID_ENTRY_ELF_SIZE 0x6000

View File

@ -34,6 +34,28 @@ static SHARED_DATA struct dai sai[] = {
},
.drv = &sai_driver,
},
{
.index = 2,
.plat_data = {
.base = SAI_2_BASE,
.fifo[SOF_IPC_STREAM_PLAYBACK] = {
.offset = SAI_2_BASE + REG_SAI_TDR0,
.depth = 128, /* in 4 bytes words */
.watermark = 64, /* half the depth */
/* Handshake is SDMA hardware event */
.handshake = 3,
},
.fifo[SOF_IPC_STREAM_CAPTURE] = {
.offset = SAI_2_BASE + REG_SAI_RDR0,
.depth = 128, /* in 4 bytes words */
.watermark = 64, /* half the depth */
.handshake = 2,
},
},
.drv = &sai_driver,
},
{
.index = 3,
.plat_data = {
@ -54,6 +76,70 @@ static SHARED_DATA struct dai sai[] = {
},
.drv = &sai_driver,
},
{
.index = 5,
.plat_data = {
.base = SAI_5_BASE,
.fifo[SOF_IPC_STREAM_PLAYBACK] = {
.offset = SAI_5_BASE + REG_SAI_TDR0,
.depth = 128, /* in 4 bytes words */
.watermark = 64, /* half the depth */
/* Handshake is SDMA hardware event */
.handshake = 9,
},
.fifo[SOF_IPC_STREAM_CAPTURE] = {
.offset = SAI_5_BASE + REG_SAI_RDR0,
.depth = 128, /* in 4 bytes words */
.watermark = 64, /* half the depth */
.handshake = 8,
},
},
.drv = &sai_driver,
},
{
.index = 6,
.plat_data = {
.base = SAI_6_BASE,
.fifo[SOF_IPC_STREAM_PLAYBACK] = {
.offset = SAI_6_BASE + REG_SAI_TDR0,
.depth = 128, /* in 4 bytes words */
.watermark = 64, /* half the depth */
/* Handshake is SDMA hardware event */
.handshake = 11,
},
.fifo[SOF_IPC_STREAM_CAPTURE] = {
.offset = SAI_6_BASE + REG_SAI_RDR0,
.depth = 128, /* in 4 bytes words */
.watermark = 64, /* half the depth */
.handshake = 10,
},
},
.drv = &sai_driver,
},
{
.index = 7,
.plat_data = {
.base = SAI_7_BASE,
.fifo[SOF_IPC_STREAM_PLAYBACK] = {
.offset = SAI_7_BASE + REG_SAI_TDR0,
.depth = 128, /* in 4 bytes words */
.watermark = 64, /* half the depth */
/* Handshake is SDMA hardware event */
.handshake = 13,
},
.fifo[SOF_IPC_STREAM_CAPTURE] = {
.offset = SAI_7_BASE + REG_SAI_RDR0,
.depth = 128, /* in 4 bytes words */
.watermark = 64, /* half the depth */
.handshake = 12,
},
},
.drv = &sai_driver,
},
};
const struct dai_type_info dti[] = {