1 /* SPDX-License-Identifier: BSD-3-Clause
2  *
3  * Copyright 2019 NXP
4  *
5  * Author: Daniel Baluta <daniel.baluta@nxp.com>
6  */
7 
8 #ifndef __IPC_DAI_IMX_H__
9 #define __IPC_DAI_IMX_H__
10 
11 #include <ipc/header.h>
12 #include <stdint.h>
13 
14 /* ESAI Configuration Request - SOF_IPC_DAI_ESAI_CONFIG */
15 struct sof_ipc_dai_esai_params {
16 	uint32_t reserved0;
17 
18 	/* MCLK */
19 	uint16_t reserved1;
20 	uint16_t mclk_id;
21 	uint32_t mclk_direction;
22 
23 	uint32_t mclk_rate; /* MCLK frequency in Hz */
24 	uint32_t fsync_rate;
25 	uint32_t bclk_rate;
26 
27 	/* TDM */
28 	uint32_t tdm_slots;
29 	uint32_t rx_slots;
30 	uint32_t tx_slots;
31 	uint16_t tdm_slot_width;
32 	uint16_t reserved2;	/* alignment */
33 
34 } __attribute__((packed, aligned(4)));
35 
36 /* SAI Configuration Request - SOF_IPC_DAI_SAI_CONFIG */
37 struct sof_ipc_dai_sai_params {
38 	uint32_t reserved0;
39 
40 	/* MCLK */
41 	uint16_t reserved1;
42 	uint16_t mclk_id;
43 	uint32_t mclk_direction;
44 
45 	uint32_t mclk_rate; /* MCLK frequency in Hz */
46 	uint32_t fsync_rate;
47 	uint32_t bclk_rate;
48 
49 	/* TDM */
50 	uint32_t tdm_slots;
51 	uint32_t rx_slots;
52 	uint32_t tx_slots;
53 	uint16_t tdm_slot_width;
54 	uint16_t reserved2;	/* alignment */
55 
56 } __attribute__((packed, aligned(4)));
57 #endif /* __IPC_DAI_IMX_H__ */
58