162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * hdmi-audio.c -- OMAP4+ DSS HDMI audio support library 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Author: Jyri Sarha <jsarha@ti.com> 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#ifndef __OMAP_HDMI_AUDIO_H__ 1162306a36Sopenharmony_ci#define __OMAP_HDMI_AUDIO_H__ 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include <linux/platform_data/omapdss.h> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistruct omap_dss_audio { 1662306a36Sopenharmony_ci struct snd_aes_iec958 *iec; 1762306a36Sopenharmony_ci struct snd_cea_861_aud_if *cea; 1862306a36Sopenharmony_ci}; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cistruct omap_hdmi_audio_ops { 2162306a36Sopenharmony_ci int (*audio_startup)(struct device *dev, 2262306a36Sopenharmony_ci void (*abort_cb)(struct device *dev)); 2362306a36Sopenharmony_ci int (*audio_shutdown)(struct device *dev); 2462306a36Sopenharmony_ci int (*audio_start)(struct device *dev); 2562306a36Sopenharmony_ci void (*audio_stop)(struct device *dev); 2662306a36Sopenharmony_ci int (*audio_config)(struct device *dev, 2762306a36Sopenharmony_ci struct omap_dss_audio *dss_audio); 2862306a36Sopenharmony_ci}; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci/* HDMI audio initalization data */ 3162306a36Sopenharmony_cistruct omap_hdmi_audio_pdata { 3262306a36Sopenharmony_ci struct device *dev; 3362306a36Sopenharmony_ci unsigned int version; 3462306a36Sopenharmony_ci phys_addr_t audio_dma_addr; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci const struct omap_hdmi_audio_ops *ops; 3762306a36Sopenharmony_ci}; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci#endif /* __OMAP_HDMI_AUDIO_H__ */ 40