#include "mdfld_dsi_dpi.h"
#include "mdfld_output.h"
#include "mdfld_dsi_pkg_sender.h"
+#include "tc35876x-dsi-lvds.h"
#include <linux/pm_runtime.h>
#include <asm/intel_scu_ipc.h>
-#define MDFLD_DSI_BRIGHTNESS_MAX_LEVEL 100
-
/* get the CABC LABC from command line. */
static int CABC_control = 1;
static int LABC_control = 1;
mdfld_dsi_send_mcs_short(sender, write_ctrl_cabc, UI_IMAGE, 1, true);
}
-/**
- * Manage the mipi display brightness.
- * TODO: refine this interface later
- */
-#define PWM0DUTYCYCLE 0x67
-static void tc35876x_brightness_control(struct drm_device *dev, int pipe,
- int level)
-{
- int ret;
- u8 duty_val;
-
- level = clamp(level, 0, MDFLD_DSI_BRIGHTNESS_MAX_LEVEL);
-
- /* PWM duty cycle 0x00...0x63 corresponds to 0...99% */
- duty_val = level * 0x63 / MDFLD_DSI_BRIGHTNESS_MAX_LEVEL;
-
- PSB_DEBUG_ENTRY("level = %d, duty_val = %d\n", level, duty_val);
-
- ret = intel_scu_ipc_iowrite8(PWM0DUTYCYCLE, duty_val);
- if (ret)
- printk(KERN_ERR "[DISPLAY] %s: ipc write fail\n", __func__);
-}
-
void mdfld_dsi_brightness_control (struct drm_device *dev, int pipe, int level)
{
struct mdfld_dsi_pkg_sender * sender;
#include <asm/mrst.h>
+#define MDFLD_DSI_BRIGHTNESS_MAX_LEVEL 100
#ifdef DEBUG
#define CHECK_PIPE(pipe) ({ \
#include "mdfld_dsi_pkg_sender.h"
#include "tc35876x-dsi-lvds.h"
#include <linux/i2c/tc35876x.h>
+#include <linux/kernel.h>
+#include <asm/intel_scu_ipc.h>
static struct i2c_client *tc35876x_client;
static struct i2c_client *cmi_lcd_i2c_client;
tc35876x_regw(i2c, DSI_INTCLR, FLD_MASK(31, 30) | FLD_MASK(22, 0));
}
+#define PWM0DUTYCYCLE 0x67
+
+void tc35876x_brightness_control(struct drm_device *dev, int pipe,
+ int level)
+{
+ int ret;
+ u8 duty_val;
+
+ level = clamp(level, 0, MDFLD_DSI_BRIGHTNESS_MAX_LEVEL);
+
+ /* PWM duty cycle 0x00...0x63 corresponds to 0...99% */
+ duty_val = level * 0x63 / MDFLD_DSI_BRIGHTNESS_MAX_LEVEL;
+
+ printk(KERN_DEBUG "[DISPLAY] %s: level = %d, duty_val = %d\n", __func__,
+ level, duty_val);
+
+ ret = intel_scu_ipc_iowrite8(PWM0DUTYCYCLE, duty_val);
+ if (ret)
+ printk(KERN_ERR "[DISPLAY] %s: ipc write fail\n", __func__);
+}
+
void tc35876x_toshiba_bridge_panel_off(void)
{
struct tc35876x_platform_data *pdata;
void tc35876x_set_bridge_reset_state(int state);
void tc35876x_configure_lvds_bridge(struct drm_device *dev);
+void tc35876x_brightness_control(struct drm_device *dev, int pipe, int level);
void tc35876x_toshiba_bridge_panel_off(void);
void tc35876x_toshiba_bridge_panel_on(void);
void tc35876x_init(struct drm_device *dev, struct panel_funcs *pf);