google-bl.txt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. Google binned low power mode panel
  2. This is an extension of QTI's mdss-dsi-panel to handle additional command
  3. sequences for low power modes.
  4. Required properties:
  5. - compatible: "google,dsi_binned_lp"
  6. ==============================================================
  7. Google low power display modes
  8. Required properties:
  9. - compatible: "google,lp-modes"
  10. - label: Name of the entry
  11. - dsi-lp-brightness-threshold:
  12. Max brightness supported by the mode
  13. - dsi-lp-command: Command sequence to enter this mode
  14. - dsi-lp-command-state: Command state used in this mode
  15. Example:
  16. / {
  17. ...
  18. google,lp-modes {
  19. lp-mode@0 {
  20. label = "off";
  21. google,dsi-lp-brightness-threshold = <0>;
  22. google,dsi-lp-command = [
  23. 05 01 00 00 00 00 01 22
  24. ];
  25. google,dsi-lp-command-state = "dsi_lp_mode";
  26. };
  27. lp-mode@1 {
  28. label = "high";
  29. google,dsi-lp-brightness-threshold = <255>;
  30. google,dsi-lp-command = [
  31. 39 01 00 00 00 00 03 51 01 FF
  32. 05 01 00 00 00 00 01 12
  33. ];
  34. google,dsi-lp-command-state = "dsi_lp_mode";
  35. };
  36. };
  37. ==============================================================
  38. Google high brightness display mode
  39. This is an extension of QTI's mdss-dsi-panel to handle special display modes
  40. that allow for exceptionally high brightness.
  41. High brightness mode (HBM) is specified through 1 or more user brightness
  42. ranges. Conceptually, Each HBM range contains,
  43. 1) User brightness threshold
  44. 2) Panel brightness range
  45. 3) DSI command (optional)
  46. HBM ranges must be sorted by brightness threshold and not overlap.
  47. An HBM range covers user brightness levels starting from the threshold, up to
  48. but not including the next HBM mode's threshold.
  49. The last HBM range covers user brightness levels starting from its threshold,
  50. up to and including qcom,mdss-brightness-max-level.
  51. When user brightness is updated, the appropriate HBM range is selected and the
  52. corresponding DSI command, if present, is sent to the panel. Then the user's
  53. brightness is linearly mapped to the panel's brightness range and the panel is
  54. updated if needed.
  55. Note that there is currently no support for backlight LUTs during HBM mode.
  56. HBM support also includes optional brightness dimming support. Brightness
  57. dimming refers to some panels' ability to gradually change brightness over
  58. time, smoothing the transition between current brightness and the latest
  59. brightness level requested by the host. The driver uses this feature, if
  60. supported by the panel, to smooth brightness changes as HBM is enabled, changes
  61. ranges, or disabled.
  62. To implement this support,
  63. 1) HBM range entry sequences (dsi-hbm-range-entry-command) or exit sequences
  64. (dsi-hbm-exit-command) will include commands necessary to enable brightness
  65. dimming
  66. 2) The corresponding HBM node will specify the number of frames dimming is
  67. expected to last on the panel side
  68. 3) The same node will specify a command to send to the panel at the end of the
  69. brightness dimming duration, to disable brightness dimming.
  70. HBM uses the following properties. Each property is required, unless specified
  71. as optional:
  72. - google,hbm-ranges: Parent list of HBM ranges.
  73. - hbm-range@n: An HBM range, starting at n=0.
  74. - dsi-hbm-exit-command: Optional command sequence to exit HBM.
  75. - dsi-hbm-commands-state: Optional command state used for HBM commands.
  76. - dsi-hbm-exit-num-dimming-frames: Optional number of frames indicating
  77. brightness dimming duration. Mandatory if dsi-hbm-exit-dimming-stop-command
  78. is specified.
  79. - dsi-hbm-exit-dimming-stop-command: Optional command to send at the end of the
  80. brightness dimming duration, to disable dimming. Mandatory if
  81. dsi-hbm-exit-num-dimming-frames is specified.
  82. Each hbm-range@n contains the following properties. Each property is required,
  83. unless specified as optional:
  84. - dsi-hbm-range-brightness-threshold: Starting user brightness for this HBM
  85. range.
  86. - dsi-hbm-range-entry-command: Optional command sequence to enter this range.
  87. - dsi-hbm-range-commands-state: Optional command state used in this range.
  88. - dsi-hbm-range-bl-min-level: Start of panel brightness range
  89. (inclusive).
  90. - dsi-hbm-range-bl-max-level: End of panel brightness range (inclusive).
  91. - dsi-hbm-range-num-dimming-frames: Optional. Analogous to
  92. dsi-hbm-exit-num-dimming-frames, but for a given HBM range.
  93. - dsi-hbm-range-dimming-stop-command: Optional. Analogous to
  94. dsi-hbm-exit-dimming-stop-command, but for a given HBM range.
  95. Example:
  96. / {
  97. ...
  98. google,hbm-ranges {
  99. google,dsi-hbm-exit-command = [
  100. 15 01 00 00 00 00 02 53 20
  101. ];
  102. google,dsi-hbm-commands-state = "dsi_lp_mode";
  103. hbm-range@0 {
  104. google,dsi-hbm-range-brightness-threshold = <1>;
  105. google,dsi-hbm-range-bl-min-level = <0x5>;
  106. google,dsi-hbm-range-bl-max-level = <0x3ff>;
  107. google,dsi-hbm-range-entry-command = [
  108. 15 01 00 00 00 00 02 53 20
  109. ];
  110. google,dsi-hbm-range-commands-state = "dsi_lp_mode";
  111. };
  112. hbm-range@1 {
  113. google,dsi-hbm-range-brightness-threshold = <170>;
  114. google,dsi-hbm-range-bl-min-level = <0x3ff>;
  115. google,dsi-hbm-range-bl-max-level = <0x3ff>;
  116. google,dsi-hbm-range-entry-command = [
  117. 15 01 00 00 00 00 02 53 E0
  118. ];
  119. google,dsi-hbm-range-commands-state = "dsi_lp_mode";
  120. };
  121. };