From 0c26c4494d754cbb649a1789b15208267f9253df Mon Sep 17 00:00:00 2001 From: Swathi Tamilselvan Date: Mon, 15 Dec 2025 16:00:33 +0530 Subject: [PATCH] mainboard/google/bluey: Enable display clocks and MMCX power rail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add support to enable MMCX power rail and vote for MM0 BCM resource required for display. This change includes support to enable display clocks. TEST= 1. Create an image.serial.bin and ensure it boots on X1P42100. 2. Verified MMCX rail enablement and MM0 BCM vote using ARC and BCM AOP dump. Serial Log: [INFO ] RPMH_REG: Initialized mmcx.lvl at addr=0x30080 [INFO ] ARC regulator initialized successfully [DEBUG] RPMH_REG: Sent active request for mmcx.lvl [INFO ] ARC level has been set successfully [DEBUG] BCM: Found address 0x00050024 for resource MM0 [INFO ] BCM: Successfully voted for MM0 (addr=0x00050024, val=0x60004001) [INFO ] BCM vote for MM0 sent successfully 3. Verified if the clocks are enabled by taking clock dump. Clock enablement is verified by dumping the 31st bit of the corresponding clock’s CBCR register. A value of 0 in bit 31 indicates that the clock is ON. The register details are part of HRD-X1P42100-S1 document. https://docs.qualcomm.com/bundle/resource/topics/HRD-X1P42100-S1/ Change-Id: I89715fb4e3a6122388068a819e24cb409e204155 Signed-off-by: Swathi Tamilselvan Reviewed-on: https://review.coreboot.org/c/coreboot/+/90507 Reviewed-by: Kapil Porwal Tested-by: build bot (Jenkins) --- src/mainboard/google/bluey/mainboard.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mainboard/google/bluey/mainboard.c b/src/mainboard/google/bluey/mainboard.c index e18f492764..9f958a1862 100644 --- a/src/mainboard/google/bluey/mainboard.c +++ b/src/mainboard/google/bluey/mainboard.c @@ -9,10 +9,12 @@ #include #include #include +#include #include #include #include #include "board.h" +#include #include /* @@ -87,7 +89,11 @@ static void display_startup(void) return; } - /* TODO: add logic for display init */ + /* Initialize RPMh subsystem and display power rails */ + if (display_rpmh_init() != CB_SUCCESS) + return; + + enable_mdss_clk(); } static void mainboard_init(struct device *dev)