[U-Boot] [PATCH 4/9 v9] EXYNOS5: TMU: Add TMU init and status check
Minkyu Kang
mk7.kang at samsung.com
Wed Feb 20 09:41:02 CET 2013
On 06/02/13 22:18, Akshay Saraswat wrote:
> This adds call to tmu_init() and TMU boot time analysis
> for the SoC temperature threshold breach.
>
> Signed-off-by: Akshay Saraswat <akshay.s at samsung.com>
> Acked-by: Simon Glass <sjg at chromium.org>
> ---
> Changes since v8:
> - None.
>
> board/samsung/smdk5250/smdk5250.c | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/board/samsung/smdk5250/smdk5250.c b/board/samsung/smdk5250/smdk5250.c
> index 7a5f132..7b9a8c5 100644
> --- a/board/samsung/smdk5250/smdk5250.c
> +++ b/board/samsung/smdk5250/smdk5250.c
> @@ -35,9 +35,35 @@
> #include <asm/arch/sromc.h>
> #include <asm/arch/dp_info.h>
> #include <power/pmic.h>
> +#include <tmu.h>
>
> DECLARE_GLOBAL_DATA_PTR;
>
> +#if defined CONFIG_EXYNOS_TMU
> +/*
> + * Boot Time Thermal Analysis for SoC temperature threshold breach
> + */
> +void boot_temp_check(void)
static?
> +{
> + int temp;
> +
> + switch (tmu_monitor(&temp)) {
> + case TMU_STATUS_TRIPPED:
> + puts("EXYNOS_TMU: TRIPPING! Device power going down ...\n");
> + board_poweroff();
> + break;
> + case TMU_STATUS_WARNING:
> + puts("EXYNOS_TMU: WARNING! Temperature very high\n");
> + break;
> + case TMU_STATUS_NORMAL:
> + break;
no action? then please remove it.
> + case TMU_STATUS_INIT:
is it unknown state?
> + default:
> + debug("Unknown TMU state\n");
> + }
> +}
> +#endif
> +
> #ifdef CONFIG_USB_EHCI_EXYNOS
> int board_usb_vbus_init(void)
> {
> @@ -57,6 +83,15 @@ int board_usb_vbus_init(void)
> int board_init(void)
> {
> gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL);
> +
> +#if defined CONFIG_EXYNOS_TMU
> + if (tmu_init(gd->fdt_blob)) {
> + debug("%s: Failed to init TMU\n", __func__);
> + return -1;
> + }
> + boot_temp_check();
> +#endif
> +
> #ifdef CONFIG_EXYNOS_SPI
> spi_init();
> #endif
>
Thanks,
Minkyu Kang.
More information about the U-Boot
mailing list