* [PATCH V3 2/9] cpu: sandbox: support is_current
2020-05-03 13:58 [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU Peng Fan
@ 2020-05-03 13:58 ` Peng Fan
2020-05-04 7:35 ` sbabic at denx.de
2020-05-03 13:58 ` [PATCH V3 3/9] test: cpu: test current cpu Peng Fan
` (7 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Peng Fan @ 2020-05-03 13:58 UTC (permalink / raw)
To: u-boot
Support querying whether U-Boot is running on current cpu
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
V3:
Add R-b
V2:
New
drivers/cpu/cpu_sandbox.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/cpu/cpu_sandbox.c b/drivers/cpu/cpu_sandbox.c
index 05b384f6a4..30a12e5a53 100644
--- a/drivers/cpu/cpu_sandbox.c
+++ b/drivers/cpu/cpu_sandbox.c
@@ -36,11 +36,20 @@ int cpu_sandbox_get_vendor(struct udevice *dev, char *buf, int size)
return 0;
}
+int cpu_sandbox_is_current(struct udevice *dev)
+{
+ if (!strcmp(dev->name, "cpu-test1"))
+ return 1;
+
+ return 0;
+}
+
static const struct cpu_ops cpu_sandbox_ops = {
.get_desc = cpu_sandbox_get_desc,
.get_info = cpu_sandbox_get_info,
.get_count = cpu_sandbox_get_count,
.get_vendor = cpu_sandbox_get_vendor,
+ .is_current = cpu_sandbox_is_current,
};
int cpu_sandbox_probe(struct udevice *dev)
--
2.16.4
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH V3 2/9] cpu: sandbox: support is_current
2020-05-03 13:58 ` [PATCH V3 2/9] cpu: sandbox: support is_current Peng Fan
@ 2020-05-04 7:35 ` sbabic at denx.de
0 siblings, 0 replies; 18+ messages in thread
From: sbabic at denx.de @ 2020-05-04 7:35 UTC (permalink / raw)
To: u-boot
> Support querying whether U-Boot is running on current cpu
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 3/9] test: cpu: test current cpu
2020-05-03 13:58 [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU Peng Fan
2020-05-03 13:58 ` [PATCH V3 2/9] cpu: sandbox: support is_current Peng Fan
@ 2020-05-03 13:58 ` Peng Fan
2020-05-04 7:34 ` sbabic at denx.de
2020-05-03 13:58 ` [PATCH V3 4/9] common: board_f: Use cpu_get_current_dev in print_cpuinfo Peng Fan
` (6 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Peng Fan @ 2020-05-03 13:58 UTC (permalink / raw)
To: u-boot
Add test whether the CPU is U-Boot is running from.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
V3:
Add R-b tag
V2:
New
test/dm/cpu.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/test/dm/cpu.c b/test/dm/cpu.c
index e6dc576ea3..def9b64a28 100644
--- a/test/dm/cpu.c
+++ b/test/dm/cpu.c
@@ -26,6 +26,8 @@ static int dm_test_cpu(struct unit_test_state *uts)
ut_assert(dev->flags & DM_FLAG_ACTIVATED);
ut_assertok(uclass_get_device_by_name(UCLASS_CPU, "cpu-test1", &dev));
+ ut_asserteq_ptr(cpu_get_current_dev(), dev);
+ ut_asserteq(cpu_is_current(dev), 1);
ut_assertok(cpu_get_desc(dev, text, sizeof(text)));
ut_assertok(strcmp(text, "LEG Inc. SuperMegaUltraTurbo CPU No. 1"));
--
2.16.4
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH V3 3/9] test: cpu: test current cpu
2020-05-03 13:58 ` [PATCH V3 3/9] test: cpu: test current cpu Peng Fan
@ 2020-05-04 7:34 ` sbabic at denx.de
0 siblings, 0 replies; 18+ messages in thread
From: sbabic at denx.de @ 2020-05-04 7:34 UTC (permalink / raw)
To: u-boot
> Add test whether the CPU is U-Boot is running from.
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 4/9] common: board_f: Use cpu_get_current_dev in print_cpuinfo
2020-05-03 13:58 [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU Peng Fan
2020-05-03 13:58 ` [PATCH V3 2/9] cpu: sandbox: support is_current Peng Fan
2020-05-03 13:58 ` [PATCH V3 3/9] test: cpu: test current cpu Peng Fan
@ 2020-05-03 13:58 ` Peng Fan
2020-05-04 7:34 ` sbabic at denx.de
2020-05-03 13:58 ` [PATCH V3 5/9] cpu: imx8: reimplement get cpu count Peng Fan
` (5 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Peng Fan @ 2020-05-03 13:58 UTC (permalink / raw)
To: u-boot
From: Ye Li <ye.li@nxp.com>
Current print_cpuinfo gets the first udevice in CPU class to return
the cpu info. This has problem if the boot CPU is not fixed.
Changing to use new API cpu_get_current_dev to fix the issue.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
V3:
None
V2:
None
common/board_f.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/common/board_f.c b/common/board_f.c
index 5c650f046c..5223453511 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -183,11 +183,11 @@ static int print_cpuinfo(void)
char desc[512];
int ret;
- ret = uclass_first_device_err(UCLASS_CPU, &dev);
- if (ret) {
- debug("%s: Could not get CPU device (err = %d)\n",
- __func__, ret);
- return ret;
+ dev = cpu_get_current_dev();
+ if (!dev) {
+ debug("%s: Could not get CPU device\n",
+ __func__);
+ return -ENODEV;
}
ret = cpu_get_desc(dev, desc, sizeof(desc));
--
2.16.4
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH V3 4/9] common: board_f: Use cpu_get_current_dev in print_cpuinfo
2020-05-03 13:58 ` [PATCH V3 4/9] common: board_f: Use cpu_get_current_dev in print_cpuinfo Peng Fan
@ 2020-05-04 7:34 ` sbabic at denx.de
0 siblings, 0 replies; 18+ messages in thread
From: sbabic at denx.de @ 2020-05-04 7:34 UTC (permalink / raw)
To: u-boot
> From: Ye Li <ye.li@nxp.com>
> Current print_cpuinfo gets the first udevice in CPU class to return
> the cpu info. This has problem if the boot CPU is not fixed.
> Changing to use new API cpu_get_current_dev to fix the issue.
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Ye Li <ye.li@nxp.com>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 5/9] cpu: imx8: reimplement get cpu count
2020-05-03 13:58 [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU Peng Fan
` (2 preceding siblings ...)
2020-05-03 13:58 ` [PATCH V3 4/9] common: board_f: Use cpu_get_current_dev in print_cpuinfo Peng Fan
@ 2020-05-03 13:58 ` Peng Fan
2020-05-04 7:34 ` sbabic at denx.de
2020-05-03 13:58 ` [PATCH V3 6/9] cpu: imx8: support a72 as boot cpu Peng Fan
` (4 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Peng Fan @ 2020-05-03 13:58 UTC (permalink / raw)
To: u-boot
Return 4 is not correct on i.MX8DX/DXL/8QM and etc. we need to count
available cpu node with device_type "cpu".
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
V3:
None
V2:
Add R-b tag
drivers/cpu/imx8_cpu.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c
index 95653683ac..7c54c290b8 100644
--- a/drivers/cpu/imx8_cpu.c
+++ b/drivers/cpu/imx8_cpu.c
@@ -118,7 +118,24 @@ static int cpu_imx_get_info(struct udevice *dev, struct cpu_info *info)
static int cpu_imx_get_count(struct udevice *dev)
{
- return 4;
+ ofnode node;
+ int num = 0;
+
+ ofnode_for_each_subnode(node, dev_ofnode(dev->parent)) {
+ const char *device_type;
+
+ if (!ofnode_is_available(node))
+ continue;
+
+ device_type = ofnode_read_string(node, "device_type");
+ if (!device_type)
+ continue;
+
+ if (!strcmp(device_type, "cpu"))
+ num++;
+ }
+
+ return num;
}
static int cpu_imx_get_vendor(struct udevice *dev, char *buf, int size)
--
2.16.4
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH V3 5/9] cpu: imx8: reimplement get cpu count
2020-05-03 13:58 ` [PATCH V3 5/9] cpu: imx8: reimplement get cpu count Peng Fan
@ 2020-05-04 7:34 ` sbabic at denx.de
0 siblings, 0 replies; 18+ messages in thread
From: sbabic at denx.de @ 2020-05-04 7:34 UTC (permalink / raw)
To: u-boot
> Return 4 is not correct on i.MX8DX/DXL/8QM and etc. we need to count
> available cpu node with device_type "cpu".
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 6/9] cpu: imx8: support a72 as boot cpu
2020-05-03 13:58 [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU Peng Fan
` (3 preceding siblings ...)
2020-05-03 13:58 ` [PATCH V3 5/9] cpu: imx8: reimplement get cpu count Peng Fan
@ 2020-05-03 13:58 ` Peng Fan
2020-05-04 7:35 ` sbabic at denx.de
2020-05-03 13:58 ` [PATCH V3 7/9] cpu: imx8: fix get core name and rate Peng Fan
` (3 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Peng Fan @ 2020-05-03 13:58 UTC (permalink / raw)
To: u-boot
Support booting i.MX8QM with A72 as boot cpu
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
V3:
None
V2:
Add R-b tag
drivers/cpu/imx8_cpu.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c
index 7c54c290b8..c4679e1642 100644
--- a/drivers/cpu/imx8_cpu.c
+++ b/drivers/cpu/imx8_cpu.c
@@ -20,6 +20,7 @@ struct cpu_imx_platdata {
const char *type;
u32 cpurev;
u32 freq_mhz;
+ u32 mpidr;
};
const char *get_imx8_type(u32 imxtype)
@@ -144,16 +145,28 @@ static int cpu_imx_get_vendor(struct udevice *dev, char *buf, int size)
return 0;
}
+static int cpu_imx_is_current(struct udevice *dev)
+{
+ struct cpu_imx_platdata *plat = dev_get_platdata(dev);
+
+ if (plat->mpidr == (read_mpidr() & 0xffff))
+ return 1;
+
+ return 0;
+}
+
static const struct cpu_ops cpu_imx8_ops = {
.get_desc = cpu_imx_get_desc,
.get_info = cpu_imx_get_info,
.get_count = cpu_imx_get_count,
.get_vendor = cpu_imx_get_vendor,
+ .is_current = cpu_imx_is_current,
};
static const struct udevice_id cpu_imx8_ids[] = {
{ .compatible = "arm,cortex-a35" },
{ .compatible = "arm,cortex-a53" },
+ { .compatible = "arm,cortex-a72" },
{ }
};
@@ -185,6 +198,12 @@ static int imx8_cpu_probe(struct udevice *dev)
plat->rev = get_imx8_rev(cpurev & 0xFFF);
plat->type = get_imx8_type((cpurev & 0xFF000) >> 12);
plat->freq_mhz = imx8_get_cpu_rate() / 1000000;
+ plat->mpidr = dev_read_addr(dev);
+ if (plat->mpidr == FDT_ADDR_T_NONE) {
+ printf("%s: Failed to get CPU reg property\n", __func__);
+ return -EINVAL;
+ }
+
return 0;
}
--
2.16.4
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH V3 6/9] cpu: imx8: support a72 as boot cpu
2020-05-03 13:58 ` [PATCH V3 6/9] cpu: imx8: support a72 as boot cpu Peng Fan
@ 2020-05-04 7:35 ` sbabic at denx.de
0 siblings, 0 replies; 18+ messages in thread
From: sbabic at denx.de @ 2020-05-04 7:35 UTC (permalink / raw)
To: u-boot
> Support booting i.MX8QM with A72 as boot cpu
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 7/9] cpu: imx8: fix get core name and rate
2020-05-03 13:58 [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU Peng Fan
` (4 preceding siblings ...)
2020-05-03 13:58 ` [PATCH V3 6/9] cpu: imx8: support a72 as boot cpu Peng Fan
@ 2020-05-03 13:58 ` Peng Fan
2020-05-04 7:35 ` sbabic at denx.de
2020-05-03 13:58 ` [PATCH V3 8/9] cpu: imx_cpu: Print the CPU temperature for iMX8QM A72 Peng Fan
` (2 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Peng Fan @ 2020-05-03 13:58 UTC (permalink / raw)
To: u-boot
When current cpu is A53, using is_cortex_a53 could not detect A72
information, so check cpu device compatible property to get
the correct information.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
V3:
None
V2:
Add R-b tag
drivers/cpu/imx8_cpu.c | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c
index c4679e1642..cd11b78d06 100644
--- a/drivers/cpu/imx8_cpu.c
+++ b/drivers/cpu/imx8_cpu.c
@@ -48,13 +48,13 @@ const char *get_imx8_rev(u32 rev)
}
}
-const char *get_core_name(void)
+const char *get_core_name(struct udevice *dev)
{
- if (is_cortex_a35())
+ if (!device_is_compatible(dev, "arm,cortex-a35"))
return "A35";
- else if (is_cortex_a53())
+ else if (!device_is_compatible(dev, "arm,cortex-a53"))
return "A53";
- else if (is_cortex_a72())
+ else if (!device_is_compatible(dev, "arm,cortex-a72"))
return "A72";
else
return "?";
@@ -170,12 +170,19 @@ static const struct udevice_id cpu_imx8_ids[] = {
{ }
};
-static ulong imx8_get_cpu_rate(void)
+static ulong imx8_get_cpu_rate(struct udevice *dev)
{
ulong rate;
- int ret;
- int type = is_cortex_a35() ? SC_R_A35 : is_cortex_a53() ?
- SC_R_A53 : SC_R_A72;
+ int ret, type;
+
+ if (!device_is_compatible(dev, "arm,cortex-a35"))
+ type = SC_R_A35;
+ else if (!device_is_compatible(dev, "arm,cortex-a53"))
+ type = SC_R_A53;
+ else if (!device_is_compatible(dev, "arm,cortex-a72"))
+ type = SC_R_A72;
+ else
+ return 0;
ret = sc_pm_get_clock_rate(-1, type, SC_PM_CLK_CPU,
(sc_pm_clock_rate_t *)&rate);
@@ -194,10 +201,10 @@ static int imx8_cpu_probe(struct udevice *dev)
cpurev = get_cpu_rev();
plat->cpurev = cpurev;
- plat->name = get_core_name();
+ plat->name = get_core_name(dev);
plat->rev = get_imx8_rev(cpurev & 0xFFF);
plat->type = get_imx8_type((cpurev & 0xFF000) >> 12);
- plat->freq_mhz = imx8_get_cpu_rate() / 1000000;
+ plat->freq_mhz = imx8_get_cpu_rate(dev) / 1000000;
plat->mpidr = dev_read_addr(dev);
if (plat->mpidr == FDT_ADDR_T_NONE) {
printf("%s: Failed to get CPU reg property\n", __func__);
--
2.16.4
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH V3 7/9] cpu: imx8: fix get core name and rate
2020-05-03 13:58 ` [PATCH V3 7/9] cpu: imx8: fix get core name and rate Peng Fan
@ 2020-05-04 7:35 ` sbabic at denx.de
0 siblings, 0 replies; 18+ messages in thread
From: sbabic at denx.de @ 2020-05-04 7:35 UTC (permalink / raw)
To: u-boot
> When current cpu is A53, using is_cortex_a53 could not detect A72
> information, so check cpu device compatible property to get
> the correct information.
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 8/9] cpu: imx_cpu: Print the CPU temperature for iMX8QM A72
2020-05-03 13:58 [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU Peng Fan
` (5 preceding siblings ...)
2020-05-03 13:58 ` [PATCH V3 7/9] cpu: imx8: fix get core name and rate Peng Fan
@ 2020-05-03 13:58 ` Peng Fan
2020-05-04 7:35 ` sbabic at denx.de
2020-05-03 13:58 ` [PATCH V3 9/9] cpu: imx8: show RevC instead of Rev? at boot log Peng Fan
2020-05-04 7:34 ` [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU sbabic at denx.de
8 siblings, 1 reply; 18+ messages in thread
From: Peng Fan @ 2020-05-03 13:58 UTC (permalink / raw)
To: u-boot
From: Ye Li <ye.li@nxp.com>
iMX8QM registers two thermal devices for CPUs, get the temperature
from "cpu-thermal1" device for A72
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
V3:
None
V2:
Per Simon's comments, use uclass_get_device
drivers/cpu/imx8_cpu.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c
index cd11b78d06..85ba7b7df2 100644
--- a/drivers/cpu/imx8_cpu.c
+++ b/drivers/cpu/imx8_cpu.c
@@ -61,13 +61,15 @@ const char *get_core_name(struct udevice *dev)
}
#if IS_ENABLED(CONFIG_IMX_SCU_THERMAL)
-static int cpu_imx_get_temp(void)
+static int cpu_imx_get_temp(struct cpu_imx_platdata *plat)
{
struct udevice *thermal_dev;
int cpu_tmp, ret;
- ret = uclass_get_device_by_name(UCLASS_THERMAL, "cpu-thermal0",
- &thermal_dev);
+ if (!strcmp(plat->name, "A72"))
+ ret = uclass_get_device(UCLASS_THERMAL, 1, &thermal_dev);
+ else
+ ret = uclass_get_device(UCLASS_THERMAL, 0, &thermal_dev);
if (!ret) {
ret = thermal_get_temp(thermal_dev, &cpu_tmp);
@@ -80,7 +82,7 @@ static int cpu_imx_get_temp(void)
return cpu_tmp;
}
#else
-static int cpu_imx_get_temp(void)
+static int cpu_imx_get_temp(struct cpu_imx_platdata *plat)
{
return 0;
}
@@ -89,7 +91,7 @@ static int cpu_imx_get_temp(void)
int cpu_imx_get_desc(struct udevice *dev, char *buf, int size)
{
struct cpu_imx_platdata *plat = dev_get_platdata(dev);
- int ret;
+ int ret, temp;
if (size < 100)
return -ENOSPC;
@@ -98,9 +100,13 @@ int cpu_imx_get_desc(struct udevice *dev, char *buf, int size)
plat->type, plat->rev, plat->name, plat->freq_mhz);
if (IS_ENABLED(CONFIG_IMX_SCU_THERMAL)) {
+ temp = cpu_imx_get_temp(plat);
buf = buf + ret;
size = size - ret;
- ret = snprintf(buf, size, " at %dC", cpu_imx_get_temp());
+ if (temp != 0xdeadbeef)
+ ret = snprintf(buf, size, " at %dC", temp);
+ else
+ ret = snprintf(buf, size, " - invalid sensor data");
}
snprintf(buf + ret, size - ret, "\n");
--
2.16.4
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH V3 8/9] cpu: imx_cpu: Print the CPU temperature for iMX8QM A72
2020-05-03 13:58 ` [PATCH V3 8/9] cpu: imx_cpu: Print the CPU temperature for iMX8QM A72 Peng Fan
@ 2020-05-04 7:35 ` sbabic at denx.de
0 siblings, 0 replies; 18+ messages in thread
From: sbabic at denx.de @ 2020-05-04 7:35 UTC (permalink / raw)
To: u-boot
> From: Ye Li <ye.li@nxp.com>
> iMX8QM registers two thermal devices for CPUs, get the temperature
> from "cpu-thermal1" device for A72
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Ye Li <ye.li@nxp.com>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 9/9] cpu: imx8: show RevC instead of Rev? at boot log
2020-05-03 13:58 [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU Peng Fan
` (6 preceding siblings ...)
2020-05-03 13:58 ` [PATCH V3 8/9] cpu: imx_cpu: Print the CPU temperature for iMX8QM A72 Peng Fan
@ 2020-05-03 13:58 ` Peng Fan
2020-05-04 7:35 ` sbabic at denx.de
2020-05-04 7:34 ` [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU sbabic at denx.de
8 siblings, 1 reply; 18+ messages in thread
From: Peng Fan @ 2020-05-03 13:58 UTC (permalink / raw)
To: u-boot
From: Frank Li <Frank.Li@nxp.com>
Add REVC informaiton.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
V3:
None
V2:
Add R-b tag
arch/arm/include/asm/arch-imx/cpu.h | 1 +
drivers/cpu/imx8_cpu.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/arch/arm/include/asm/arch-imx/cpu.h b/arch/arm/include/asm/arch-imx/cpu.h
index 5ade63665a..06b8122e7c 100644
--- a/arch/arm/include/asm/arch-imx/cpu.h
+++ b/arch/arm/include/asm/arch-imx/cpu.h
@@ -57,6 +57,7 @@
#define CHIP_REV_A 0x0
#define CHIP_REV_B 0x1
+#define CHIP_REV_C 0x2
#define BOARD_REV_1_0 0x0
#define BOARD_REV_2_0 0x1
diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c
index 85ba7b7df2..95c14c98d8 100644
--- a/drivers/cpu/imx8_cpu.c
+++ b/drivers/cpu/imx8_cpu.c
@@ -43,6 +43,8 @@ const char *get_imx8_rev(u32 rev)
return "A";
case CHIP_REV_B:
return "B";
+ case CHIP_REV_C:
+ return "C";
default:
return "?";
}
--
2.16.4
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH V3 9/9] cpu: imx8: show RevC instead of Rev? at boot log
2020-05-03 13:58 ` [PATCH V3 9/9] cpu: imx8: show RevC instead of Rev? at boot log Peng Fan
@ 2020-05-04 7:35 ` sbabic at denx.de
0 siblings, 0 replies; 18+ messages in thread
From: sbabic at denx.de @ 2020-05-04 7:35 UTC (permalink / raw)
To: u-boot
> From: Frank Li <Frank.Li@nxp.com>
> Add REVC informaiton.
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU
2020-05-03 13:58 [PATCH V3 1/9] uclass: cpu: Add new API to get udevice for current CPU Peng Fan
` (7 preceding siblings ...)
2020-05-03 13:58 ` [PATCH V3 9/9] cpu: imx8: show RevC instead of Rev? at boot log Peng Fan
@ 2020-05-04 7:34 ` sbabic at denx.de
8 siblings, 0 replies; 18+ messages in thread
From: sbabic at denx.de @ 2020-05-04 7:34 UTC (permalink / raw)
To: u-boot
> When running on SoC with multiple clusters, the boot CPU may
> not be fixed, saying booting from cluster A or cluster B.
> Add a API that can return the udevice for current boot CPU.
> Cpu driver needs to implement is_current_cpu interface for this
> feature, otherwise the API only returns the first udevice in
> cpu uclass.
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> Signed-off-by: Ye Li <ye.li@nxp.com>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 18+ messages in thread