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