blob: abbf9591b674c09dafe9c5d2071a03ae660d176e [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#pragma once
#include <inttypes.h>
namespace edid {
typedef struct timing_params {
uint32_t pixel_freq_10khz;
uint32_t horizontal_addressable;
uint32_t horizontal_front_porch;
uint32_t horizontal_sync_pulse;
uint32_t horizontal_blanking;
uint32_t vertical_addressable;
uint32_t vertical_front_porch;
uint32_t vertical_sync_pulse;
uint32_t vertical_blanking;
uint32_t flags;
static constexpr uint32_t kPositiveHsync = (1 << 1);
static constexpr uint32_t kPositiveVsync = (1 << 0);
static constexpr uint32_t kInterlaced = (1 << 2);
// Flag indicating alternating vblank lengths of |vertical_blanking|
// and |vertical_blanking| + 1. The +1 is obtained by adding .5 to
// the vfront and vback timings.
static constexpr uint32_t kAlternatingVblank = (1 << 3);
static constexpr uint32_t kDoubleClocked = (1 << 4);
uint32_t vertical_refresh_e2;
} timing_params_t;
namespace internal {
extern const timing_params_t* dmt_timings;
extern const uint32_t dmt_timings_count;
extern const timing_params_t* cea_timings;
extern const uint32_t cea_timings_count;
} // namespace internal
} // namespace edid