msm: mdss: Add support for boot LED indication

By turning on the blue LED we get a notification that the boot-
process has started. The blue LED will be turned-on in
bootloader and be turned off when HLOS display takes over.

Change-Id: Ia8f97a507a5deda9d692f0a8b53488a684f5efd2
Signed-off-by: Shimrit Malichi <smalichi@codeaurora.org>
(cherry picked from commit f6e38df1b908fdc77bab9c843cb24efb5ce8ee2f)
[veeras@codeaurora.org: Resolve merge conflict in mdss_fb.h,
mdss-mdp.txt]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
This commit is contained in:
Shimrit Malichi 2015-01-12 10:37:10 +02:00 committed by David Keitel
parent dd85a8543e
commit a506802723
3 changed files with 20 additions and 1 deletions

View file

@ -502,6 +502,10 @@ Subnode properties:
- qcom,mdss-idle-power-collapse-enabled: Boolean property that enables support
for mdss power collapse in idle
screen use cases with smart panels.
- qcom,boot-indication-enabled: Boolean property that enables turning on the blue
LED for notifying that the device is in boot
process.
- qcom,mdss-pp-offets: A node that lists the offsets of post processing blocks
from base module.
-- qcom,mdss-mdss-sspp-igc-lut-off: This 32 bit value provides the

View file

@ -27,7 +27,6 @@
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/kernel.h>
#include <linux/leds.h>
#include <linux/memory.h>
#include <linux/mm.h>
#include <linux/module.h>
@ -239,6 +238,11 @@ static void mdss_fb_set_bl_brightness(struct led_classdev *led_cdev,
struct msm_fb_data_type *mfd = dev_get_drvdata(led_cdev->dev->parent);
int bl_lvl;
if (mfd->boot_notification_led) {
led_trigger_event(mfd->boot_notification_led, 0);
mfd->boot_notification_led = NULL;
}
if (value > mfd->panel_info->brightness_max)
value = mfd->panel_info->brightness_max;
@ -758,6 +762,15 @@ static int mdss_fb_probe(struct platform_device *pdev)
mfd->split_mode = MDP_DUAL_LM_DUAL_DISPLAY;
mfd->mdp = *mdp_instance;
rc = of_property_read_bool(pdev->dev.of_node,
"qcom,boot-indication-enabled");
if (rc) {
led_trigger_register_simple("boot-indication",
&(mfd->boot_notification_led));
}
INIT_LIST_HEAD(&mfd->proc_list);
mutex_init(&mfd->bl_lock);

View file

@ -19,6 +19,7 @@
#include <linux/msm_mdp_ext.h>
#include <linux/types.h>
#include <linux/notifier.h>
#include <linux/leds.h>
#include "mdss_panel.h"
#include "mdss_mdp_splash_logo.h"
@ -309,6 +310,7 @@ struct msm_fb_data_type {
u32 thermal_level;
int fb_mmap_type;
struct led_trigger *boot_notification_led;
};
static inline void mdss_fb_update_notify_update(struct msm_fb_data_type *mfd)