138032Speter/* SPDX-License-Identifier: GPL-2.0-only */
2168520Sgshapiro/*
364565Sgshapiro * hdmi-audio.c -- OMAP4+ DSS HDMI audio support library
438032Speter *
538032Speter * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com
638032Speter *
738032Speter * Author: Jyri Sarha <jsarha@ti.com>
838032Speter */
938032Speter
1038032Speter#ifndef __OMAP_HDMI_AUDIO_H__
1138032Speter#define __OMAP_HDMI_AUDIO_H__
1238032Speter
1338032Speter#include <linux/platform_data/omapdss.h>
1490795Sgshapiro
15168520Sgshapirostruct omap_dss_audio {
1638032Speter	struct snd_aes_iec958 *iec;
17244833Sgshapiro	struct snd_cea_861_aud_if *cea;
1864565Sgshapiro};
19168520Sgshapiro
20111826Sgshapirostruct omap_hdmi_audio_ops {
2164565Sgshapiro	int (*audio_startup)(struct device *dev,
22157006Sgshapiro			     void (*abort_cb)(struct device *dev));
2364565Sgshapiro	int (*audio_shutdown)(struct device *dev);
2438032Speter	int (*audio_start)(struct device *dev);
2538032Speter	void (*audio_stop)(struct device *dev);
2638032Speter	int (*audio_config)(struct device *dev,
2738032Speter			    struct omap_dss_audio *dss_audio);
2838032Speter};
2938032Speter
3038032Speter/* HDMI audio initalization data */
3138032Speterstruct omap_hdmi_audio_pdata {
3238032Speter	struct device *dev;
3338032Speter	unsigned int version;
3438032Speter	phys_addr_t audio_dma_addr;
3538032Speter
3638032Speter	const struct omap_hdmi_audio_ops *ops;
3738032Speter};
3838032Speter
3938032Speter#endif /* __OMAP_HDMI_AUDIO_H__ */
4038032Speter