All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/4] Add Renesas SoC identification driver support
@ 2020-11-16 13:03 Biju Das
  2020-11-16 13:03 ` [PATCH v4 1/4] dm: core: Add of_match_node helper function Biju Das
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Biju Das @ 2020-11-16 13:03 UTC (permalink / raw)
  To: u-boot

This patch series aims to support Renesas SoC identification driver.

Added a helper function of_match_node to find the matching of_match structure. This helper function can be used to replace the following code in u-boot [1] and [2]

[1] https://elixir.bootlin.com/u-boot/latest/source/drivers/serial/serial_uniphier.c#L129
[2] https://elixir.bootlin.com/u-boot/latest/source/drivers/usb/phy/rockchip_usb2_phy.c#L77

Also added soc_id attribute support in UCLASS_SOC which is required for Renesas SoC identification driver similar to mainline linux.

v3->v4
  * Added Simon's Rb tag
  * Updated patch description for SoC identification using soc_id
  * Updated probe function of Renesas SoC identification driver.

Biju Das (4):
  dm: core: Add of_match_node helper function
  soc: Fix comments from SOC to SoC
  dm: soc: Add SoC id for attribute matching
  dm: soc: SoC identification driver for Renesas SoC's

 drivers/core/device.c     |  21 ++++
 drivers/soc/Kconfig       |   7 ++
 drivers/soc/Makefile      |   1 +
 drivers/soc/soc-uclass.c  |  19 ++-
 drivers/soc/soc_renesas.c | 244 ++++++++++++++++++++++++++++++++++++++
 drivers/soc/soc_sandbox.c |   8 ++
 include/dm/device.h       |  13 ++
 include/soc.h             |  39 +++++-
 test/dm/core.c            |  31 +++++
 test/dm/soc.c             |   8 ++
 10 files changed, 384 insertions(+), 7 deletions(-)
 create mode 100644 drivers/soc/soc_renesas.c

-- 
2.17.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 1/4] dm: core: Add of_match_node helper function
  2020-11-16 13:03 [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
@ 2020-11-16 13:03 ` Biju Das
  2020-11-16 13:03 ` [PATCH v4 2/4] soc: Fix comments from SOC to SoC Biju Das
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Biju Das @ 2020-11-16 13:03 UTC (permalink / raw)
  To: u-boot

Add of_match_node() helper function to iterate over the device tree
and tell if a device_node has a matching of_match structure.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
v3->v4: No change
 * Added Simon's Rb tag.
v2->v3:
 * Added a test case for of_match_node helper function.
 (Ref: https://patchwork.ozlabs.org/project/uboot/patch/20201102150959.4793-2-biju.das.jz at bp.renesas.com/)
v1->v2:
  * No Change.
---
 drivers/core/device.c | 21 +++++++++++++++++++++
 include/dm/device.h   | 13 +++++++++++++
 test/dm/core.c        | 31 +++++++++++++++++++++++++++++++
 3 files changed, 65 insertions(+)

diff --git a/drivers/core/device.c b/drivers/core/device.c
index 4b3dcb3b37..5db4c5e78b 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -1010,6 +1010,27 @@ bool of_machine_is_compatible(const char *compat)
 	return !fdt_node_check_compatible(fdt, 0, compat);
 }
 
+static
+const struct udevice_id *__of_match_node(const struct udevice_id *matches,
+					 const ofnode node)
+{
+	if (!matches)
+		return NULL;
+
+	for (; matches->compatible; matches++) {
+		if (ofnode_device_is_compatible(node, matches->compatible))
+			return matches;
+	}
+
+	return NULL;
+}
+
+const struct udevice_id *of_match_node(const struct udevice_id *matches,
+				       const ofnode node)
+{
+	return __of_match_node(matches, node);
+}
+
 int dev_disable_by_path(const char *path)
 {
 	struct uclass *uc;
diff --git a/include/dm/device.h b/include/dm/device.h
index 5bef484247..4c357d46ec 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -754,6 +754,19 @@ bool device_is_compatible(const struct udevice *dev, const char *compat);
  */
 bool of_machine_is_compatible(const char *compat);
 
+/**
+ * of_match_node() - Tell if a device_node has a matching of_match structure
+ *
+ *
+ * Low level utility function used by device matching.
+ *
+ * @matches:	array of of device match structures to search in
+ * @node:	the of device structure to match against
+ * @return matching structure on success, NULL if the match is not found
+ */
+const struct udevice_id *of_match_node(const struct udevice_id *matches,
+				       const ofnode node);
+
 /**
  * dev_disable_by_path() - Disable a device given its device tree path
  *
diff --git a/test/dm/core.c b/test/dm/core.c
index 6f380a574c..b94b78d9ba 100644
--- a/test/dm/core.c
+++ b/test/dm/core.c
@@ -11,6 +11,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <malloc.h>
+#include <dm/device.h>
 #include <dm/device-internal.h>
 #include <dm/root.h>
 #include <dm/util.h>
@@ -1066,3 +1067,33 @@ static int dm_test_inactive_child(struct unit_test_state *uts)
 	return 0;
 }
 DM_TEST(dm_test_inactive_child, UT_TESTF_SCAN_PDATA);
+
+static int dm_test_of_match_node(struct unit_test_state *uts)
+{
+	const ulong test_data_expected = 0x1234;
+	ofnode root_node = ofnode_path("/");
+	const struct udevice_id *match;
+	unsigned long match_data;
+
+	const struct udevice_id soc_device_ids[] = {
+		{ .compatible = "sandbox", .data = test_data_expected, },
+		{ /* sentinel */ }
+	};
+
+	const struct udevice_id soc_device_nomatch_ids[] = {
+		{ .compatible = "sandbox123", .data = test_data_expected, },
+		{ /* sentinel */ }
+	};
+
+	match = of_match_node(soc_device_ids, root_node);
+	ut_assert(match);
+
+	match_data = match->data;
+	ut_asserteq(match_data, test_data_expected);
+
+	match = of_match_node(soc_device_nomatch_ids, root_node);
+	ut_asserteq_ptr(match, NULL);
+
+	return 0;
+}
+DM_TEST(dm_test_of_match_node, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v4 2/4] soc: Fix comments from SOC to SoC
  2020-11-16 13:03 [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
  2020-11-16 13:03 ` [PATCH v4 1/4] dm: core: Add of_match_node helper function Biju Das
@ 2020-11-16 13:03 ` Biju Das
  2020-11-16 13:03 ` [PATCH v4 3/4] dm: soc: Add SoC id for attribute matching Biju Das
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Biju Das @ 2020-11-16 13:03 UTC (permalink / raw)
  To: u-boot

Fix the comments from "an SOC" to "an SoC".

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
 v3->v4: No Change
 * Added Simon's Rb tag.
 v3: 
 * New patch
 (Ref: https://patchwork.ozlabs.org/project/uboot/patch/20201102150959.4793-3-biju.das.jz at bp.renesas.com/)
---
 include/soc.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/soc.h b/include/soc.h
index a55eb1b572..05058f9331 100644
--- a/include/soc.h
+++ b/include/soc.h
@@ -31,7 +31,7 @@ struct soc_attr {
 
 struct soc_ops {
 	/**
-	 * get_machine() - Get machine name of an SOC
+	 * get_machine() - Get machine name of an SoC
 	 *
 	 * @dev:	Device to check (UCLASS_SOC)
 	 * @buf:	Buffer to place string
@@ -41,7 +41,7 @@ struct soc_ops {
 	int (*get_machine)(struct udevice *dev, char *buf, int size);
 
 	/**
-	 * get_revision() - Get revision name of a SOC
+	 * get_revision() - Get revision name of an SoC
 	 *
 	 * @dev:	Device to check (UCLASS_SOC)
 	 * @buf:	Buffer to place string
@@ -51,7 +51,7 @@ struct soc_ops {
 	int (*get_revision)(struct udevice *dev, char *buf, int size);
 
 	/**
-	 * get_family() - Get family name of an SOC
+	 * get_family() - Get family name of an SoC
 	 *
 	 * @dev:	Device to check (UCLASS_SOC)
 	 * @buf:	Buffer to place string
@@ -76,7 +76,7 @@ struct soc_ops {
 int soc_get(struct udevice **devp);
 
 /**
- * soc_get_machine() - Get machine name of an SOC
+ * soc_get_machine() - Get machine name of an SoC
  * @dev:	Device to check (UCLASS_SOC)
  * @buf:	Buffer to place string
  * @size:	Size of string space
@@ -86,7 +86,7 @@ int soc_get(struct udevice **devp);
 int soc_get_machine(struct udevice *dev, char *buf, int size);
 
 /**
- * soc_get_revision() - Get revision name of an SOC
+ * soc_get_revision() - Get revision name of an SoC
  * @dev:	Device to check (UCLASS_SOC)
  * @buf:	Buffer to place string
  * @size:	Size of string space
@@ -96,7 +96,7 @@ int soc_get_machine(struct udevice *dev, char *buf, int size);
 int soc_get_revision(struct udevice *dev, char *buf, int size);
 
 /**
- * soc_get_family() - Get family name of an SOC
+ * soc_get_family() - Get family name of an SoC
  * @dev:	Device to check (UCLASS_SOC)
  * @buf:	Buffer to place string
  * @size:	Size of string space
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v4 3/4] dm: soc: Add SoC id for attribute matching
  2020-11-16 13:03 [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
  2020-11-16 13:03 ` [PATCH v4 1/4] dm: core: Add of_match_node helper function Biju Das
  2020-11-16 13:03 ` [PATCH v4 2/4] soc: Fix comments from SOC to SoC Biju Das
@ 2020-11-16 13:03 ` Biju Das
  2020-11-16 13:03 ` [PATCH v4 4/4] dm: soc: SoC identification driver for Renesas SoC's Biju Das
  2020-11-30  9:18 ` [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
  4 siblings, 0 replies; 9+ messages in thread
From: Biju Das @ 2020-11-16 13:03 UTC (permalink / raw)
  To: u-boot

Mainline kernel uses the "soc_id" attribute to identify the SoC for some
of the h/w platforms. Adding this attribute in u-boot will make SoC
identification similar to the mainline kernel, so that it can be easily
maintained.

Add a new attribute named "soc_id" to SOC uclass, in order to allow device
drivers for identifying the SoC using SoC identification string and also
for matching this attribute for selecting SoC specific data.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
v3->v4:
 * Updated patch description
 * Added Simon's Rb tag.

v2->v3:
 * split the comments patch seperate.
 Ref:https://patchwork.ozlabs.org/project/uboot/patch/20201102150959.4793-3-biju.das.jz at bp.renesas.com/

v1->v2: Changed the comments from "a SoC" to "an SoC"
 Ref: https://patchwork.ozlabs.org/project/uboot/patch/20201030140724.12773-1-biju.das.jz at bp.renesas.com/
---
 drivers/soc/soc-uclass.c  | 19 ++++++++++++++++++-
 drivers/soc/soc_sandbox.c |  8 ++++++++
 include/soc.h             | 27 +++++++++++++++++++++++++++
 test/dm/soc.c             |  8 ++++++++
 4 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/soc-uclass.c b/drivers/soc/soc-uclass.c
index c32d647864..a3f8be841b 100644
--- a/drivers/soc/soc-uclass.c
+++ b/drivers/soc/soc-uclass.c
@@ -46,6 +46,16 @@ int soc_get_revision(struct udevice *dev, char *buf, int size)
 	return ops->get_revision(dev, buf, size);
 }
 
+int soc_get_soc_id(struct udevice *dev, char *buf, int size)
+{
+	struct soc_ops *ops = soc_get_ops(dev);
+
+	if (!ops->get_soc_id)
+		return -ENOSYS;
+
+	return ops->get_soc_id(dev, buf, size);
+}
+
 const struct soc_attr *
 soc_device_match(const struct soc_attr *matches)
 {
@@ -61,7 +71,7 @@ soc_device_match(const struct soc_attr *matches)
 
 	while (1) {
 		if (!(matches->machine || matches->family ||
-		      matches->revision))
+		      matches->revision || matches->soc_id))
 			break;
 
 		match = true;
@@ -87,6 +97,13 @@ soc_device_match(const struct soc_attr *matches)
 			}
 		}
 
+		if (matches->soc_id) {
+			if (!soc_get_soc_id(soc, str, SOC_MAX_STR_SIZE)) {
+				if (strcmp(matches->soc_id, str))
+					match = false;
+			}
+		}
+
 		if (match)
 			return matches;
 
diff --git a/drivers/soc/soc_sandbox.c b/drivers/soc/soc_sandbox.c
index 5c82ad84fc..1a81d3562a 100644
--- a/drivers/soc/soc_sandbox.c
+++ b/drivers/soc/soc_sandbox.c
@@ -31,10 +31,18 @@ int soc_sandbox_get_revision(struct udevice *dev, char *buf, int size)
 	return 0;
 }
 
+int soc_sandbox_get_soc_id(struct udevice *dev, char *buf, int size)
+{
+	snprintf(buf, size, "r8a774a1");
+
+	return 0;
+}
+
 static const struct soc_ops soc_sandbox_ops = {
 	.get_family = soc_sandbox_get_family,
 	.get_revision = soc_sandbox_get_revision,
 	.get_machine = soc_sandbox_get_machine,
+	.get_soc_id = soc_sandbox_get_soc_id,
 };
 
 int soc_sandbox_probe(struct udevice *dev)
diff --git a/include/soc.h b/include/soc.h
index 05058f9331..db0e8880d1 100644
--- a/include/soc.h
+++ b/include/soc.h
@@ -20,12 +20,14 @@
  *	       variants. Example: am33
  * @machine  - Name of a specific SoC. Example: am3352
  * @revision - Name of a specific SoC revision. Example: SR1.1
+ * @soc_id   - SoC identification string. Example: r8a774a1
  * @data     - A pointer to user data for the SoC variant
  */
 struct soc_attr {
 	const char *family;
 	const char *machine;
 	const char *revision;
+	const char *soc_id;
 	const void *data;
 };
 
@@ -59,6 +61,16 @@ struct soc_ops {
 	 * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
 	 */
 	int (*get_family)(struct udevice *dev, char *buf, int size);
+
+	/**
+	 * get_soc_id() - Get SoC identification name of an SoC
+	 *
+	 * @dev:	Device to check (UCLASS_SOC)
+	 * @buf:	Buffer to place string
+	 * @size:	Size of string space
+	 * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
+	 */
+	int (*get_soc_id)(struct udevice *dev, char *buf, int size);
 };
 
 #define soc_get_ops(dev)        ((struct soc_ops *)(dev)->driver->ops)
@@ -105,6 +117,16 @@ int soc_get_revision(struct udevice *dev, char *buf, int size);
  */
 int soc_get_family(struct udevice *dev, char *buf, int size);
 
+/**
+ * soc_get_soc_id() - Get SoC identification name of an SoC
+ * @dev:	Device to check (UCLASS_SOC)
+ * @buf:	Buffer to place string
+ * @size:	Size of string space
+ *
+ * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
+ */
+int soc_get_soc_id(struct udevice *dev, char *buf, int size);
+
 /**
  * soc_device_match() - Return match from an array of soc_attr
  * @matches:	Array with any combination of family, revision or machine set
@@ -136,6 +158,11 @@ static inline int soc_get_family(struct udevice *dev, char *buf, int size)
 	return -ENOSYS;
 }
 
+static inline int soc_get_soc_id(struct udevice *dev, char *buf, int size)
+{
+	return -ENOSYS;
+}
+
 static inline const struct soc_attr *
 soc_device_match(const struct soc_attr *matches)
 {
diff --git a/test/dm/soc.c b/test/dm/soc.c
index 17e1b5ba01..82cd53ff29 100644
--- a/test/dm/soc.c
+++ b/test/dm/soc.c
@@ -32,24 +32,28 @@ static int dm_test_soc(struct unit_test_state *uts)
 			.family = "SANDBOX0xx",
 			.machine = "SANDBOX012",
 			.revision = "1.0",
+			.soc_id = "r8a774a1",
 			.data = NULL,
 		},
 		{
 			.family = "SANDBOX1xx",
 			.machine = "SANDBOX107",
 			.revision = "1.0",
+			.soc_id = "r8a774a1",
 			.data = NULL,
 		},
 		{
 			.family = "SANDBOX1xx",
 			.machine = "SANDBOX123",
 			.revision = "1.0",
+			.soc_id = "r8a774a1",
 			.data = &soc_sandbox123_data,
 		},
 		{
 			.family = "SANDBOX1xx",
 			.machine = "SANDBOX131",
 			.revision = "2.0",
+			.soc_id = "r8a774a1",
 			.data = NULL,
 		},
 		{ /* sentinel */ }
@@ -78,6 +82,7 @@ static int dm_test_soc(struct unit_test_state *uts)
 		{
 			.family = "SANDBOX0xx",
 			.revision = "1.0",
+			.soc_id = "r8a774b1",
 			.data = NULL,
 		},
 		{
@@ -99,6 +104,9 @@ static int dm_test_soc(struct unit_test_state *uts)
 	ut_assertok(soc_get_revision(dev, text, sizeof(text)));
 	ut_asserteq_str(text, "1.0");
 
+	ut_assertok(soc_get_soc_id(dev, text, sizeof(text)));
+	ut_asserteq_str(text, "r8a774a1");
+
 	soc_data = soc_device_match(sb_soc_devices_full);
 	ut_assert(soc_data);
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v4 4/4] dm: soc: SoC identification driver for Renesas SoC's
  2020-11-16 13:03 [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
                   ` (2 preceding siblings ...)
  2020-11-16 13:03 ` [PATCH v4 3/4] dm: soc: Add SoC id for attribute matching Biju Das
@ 2020-11-16 13:03 ` Biju Das
  2020-11-30  9:18 ` [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
  4 siblings, 0 replies; 9+ messages in thread
From: Biju Das @ 2020-11-16 13:03 UTC (permalink / raw)
  To: u-boot

Add SoC identification driver for Renesas SoC's. This allows
to identify the SoC type and revision based on Product Register.

This can be checked where needed using soc_device_match().

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
v3->v4: 
 * Updated Copy right information from Linux.
 * Updated probe function, use the prr address from DT.
v2->v3: No Change.
v2: New patch
---
 drivers/soc/Kconfig       |   7 ++
 drivers/soc/Makefile      |   1 +
 drivers/soc/soc_renesas.c | 244 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 252 insertions(+)
 create mode 100644 drivers/soc/soc_renesas.c

diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig
index 864d00a885..475e94cd77 100644
--- a/drivers/soc/Kconfig
+++ b/drivers/soc/Kconfig
@@ -16,6 +16,13 @@ config SOC_DEVICE_TI_K3
 	  This allows Texas Instruments Keystone 3 SoCs to identify
 	  specifics about the SoC in use.
 
+config SOC_DEVICE_RENESAS
+	depends on SOC_DEVICE
+	bool "Enable SoC driver for Renesas SoCs"
+	help
+	  This allows Renesas SoCs to identify specifics about the
+	  SoC in use.
+
 source "drivers/soc/ti/Kconfig"
 
 endmenu
diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile
index 9ef20ca506..b143eac5fd 100644
--- a/drivers/soc/Makefile
+++ b/drivers/soc/Makefile
@@ -4,5 +4,6 @@
 
 obj-$(CONFIG_SOC_TI) += ti/
 obj-$(CONFIG_SOC_DEVICE) += soc-uclass.o
+obj-$(CONFIG_$(SPL_)SOC_DEVICE_RENESAS) += soc_renesas.o
 obj-$(CONFIG_SOC_DEVICE_TI_K3) += soc_ti_k3.o
 obj-$(CONFIG_SANDBOX) += soc_sandbox.o
diff --git a/drivers/soc/soc_renesas.c b/drivers/soc/soc_renesas.c
new file mode 100644
index 0000000000..a42c6342fa
--- /dev/null
+++ b/drivers/soc/soc_renesas.c
@@ -0,0 +1,244 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2014-2016 Glider bvba
+ * Copyright (C) 2020 Renesas Electronics Corp.
+ *
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <dm/device-internal.h>
+#include <soc.h>
+
+#include <asm/io.h>
+
+struct soc_renesas_priv {
+	const char *family;
+	const char *soc_id;
+	char revision[6];
+};
+
+struct renesas_family {
+	const char name[16];
+	u32 reg;			/* CCCR or PRR, if not in DT */
+};
+
+static const struct renesas_family fam_rcar_gen3 __maybe_unused = {
+	.name	= "R-Car Gen3",
+	.reg	= 0xfff00044,		/* PRR (Product Register) */
+};
+
+static const struct renesas_family fam_rzg2 __maybe_unused = {
+	.name	= "RZ/G2",
+	.reg	= 0xfff00044,		/* PRR (Product Register) */
+};
+
+struct renesas_soc {
+	const struct renesas_family *family;
+	u8 id;
+};
+
+#ifdef CONFIG_R8A774A1
+static const struct renesas_soc soc_rz_g2m = {
+	.family	= &fam_rzg2,
+	.id	= 0x52,
+};
+#endif
+
+#ifdef CONFIG_R8A774B1
+static const struct renesas_soc soc_rz_g2n = {
+	.family = &fam_rzg2,
+	.id     = 0x55,
+};
+#endif
+
+#ifdef CONFIG_R8A774C0
+static const struct renesas_soc soc_rz_g2e = {
+	.family	= &fam_rzg2,
+	.id	= 0x57,
+};
+#endif
+
+#ifdef CONFIG_R8A774E1
+static const struct renesas_soc soc_rz_g2h = {
+	.family	= &fam_rzg2,
+	.id	= 0x4f,
+};
+#endif
+
+#ifdef CONFIG_R8A7795
+static const struct renesas_soc soc_rcar_h3 = {
+	.family	= &fam_rcar_gen3,
+	.id	= 0x4f,
+};
+#endif
+
+#ifdef CONFIG_R8A7796
+static const struct renesas_soc soc_rcar_m3_w = {
+	.family	= &fam_rcar_gen3,
+	.id	= 0x52,
+};
+#endif
+
+#ifdef CONFIG_R8A77965
+static const struct renesas_soc soc_rcar_m3_n = {
+	.family = &fam_rcar_gen3,
+	.id     = 0x55,
+};
+#endif
+
+#ifdef CONFIG_R8A77970
+static const struct renesas_soc soc_rcar_v3m = {
+	.family	= &fam_rcar_gen3,
+	.id	= 0x54,
+};
+#endif
+
+#ifdef CONFIG_R8A77980
+static const struct renesas_soc soc_rcar_v3h = {
+	.family	= &fam_rcar_gen3,
+	.id	= 0x56,
+};
+#endif
+
+#ifdef CONFIG_R8A77990
+static const struct renesas_soc soc_rcar_e3 = {
+	.family	= &fam_rcar_gen3,
+	.id	= 0x57,
+};
+#endif
+
+#ifdef CONFIG_R8A77995
+static const struct renesas_soc soc_rcar_d3 = {
+	.family	= &fam_rcar_gen3,
+	.id	= 0x58,
+};
+#endif
+
+static int soc_renesas_get_family(struct udevice *dev, char *buf, int size)
+{
+	struct soc_renesas_priv *priv = dev_get_priv(dev);
+
+	snprintf(buf, size, "%s", priv->family);
+
+	return 0;
+}
+
+static int soc_renesas_get_revision(struct udevice *dev, char *buf, int size)
+{
+	struct soc_renesas_priv *priv = dev_get_priv(dev);
+
+	snprintf(buf, size, "%s", priv->revision);
+
+	return 0;
+}
+
+static int soc_renesas_get_soc_id(struct udevice *dev, char *buf, int size)
+{
+	struct soc_renesas_priv *priv = dev_get_priv(dev);
+
+	snprintf(buf, size, "%s", priv->soc_id);
+
+	return 0;
+}
+
+static const struct udevice_id renesas_socs[] = {
+#ifdef CONFIG_R8A774A1
+	{ .compatible = "renesas,r8a774a1",	.data = (ulong)&soc_rz_g2m, },
+#endif
+#ifdef CONFIG_R8A774B1
+	{ .compatible = "renesas,r8a774b1",	.data = (ulong)&soc_rz_g2n, },
+#endif
+#ifdef CONFIG_R8A774C0
+	{ .compatible = "renesas,r8a774c0",	.data = (ulong)&soc_rz_g2e, },
+#endif
+#ifdef CONFIG_R8A774E1
+	{ .compatible = "renesas,r8a774e1",	.data = (ulong)&soc_rz_g2h, },
+#endif
+#ifdef CONFIG_R8A7795
+	{ .compatible = "renesas,r8a7795",	.data = (ulong)&soc_rcar_h3, },
+#endif
+#ifdef CONFIG_R8A7796
+	{ .compatible = "renesas,r8a7796",	.data = (ulong)&soc_rcar_m3_w, },
+#endif
+#ifdef CONFIG_R8A77965
+	{ .compatible = "renesas,r8a77965",	.data = (ulong)&soc_rcar_m3_n, },
+#endif
+#ifdef CONFIG_R8A77970
+	{ .compatible = "renesas,r8a77970",	.data = (ulong)&soc_rcar_v3m, },
+#endif
+#ifdef CONFIG_R8A77980
+	{ .compatible = "renesas,r8a77980",	.data = (ulong)&soc_rcar_v3h, },
+#endif
+#ifdef CONFIG_R8A77990
+	{ .compatible = "renesas,r8a77990",	.data = (ulong)&soc_rcar_e3, },
+#endif
+#ifdef CONFIG_R8A77995
+	{ .compatible = "renesas,r8a77995",	.data = (ulong)&soc_rcar_d3, },
+#endif
+	{ /* sentinel */ }
+};
+
+static const struct udevice_id prr_ids[] = {
+	{ .compatible = "renesas,prr" },
+	{ /* sentinel */ }
+};
+
+static const struct soc_ops soc_renesas_ops = {
+	.get_family = soc_renesas_get_family,
+	.get_revision = soc_renesas_get_revision,
+	.get_soc_id = soc_renesas_get_soc_id,
+};
+
+int soc_renesas_probe(struct udevice *dev)
+{
+	struct soc_renesas_priv *priv = dev_get_priv(dev);
+	void *prr_addr = dev_read_addr_ptr(dev);
+	unsigned int product, eshi = 0, eslo;
+	const struct renesas_family *family;
+	const struct udevice_id *match;
+	struct renesas_soc *soc;
+	ofnode root_node;
+
+	if (!prr_addr)
+		return -EINVAL;
+
+	root_node = ofnode_path("/");
+	match = of_match_node(renesas_socs, root_node);
+	if (!match) {
+		printf("SoC entry is missing in DT\n");
+		return -EINVAL;
+	}
+
+	soc = (struct renesas_soc *)match->data;
+	family = soc->family;
+
+	product = readl(prr_addr);
+	/* R-Car M3-W ES1.1 incorrectly identifies as ES2.0 */
+	if ((product & 0x7fff) == 0x5210)
+		product ^= 0x11;
+	/* R-Car M3-W ES1.3 incorrectly identifies as ES2.1 */
+	if ((product & 0x7fff) == 0x5211)
+		product ^= 0x12;
+	if (soc->id && ((product >> 8) & 0xff) != soc->id) {
+		printf("SoC mismatch (product = 0x%x)\n", product);
+		return -EINVAL;
+	}
+	eshi = ((product >> 4) & 0x0f) + 1;
+	eslo = product & 0xf;
+
+	priv->family = family->name;
+	priv->soc_id = strchr(match->compatible, ',') + 1;
+	snprintf(priv->revision, sizeof(priv->revision), "ES%u.%u", eshi, eslo);
+
+	return 0;
+}
+
+U_BOOT_DRIVER(soc_renesas) = {
+	.name           = "soc_renesas",
+	.id             = UCLASS_SOC,
+	.ops		= &soc_renesas_ops,
+	.of_match       = prr_ids,
+	.probe          = soc_renesas_probe,
+	.priv_auto_alloc_size  = sizeof(struct soc_renesas_priv),
+};
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v4 0/4] Add Renesas SoC identification driver support
  2020-11-16 13:03 [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
                   ` (3 preceding siblings ...)
  2020-11-16 13:03 ` [PATCH v4 4/4] dm: soc: SoC identification driver for Renesas SoC's Biju Das
@ 2020-11-30  9:18 ` Biju Das
  2020-12-11 20:25   ` Adam Ford
  4 siblings, 1 reply; 9+ messages in thread
From: Biju Das @ 2020-11-30  9:18 UTC (permalink / raw)
  To: u-boot

Hi All,

Gentle Ping. Please let me know, are we happy with this patch series?

The patch series[1] is blocked by this.
[1] http://u-boot.10912.n7.nabble.com/PATCH-v7-0-4-Add-CPU-identification-support-for-RZ-G2-SoC-s-tt433694.html#a433807

Cheers,
Biju

> -----Original Message-----
> From: Biju Das <biju.das.jz@bp.renesas.com>
> Sent: 16 November 2020 13:04
> To: Simon Glass <sjg@chromium.org>; Marek Vasut
> <marek.vasut+renesas@gmail.com>
> Cc: Biju Das <biju.das.jz@bp.renesas.com>; Dave Gerlach <d-
> gerlach at ti.com>; Prabhakar Mahadev Lad <prabhakar.mahadev-
> lad.rj at bp.renesas.com>; u-boot at lists.denx.de; Nobuhiro Iwamatsu
> <iwamatsu@nigauri.org>; Chris Paterson <Chris.Paterson2@renesas.com>
> Subject: [PATCH v4 0/4] Add Renesas SoC identification driver support
> 
> This patch series aims to support Renesas SoC identification driver.
> 
> Added a helper function of_match_node to find the matching of_match
> structure. This helper function can be used to replace the following code
> in u-boot [1] and [2]
> 
> [1]
> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Felixir.b
> ootlin.com%2Fu-
> boot%2Flatest%2Fsource%2Fdrivers%2Fserial%2Fserial_uniphier.c%23L129&amp;d
> ata=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7Ccc01f2630adf48bdb3c408d88a306
> 996%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637411287820999264%7CUnkn
> own%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJX
> VCI6Mn0%3D%7C1000&amp;sdata=YmZ52jZrOQqXhvbflvy5XWnXsfb7FIRgxpY1XhBI6YE%3D
> &amp;reserved=0
> [2]
> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Felixir.b
> ootlin.com%2Fu-
> boot%2Flatest%2Fsource%2Fdrivers%2Fusb%2Fphy%2Frockchip_usb2_phy.c%23L77&a
> mp;data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7Ccc01f2630adf48bdb3c408d88
> a306996%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637411287820999264%7C
> Unknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwi
> LCJXVCI6Mn0%3D%7C1000&amp;sdata=N2wF3aZNCkN7TQlA%2FbhV3ggDjZdYVjjS%2F0tOFf
> j%2BkOE%3D&amp;reserved=0
> 
> Also added soc_id attribute support in UCLASS_SOC which is required for
> Renesas SoC identification driver similar to mainline linux.
> 
> v3->v4
>   * Added Simon's Rb tag
>   * Updated patch description for SoC identification using soc_id
>   * Updated probe function of Renesas SoC identification driver.
> 
> Biju Das (4):
>   dm: core: Add of_match_node helper function
>   soc: Fix comments from SOC to SoC
>   dm: soc: Add SoC id for attribute matching
>   dm: soc: SoC identification driver for Renesas SoC's
> 
>  drivers/core/device.c     |  21 ++++
>  drivers/soc/Kconfig       |   7 ++
>  drivers/soc/Makefile      |   1 +
>  drivers/soc/soc-uclass.c  |  19 ++-
>  drivers/soc/soc_renesas.c | 244 ++++++++++++++++++++++++++++++++++++++
>  drivers/soc/soc_sandbox.c |   8 ++
>  include/dm/device.h       |  13 ++
>  include/soc.h             |  39 +++++-
>  test/dm/core.c            |  31 +++++
>  test/dm/soc.c             |   8 ++
>  10 files changed, 384 insertions(+), 7 deletions(-)  create mode 100644
> drivers/soc/soc_renesas.c
> 
> --
> 2.17.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 0/4] Add Renesas SoC identification driver support
  2020-11-30  9:18 ` [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
@ 2020-12-11 20:25   ` Adam Ford
  2021-01-15  9:54     ` Biju Das
  0 siblings, 1 reply; 9+ messages in thread
From: Adam Ford @ 2020-12-11 20:25 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 30, 2020 at 3:18 AM Biju Das <biju.das.jz@bp.renesas.com> wrote:
>
> Hi All,
>
> Gentle Ping. Please let me know, are we happy with this patch series?
>

I have a series pending this as well.

thank you,

adam
> The patch series[1] is blocked by this.
> [1] http://u-boot.10912.n7.nabble.com/PATCH-v7-0-4-Add-CPU-identification-support-for-RZ-G2-SoC-s-tt433694.html#a433807
>
> Cheers,
> Biju
>
> > -----Original Message-----
> > From: Biju Das <biju.das.jz@bp.renesas.com>
> > Sent: 16 November 2020 13:04
> > To: Simon Glass <sjg@chromium.org>; Marek Vasut
> > <marek.vasut+renesas@gmail.com>
> > Cc: Biju Das <biju.das.jz@bp.renesas.com>; Dave Gerlach <d-
> > gerlach at ti.com>; Prabhakar Mahadev Lad <prabhakar.mahadev-
> > lad.rj at bp.renesas.com>; u-boot at lists.denx.de; Nobuhiro Iwamatsu
> > <iwamatsu@nigauri.org>; Chris Paterson <Chris.Paterson2@renesas.com>
> > Subject: [PATCH v4 0/4] Add Renesas SoC identification driver support
> >
> > This patch series aims to support Renesas SoC identification driver.
> >
> > Added a helper function of_match_node to find the matching of_match
> > structure. This helper function can be used to replace the following code
> > in u-boot [1] and [2]
> >
> > [1]
> > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Felixir.b
> > ootlin.com%2Fu-
> > boot%2Flatest%2Fsource%2Fdrivers%2Fserial%2Fserial_uniphier.c%23L129&amp;d
> > ata=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7Ccc01f2630adf48bdb3c408d88a306
> > 996%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637411287820999264%7CUnkn
> > own%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJX
> > VCI6Mn0%3D%7C1000&amp;sdata=YmZ52jZrOQqXhvbflvy5XWnXsfb7FIRgxpY1XhBI6YE%3D
> > &amp;reserved=0
> > [2]
> > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Felixir.b
> > ootlin.com%2Fu-
> > boot%2Flatest%2Fsource%2Fdrivers%2Fusb%2Fphy%2Frockchip_usb2_phy.c%23L77&a
> > mp;data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7Ccc01f2630adf48bdb3c408d88
> > a306996%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637411287820999264%7C
> > Unknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwi
> > LCJXVCI6Mn0%3D%7C1000&amp;sdata=N2wF3aZNCkN7TQlA%2FbhV3ggDjZdYVjjS%2F0tOFf
> > j%2BkOE%3D&amp;reserved=0
> >
> > Also added soc_id attribute support in UCLASS_SOC which is required for
> > Renesas SoC identification driver similar to mainline linux.
> >
> > v3->v4
> >   * Added Simon's Rb tag
> >   * Updated patch description for SoC identification using soc_id
> >   * Updated probe function of Renesas SoC identification driver.
> >
> > Biju Das (4):
> >   dm: core: Add of_match_node helper function
> >   soc: Fix comments from SOC to SoC
> >   dm: soc: Add SoC id for attribute matching
> >   dm: soc: SoC identification driver for Renesas SoC's
> >
> >  drivers/core/device.c     |  21 ++++
> >  drivers/soc/Kconfig       |   7 ++
> >  drivers/soc/Makefile      |   1 +
> >  drivers/soc/soc-uclass.c  |  19 ++-
> >  drivers/soc/soc_renesas.c | 244 ++++++++++++++++++++++++++++++++++++++
> >  drivers/soc/soc_sandbox.c |   8 ++
> >  include/dm/device.h       |  13 ++
> >  include/soc.h             |  39 +++++-
> >  test/dm/core.c            |  31 +++++
> >  test/dm/soc.c             |   8 ++
> >  10 files changed, 384 insertions(+), 7 deletions(-)  create mode 100644
> > drivers/soc/soc_renesas.c
> >
> > --
> > 2.17.1
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 0/4] Add Renesas SoC identification driver support
  2020-12-11 20:25   ` Adam Ford
@ 2021-01-15  9:54     ` Biju Das
  2021-01-16  9:35       ` Biju Das
  0 siblings, 1 reply; 9+ messages in thread
From: Biju Das @ 2021-01-15  9:54 UTC (permalink / raw)
  To: u-boot

Hi All,

Gentle ping. 

Can we merge this patch? If you are happy, otherwise please let meknow.

Thanks and regards,
Biju

> -----Original Message-----
> From: Adam Ford <aford173@gmail.com>
> Sent: 11 December 2020 20:25
> To: Biju Das <biju.das.jz@bp.renesas.com>
> Cc: Simon Glass <sjg@chromium.org>; Marek Vasut
> <marek.vasut+renesas@gmail.com>; Tom Rini <trini@konsulko.com>; Dave
> Gerlach <d-gerlach@ti.com>; Prabhakar Mahadev Lad <prabhakar.mahadev-
> lad.rj at bp.renesas.com>; u-boot at lists.denx.de; Nobuhiro Iwamatsu
> <iwamatsu@nigauri.org>; Chris Paterson <Chris.Paterson2@renesas.com>
> Subject: Re: [PATCH v4 0/4] Add Renesas SoC identification driver support
> 
> On Mon, Nov 30, 2020 at 3:18 AM Biju Das <biju.das.jz@bp.renesas.com>
> wrote:
> >
> > Hi All,
> >
> > Gentle Ping. Please let me know, are we happy with this patch series?
> >
> 
> I have a series pending this as well.
> 
> thank you,
> 
> adam
> > The patch series[1] is blocked by this.
> > [1]
> > https://jpn01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fu-boo
> > t.10912.n7.nabble.com%2FPATCH-v7-0-4-Add-CPU-identification-support-fo
> > r-RZ-G2-SoC-s-tt433694.html%23a433807&amp;data=04%7C01%7Cbiju.das.jz%4
> > 0bp.renesas.com%7Cd041fb395d834b5281f208d89e12e15f%7C53d82571da1947e49
> > cb4625a166a4a2a%7C0%7C1%7C637433151226342691%7CUnknown%7CTWFpbGZsb3d8e
> > yJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C30
> > 00&amp;sdata=kXysig8DF8cNkoHn7kRC2Zphcgj3RyOCcWYstRavbSA%3D&amp;reserv
> > ed=0
> >
> > Cheers,
> > Biju
> >
> > > -----Original Message-----
> > > From: Biju Das <biju.das.jz@bp.renesas.com>
> > > Sent: 16 November 2020 13:04
> > > To: Simon Glass <sjg@chromium.org>; Marek Vasut
> > > <marek.vasut+renesas@gmail.com>
> > > Cc: Biju Das <biju.das.jz@bp.renesas.com>; Dave Gerlach <d-
> > > gerlach at ti.com>; Prabhakar Mahadev Lad <prabhakar.mahadev-
> > > lad.rj at bp.renesas.com>; u-boot at lists.denx.de; Nobuhiro Iwamatsu
> > > <iwamatsu@nigauri.org>; Chris Paterson <Chris.Paterson2@renesas.com>
> > > Subject: [PATCH v4 0/4] Add Renesas SoC identification driver
> > > support
> > >
> > > This patch series aims to support Renesas SoC identification driver.
> > >
> > > Added a helper function of_match_node to find the matching of_match
> > > structure. This helper function can be used to replace the following
> > > code in u-boot [1] and [2]
> > >
> > > [1]
> > > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fel
> > > ixir.b
> > > ootlin.com%2Fu-
> > > boot%2Flatest%2Fsource%2Fdrivers%2Fserial%2Fserial_uniphier.c%23L129
> > > &amp;d
> > > ata=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7Ccc01f2630adf48bdb3c408d
> > > 88a306
> > > 996%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637411287820999264%
> > > 7CUnkn
> > > own%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haW
> > > wiLCJX
> > > VCI6Mn0%3D%7C1000&amp;sdata=YmZ52jZrOQqXhvbflvy5XWnXsfb7FIRgxpY1XhBI
> > > 6YE%3D
> > > &amp;reserved=0
> > > [2]
> > > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fel
> > > ixir.b
> > > ootlin.com%2Fu-
> > > boot%2Flatest%2Fsource%2Fdrivers%2Fusb%2Fphy%2Frockchip_usb2_phy.c%2
> > > 3L77&a
> > > mp;data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7Ccc01f2630adf48bdb3c
> > > 408d88
> > > a306996%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637411287820999
> > > 264%7C
> > > Unknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
> > > 1haWwi
> > > LCJXVCI6Mn0%3D%7C1000&amp;sdata=N2wF3aZNCkN7TQlA%2FbhV3ggDjZdYVjjS%2
> > > F0tOFf
> > > j%2BkOE%3D&amp;reserved=0
> > >
> > > Also added soc_id attribute support in UCLASS_SOC which is required
> > > for Renesas SoC identification driver similar to mainline linux.
> > >
> > > v3->v4
> > >   * Added Simon's Rb tag
> > >   * Updated patch description for SoC identification using soc_id
> > >   * Updated probe function of Renesas SoC identification driver.
> > >
> > > Biju Das (4):
> > >   dm: core: Add of_match_node helper function
> > >   soc: Fix comments from SOC to SoC
> > >   dm: soc: Add SoC id for attribute matching
> > >   dm: soc: SoC identification driver for Renesas SoC's
> > >
> > >  drivers/core/device.c     |  21 ++++
> > >  drivers/soc/Kconfig       |   7 ++
> > >  drivers/soc/Makefile      |   1 +
> > >  drivers/soc/soc-uclass.c  |  19 ++-  drivers/soc/soc_renesas.c |
> > > 244 ++++++++++++++++++++++++++++++++++++++
> > >  drivers/soc/soc_sandbox.c |   8 ++
> > >  include/dm/device.h       |  13 ++
> > >  include/soc.h             |  39 +++++-
> > >  test/dm/core.c            |  31 +++++
> > >  test/dm/soc.c             |   8 ++
> > >  10 files changed, 384 insertions(+), 7 deletions(-)  create mode
> > > 100644 drivers/soc/soc_renesas.c
> > >
> > > --
> > > 2.17.1
> >

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 0/4] Add Renesas SoC identification driver support
  2021-01-15  9:54     ` Biju Das
@ 2021-01-16  9:35       ` Biju Das
  0 siblings, 0 replies; 9+ messages in thread
From: Biju Das @ 2021-01-16  9:35 UTC (permalink / raw)
  To: u-boot

Hi All,

Just found that some of the patches in this series doesn't apply cleanly on mainline.
Will rebase and post new patch series.

Regards,
Biju

> -----Original Message-----
> From: Biju Das
> Sent: 15 January 2021 09:54
> To: Adam Ford <aford173@gmail.com>; Simon Glass <sjg@chromium.org>; Marek
> Vasut <marek.vasut+renesas@gmail.com>; Tom Rini <trini@konsulko.com>
> Cc: Dave Gerlach <d-gerlach@ti.com>; Prabhakar Mahadev Lad
> <prabhakar.mahadev-lad.rj@bp.renesas.com>; u-boot at lists.denx.de; Nobuhiro
> Iwamatsu <iwamatsu@nigauri.org>; Chris Paterson
> <Chris.Paterson2@renesas.com>
> Subject: RE: [PATCH v4 0/4] Add Renesas SoC identification driver support
> 
> Hi All,
> 
> Gentle ping.
> 
> Can we merge this patch? If you are happy, otherwise please let meknow.
> 
> Thanks and regards,
> Biju
> 
> > -----Original Message-----
> > From: Adam Ford <aford173@gmail.com>
> > Sent: 11 December 2020 20:25
> > To: Biju Das <biju.das.jz@bp.renesas.com>
> > Cc: Simon Glass <sjg@chromium.org>; Marek Vasut
> > <marek.vasut+renesas@gmail.com>; Tom Rini <trini@konsulko.com>; Dave
> > Gerlach <d-gerlach@ti.com>; Prabhakar Mahadev Lad <prabhakar.mahadev-
> > lad.rj at bp.renesas.com>; u-boot at lists.denx.de; Nobuhiro Iwamatsu
> > <iwamatsu@nigauri.org>; Chris Paterson <Chris.Paterson2@renesas.com>
> > Subject: Re: [PATCH v4 0/4] Add Renesas SoC identification driver
> > support
> >
> > On Mon, Nov 30, 2020 at 3:18 AM Biju Das <biju.das.jz@bp.renesas.com>
> > wrote:
> > >
> > > Hi All,
> > >
> > > Gentle Ping. Please let me know, are we happy with this patch series?
> > >
> >
> > I have a series pending this as well.
> >
> > thank you,
> >
> > adam
> > > The patch series[1] is blocked by this.
> > > [1]
> > > https://jpn01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fu-b
> > > oo
> > > t.10912.n7.nabble.com%2FPATCH-v7-0-4-Add-CPU-identification-support-
> > > fo
> > > r-RZ-G2-SoC-s-tt433694.html%23a433807&amp;data=04%7C01%7Cbiju.das.jz
> > > %4
> > > 0bp.renesas.com%7Cd041fb395d834b5281f208d89e12e15f%7C53d82571da1947e
> > > 49
> > > cb4625a166a4a2a%7C0%7C1%7C637433151226342691%7CUnknown%7CTWFpbGZsb3d
> > > 8e
> > > yJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C
> > > 30
> > > 00&amp;sdata=kXysig8DF8cNkoHn7kRC2Zphcgj3RyOCcWYstRavbSA%3D&amp;rese
> > > rv
> > > ed=0
> > >
> > > Cheers,
> > > Biju
> > >
> > > > -----Original Message-----
> > > > From: Biju Das <biju.das.jz@bp.renesas.com>
> > > > Sent: 16 November 2020 13:04
> > > > To: Simon Glass <sjg@chromium.org>; Marek Vasut
> > > > <marek.vasut+renesas@gmail.com>
> > > > Cc: Biju Das <biju.das.jz@bp.renesas.com>; Dave Gerlach <d-
> > > > gerlach at ti.com>; Prabhakar Mahadev Lad <prabhakar.mahadev-
> > > > lad.rj at bp.renesas.com>; u-boot at lists.denx.de; Nobuhiro Iwamatsu
> > > > <iwamatsu@nigauri.org>; Chris Paterson
> > > > <Chris.Paterson2@renesas.com>
> > > > Subject: [PATCH v4 0/4] Add Renesas SoC identification driver
> > > > support
> > > >
> > > > This patch series aims to support Renesas SoC identification driver.
> > > >
> > > > Added a helper function of_match_node to find the matching
> > > > of_match structure. This helper function can be used to replace
> > > > the following code in u-boot [1] and [2]
> > > >
> > > > [1]
> > > > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > > el
> > > > ixir.b
> > > > ootlin.com%2Fu-
> > > > boot%2Flatest%2Fsource%2Fdrivers%2Fserial%2Fserial_uniphier.c%23L1
> > > > 29
> > > > &amp;d
> > > > ata=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7Ccc01f2630adf48bdb3c40
> > > > 8d
> > > > 88a306
> > > > 996%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C63741128782099926
> > > > 4%
> > > > 7CUnkn
> > > > own%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1h
> > > > aW
> > > > wiLCJX
> > > > VCI6Mn0%3D%7C1000&amp;sdata=YmZ52jZrOQqXhvbflvy5XWnXsfb7FIRgxpY1Xh
> > > > BI
> > > > 6YE%3D
> > > > &amp;reserved=0
> > > > [2]
> > > > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > > el
> > > > ixir.b
> > > > ootlin.com%2Fu-
> > > > boot%2Flatest%2Fsource%2Fdrivers%2Fusb%2Fphy%2Frockchip_usb2_phy.c
> > > > %2
> > > > 3L77&a
> > > > mp;data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7Ccc01f2630adf48bdb
> > > > 3c
> > > > 408d88
> > > > a306996%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C6374112878209
> > > > 99
> > > > 264%7C
> > > > Unknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6
> > > > Ik
> > > > 1haWwi
> > > > LCJXVCI6Mn0%3D%7C1000&amp;sdata=N2wF3aZNCkN7TQlA%2FbhV3ggDjZdYVjjS
> > > > %2
> > > > F0tOFf
> > > > j%2BkOE%3D&amp;reserved=0
> > > >
> > > > Also added soc_id attribute support in UCLASS_SOC which is
> > > > required for Renesas SoC identification driver similar to mainline
> linux.
> > > >
> > > > v3->v4
> > > >   * Added Simon's Rb tag
> > > >   * Updated patch description for SoC identification using soc_id
> > > >   * Updated probe function of Renesas SoC identification driver.
> > > >
> > > > Biju Das (4):
> > > >   dm: core: Add of_match_node helper function
> > > >   soc: Fix comments from SOC to SoC
> > > >   dm: soc: Add SoC id for attribute matching
> > > >   dm: soc: SoC identification driver for Renesas SoC's
> > > >
> > > >  drivers/core/device.c     |  21 ++++
> > > >  drivers/soc/Kconfig       |   7 ++
> > > >  drivers/soc/Makefile      |   1 +
> > > >  drivers/soc/soc-uclass.c  |  19 ++-  drivers/soc/soc_renesas.c |
> > > > 244 ++++++++++++++++++++++++++++++++++++++
> > > >  drivers/soc/soc_sandbox.c |   8 ++
> > > >  include/dm/device.h       |  13 ++
> > > >  include/soc.h             |  39 +++++-
> > > >  test/dm/core.c            |  31 +++++
> > > >  test/dm/soc.c             |   8 ++
> > > >  10 files changed, 384 insertions(+), 7 deletions(-)  create mode
> > > > 100644 drivers/soc/soc_renesas.c
> > > >
> > > > --
> > > > 2.17.1
> > >

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-01-16  9:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-16 13:03 [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
2020-11-16 13:03 ` [PATCH v4 1/4] dm: core: Add of_match_node helper function Biju Das
2020-11-16 13:03 ` [PATCH v4 2/4] soc: Fix comments from SOC to SoC Biju Das
2020-11-16 13:03 ` [PATCH v4 3/4] dm: soc: Add SoC id for attribute matching Biju Das
2020-11-16 13:03 ` [PATCH v4 4/4] dm: soc: SoC identification driver for Renesas SoC's Biju Das
2020-11-30  9:18 ` [PATCH v4 0/4] Add Renesas SoC identification driver support Biju Das
2020-12-11 20:25   ` Adam Ford
2021-01-15  9:54     ` Biju Das
2021-01-16  9:35       ` Biju Das

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.