blob: e5f82044a4049650fcca6c0e152a52fbcf5b184d [file] [log] [blame]
Thomas Gleixner1802d0b2019-05-27 08:55:21 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Jyri Sarha50211be2014-08-15 15:44:44 +03002/*
3 * hdmi-audio.c -- OMAP4+ DSS HDMI audio support library
4 *
Alexander A. Klimov7ed33ea2020-07-19 17:17:05 +02005 * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com
Jyri Sarha50211be2014-08-15 15:44:44 +03006 *
7 * Author: Jyri Sarha <jsarha@ti.com>
Jyri Sarha50211be2014-08-15 15:44:44 +03008 */
9
Jyri Sarha50211be2014-08-15 15:44:44 +030010#ifndef __OMAP_HDMI_AUDIO_H__
11#define __OMAP_HDMI_AUDIO_H__
12
Peter Ujfalusi5fd74472016-05-30 13:26:28 +030013#include <linux/platform_data/omapdss.h>
14
15struct omap_dss_audio {
16 struct snd_aes_iec958 *iec;
17 struct snd_cea_861_aud_if *cea;
18};
19
Jyri Sarha50211be2014-08-15 15:44:44 +030020struct omap_hdmi_audio_ops {
21 int (*audio_startup)(struct device *dev,
22 void (*abort_cb)(struct device *dev));
23 int (*audio_shutdown)(struct device *dev);
24 int (*audio_start)(struct device *dev);
25 void (*audio_stop)(struct device *dev);
26 int (*audio_config)(struct device *dev,
27 struct omap_dss_audio *dss_audio);
28};
29
30/* HDMI audio initalization data */
31struct omap_hdmi_audio_pdata {
32 struct device *dev;
Laurent Pinchartd20fa5a2017-08-11 16:49:04 +030033 unsigned int version;
Jyri Sarha50211be2014-08-15 15:44:44 +030034 phys_addr_t audio_dma_addr;
35
36 const struct omap_hdmi_audio_ops *ops;
37};
38
39#endif /* __OMAP_HDMI_AUDIO_H__ */