diff options
author | Joao Paulo Goncalves <joao.goncalves@toradex.com> | 2024-02-08 10:29:50 +0100 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-03-04 13:41:04 -0500 |
commit | 86e770b3e01f31ca8bf08ef60de4eaa842a35a50 (patch) | |
tree | c80ce7e3125e5a06dced2681dea8e6c3b9882ff5 /arch/arm/mach-k3 | |
parent | f7a1e8e4e794a9b6a4d10957270876de2f8e2300 (diff) | |
download | u-boot-86e770b3e01f31ca8bf08ef60de4eaa842a35a50.tar.gz u-boot-86e770b3e01f31ca8bf08ef60de4eaa842a35a50.tar.bz2 u-boot-86e770b3e01f31ca8bf08ef60de4eaa842a35a50.zip |
arm: mach-k3: am62: Get soc max temperature by grade
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>
Diffstat (limited to 'arch/arm/mach-k3')
-rw-r--r-- | arch/arm/mach-k3/include/mach/am62_hardware.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-k3/include/mach/am62_hardware.h b/arch/arm/mach-k3/include/mach/am62_hardware.h index 4cf7778a89..264f8a488b 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 @@ -105,6 +109,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); |