1/*
2 * SH-Mobile High-Definition Multimedia Interface (HDMI)
3 *
4 * Copyright (C) 2010, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#ifndef SH_MOBILE_HDMI_H
12#define SH_MOBILE_HDMI_H
13
14struct sh_mobile_lcdc_chan_cfg;
15struct device;
16struct clk;
17
18/*
19 * flags format
20 *
21 * 0x00000CBA
22 *
23 * A: Audio source select
24 * B: Int output option
25 * C: Chip specific option
26 */
27
28/* Audio source select */
29#define HDMI_SND_SRC_MASK	(0xF << 0)
30#define HDMI_SND_SRC_I2S	(0 << 0) /* default */
31#define HDMI_SND_SRC_SPDIF	(1 << 0)
32#define HDMI_SND_SRC_DSD	(2 << 0)
33#define HDMI_SND_SRC_HBR	(3 << 0)
34
35/* Int output option */
36#define HDMI_OUTPUT_PUSH_PULL	(1 << 4) /* System control : output mode */
37#define HDMI_OUTPUT_POLARITY_HI	(1 << 5) /* System control : output polarity */
38
39/* Chip specific option */
40#define HDMI_32BIT_REG		(1 << 8)
41#define HDMI_HAS_HTOP1		(1 << 9)
42
43struct sh_mobile_hdmi_info {
44	unsigned int			 flags;
45	long (*clk_optimize_parent)(unsigned long target, unsigned long *best_freq,
46				    unsigned long *parent_freq);
47};
48
49#endif
50