summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-tegra/board-ardbeg-panel.c51
-rw-r--r--arch/arm/mach-tegra/board-dalmore-panel.c51
-rw-r--r--arch/arm/mach-tegra/board-loki-panel.c50
-rw-r--r--arch/arm/mach-tegra/board-macallan-panel.c51
-rw-r--r--arch/arm/mach-tegra/board-pismo-panel.c53
-rw-r--r--arch/arm/mach-tegra/board-pluto-panel.c51
-rw-r--r--arch/arm/mach-tegra/board-roth-panel.c51
-rw-r--r--arch/arm/mach-tegra/panel-a-1080p-11-6.c50
-rw-r--r--arch/arm/mach-tegra/panel-a-1080p-14-0.c50
-rw-r--r--arch/arm/mach-tegra/panel-a-edp-1080p-14-0.c50
-rw-r--r--arch/arm/mach-tegra/panel-c-lvds-1366-14.c50
-rw-r--r--arch/arm/mach-tegra/panel-j-1440-810-5-8.c49
-rw-r--r--arch/arm/mach-tegra/panel-j-720p-4-7.c50
-rw-r--r--arch/arm/mach-tegra/panel-l-720p-5-loki.c49
-rw-r--r--arch/arm/mach-tegra/panel-l-720p-5.c51
-rw-r--r--arch/arm/mach-tegra/panel-lgd-wxga-7-0.c50
-rw-r--r--arch/arm/mach-tegra/panel-p-wuxga-10-1.c50
-rw-r--r--arch/arm/mach-tegra/panel-s-1080p-5.c51
-rw-r--r--arch/arm/mach-tegra/panel-s-edp-uhdtv-15-6.c50
-rw-r--r--arch/arm/mach-tegra/panel-s-edp-wqxgap-15-6.c50
-rw-r--r--arch/arm/mach-tegra/panel-s-wqxga-10-1.c50
21 files changed, 701 insertions, 357 deletions
diff --git a/arch/arm/mach-tegra/board-ardbeg-panel.c b/arch/arm/mach-tegra/board-ardbeg-panel.c
index 8e20fde1c4bd..30fb08eb02ad 100644
--- a/arch/arm/mach-tegra/board-ardbeg-panel.c
+++ b/arch/arm/mach-tegra/board-ardbeg-panel.c
@@ -439,55 +439,6 @@ static struct platform_device ardbeg_nvmap_device = {
},
};
-static struct tegra_dc_sd_settings ardbeg_sd_settings = {
- .enable = 1, /* enabled by default. */
- .use_auto_pwm = false,
- .hw_update_delay = 0,
- .bin_width = -1,
- .aggressiveness = 5,
- .use_vid_luma = false,
- .phase_in_adjustments = 0,
- .k_limit_enable = true,
- .k_limit = 200,
- .sd_window_enable = false,
- .soft_clipping_enable = true,
- /* Low soft clipping threshold to compensate for aggressive k_limit */
- .soft_clipping_threshold = 128,
- .smooth_k_enable = false,
- .smooth_k_incr = 64,
- /* Default video coefficients */
- .coeff = {5, 9, 2},
- .fc = {0, 0},
- /* Immediate backlight changes */
- .blp = {1024, 255},
- /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
- /* Default BL TF */
- .bltf = {
- {
- {57, 65, 73, 82},
- {92, 103, 114, 125},
- {138, 150, 164, 178},
- {193, 208, 224, 241},
- },
- },
- /* Default LUT */
- .lut = {
- {
- {255, 255, 255},
- {199, 199, 199},
- {153, 153, 153},
- {116, 116, 116},
- {85, 85, 85},
- {59, 59, 59},
- {36, 36, 36},
- {17, 17, 17},
- {0, 0, 0},
- },
- },
- .sd_brightness = &sd_brightness,
- .use_vpulse2 = true,
-};
-
/* can be called multiple times */
static struct tegra_panel *ardbeg_panel_configure(struct board_info *board_out,
u8 *dsi_instance_out)
@@ -597,8 +548,6 @@ int __init ardbeg_panel_init(void)
struct resource __maybe_unused *res;
struct platform_device *phost1x = NULL;
- sd_settings = ardbeg_sd_settings;
-
ardbeg_panel_select();
#ifdef CONFIG_TEGRA_NVMAP
diff --git a/arch/arm/mach-tegra/board-dalmore-panel.c b/arch/arm/mach-tegra/board-dalmore-panel.c
index 332514ac7a4a..eed1d42e2299 100644
--- a/arch/arm/mach-tegra/board-dalmore-panel.c
+++ b/arch/arm/mach-tegra/board-dalmore-panel.c
@@ -388,55 +388,6 @@ static struct platform_device dalmore_nvmap_device = {
},
};
-static struct tegra_dc_sd_settings dalmore_sd_settings = {
- .enable = 1, /* enabled by default. */
- .use_auto_pwm = false,
- .hw_update_delay = 0,
- .bin_width = -1,
- .aggressiveness = 5,
- .use_vid_luma = false,
- .phase_in_adjustments = 0,
- .k_limit_enable = true,
- .k_limit = 200,
- .sd_window_enable = false,
- .soft_clipping_enable = true,
- /* Low soft clipping threshold to compensate for aggressive k_limit */
- .soft_clipping_threshold = 128,
- .smooth_k_enable = true,
- .smooth_k_incr = 4,
- /* Default video coefficients */
- .coeff = {5, 9, 2},
- .fc = {0, 0},
- /* Immediate backlight changes */
- .blp = {1024, 255},
- /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
- /* Default BL TF */
- .bltf = {
- {
- {57, 65, 73, 82},
- {92, 103, 114, 125},
- {138, 150, 164, 178},
- {193, 208, 224, 241},
- },
- },
- /* Default LUT */
- .lut = {
- {
- {255, 255, 255},
- {199, 199, 199},
- {153, 153, 153},
- {116, 116, 116},
- {85, 85, 85},
- {59, 59, 59},
- {36, 36, 36},
- {17, 17, 17},
- {0, 0, 0},
- },
- },
- .sd_brightness = &sd_brightness,
- .use_vpulse2 = true,
-};
-
static void dalmore_panel_select(void)
{
struct tegra_panel *panel = NULL;
@@ -503,8 +454,6 @@ int __init dalmore_panel_init(void)
struct resource __maybe_unused *res;
struct platform_device *phost1x = NULL;
- sd_settings = dalmore_sd_settings;
-
dalmore_panel_select();
#ifdef CONFIG_TEGRA_NVMAP
diff --git a/arch/arm/mach-tegra/board-loki-panel.c b/arch/arm/mach-tegra/board-loki-panel.c
index a2ac26328081..0f9f22d85c6a 100644
--- a/arch/arm/mach-tegra/board-loki-panel.c
+++ b/arch/arm/mach-tegra/board-loki-panel.c
@@ -371,54 +371,6 @@ static struct platform_device loki_nvmap_device = {
},
};
-static struct tegra_dc_sd_settings loki_sd_settings = {
- .enable = 0, /* disabled by default. */
- .use_auto_pwm = false,
- .hw_update_delay = 0,
- .bin_width = -1,
- .aggressiveness = 1,
- .use_vid_luma = false,
- .phase_in_adjustments = 0,
- .k_limit_enable = true,
- .k_limit = 180,
- .sd_window_enable = false,
- .soft_clipping_enable = true,
- /* Low soft clipping threshold to compensate for aggressive k_limit */
- .soft_clipping_threshold = 128,
- .smooth_k_enable = true,
- .smooth_k_incr = 128,
- /* Default video coefficients */
- .coeff = {5, 9, 2},
- .fc = {0, 0},
- /* Immediate backlight changes */
- .blp = {1024, 255},
- /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
- /* Default BL TF */
- .bltf = {
- {
- {57, 65, 73, 82},
- {92, 103, 114, 125},
- {138, 150, 164, 178},
- {193, 208, 224, 241},
- },
- },
- /* Default LUT */
- .lut = {
- {
- {255, 255, 255},
- {199, 199, 199},
- {153, 153, 153},
- {116, 116, 116},
- {85, 85, 85},
- {59, 59, 59},
- {36, 36, 36},
- {17, 17, 17},
- {0, 0, 0},
- },
- },
- .sd_brightness = &sd_brightness,
-};
-
static void loki_panel_select(void)
{
struct tegra_panel *panel;
@@ -470,8 +422,6 @@ int __init loki_panel_init(int board_id)
struct resource __maybe_unused *res;
struct platform_device *phost1x = NULL;
- sd_settings = loki_sd_settings;
-
loki_panel_select();
#ifdef CONFIG_TEGRA_NVMAP
diff --git a/arch/arm/mach-tegra/board-macallan-panel.c b/arch/arm/mach-tegra/board-macallan-panel.c
index 2b10b2b577f3..4db92d8d3b64 100644
--- a/arch/arm/mach-tegra/board-macallan-panel.c
+++ b/arch/arm/mach-tegra/board-macallan-panel.c
@@ -335,55 +335,6 @@ static struct platform_device macallan_nvmap_device = {
},
};
-static struct tegra_dc_sd_settings macallan_sd_settings = {
- .enable = 1, /* enabled by default. */
- .use_auto_pwm = false,
- .hw_update_delay = 0,
- .bin_width = -1,
- .aggressiveness = 5,
- .use_vid_luma = false,
- .phase_in_adjustments = 0,
- .k_limit_enable = true,
- .k_limit = 200,
- .sd_window_enable = false,
- .soft_clipping_enable = true,
- /* Low soft clipping threshold to compensate for aggressive k_limit */
- .soft_clipping_threshold = 128,
- .smooth_k_enable = true,
- .smooth_k_incr = 4,
- /* Default video coefficients */
- .coeff = {5, 9, 2},
- .fc = {0, 0},
- /* Immediate backlight changes */
- .blp = {1024, 255},
- /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
- /* Default BL TF */
- .bltf = {
- {
- {57, 65, 73, 82},
- {92, 103, 114, 125},
- {138, 150, 164, 178},
- {193, 208, 224, 241},
- },
- },
- /* Default LUT */
- .lut = {
- {
- {255, 255, 255},
- {199, 199, 199},
- {153, 153, 153},
- {116, 116, 116},
- {85, 85, 85},
- {59, 59, 59},
- {36, 36, 36},
- {17, 17, 17},
- {0, 0, 0},
- },
- },
- .sd_brightness = &sd_brightness,
- .use_vpulse2 = true,
-};
-
static void macallan_panel_select(void)
{
struct tegra_panel *panel = NULL;
@@ -439,8 +390,6 @@ int __init macallan_panel_init(void)
struct resource __maybe_unused *res;
struct platform_device *phost1x = NULL;
- sd_settings = macallan_sd_settings;
-
macallan_panel_select();
#ifdef CONFIG_TEGRA_NVMAP
diff --git a/arch/arm/mach-tegra/board-pismo-panel.c b/arch/arm/mach-tegra/board-pismo-panel.c
index d715f33f8205..ed8eb3215c20 100644
--- a/arch/arm/mach-tegra/board-pismo-panel.c
+++ b/arch/arm/mach-tegra/board-pismo-panel.c
@@ -330,55 +330,6 @@ static struct platform_device pismo_nvmap_device = {
},
};
-static struct tegra_dc_sd_settings pismo_sd_settings = {
- .enable = 1, /* enabled by default. */
- .use_auto_pwm = false,
- .hw_update_delay = 0,
- .bin_width = -1,
- .aggressiveness = 5,
- .use_vid_luma = false,
- .phase_in_adjustments = 0,
- .k_limit_enable = true,
- .k_limit = 200,
- .sd_window_enable = false,
- .soft_clipping_enable = true,
- /* Low soft clipping threshold to compensate for aggressive k_limit */
- .soft_clipping_threshold = 128,
- .smooth_k_enable = false,
- .smooth_k_incr = 64,
- /* Default video coefficients */
- .coeff = {5, 9, 2},
- .fc = {0, 0},
- /* Immediate backlight changes */
- .blp = {1024, 255},
- /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
- /* Default BL TF */
- .bltf = {
- {
- {57, 65, 73, 82},
- {92, 103, 114, 125},
- {138, 150, 164, 178},
- {193, 208, 224, 241},
- },
- },
- /* Default LUT */
- .lut = {
- {
- {255, 255, 255},
- {199, 199, 199},
- {153, 153, 153},
- {116, 116, 116},
- {85, 85, 85},
- {59, 59, 59},
- {36, 36, 36},
- {17, 17, 17},
- {0, 0, 0},
- },
- },
- .sd_brightness = &sd_brightness,
- .use_vpulse2 = true,
-};
-
static void pismo_panel_select(void)
{
struct tegra_panel *panel = NULL;
@@ -386,7 +337,7 @@ static void pismo_panel_select(void)
panel = &dsi_a_1080p_11_6;
if (panel) {
if (panel->init_sd_settings)
- panel->init_sd_settings(&pismo_sd_settings);
+ panel->init_sd_settings(&sd_settings);
if (panel->init_dc_out) {
panel->init_dc_out(&pismo_disp1_out);
@@ -424,8 +375,6 @@ int __init pismo_panel_init(void)
struct resource __maybe_unused *res;
struct platform_device *phost1x = NULL;
- sd_settings = pismo_sd_settings;
-
pismo_panel_select();
#ifdef CONFIG_TEGRA_NVMAP
diff --git a/arch/arm/mach-tegra/board-pluto-panel.c b/arch/arm/mach-tegra/board-pluto-panel.c
index ede994d977ca..d6533d061312 100644
--- a/arch/arm/mach-tegra/board-pluto-panel.c
+++ b/arch/arm/mach-tegra/board-pluto-panel.c
@@ -322,55 +322,6 @@ static struct platform_device pluto_nvmap_device = {
},
};
-static struct tegra_dc_sd_settings pluto_sd_settings = {
- .enable = 1, /* enabled by default */
- .use_auto_pwm = false,
- .hw_update_delay = 0,
- .bin_width = -1,
- .aggressiveness = 5,
- .use_vid_luma = false,
- .phase_in_adjustments = 0,
- .k_limit_enable = true,
- .k_limit = 180,
- .sd_window_enable = false,
- .soft_clipping_enable = true,
- /* Low soft clipping threshold to compensate for aggressive k_limit */
- .soft_clipping_threshold = 128,
- .smooth_k_enable = true,
- .smooth_k_incr = 4,
- /* Default video coefficients */
- .coeff = {5, 9, 2},
- .fc = {0, 0},
- /* Immediate backlight changes */
- .blp = {1024, 255},
- /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
- /* Default BL TF */
- .bltf = {
- {
- {57, 65, 73, 82},
- {92, 103, 114, 125},
- {138, 150, 164, 178},
- {193, 208, 224, 241},
- },
- },
- /* Default LUT */
- .lut = {
- {
- {255, 255, 255},
- {199, 199, 199},
- {153, 153, 153},
- {116, 116, 116},
- {85, 85, 85},
- {59, 59, 59},
- {36, 36, 36},
- {17, 17, 17},
- {0, 0, 0},
- },
- },
- .sd_brightness = &sd_brightness,
- .use_vpulse2 = true,
-};
-
static void pluto_panel_select(void)
{
struct tegra_panel *panel;
@@ -436,8 +387,6 @@ int __init pluto_panel_init(void)
struct resource __maybe_unused *res;
struct platform_device *phost1x = NULL;
- sd_settings = pluto_sd_settings;
-
pluto_panel_select();
#ifdef CONFIG_TEGRA_NVMAP
diff --git a/arch/arm/mach-tegra/board-roth-panel.c b/arch/arm/mach-tegra/board-roth-panel.c
index d37aba8af819..43692864ab7f 100644
--- a/arch/arm/mach-tegra/board-roth-panel.c
+++ b/arch/arm/mach-tegra/board-roth-panel.c
@@ -894,55 +894,6 @@ static struct platform_device __maybe_unused
},
};
-static struct tegra_dc_sd_settings roth_sd_settings = {
- .enable = 0, /* disabled by default. */
- .use_auto_pwm = false,
- .hw_update_delay = 0,
- .bin_width = -1,
- .aggressiveness = 1,
- .use_vid_luma = false,
- .phase_in_adjustments = 0,
- .k_limit_enable = true,
- .k_limit = 180,
- .sd_window_enable = false,
- .soft_clipping_enable = true,
- /* Low soft clipping threshold to compensate for aggressive k_limit */
- .soft_clipping_threshold = 128,
- .smooth_k_enable = true,
- .smooth_k_incr = 128,
- /* Default video coefficients */
- .coeff = {5, 9, 2},
- .fc = {0, 0},
- /* Immediate backlight changes */
- .blp = {1024, 255},
- /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
- /* Default BL TF */
- .bltf = {
- {
- {57, 65, 73, 82},
- {92, 103, 114, 125},
- {138, 150, 164, 178},
- {193, 208, 224, 241},
- },
- },
- /* Default LUT */
- .lut = {
- {
- {255, 255, 255},
- {199, 199, 199},
- {153, 153, 153},
- {116, 116, 116},
- {85, 85, 85},
- {59, 59, 59},
- {36, 36, 36},
- {17, 17, 17},
- {0, 0, 0},
- },
- },
- .sd_brightness = &sd_brightness,
- .bl_device_name = "pwm-backlight",
-};
-
static struct platform_device __maybe_unused
*roth_bl_device[] __initdata = {
&tegra_pwfm_device,
@@ -955,8 +906,6 @@ int __init roth_panel_init(int board_id)
struct resource __maybe_unused *res;
struct platform_device *phost1x = NULL;
- sd_settings = roth_sd_settings;
-
#ifdef CONFIG_TEGRA_NVMAP
roth_carveouts[1].base = tegra_carveout_start;
roth_carveouts[1].size = tegra_carveout_size;
diff --git a/arch/arm/mach-tegra/panel-a-1080p-11-6.c b/arch/arm/mach-tegra/panel-a-1080p-11-6.c
index 18529c381acf..d527f3c2e1f5 100644
--- a/arch/arm/mach-tegra/panel-a-1080p-11-6.c
+++ b/arch/arm/mach-tegra/panel-a-1080p-11-6.c
@@ -55,6 +55,55 @@ static struct regulator *vdd_ds_1v8;
#define en_vdd_bl TEGRA_GPIO_PG0
#define lvds_en TEGRA_GPIO_PG3
+static struct tegra_dc_sd_settings dsi_a_1080p_11_6_sd_settings = {
+ .enable = 1, /* enabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 200,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = true,
+ .smooth_k_incr = 4,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static tegra_dc_bl_output dsi_a_1080p_11_6_bl_output_measured = {
0, 0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 9, 10, 11, 12, 13,
@@ -441,6 +490,7 @@ static void dsi_a_1080p_11_6_fb_data_init(struct tegra_fb_data *fb)
static void
dsi_a_1080p_11_6_sd_settings_init(struct tegra_dc_sd_settings *settings)
{
+ *settings = dsi_a_1080p_11_6_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-a-1080p-14-0.c b/arch/arm/mach-tegra/panel-a-1080p-14-0.c
index f3990ad05bbb..32a5c64c6de6 100644
--- a/arch/arm/mach-tegra/panel-a-1080p-14-0.c
+++ b/arch/arm/mach-tegra/panel-a-1080p-14-0.c
@@ -46,6 +46,55 @@ static struct regulator *dvdd_lcd_1v8;
static struct regulator *vdd_ds_1v8;
static struct regulator *vdd_lcd_bl;
+static struct tegra_dc_sd_settings dsi_a_1080p_14_0_sd_settings = {
+ .enable = 1, /* enabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 200,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = false,
+ .smooth_k_incr = 64,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static tegra_dc_bl_output dsi_a_1080p_14_0_bl_output_measured = {
0, 0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 9, 10, 11, 12, 13,
@@ -441,6 +490,7 @@ static void dsi_a_1080p_14_0_fb_data_init(struct tegra_fb_data *fb)
static void
dsi_a_1080p_14_0_sd_settings_init(struct tegra_dc_sd_settings *settings)
{
+ *settings = dsi_a_1080p_14_0_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-a-edp-1080p-14-0.c b/arch/arm/mach-tegra/panel-a-edp-1080p-14-0.c
index 28932f1ffaba..2f38f2aa856b 100644
--- a/arch/arm/mach-tegra/panel-a-edp-1080p-14-0.c
+++ b/arch/arm/mach-tegra/panel-a-edp-1080p-14-0.c
@@ -44,6 +44,55 @@ static struct regulator *vdd_lcd_bl_en;
static struct regulator *avdd_lcd;
static struct regulator *vdd_ds_1v8;
+static struct tegra_dc_sd_settings edp_a_1080p_14_0_sd_settings = {
+ .enable = 1, /* enabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 200,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = false,
+ .smooth_k_incr = 64,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static tegra_dc_bl_output edp_a_1080p_14_0_bl_output_measured = {
0, 0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 9, 10, 11, 12, 13,
@@ -367,6 +416,7 @@ static void edp_a_1080p_14_0_fb_data_init(struct tegra_fb_data *fb)
static void
edp_a_1080p_14_0_sd_settings_init(struct tegra_dc_sd_settings *settings)
{
+ *settings = edp_a_1080p_14_0_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-c-lvds-1366-14.c b/arch/arm/mach-tegra/panel-c-lvds-1366-14.c
index 47af92c8bea1..f4b69564abfe 100644
--- a/arch/arm/mach-tegra/panel-c-lvds-1366-14.c
+++ b/arch/arm/mach-tegra/panel-c-lvds-1366-14.c
@@ -45,6 +45,55 @@ static struct regulator *avdd_lcd;
static struct regulator *vdd_ds_1v8;
static struct regulator *dvdd_lcd_1v8;
+static struct tegra_dc_sd_settings lvds_c_1366_14_sd_settings = {
+ .enable = 1, /* enabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 200,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = false,
+ .smooth_k_incr = 64,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static tegra_dc_bl_output lvds_c_1366_14_bl_output_measured = {
/* TODO: linear backlight calibration */
0, 1, 2, 3, 4, 5, 6, 7,
@@ -374,6 +423,7 @@ static void lvds_c_1366_14_fb_data_init(struct tegra_fb_data *fb)
static void
lvds_c_1366_14_sd_settings_init(struct tegra_dc_sd_settings *settings)
{
+ *settings = lvds_c_1366_14_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-j-1440-810-5-8.c b/arch/arm/mach-tegra/panel-j-1440-810-5-8.c
index b602fe0dab1a..7433a8121301 100644
--- a/arch/arm/mach-tegra/panel-j-1440-810-5-8.c
+++ b/arch/arm/mach-tegra/panel-j-1440-810-5-8.c
@@ -48,6 +48,54 @@ static struct regulator *vdd_lcd_bl;
static struct regulator *vdd_lcd_bl_en;
static struct regulator *avdd_lcd_3v0_2v8;
+static struct tegra_dc_sd_settings dsi_j_1440_810_5_8_sd_settings = {
+ .enable = 0, /* disabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 1,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 180,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = true,
+ .smooth_k_incr = 128,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+};
+
#ifdef CONFIG_TEGRA_DC_CMU
static struct tegra_dc_cmu dsi_j_1440_810_5_8_cmu = {
/* lut1 maps sRGB to linear space. */
@@ -530,6 +578,7 @@ static void dsi_j_1440_810_5_8_fb_data_init(struct tegra_fb_data *fb)
static void dsi_j_1440_810_5_8_sd_settings_init
(struct tegra_dc_sd_settings *settings)
{
+ *settings = dsi_j_1440_810_5_8_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-j-720p-4-7.c b/arch/arm/mach-tegra/panel-j-720p-4-7.c
index 37229ae2657b..0d9cd9954b6f 100644
--- a/arch/arm/mach-tegra/panel-j-720p-4-7.c
+++ b/arch/arm/mach-tegra/panel-j-720p-4-7.c
@@ -46,6 +46,55 @@ static bool dsi_j_720p_4_7_gpio_requested;
static bool is_bl_powered;
static struct platform_device *disp_device;
+static struct tegra_dc_sd_settings dsi_j_720p_4_7_sd_settings = {
+ .enable = 1, /* enabled by default */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 180,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = true,
+ .smooth_k_incr = 4,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static tegra_dc_bl_output dsi_j_720p_4_7_bl_response_curve = {
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15,
@@ -408,6 +457,7 @@ static void dsi_j_720p_4_7_fb_data_init(struct tegra_fb_data *fb)
static void dsi_j_720p_4_7_sd_settings_init
(struct tegra_dc_sd_settings *settings)
{
+ *settings = dsi_j_720p_4_7_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-l-720p-5-loki.c b/arch/arm/mach-tegra/panel-l-720p-5-loki.c
index 44b2b5edbd02..a7b1cc3b2acd 100644
--- a/arch/arm/mach-tegra/panel-l-720p-5-loki.c
+++ b/arch/arm/mach-tegra/panel-l-720p-5-loki.c
@@ -45,6 +45,54 @@ static struct regulator *vdd_lcd_bl;
static struct regulator *vdd_lcd_bl_en;
static struct regulator *avdd_lcd_3v0_2v8;
+static struct tegra_dc_sd_settings dsi_l_720p_5_loki_sd_settings = {
+ .enable = 0, /* disabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 1,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 180,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = true,
+ .smooth_k_incr = 128,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+};
+
#ifdef CONFIG_TEGRA_DC_CMU
static struct tegra_dc_cmu dsi_l_720p_5_loki_cmu = {
/* lut1 maps sRGB to linear space. */
@@ -636,6 +684,7 @@ static void dsi_l_720p_5_loki_fb_data_init(struct tegra_fb_data *fb)
static void dsi_l_720p_5_loki_sd_settings_init
(struct tegra_dc_sd_settings *settings)
{
+ *settings = dsi_l_720p_5_loki_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-l-720p-5.c b/arch/arm/mach-tegra/panel-l-720p-5.c
index e1b8e45b380d..270c4ec75cfc 100644
--- a/arch/arm/mach-tegra/panel-l-720p-5.c
+++ b/arch/arm/mach-tegra/panel-l-720p-5.c
@@ -44,6 +44,55 @@ static bool dsi_l_720p_5_reg_requested;
static bool dsi_l_720p_5_gpio_requested;
static bool is_bl_powered;
+static struct tegra_dc_sd_settings dsi_l_720p_5_sd_settings = {
+ .enable = 1, /* enabled by default */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 180,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = true,
+ .smooth_k_incr = 4,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
#ifdef CONFIG_TEGRA_DC_CMU
static struct tegra_dc_cmu dsi_l_720p_5_cmu = {
/* lut1 maps sRGB to linear space. */
@@ -775,6 +824,8 @@ static void dsi_l_720p_5_sd_settings_init(struct tegra_dc_sd_settings *settings)
struct board_info bi;
tegra_get_display_board_info(&bi);
+ *settings = dsi_l_720p_5_sd_settings;
+
if (bi.board_id == BOARD_E1563)
settings->bl_device_name = "lm3528_display_bl";
else
diff --git a/arch/arm/mach-tegra/panel-lgd-wxga-7-0.c b/arch/arm/mach-tegra/panel-lgd-wxga-7-0.c
index 5b4b5a345834..5ac12b166603 100644
--- a/arch/arm/mach-tegra/panel-lgd-wxga-7-0.c
+++ b/arch/arm/mach-tegra/panel-lgd-wxga-7-0.c
@@ -44,6 +44,55 @@ static struct platform_device *disp_device;
static struct regulator *avdd_lcd_3v3;
static struct regulator *vdd_lcd_bl_en;
+static struct tegra_dc_sd_settings dsi_lgd_wxga_7_0_sd_settings = {
+ .enable = 1, /* enabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 200,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = false,
+ .smooth_k_incr = 64,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static struct tegra_dsi_cmd dsi_lgd_wxga_7_0_init_cmd[] = {
DSI_CMD_SHORT(0x15, 0x01, 0x0),
DSI_DLY_MS(20),
@@ -390,6 +439,7 @@ static void dsi_lgd_wxga_7_0_fb_data_init(struct tegra_fb_data *fb)
static void
dsi_lgd_wxga_7_0_sd_settings_init(struct tegra_dc_sd_settings *settings)
{
+ *settings = dsi_lgd_wxga_7_0_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-p-wuxga-10-1.c b/arch/arm/mach-tegra/panel-p-wuxga-10-1.c
index cb0e9a0e4550..40c749c83d07 100644
--- a/arch/arm/mach-tegra/panel-p-wuxga-10-1.c
+++ b/arch/arm/mach-tegra/panel-p-wuxga-10-1.c
@@ -56,6 +56,55 @@ static struct regulator *vdd_ds_1v8;
#define en_vdd_bl TEGRA_GPIO_PG0
#define lvds_en TEGRA_GPIO_PG3
+static struct tegra_dc_sd_settings dsi_p_wuxga_10_1_sd_settings = {
+ .enable = 1, /* enabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 200,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = true,
+ .smooth_k_incr = 4,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static tegra_dc_bl_output dsi_p_wuxga_10_1_bl_output_measured = {
0, 0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 9, 10, 11, 12, 13,
@@ -677,6 +726,7 @@ static void dsi_p_wuxga_10_1_fb_data_init(struct tegra_fb_data *fb)
static void
dsi_p_wuxga_10_1_sd_settings_init(struct tegra_dc_sd_settings *settings)
{
+ *settings = dsi_p_wuxga_10_1_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-s-1080p-5.c b/arch/arm/mach-tegra/panel-s-1080p-5.c
index 7a2ed0c52400..d1edd35c0b3f 100644
--- a/arch/arm/mach-tegra/panel-s-1080p-5.c
+++ b/arch/arm/mach-tegra/panel-s-1080p-5.c
@@ -44,6 +44,55 @@ static bool dsi_s_1080p_5_reg_requested;
static bool dsi_s_1080p_5_gpio_requested;
static bool is_bl_powered;
+static struct tegra_dc_sd_settings dsi_s_1080p_5_sd_settings = {
+ .enable = 1, /* enabled by default */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 180,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = true,
+ .smooth_k_incr = 4,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
#ifdef CONFIG_TEGRA_DC_CMU
static struct tegra_dc_cmu dsi_s_1080p_5_cmu = {
/* lut1 maps sRGB to linear space. */
@@ -650,6 +699,8 @@ static void dsi_s_1080p_5_sd_settings_init
tegra_get_display_board_info(&bi);
tegra_get_board_info(&board_info);
+ *settings = dsi_s_1080p_5_sd_settings;
+
if ((bi.board_id == BOARD_E1563) || (board_info.board_id == BOARD_E1740))
settings->bl_device_name = "lm3528_display_bl";
else
diff --git a/arch/arm/mach-tegra/panel-s-edp-uhdtv-15-6.c b/arch/arm/mach-tegra/panel-s-edp-uhdtv-15-6.c
index 7639b03b8e71..1ca413985ad9 100644
--- a/arch/arm/mach-tegra/panel-s-edp-uhdtv-15-6.c
+++ b/arch/arm/mach-tegra/panel-s-edp-uhdtv-15-6.c
@@ -43,6 +43,55 @@ static struct regulator *vdd_ds_1v8; /* VDD_1V8_AON */
static struct regulator *avdd_3v3_dp; /* EDP_3V3_IN: LCD_RST_GPIO */
static struct regulator *avdd_lcd; /* VDD_LCD_HV */
+static struct tegra_dc_sd_settings edp_s_uhdtv_15_6_sd_settings = {
+ .enable = 1, /* enabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 200,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = false,
+ .smooth_k_incr = 64,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static int shield_edp_regulator_get(struct device *dev)
{
int err = 0;
@@ -292,6 +341,7 @@ static void edp_s_uhdtv_15_6_fb_data_init(struct tegra_fb_data *fb)
static void
edp_s_uhdtv_15_6_sd_settings_init(struct tegra_dc_sd_settings *settings)
{
+ *settings = edp_s_uhdtv_15_6_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-s-edp-wqxgap-15-6.c b/arch/arm/mach-tegra/panel-s-edp-wqxgap-15-6.c
index be7df9c5731c..ee60a1930f07 100644
--- a/arch/arm/mach-tegra/panel-s-edp-wqxgap-15-6.c
+++ b/arch/arm/mach-tegra/panel-s-edp-wqxgap-15-6.c
@@ -43,6 +43,55 @@ static struct regulator *avdd_lcd;
static struct regulator *avdd_3v3_dp;
static struct regulator *vdd_ds_1v8;
+static struct tegra_dc_sd_settings edp_s_wqxgap_15_6_sd_settings = {
+ .enable = 1, /* enabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 200,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = false,
+ .smooth_k_incr = 64,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static int shield_edp_regulator_get(struct device *dev)
{
int err = 0;
@@ -306,6 +355,7 @@ static void edp_s_wqxgap_15_6_fb_data_init(struct tegra_fb_data *fb)
static void
edp_s_wqxgap_15_6_sd_settings_init(struct tegra_dc_sd_settings *settings)
{
+ *settings = edp_s_wqxgap_15_6_sd_settings;
settings->bl_device_name = "pwm-backlight";
}
diff --git a/arch/arm/mach-tegra/panel-s-wqxga-10-1.c b/arch/arm/mach-tegra/panel-s-wqxga-10-1.c
index 3d36dea20a39..56ada36b6401 100644
--- a/arch/arm/mach-tegra/panel-s-wqxga-10-1.c
+++ b/arch/arm/mach-tegra/panel-s-wqxga-10-1.c
@@ -61,6 +61,55 @@ static struct regulator *vdd_ds_1v8;
#define en_vdd_bl TEGRA_GPIO_PG0
#define lvds_en TEGRA_GPIO_PG3
+static struct tegra_dc_sd_settings dsi_s_wqxga_10_1_sd_settings = {
+ .enable = 1, /* enabled by default. */
+ .use_auto_pwm = false,
+ .hw_update_delay = 0,
+ .bin_width = -1,
+ .aggressiveness = 5,
+ .use_vid_luma = false,
+ .phase_in_adjustments = 0,
+ .k_limit_enable = true,
+ .k_limit = 200,
+ .sd_window_enable = false,
+ .soft_clipping_enable = true,
+ /* Low soft clipping threshold to compensate for aggressive k_limit */
+ .soft_clipping_threshold = 128,
+ .smooth_k_enable = true,
+ .smooth_k_incr = 4,
+ /* Default video coefficients */
+ .coeff = {5, 9, 2},
+ .fc = {0, 0},
+ /* Immediate backlight changes */
+ .blp = {1024, 255},
+ /* Gammas: R: 2.2 G: 2.2 B: 2.2 */
+ /* Default BL TF */
+ .bltf = {
+ {
+ {57, 65, 73, 82},
+ {92, 103, 114, 125},
+ {138, 150, 164, 178},
+ {193, 208, 224, 241},
+ },
+ },
+ /* Default LUT */
+ .lut = {
+ {
+ {255, 255, 255},
+ {199, 199, 199},
+ {153, 153, 153},
+ {116, 116, 116},
+ {85, 85, 85},
+ {59, 59, 59},
+ {36, 36, 36},
+ {17, 17, 17},
+ {0, 0, 0},
+ },
+ },
+ .sd_brightness = &sd_brightness,
+ .use_vpulse2 = true,
+};
+
static tegra_dc_bl_output dsi_s_wqxga_10_1_bl_output_measured = {
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 11, 11, 12, 13, 14, 15,
@@ -749,6 +798,7 @@ static void dsi_s_wqxga_10_1_fb_data_init(struct tegra_fb_data *fb)
static void
dsi_s_wqxga_10_1_sd_settings_init(struct tegra_dc_sd_settings *settings)
{
+ *settings = dsi_s_wqxga_10_1_sd_settings;
settings->bl_device_name = "pwm-backlight";
}