blob: 63d20efa254a045d53993e146e6e2f33adf50c16 [file] [log] [blame]
Guennadi Liakhovetski6011bde2010-07-21 10:13:21 +00001/*
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;
Guennadi Liakhovetskic36940e2010-11-02 11:27:16 +000016struct clk;
Guennadi Liakhovetski6011bde2010-07-21 10:13:21 +000017
Kuninori Morimoto6d865772010-08-31 14:46:41 +090018/*
19 * flags format
20 *
Kuninori Morimotodb6668d2012-05-07 21:07:49 -070021 * 0x00000CBA
Kuninori Morimoto6d865772010-08-31 14:46:41 +090022 *
23 * A: Audio source select
Kuninori Morimotoe0defc82012-05-07 21:07:20 -070024 * B: Int output option
Kuninori Morimotodb6668d2012-05-07 21:07:49 -070025 * C: Chip specific option
Kuninori Morimoto6d865772010-08-31 14:46:41 +090026 */
27
28/* Audio source select */
Kuninori Morimotodec6aa42010-09-09 11:48:01 +090029#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)
Kuninori Morimoto6d865772010-08-31 14:46:41 +090034
Kuninori Morimotoe0defc82012-05-07 21:07:20 -070035/* 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
Kuninori Morimotodb6668d2012-05-07 21:07:49 -070039/* Chip specific option */
40#define HDMI_32BIT_REG (1 << 8)
Kuninori Morimotoc932b272012-05-07 21:08:17 -070041#define HDMI_HAS_HTOP1 (1 << 9)
Kuninori Morimotoe0defc82012-05-07 21:07:20 -070042
Guennadi Liakhovetski6011bde2010-07-21 10:13:21 +000043struct sh_mobile_hdmi_info {
Kuninori Morimoto6d865772010-08-31 14:46:41 +090044 unsigned int flags;
Guennadi Liakhovetskic36940e2010-11-02 11:27:16 +000045 long (*clk_optimize_parent)(unsigned long target, unsigned long *best_freq,
46 unsigned long *parent_freq);
Guennadi Liakhovetski6011bde2010-07-21 10:13:21 +000047};
48
49#endif