All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jagan Teki <jagan@edgeble.ai>
To: Kever Yang <kever.yang@rock-chips.com>,
	Simon Glass <sjg@chromium.org>,
	Philipp Tomsich <philipp.tomsich@vrull.eu>,
	fatorangecat@189.cn
Cc: u-boot@lists.denx.de, Jagan Teki <jagan@edgeble.ai>
Subject: [RFC PATCH 07/16] ram: rockchip: Add rk3588 ddr driver support
Date: Thu, 26 Jan 2023 03:57:32 +0530	[thread overview]
Message-ID: <20230125222741.303259-8-jagan@edgeble.ai> (raw)
In-Reply-To: <20230125222741.303259-1-jagan@edgeble.ai>

Add ddr driver for rk3588 to get the ram capacity.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
---
 drivers/ram/rockchip/Makefile       |  1 +
 drivers/ram/rockchip/sdram_rk3588.c | 56 +++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 drivers/ram/rockchip/sdram_rk3588.c

diff --git a/drivers/ram/rockchip/Makefile b/drivers/ram/rockchip/Makefile
index 98839ad6a6..36dc0500da 100644
--- a/drivers/ram/rockchip/Makefile
+++ b/drivers/ram/rockchip/Makefile
@@ -14,5 +14,6 @@ obj-$(CONFIG_ROCKCHIP_RK3308) = sdram_rk3308.o
 obj-$(CONFIG_ROCKCHIP_RK3328) = sdram_rk3328.o sdram_pctl_px30.o sdram_phy_px30.o
 obj-$(CONFIG_ROCKCHIP_RK3399) += sdram_rk3399.o
 obj-$(CONFIG_ROCKCHIP_RK3568) += sdram_rk3568.o
+obj-$(CONFIG_ROCKCHIP_RK3588) += sdram_rk3588.o
 obj-$(CONFIG_ROCKCHIP_RV1126) += sdram_rv1126.o sdram_pctl_px30.o
 obj-$(CONFIG_ROCKCHIP_SDRAM_COMMON) += sdram_common.o
diff --git a/drivers/ram/rockchip/sdram_rk3588.c b/drivers/ram/rockchip/sdram_rk3588.c
new file mode 100644
index 0000000000..16fcea595a
--- /dev/null
+++ b/drivers/ram/rockchip/sdram_rk3588.c
@@ -0,0 +1,56 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (C) Copyright 2021 Rockchip Electronics Co., Ltd.
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <ram.h>
+#include <syscon.h>
+#include <asm/arch-rockchip/clock.h>
+#include <asm/arch-rockchip/grf_rk3588.h>
+#include <asm/arch-rockchip/sdram.h>
+
+struct dram_info {
+	struct ram_info info;
+	struct rk3588_pmu1grf *pmugrf;
+};
+
+static int rk3588_dmc_probe(struct udevice *dev)
+{
+	struct dram_info *priv = dev_get_priv(dev);
+
+	priv->pmugrf = syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF);
+	priv->info.base = CFG_SYS_SDRAM_BASE;
+	priv->info.size =
+		rockchip_sdram_size((phys_addr_t)&priv->pmugrf->os_reg[2]);
+
+	return 0;
+}
+
+static int rk3588_dmc_get_info(struct udevice *dev, struct ram_info *info)
+{
+	struct dram_info *priv = dev_get_priv(dev);
+
+	*info = priv->info;
+
+	return 0;
+}
+
+static struct ram_ops rk3588_dmc_ops = {
+	.get_info = rk3588_dmc_get_info,
+};
+
+static const struct udevice_id rk3588_dmc_ids[] = {
+	{ .compatible = "rockchip,rk3588-dmc" },
+	{ }
+};
+
+U_BOOT_DRIVER(dmc_rk3588) = {
+	.name = "rockchip_rk3588_dmc",
+	.id = UCLASS_RAM,
+	.of_match = rk3588_dmc_ids,
+	.ops = &rk3588_dmc_ops,
+	.probe = rk3588_dmc_probe,
+	.priv_auto = sizeof(struct dram_info),
+};
-- 
2.25.1


  parent reply	other threads:[~2023-01-25 22:29 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-25 22:27 [RFC PATCH 00/16] arm: Add Rockchip RK3588 support Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 01/16] rockchip: mkimage: Add rk3588 support Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 02/16] arm: rockchip: Add cru header for rk3588 Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 03/16] arm: rockchip: Add grf " Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 04/16] dt-bindings: clk: Add dt-binding header for RK3588 Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 05/16] clk: rockchip: Add rk3588 clk support Jagan Teki
2023-02-02 14:09   ` Eugen Hristev
2023-01-25 22:27 ` [RFC PATCH 06/16] clk: rockchip: pll: Add pll_rk3588 type for rk3588 Jagan Teki
2023-01-25 22:27 ` Jagan Teki [this message]
2023-01-25 22:27 ` [RFC PATCH 08/16] dt-bindings: power: Add power-domain header " Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 09/16] dt-bindings: reset: add rk3588 reset definitions Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 10/16] arm: rockchip: Add ioc header for rk3588 Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 11/16] arm64: dts: rockchip: Add base DT for rk3588 SoC Jagan Teki
2023-02-02 14:06   ` Eugen Hristev
2023-01-25 22:27 ` [RFC PATCH 12/16] arm64: dts: rockchip: rk3588: Add Edgeble Neu6 Model A SoM Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 13/16] arm64: dts: rockchip: rk3588: Add Edgeble Neu6 Model A IO Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 14/16] arm: rockchip: Add RK3588 arch core support Jagan Teki
2023-01-25 22:27 ` [RFC PATCH 15/16] ARM: dts: rockchip: Add rk3588-u-boot.dtsi Jagan Teki
2023-01-27 13:33   ` Eugen Hristev
2023-01-27 13:37     ` Jagan Teki
2023-01-27 13:50       ` Eugen Hristev
2023-01-27 14:23         ` Jagan Teki
2023-01-27 15:19   ` Eugen Hristev
2023-01-25 22:27 ` [RFC PATCH 16/16] board: rockchip: Add Edgeble Neural Compute Module 6 Jagan Teki
2023-02-02  8:23   ` Eugen Hristev
2023-02-16  9:03     ` Jagan Teki
2023-01-25 22:47 ` [RFC PATCH 00/16] arm: Add Rockchip RK3588 support Jonas Karlman
2023-01-26 16:51   ` Jagan Teki
2023-01-26 16:58     ` Jonas Karlman
2023-01-26 17:42       ` Jagan Teki
2023-01-26 18:01         ` Jagan Teki
2023-01-26 18:04         ` Simon Glass
2023-01-26 18:26           ` Jagan Teki
2023-01-26 19:03             ` Jonas Karlman
2023-01-26 19:17               ` Jagan Teki
2023-01-26 22:16                 ` Jonas Karlman
2023-01-26 23:43                   ` Jonas Karlman
2023-01-27 13:21                     ` Jagan Teki
2023-01-29  9:04                       ` Jonas Karlman
2023-03-08  8:57                         ` Eugen Hristev
2023-03-12 22:34                           ` Jonas Karlman
2023-03-13  8:42                             ` Eugen Hristev
2023-03-13 10:00                               ` Jonas Karlman
2023-03-13 14:21                                 ` Eugen Hristev
2023-03-13 14:51                                   ` Eugen Hristev
2023-03-13 15:07                                   ` Mark Kettenis
2023-03-13 15:21                                     ` Eugen Hristev
2023-03-13 15:34                                       ` Mark Kettenis
2023-03-13 15:49                                         ` Eugen Hristev
2023-03-13 19:15                                           ` Jonas Karlman
2023-01-26 19:14             ` Simon Glass
2023-01-26 19:35               ` Jagan Teki
2023-01-29  9:47   ` Kever Yang
2023-01-29  9:58     ` Jonas Karlman
2023-01-30  0:55       ` Kever Yang
2023-01-30  5:19         ` Jagan Teki

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=20230125222741.303259-8-jagan@edgeble.ai \
    --to=jagan@edgeble.ai \
    --cc=fatorangecat@189.cn \
    --cc=kever.yang@rock-chips.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.