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
|
- qcom,mdss-idle-power-collapse-enabled: Boolean property that enables support
|
||||||
for mdss power collapse in idle
|
for mdss power collapse in idle
|
||||||
screen use cases with smart panels.
|
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
|
- qcom,mdss-pp-offets: A node that lists the offsets of post processing blocks
|
||||||
from base module.
|
from base module.
|
||||||
-- qcom,mdss-mdss-sspp-igc-lut-off: This 32 bit value provides the
|
-- qcom,mdss-mdss-sspp-igc-lut-off: This 32 bit value provides the
|
||||||
|
|
|
@ -27,7 +27,6 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/leds.h>
|
|
||||||
#include <linux/memory.h>
|
#include <linux/memory.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/module.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);
|
struct msm_fb_data_type *mfd = dev_get_drvdata(led_cdev->dev->parent);
|
||||||
int bl_lvl;
|
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)
|
if (value > mfd->panel_info->brightness_max)
|
||||||
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->split_mode = MDP_DUAL_LM_DUAL_DISPLAY;
|
||||||
|
|
||||||
mfd->mdp = *mdp_instance;
|
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);
|
INIT_LIST_HEAD(&mfd->proc_list);
|
||||||
|
|
||||||
mutex_init(&mfd->bl_lock);
|
mutex_init(&mfd->bl_lock);
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include <linux/msm_mdp_ext.h>
|
#include <linux/msm_mdp_ext.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/notifier.h>
|
#include <linux/notifier.h>
|
||||||
|
#include <linux/leds.h>
|
||||||
|
|
||||||
#include "mdss_panel.h"
|
#include "mdss_panel.h"
|
||||||
#include "mdss_mdp_splash_logo.h"
|
#include "mdss_mdp_splash_logo.h"
|
||||||
|
@ -309,6 +310,7 @@ struct msm_fb_data_type {
|
||||||
u32 thermal_level;
|
u32 thermal_level;
|
||||||
|
|
||||||
int fb_mmap_type;
|
int fb_mmap_type;
|
||||||
|
struct led_trigger *boot_notification_led;
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline void mdss_fb_update_notify_update(struct msm_fb_data_type *mfd)
|
static inline void mdss_fb_update_notify_update(struct msm_fb_data_type *mfd)
|
||||||
|
|
Loading…
Add table
Reference in a new issue