blob: dabc510a644f5f96bdafd790313da2c2d17c2b12 [file] [log] [blame]
/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
* Megachips DisplayPort to HDMI protocol converter / level shifter driver.
*/
#ifndef __CROS_EC_MCDP28X0_H
#define __CROS_EC_MCDP28X0_H
#define MCDP_OUTBUF_MAX 16
#define MCDP_INBUF_MAX 16
#define MCDP_CMD_GETINFO 0x40
#define MCDP_CMD_GETDEVID 0x30
#define MCDP_CMD_APPSTEST 0x12
#define MCDP_CMD_APPSTESTPARAM 0x11
#define MCDP_CMD_ACK 0x0c
/* packet header (2 bytes: length + cmd) + data + footer (1byte: checksum) */
#define MCDP_RSP_LEN(len) (len + 3)
#define MCDP_LEN_GETINFO 12
/* List of common error codes that can be returned */
enum mcdp_error_list {
MCDP_SUCCESS = 0,
MCDP_ERROR_TX_CNT,
MCDP_ERROR_TX_BODY,
MCDP_ERROR_TX_CHKSUM,
MCDP_ERROR_CHKSUM,
MCDP_ERROR_RX_BYTES,
MCDP_ERROR_RX_ACK,
};
/**
* Enable mcdp driver.
*/
void mcdp_enable(void);
/**
* Disable mcdp driver.
*/
void mcdp_disable(void);
/**
* get get information command from mcdp.
*
* @info pointer to mcdp_info structure
* @return zero if success, error code otherwise.
*/
int mcdp_get_info(struct mcdp_info *info);
#endif