diff mbox series

[v1,1/2] arm: mach-k3: am62: Get soc max temperature by grade

Message ID 20240208092951.11769-2-francesco@dolcini.it
State Accepted
Commit 86e770b3e01f31ca8bf08ef60de4eaa842a35a50
Delegated to: Tom Rini
Headers show
Series arm: mach-k3: am62: Fixup thermal zone critical points | expand

Commit Message

Francesco Dolcini Feb. 8, 2024, 9:29 a.m. UTC
From: Joao Paulo Goncalves <joao.goncalves@toradex.com>

AM62x SoC is available in multiple temperature grade:
- Commercial: 0° to 95° C
- Industrial: -40° to 105° C
- Automotive: -40° to 125° C

Add a new function that returns the am62 max temperature value
accordingly to its temperature grade in Celsius.

Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
 arch/arm/mach-k3/include/mach/am62_hardware.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Comments

Tom Rini March 4, 2024, 11:43 p.m. UTC | #1
On Thu, Feb 08, 2024 at 10:29:50AM +0100, Francesco Dolcini wrote:

> From: Joao Paulo Goncalves <joao.goncalves@toradex.com>
> 
> AM62x SoC is available in multiple temperature grade:
> - Commercial: 0° to 95° C
> - Industrial: -40° to 105° C
> - Automotive: -40° to 125° C
> 
> Add a new function that returns the am62 max temperature value
> accordingly to its temperature grade in Celsius.
> 
> Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>

Applied to u-boot/next, thanks!
diff mbox series

Patch

diff --git a/arch/arm/mach-k3/include/mach/am62_hardware.h b/arch/arm/mach-k3/include/mach/am62_hardware.h
index 54380f36e161..9c4c6c542b63 100644
--- a/arch/arm/mach-k3/include/mach/am62_hardware.h
+++ b/arch/arm/mach-k3/include/mach/am62_hardware.h
@@ -42,6 +42,10 @@ 
 
 #define JTAG_DEV_FEATURE_NO_PRU			0x4
 
+#define JTAG_DEV_TEMP_COMMERCIAL		0x3
+#define JTAG_DEV_TEMP_INDUSTRIAL		0x4
+#define JTAG_DEV_TEMP_AUTOMOTIVE		0x5
+
 #define CTRLMMR_MAIN_DEVSTAT			(WKUP_CTRL_MMR0_BASE + 0x30)
 #define MAIN_DEVSTAT_PRIMARY_BOOTMODE_MASK	GENMASK(6, 3)
 #define MAIN_DEVSTAT_PRIMARY_BOOTMODE_SHIFT	3
@@ -102,6 +106,19 @@  static inline int k3_get_temp_grade(void)
 	return (full_devid & JTAG_DEV_TEMP_MASK) >> JTAG_DEV_TEMP_SHIFT;
 }
 
+static inline int k3_get_max_temp(void)
+{
+	switch (k3_get_temp_grade()) {
+	case JTAG_DEV_TEMP_INDUSTRIAL:
+		return 105;
+	case JTAG_DEV_TEMP_AUTOMOTIVE:
+		return 125;
+	case JTAG_DEV_TEMP_COMMERCIAL:
+	default:
+		return 95;
+	}
+}
+
 static inline int k3_has_pru(void)
 {
 	u32 full_devid = readl(CTRLMMR_WKUP_JTAG_DEVICE_ID);