Loading...
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Copyright (C) 2016 BayLibre, SAS
4 * Author: Neil Armstrong <narmstrong@baylibre.com>
5 */
6
7/* Video Clock */
8
9#ifndef __MESON_VCLK_H
10#define __MESON_VCLK_H
11
12#include <drm/drm_modes.h>
13
14struct meson_drm;
15
16enum {
17 MESON_VCLK_TARGET_CVBS = 0,
18 MESON_VCLK_TARGET_HDMI = 1,
19 MESON_VCLK_TARGET_DMT = 2,
20};
21
22/* 27MHz is the CVBS Pixel Clock */
23#define MESON_VCLK_CVBS 27000
24
25enum drm_mode_status
26meson_vclk_dmt_supported_freq(struct meson_drm *priv, unsigned int freq);
27enum drm_mode_status
28meson_vclk_vic_supported_freq(struct meson_drm *priv, unsigned int phy_freq,
29 unsigned int vclk_freq);
30
31void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
32 unsigned int phy_freq, unsigned int vclk_freq,
33 unsigned int venc_freq, unsigned int dac_freq,
34 bool hdmi_use_enci);
35
36#endif /* __MESON_VCLK_H */
1/*
2 * Copyright (C) 2016 BayLibre, SAS
3 * Author: Neil Armstrong <narmstrong@baylibre.com>
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation; either version 2 of the
8 * License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, see <http://www.gnu.org/licenses/>.
17 */
18
19/* Video Clock */
20
21#ifndef __MESON_VCLK_H
22#define __MESON_VCLK_H
23
24enum {
25 MESON_VCLK_TARGET_CVBS = 0,
26};
27
28/* 27MHz is the CVBS Pixel Clock */
29#define MESON_VCLK_CVBS 27000
30
31void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
32 unsigned int freq);
33
34#endif /* __MESON_VCLK_H */