mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
04e554807c
Change-Id: Ibead64ce2e901dede2ddd1b86088b88f2350ce92 Signed-off-by: Duy Truong <dtruong@codeaurora.org>
106 lines
2.6 KiB
C
106 lines
2.6 KiB
C
/* Copyright (c) 2012, The Linux Foundation. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 and
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef __MHL_MSM_H__
|
|
#define __MHL_MSM_H__
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/platform_device.h>
|
|
#include <mach/board.h>
|
|
#include <linux/mhl_devcap.h>
|
|
#include <linux/mhl_defs.h>
|
|
|
|
#define MHL_DEVICE_NAME "sii8334"
|
|
#define MHL_DRIVER_NAME "sii8334"
|
|
|
|
#define HPD_UP 1
|
|
#define HPD_DOWN 0
|
|
|
|
enum discovery_result_enum {
|
|
MHL_DISCOVERY_RESULT_USB = 0,
|
|
MHL_DISCOVERY_RESULT_MHL,
|
|
};
|
|
|
|
/* USB driver interface */
|
|
|
|
#ifdef CONFIG_FB_MSM_HDMI_MHL_8334
|
|
/* mhl_device_discovery */
|
|
extern int mhl_device_discovery(const char *name, int *result);
|
|
|
|
/* - register|unregister MHL cable plug callback. */
|
|
extern int mhl_register_callback
|
|
(const char *name, void (*callback)(int online));
|
|
extern int mhl_unregister_callback(const char *name);
|
|
#else
|
|
static inline int mhl_device_discovery(const char *name, int *result)
|
|
{
|
|
return -ENODEV;
|
|
}
|
|
|
|
static inline int
|
|
mhl_register_callback(const char *name, void (*callback)(int online))
|
|
{
|
|
return -ENODEV;
|
|
}
|
|
|
|
static inline int mhl_unregister_callback(const char *name)
|
|
{
|
|
return -ENODEV;
|
|
}
|
|
#endif
|
|
|
|
struct mhl_msm_state_t {
|
|
struct i2c_client *i2c_client;
|
|
struct i2c_driver *i2c_driver;
|
|
uint8_t cur_state;
|
|
uint8_t chip_rev_id;
|
|
struct msm_mhl_platform_data *mhl_data;
|
|
/* Device Discovery stuff */
|
|
int mhl_mode;
|
|
struct completion rgnd_done;
|
|
};
|
|
|
|
enum {
|
|
TX_PAGE_TPI = 0x00,
|
|
TX_PAGE_L0 = 0x01,
|
|
TX_PAGE_L1 = 0x02,
|
|
TX_PAGE_2 = 0x03,
|
|
TX_PAGE_3 = 0x04,
|
|
TX_PAGE_CBUS = 0x05,
|
|
TX_PAGE_DDC_EDID = 0x06,
|
|
TX_PAGE_DDC_SEGM = 0x07,
|
|
};
|
|
|
|
enum mhl_st_type {
|
|
POWER_STATE_D0_NO_MHL = 0,
|
|
POWER_STATE_D0_MHL = 2,
|
|
POWER_STATE_D3 = 3,
|
|
};
|
|
|
|
enum {
|
|
DEV_PAGE_TPI_0 = (0x72),
|
|
DEV_PAGE_TX_L0_0 = (0x72),
|
|
DEV_PAGE_TPI_1 = (0x76),
|
|
DEV_PAGE_TX_L0_1 = (0x76),
|
|
DEV_PAGE_TX_L1_0 = (0x7A),
|
|
DEV_PAGE_TX_L1_1 = (0x7E),
|
|
DEV_PAGE_TX_2_0 = (0x92),
|
|
DEV_PAGE_TX_2_1 = (0x96),
|
|
DEV_PAGE_TX_3_0 = (0x9A),
|
|
DEV_PAGE_TX_3_1 = (0x9E),
|
|
DEV_PAGE_CBUS = (0xC8),
|
|
DEV_PAGE_DDC_EDID = (0xA0),
|
|
DEV_PAGE_DDC_SEGM = (0x60),
|
|
};
|
|
|
|
#endif /* __MHL_MSM_H__ */
|