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:
parent
dd85a8543e
commit
a506802723
3 changed files with 20 additions and 1 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue