[PATCH v3 2/4] arm64: dts: exynos: gs101-oriole: configure simple-framebuffer
From: André Draszik
Date: Wed Jan 15 2025 - 11:14:22 EST
The bootloader configures the display hardware for a framebuffer at the
given address, let's add a simple-framebuffer node here until we get a
proper DRM driver.
This has several benefits since it's an OLED display:
* energy consumption goes down significantly, as it changes from white
(as left by bootloader) to black (linux console), and we generally
don't run out of battery anymore when plugged into a USB port
* less of a burn-in effect I assume
* phone stays cooler due to reduced energy consumption by display
Signed-off-by: André Draszik <andre.draszik@xxxxxxxxxx>
---
v3:
- replace property 'reg' with 'memory-region' and related properties to
reduce churn in preparation for Pixel 6Pro support
- drop tags due to that
---
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
index e58881c61d53..d3dd411c9bd0 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
+++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
@@ -26,6 +26,16 @@ chosen {
/* Bootloader expects bootargs specified otherwise it crashes */
bootargs = "";
stdout-path = &serial_0;
+
+ /* Use display framebuffer as setup by bootloader */
+ framebuffer0: framebuffer-0 {
+ compatible = "simple-framebuffer";
+ memory-region = <&cont_splash_mem>;
+ width = <1080>;
+ height = <2400>;
+ stride = <(1080 * 4)>;
+ format = "a8r8g8b8";
+ };
};
gpio-keys {
@@ -69,6 +79,13 @@ ufs_0_fixed_vcc_reg: regulator-1 {
regulator-boot-on;
enable-active-high;
};
+
+ reserved-memory {
+ cont_splash_mem: splash@fac00000 {
+ reg = <0x0 0xfac00000 (1080 * 2400 * 4)>;
+ no-map;
+ };
+ };
};
&ext_24_5m {
--
2.48.0.rc2.279.g1de40edade-goog