162306a36Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2019 NXP 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Author: Daniel Baluta <daniel.baluta@nxp.com> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef __INCLUDE_SOUND_SOF_DAI_IMX_H__ 962306a36Sopenharmony_ci#define __INCLUDE_SOUND_SOF_DAI_IMX_H__ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <sound/sof/header.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/* ESAI Configuration Request - SOF_IPC_DAI_ESAI_CONFIG */ 1462306a36Sopenharmony_cistruct sof_ipc_dai_esai_params { 1562306a36Sopenharmony_ci struct sof_ipc_hdr hdr; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci /* MCLK */ 1862306a36Sopenharmony_ci uint16_t reserved1; 1962306a36Sopenharmony_ci uint16_t mclk_id; 2062306a36Sopenharmony_ci uint32_t mclk_direction; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci uint32_t mclk_rate; /* MCLK frequency in Hz */ 2362306a36Sopenharmony_ci uint32_t fsync_rate; /* FSYNC frequency in Hz */ 2462306a36Sopenharmony_ci uint32_t bclk_rate; /* BCLK frequency in Hz */ 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci /* TDM */ 2762306a36Sopenharmony_ci uint32_t tdm_slots; 2862306a36Sopenharmony_ci uint32_t rx_slots; 2962306a36Sopenharmony_ci uint32_t tx_slots; 3062306a36Sopenharmony_ci uint16_t tdm_slot_width; 3162306a36Sopenharmony_ci uint16_t reserved2; /* alignment */ 3262306a36Sopenharmony_ci} __packed; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci/* SAI Configuration Request - SOF_IPC_DAI_SAI_CONFIG */ 3562306a36Sopenharmony_cistruct sof_ipc_dai_sai_params { 3662306a36Sopenharmony_ci struct sof_ipc_hdr hdr; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci /* MCLK */ 3962306a36Sopenharmony_ci uint16_t reserved1; 4062306a36Sopenharmony_ci uint16_t mclk_id; 4162306a36Sopenharmony_ci uint32_t mclk_direction; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci uint32_t mclk_rate; /* MCLK frequency in Hz */ 4462306a36Sopenharmony_ci uint32_t fsync_rate; /* FSYNC frequency in Hz */ 4562306a36Sopenharmony_ci uint32_t bclk_rate; /* BCLK frequency in Hz */ 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci /* TDM */ 4862306a36Sopenharmony_ci uint32_t tdm_slots; 4962306a36Sopenharmony_ci uint32_t rx_slots; 5062306a36Sopenharmony_ci uint32_t tx_slots; 5162306a36Sopenharmony_ci uint16_t tdm_slot_width; 5262306a36Sopenharmony_ci uint16_t reserved2; /* alignment */ 5362306a36Sopenharmony_ci} __packed; 5462306a36Sopenharmony_ci#endif 55