11802d0beSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 250211be8SJyri Sarha /* 350211be8SJyri Sarha * hdmi-audio.c -- OMAP4+ DSS HDMI audio support library 450211be8SJyri Sarha * 5*7ed33ea6SAlexander A. Klimov * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com 650211be8SJyri Sarha * 750211be8SJyri Sarha * Author: Jyri Sarha <jsarha@ti.com> 850211be8SJyri Sarha */ 950211be8SJyri Sarha 1050211be8SJyri Sarha #ifndef __OMAP_HDMI_AUDIO_H__ 1150211be8SJyri Sarha #define __OMAP_HDMI_AUDIO_H__ 1250211be8SJyri Sarha 135fd7447aSPeter Ujfalusi #include <linux/platform_data/omapdss.h> 145fd7447aSPeter Ujfalusi 155fd7447aSPeter Ujfalusi struct omap_dss_audio { 165fd7447aSPeter Ujfalusi struct snd_aes_iec958 *iec; 175fd7447aSPeter Ujfalusi struct snd_cea_861_aud_if *cea; 185fd7447aSPeter Ujfalusi }; 195fd7447aSPeter Ujfalusi 2050211be8SJyri Sarha struct omap_hdmi_audio_ops { 2150211be8SJyri Sarha int (*audio_startup)(struct device *dev, 2250211be8SJyri Sarha void (*abort_cb)(struct device *dev)); 2350211be8SJyri Sarha int (*audio_shutdown)(struct device *dev); 2450211be8SJyri Sarha int (*audio_start)(struct device *dev); 2550211be8SJyri Sarha void (*audio_stop)(struct device *dev); 2650211be8SJyri Sarha int (*audio_config)(struct device *dev, 2750211be8SJyri Sarha struct omap_dss_audio *dss_audio); 2850211be8SJyri Sarha }; 2950211be8SJyri Sarha 3050211be8SJyri Sarha /* HDMI audio initalization data */ 3150211be8SJyri Sarha struct omap_hdmi_audio_pdata { 3250211be8SJyri Sarha struct device *dev; 33d20fa5a0SLaurent Pinchart unsigned int version; 3450211be8SJyri Sarha phys_addr_t audio_dma_addr; 3550211be8SJyri Sarha 3650211be8SJyri Sarha const struct omap_hdmi_audio_ops *ops; 3750211be8SJyri Sarha }; 3850211be8SJyri Sarha 3950211be8SJyri Sarha #endif /* __OMAP_HDMI_AUDIO_H__ */ 40