summaryrefslogtreecommitdiff
path: root/drivers/soc/renesas/rz-sysc.h
diff options
context:
space:
mode:
authorJohn Madieu <john.madieu.xa@bp.renesas.com>2025-01-28 04:13:40 +0100
committerGeert Uytterhoeven <geert+renesas@glider.be>2025-02-20 17:38:33 +0100
commitd07470cff53b3cfc68a3653c36fbf8ffd1ddaf3c (patch)
treeb57698d5d23d15d7756b68e4c4716e0d84f69551 /drivers/soc/renesas/rz-sysc.h
parent0704de89eee60e2f968973c7b4ccd8cd219b2d97 (diff)
soc: renesas: rz-sysc: Add support for RZ/G3E family
Add SoC detection support for the RZ/G3E SoC. Also add support for detecting the number of cores and the ETHOS-U55 NPU, and also detect PLL mismatch for SW settings other than 1.7GHz. Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/20250128031342.52675-4-john.madieu.xa@bp.renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Diffstat (limited to 'drivers/soc/renesas/rz-sysc.h')
-rw-r--r--drivers/soc/renesas/rz-sysc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/soc/renesas/rz-sysc.h b/drivers/soc/renesas/rz-sysc.h
index 908f09fa4fc9..4e70b77433a3 100644
--- a/drivers/soc/renesas/rz-sysc.h
+++ b/drivers/soc/renesas/rz-sysc.h
@@ -8,6 +8,8 @@
#ifndef __SOC_RENESAS_RZ_SYSC_H__
#define __SOC_RENESAS_RZ_SYSC_H__
+#include <linux/device.h>
+#include <linux/sys_soc.h>
#include <linux/types.h>
/**
@@ -17,6 +19,7 @@
* @devid_offset: SYSC SoC ID register offset
* @revision_mask: SYSC SoC ID revision mask
* @specific_id_mask: SYSC SoC ID specific ID mask
+ * @print_id: print SoC-specific extended device identification
*/
struct rz_sysc_soc_id_init_data {
const char * const family;
@@ -24,6 +27,8 @@ struct rz_sysc_soc_id_init_data {
u32 devid_offset;
u32 revision_mask;
u32 specific_id_mask;
+ void (*print_id)(struct device *dev, void __iomem *sysc_base,
+ struct soc_device_attribute *soc_dev_attr);
};
/**
@@ -34,6 +39,7 @@ struct rz_sysc_init_data {
const struct rz_sysc_soc_id_init_data *soc_id_init_data;
};
+extern const struct rz_sysc_init_data rzg3e_sys_init_data;
extern const struct rz_sysc_init_data rzg3s_sysc_init_data;
#endif /* __SOC_RENESAS_RZ_SYSC_H__ */