File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -68,6 +68,9 @@ enum sof_ipc_dai_type {
6868 SOF_DAI_INTEL_ALH , /**< Intel ALH */
6969 SOF_DAI_IMX_SAI , /**< i.MX SAI */
7070 SOF_DAI_IMX_ESAI , /**< i.MX ESAI */
71+ SOF_DAI_AMD_BT , /**< Amd BT */
72+ SOF_DAI_AMD_SP , /**< Amd SP */
73+ SOF_DAI_AMD_DMIC /**< Amd DMIC */
7174};
7275
7376/* general purpose DAI configuration */
Original file line number Diff line number Diff line change @@ -47,6 +47,9 @@ struct comp_buffer;
4747#define DMA_CAP_HDA BIT(0) /**< HDA DMA */
4848#define DMA_CAP_GP_LP BIT(1) /**< GP LP DMA */
4949#define DMA_CAP_GP_HP BIT(2) /**< GP HP DMA */
50+ #define DMA_CAP_BT BIT(3) /**< DMA I2S */
51+ #define DMA_CAP_SP BIT(4) /**< SP DMA */
52+ #define DMA_CAP_DMIC BIT(5) /**< ACP DMA DMIC > */
5053
5154/* DMA dev type bitmasks used to define the type of DMA */
5255
@@ -58,6 +61,8 @@ struct comp_buffer;
5861#define DMA_DEV_ALH BIT(5) /**< connectable to ALH link */
5962#define DMA_DEV_SAI BIT(6) /**< connectable to SAI fifo */
6063#define DMA_DEV_ESAI BIT(7) /**< connectable to ESAI fifo */
64+ #define DMA_DEV_BT BIT(8) /**< connectable to ACP BT I2S */
65+ #define DMA_DEV_SP BIT(9) /**< connectable to ACP SP I2S */
6166
6267/* DMA access privilege flag */
6368#define DMA_ACCESS_EXCLUSIVE 1
Original file line number Diff line number Diff line change @@ -57,6 +57,18 @@ int dai_config_dma_channel(struct comp_dev *dev, void *spec_config)
5757 dd -> stream_id );
5858 channel = EDMA_HS_GET_CHAN (handshake );
5959 break ;
60+ case SOF_DAI_AMD_BT :
61+ channel = dai_get_handshake (dd -> dai , dai -> direction ,
62+ dd -> stream_id );
63+ break ;
64+ case SOF_DAI_AMD_SP :
65+ channel = dai_get_handshake (dd -> dai , dai -> direction ,
66+ dd -> stream_id );
67+ break ;
68+ case SOF_DAI_AMD_DMIC :
69+ channel = dai_get_handshake (dd -> dai , dai -> direction ,
70+ dd -> stream_id );
71+ break ;
6072 default :
6173 /* other types of DAIs not handled for now */
6274 comp_err (dev , "dai_config_dma_channel(): Unknown dai type %d" ,
@@ -133,6 +145,16 @@ int ipc_dai_data_config(struct comp_dev *dev)
133145 dd -> config .burst_elems =
134146 dd -> dai -> plat_data .fifo [dai -> direction ].depth ;
135147 break ;
148+ case SOF_DAI_AMD_BT :
149+ dev -> ipc_config .frame_fmt = SOF_IPC_FRAME_S16_LE ;
150+ break ;
151+ case SOF_DAI_AMD_SP :
152+ dev -> ipc_config .frame_fmt = SOF_IPC_FRAME_S16_LE ;
153+ break ;
154+ case SOF_DAI_AMD_DMIC :
155+ dev -> ipc_config .frame_fmt = SOF_IPC_FRAME_S32_LE ;
156+ dd -> dma_buffer -> stream .frame_fmt = dev -> ipc_config .frame_fmt ;
157+ break ;
136158 default :
137159 /* other types of DAIs not handled for now */
138160 comp_warn (dev , "dai_data_config(): Unknown dai type %d" ,
You can’t perform that action at this time.
0 commit comments