u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Chris Morgan <macroalpha82@gmail.com>
To: u-boot@lists.denx.de
Cc: heiko@sntech.de, sjg@chromium.org, philipp.tomsich@vrull.eu,
	kever.yang@rock-chips.com, chenjh@rock-chips.com,
	pgwipeout@gmail.com, heiko.stuebner@theobroma-systems.com,
	Chris Morgan <macromorgan@hotmail.com>
Subject: [PATCH V2 6/9] rockchip: rk3568: enable automatic power savings
Date: Mon, 13 Feb 2023 16:27:39 -0600	[thread overview]
Message-ID: <20230213222742.135093-7-macroalpha82@gmail.com> (raw)
In-Reply-To: <20230213222742.135093-1-macroalpha82@gmail.com>

From: Chris Morgan <macromorgan@hotmail.com>

It enables automatic clock gating on idle, disables the eDP phy by
default, and sets the core pvtpll ring length. It is reported this
lowers the temperature on at least one SoC by 7C.

Signed-off-by: Peter Geis <pgwipeout@gmail.com>
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
---
 arch/arm/mach-rockchip/rk3568/rk3568.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/arch/arm/mach-rockchip/rk3568/rk3568.c b/arch/arm/mach-rockchip/rk3568/rk3568.c
index a2d59abc26..4a08820a09 100644
--- a/arch/arm/mach-rockchip/rk3568/rk3568.c
+++ b/arch/arm/mach-rockchip/rk3568/rk3568.c
@@ -24,6 +24,16 @@
 #define SGRF_SOC_CON4			0x10
 #define EMMC_HPROT_SECURE_CTRL		0x03
 #define SDMMC0_HPROT_SECURE_CTRL	0x01
+
+#define PMU_BASE_ADDR		0xfdd90000
+#define PMU_NOC_AUTO_CON0	(0x70)
+#define PMU_NOC_AUTO_CON1	(0x74)
+#define EDP_PHY_GRF_BASE	0xfdcb0000
+#define EDP_PHY_GRF_CON0	(EDP_PHY_GRF_BASE + 0x00)
+#define EDP_PHY_GRF_CON10	(EDP_PHY_GRF_BASE + 0x28)
+#define CPU_GRF_BASE		0xfdc30000
+#define GRF_CORE_PVTPLL_CON0	(0x10)
+
 /* PMU_GRF_GPIO0D_IOMUX_L */
 enum {
 	GPIO0D1_SHIFT		= 4,
@@ -98,6 +108,20 @@ void board_debug_uart_init(void)
 int arch_cpu_init(void)
 {
 #ifdef CONFIG_SPL_BUILD
+	/*
+	 * When perform idle operation, corresponding clock can
+	 * be opened or gated automatically.
+	 */
+	writel(0xffffffff, PMU_BASE_ADDR + PMU_NOC_AUTO_CON0);
+	writel(0x000f000f, PMU_BASE_ADDR + PMU_NOC_AUTO_CON1);
+
+	/* Disable eDP phy by default */
+	writel(0x00070007, EDP_PHY_GRF_CON10);
+	writel(0x0ff10ff1, EDP_PHY_GRF_CON0);
+
+	/* Set core pvtpll ring length */
+	writel(0x00ff002b, CPU_GRF_BASE + GRF_CORE_PVTPLL_CON0);
+
 	/* Set the emmc sdmmc0 to secure */
 	rk_clrreg(SGRF_BASE + SGRF_SOC_CON4, (EMMC_HPROT_SECURE_CTRL << 11
 		| SDMMC0_HPROT_SECURE_CTRL << 4));
-- 
2.34.1


  parent reply	other threads:[~2023-02-13 22:29 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-13 22:27 [PATCH V2 0/9] Rockchip: Improve Support for RK3566 Devices Chris Morgan
2023-02-13 22:27 ` [PATCH V2 1/9] gpio: gpio-rockchip: parse gpio-ranges for bank id Chris Morgan
2023-02-22  7:44   ` Kever Yang
2023-02-22 10:59   ` Johan Jonker
2023-02-23  8:59   ` Linus Walleij
2023-03-02  2:54     ` Kever Yang
2023-03-02 13:59       ` Chris Morgan
2023-02-13 22:27 ` [PATCH V2 2/9] dts: rockchip: px30: add gpio-ranges property to gpio nodes Chris Morgan
2023-02-22  7:44   ` Kever Yang
2023-02-13 22:27 ` [PATCH V2 3/9] rockchip: vop2: Add vop2 dt-binding from Linux Chris Morgan
2023-02-13 22:27 ` [PATCH V2 4/9] arm64: dts: rockchip: Sync rk356x from Linux main Chris Morgan
2023-02-15 18:44   ` Jonas Karlman
2023-02-22  7:32     ` Kever Yang
2023-02-13 22:27 ` [PATCH V2 5/9] rockchip: rk3568: add boot device detection Chris Morgan
2023-02-15 18:28   ` Jonas Karlman
2023-02-22  7:45     ` Kever Yang
2023-02-13 22:27 ` Chris Morgan [this message]
2023-02-22  7:34   ` [PATCH V2 6/9] rockchip: rk3568: enable automatic power savings Kever Yang
2023-02-13 22:27 ` [PATCH V2 7/9] gpio/rockchip: rk_gpio support v2 gpio controller Chris Morgan
2023-02-16 11:19   ` FUKAUMI Naoki
2023-02-22  7:49   ` Kever Yang
2023-02-22  8:28   ` Kever Yang
2023-02-23 22:14   ` Vasily Khoruzhick
2023-03-01  8:25   ` Eugen Hristev
2023-03-01 15:02     ` Simon Glass
2023-02-13 22:27 ` [PATCH V2 8/9] arm64: dts: rockchip: add gpio-ranges property to gpio nodes Chris Morgan
2023-02-22  7:47   ` Kever Yang
2023-02-23 21:12   ` Vasily Khoruzhick
2023-02-28 11:26     ` Quentin Schulz
2023-03-02  2:49       ` Kever Yang
2023-03-07 19:14         ` Vasily Khoruzhick
2023-02-13 22:27 ` [PATCH V2 9/9] evb1-v10-rk3568: Update MAINTAINERS and documentation Chris Morgan
2023-02-22  7:48   ` Kever Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230213222742.135093-7-macroalpha82@gmail.com \
    --to=macroalpha82@gmail.com \
    --cc=chenjh@rock-chips.com \
    --cc=heiko.stuebner@theobroma-systems.com \
    --cc=heiko@sntech.de \
    --cc=kever.yang@rock-chips.com \
    --cc=macromorgan@hotmail.com \
    --cc=pgwipeout@gmail.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).