123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- Google binned low power mode panel
- This is an extension of QTI's mdss-dsi-panel to handle additional command
- sequences for low power modes.
- Required properties:
- - compatible: "google,dsi_binned_lp"
- ==============================================================
- Google low power display modes
- Required properties:
- - compatible: "google,lp-modes"
- - label: Name of the entry
- - dsi-lp-brightness-threshold:
- Max brightness supported by the mode
- - dsi-lp-command: Command sequence to enter this mode
- - dsi-lp-command-state: Command state used in this mode
- Example:
- / {
- ...
- google,lp-modes {
- lp-mode@0 {
- label = "off";
- google,dsi-lp-brightness-threshold = <0>;
- google,dsi-lp-command = [
- 05 01 00 00 00 00 01 22
- ];
- google,dsi-lp-command-state = "dsi_lp_mode";
- };
- lp-mode@1 {
- label = "high";
- google,dsi-lp-brightness-threshold = <255>;
- google,dsi-lp-command = [
- 39 01 00 00 00 00 03 51 01 FF
- 05 01 00 00 00 00 01 12
- ];
- google,dsi-lp-command-state = "dsi_lp_mode";
- };
- };
- ==============================================================
- Google high brightness display mode
- This is an extension of QTI's mdss-dsi-panel to handle special display modes
- that allow for exceptionally high brightness.
- High brightness mode (HBM) is specified through 1 or more user brightness
- ranges. Conceptually, Each HBM range contains,
- 1) User brightness threshold
- 2) Panel brightness range
- 3) DSI command (optional)
- HBM ranges must be sorted by brightness threshold and not overlap.
- An HBM range covers user brightness levels starting from the threshold, up to
- but not including the next HBM mode's threshold.
- The last HBM range covers user brightness levels starting from its threshold,
- up to and including qcom,mdss-brightness-max-level.
- When user brightness is updated, the appropriate HBM range is selected and the
- corresponding DSI command, if present, is sent to the panel. Then the user's
- brightness is linearly mapped to the panel's brightness range and the panel is
- updated if needed.
- Note that there is currently no support for backlight LUTs during HBM mode.
- HBM support also includes optional brightness dimming support. Brightness
- dimming refers to some panels' ability to gradually change brightness over
- time, smoothing the transition between current brightness and the latest
- brightness level requested by the host. The driver uses this feature, if
- supported by the panel, to smooth brightness changes as HBM is enabled, changes
- ranges, or disabled.
- To implement this support,
- 1) HBM range entry sequences (dsi-hbm-range-entry-command) or exit sequences
- (dsi-hbm-exit-command) will include commands necessary to enable brightness
- dimming
- 2) The corresponding HBM node will specify the number of frames dimming is
- expected to last on the panel side
- 3) The same node will specify a command to send to the panel at the end of the
- brightness dimming duration, to disable brightness dimming.
- HBM uses the following properties. Each property is required, unless specified
- as optional:
- - google,hbm-ranges: Parent list of HBM ranges.
- - hbm-range@n: An HBM range, starting at n=0.
- - dsi-hbm-exit-command: Optional command sequence to exit HBM.
- - dsi-hbm-commands-state: Optional command state used for HBM commands.
- - dsi-hbm-exit-num-dimming-frames: Optional number of frames indicating
- brightness dimming duration. Mandatory if dsi-hbm-exit-dimming-stop-command
- is specified.
- - dsi-hbm-exit-dimming-stop-command: Optional command to send at the end of the
- brightness dimming duration, to disable dimming. Mandatory if
- dsi-hbm-exit-num-dimming-frames is specified.
- Each hbm-range@n contains the following properties. Each property is required,
- unless specified as optional:
- - dsi-hbm-range-brightness-threshold: Starting user brightness for this HBM
- range.
- - dsi-hbm-range-entry-command: Optional command sequence to enter this range.
- - dsi-hbm-range-commands-state: Optional command state used in this range.
- - dsi-hbm-range-bl-min-level: Start of panel brightness range
- (inclusive).
- - dsi-hbm-range-bl-max-level: End of panel brightness range (inclusive).
- - dsi-hbm-range-num-dimming-frames: Optional. Analogous to
- dsi-hbm-exit-num-dimming-frames, but for a given HBM range.
- - dsi-hbm-range-dimming-stop-command: Optional. Analogous to
- dsi-hbm-exit-dimming-stop-command, but for a given HBM range.
- Example:
- / {
- ...
- google,hbm-ranges {
- google,dsi-hbm-exit-command = [
- 15 01 00 00 00 00 02 53 20
- ];
- google,dsi-hbm-commands-state = "dsi_lp_mode";
- hbm-range@0 {
- google,dsi-hbm-range-brightness-threshold = <1>;
- google,dsi-hbm-range-bl-min-level = <0x5>;
- google,dsi-hbm-range-bl-max-level = <0x3ff>;
- google,dsi-hbm-range-entry-command = [
- 15 01 00 00 00 00 02 53 20
- ];
- google,dsi-hbm-range-commands-state = "dsi_lp_mode";
- };
- hbm-range@1 {
- google,dsi-hbm-range-brightness-threshold = <170>;
- google,dsi-hbm-range-bl-min-level = <0x3ff>;
- google,dsi-hbm-range-bl-max-level = <0x3ff>;
- google,dsi-hbm-range-entry-command = [
- 15 01 00 00 00 00 02 53 E0
- ];
- google,dsi-hbm-range-commands-state = "dsi_lp_mode";
- };
- };
|