Merge branch develop-3.10
[firefly-linux-kernel-4.4.55.git] / include / video / sh_mobile_hdmi.h
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
14 struct sh_mobile_lcdc_chan_cfg;
15 struct device;
16 struct 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
43 struct 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