From patchwork Fri May 27 13:20:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrejs Cainikovs X-Patchwork-Id: 1636423 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4L8v8p3kPMz9s09 for ; Sat, 28 May 2022 04:53:46 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id BFCEC83E81; Fri, 27 May 2022 20:53:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=quarantine dis=none) header.from=toradex.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 682E584347; Fri, 27 May 2022 15:21:35 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from de-smtp-delivery-113.mimecast.com (de-smtp-delivery-113.mimecast.com [194.104.111.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8D47683DE0 for ; Fri, 27 May 2022 15:21:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=toradex.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=andrejs.cainikovs@toradex.com Received: from CHE01-ZR0-obe.outbound.protection.outlook.com (mail-zr0che01lp2105.outbound.protection.outlook.com [104.47.22.105]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-44-0aXat1BXNuqXDYzKqqdPaA-2; Fri, 27 May 2022 15:21:31 +0200 X-MC-Unique: 0aXat1BXNuqXDYzKqqdPaA-2 Received: from GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:57::6) by GVAP278MB0295.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:38::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Fri, 27 May 2022 13:21:29 +0000 Received: from GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM ([fe80::7b:8f0a:1d7:60f2]) by GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM ([fe80::7b:8f0a:1d7:60f2%6]) with mapi id 15.20.5293.015; Fri, 27 May 2022 13:21:19 +0000 From: Andrejs Cainikovs To: Stefano Babic , Fabio Estevam , "NXP i.MX U-Boot Team" CC: Peng Fan , Ye Li , Marek Vasut , Adam Ford , Francesco Dolcini , Andrejs Cainikovs , u-boot@lists.denx.de Subject: [PATCH v2] imx8m: fixup thermal trips Date: Fri, 27 May 2022 15:20:42 +0200 Message-ID: <20220527132043.39944-1-andrejs.cainikovs@toradex.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: ZR0P278CA0103.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:23::18) To GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:57::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 646c6081-024d-48f7-bae5-08da3fe3c93a X-MS-TrafficTypeDiagnostic: GVAP278MB0295:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: RFKXpqiYhnXnEE2/C8Xp7yee2iDQaWYpomlaoThFeWOmYRkT792VXDiAA7Jq/KjcdhLHB6l7YeB1bFaUeEIVkYK8Co8WGF11B6Bbq/rmzj+HAa2zO6xFGP51+cvSeZi+RbgsCFmPG7DSzRFe+gsQFD5PptbY8olfqS67USqAbcDiWkgY+uIGuG8U4e2Xb7aRRZ6ToZ7OWErdMwW6Jukc4FxCQ4/wk0K8hWcirvwnYYNlljWIoOOOei7Njc86fkAifeB2xeCJUYpFVD7/3LCA6MCnqolQ/+6MR6ral4BGj1zTaSWi7+4rybiigZoI/6kddbNIvMojsL4qOQOAAg6p8Ei33vhzl8v67oWMUbORlXpVkuqx5IU+mQ2/NAYM5h10zxU1uRYh5aHK676nc01RpyMydIb5Uxz6Cpqf+z8ACFA2SYQfY4YBLZ66l75MS/+JLfkehdr/laCrl8UIgQBgtXNh1FFr8v5QDbuhACJugRw0XFiUK4d+s8j5yWleBEnWG1IbKjjYRMKHlD74tIPfL11NUZzqsHjvwo8wPX76BdHjs3LOW6bFtgX7c+XCuD2fLdkA6gk6THGWtRvWou53j/Oqp+RkXthxF2z65iXbdmefEIhA2gKaGLpTPSatOl163MULTFPplvaetAiEWGs/AkCJfq52x/E7yRMhZZkQ/r1MsTEE5F3bGln1V8bfQQKJifxbi4/CeaMdgHBBZqq6F7Z5e5zt/5eq1wWDQd0r9gg= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(4636009)(376002)(396003)(39850400004)(366004)(136003)(346002)(8936002)(508600001)(41300700001)(44832011)(6486002)(5660300002)(83380400001)(316002)(38350700002)(86362001)(54906003)(110136005)(2616005)(6666004)(38100700002)(6512007)(6506007)(26005)(2906002)(8676002)(66946007)(52116002)(66556008)(66476007)(4326008)(186003)(36756003)(1076003)(32563001); DIR:OUT; SFP:1102 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Rpjaw0lGUGJ6G/mS+zJZmgM2MiyHen52mFy7ML8RmdtR4ABcksc6CByhjCzXwqDDx3d788MOH3AwQQeRcZYqxbva1f8aWmHNIxsnZJcfQnh2FXTjm0fJqS1QBZ9K/6wGipBSKSHllv0C5cIxR9a0xQShKoma/LORedNq7lKLmqW8/cLn4CkFP+gDbyS+EcPRUKPqSWqc9HUSIPMWR72wZRybUJc3nLVjIrT9Iv2jypklua5mvItSNioVwUGbEUpDZJa8wNBiqPEg+ORo5qgFo41Nk7R2tuodGlp7FZ1xmzlQ05zjPTG2K/GJqySVDXk3nJ0sRq5kAoWxksWXVCM7SfQqGH6js+7NAbo7wD5Nzz01uIze5txoDdA+5XlJaDRbr3gkJa+d55R4Rdwp98CzEsBuLfbSupGhgnkOduQfpDY4q5k/v+fYUsTLwlNvLKkVCE8nWuKJEpR9CDouSZ7MOZ8kYGka31eM5NzOZd6R+2WMGY8212vzwWkeY3swgE6blVIDx91+l30RZGvoIc5fLtJAbVWrMaB2Poeyt/n1r7eE4rfsQpk/8tTm14WyKIT4UvwfUXju8eKb1+B4TUiUZGZyrM+3CaPh9CxmiEedjFjUfXzwnLbUxGusDamxO1zvDzNpuy0EQCV64DonIl2MPinnxSXxnoKYJMy1i0oZRiemY5LgyuLq+bgFy00idOKM64GN4njQdylsprMFywZRN+ZnH2Xo5c+Z73+bwO5BVuGXVv5tFhMeEFv1vds1ixYQuQTea6QpoKWcKtUITrlC7Hr9ebgcmaVmlOod1H5gaf5cIkjpvUGVY7cVqAA9ZWOOsI7eu5BYkRexrIgZ0Zb/aQ4vv6zPrhEqkYY+fmNmb3gEOTQB4sjtLfh1++c0GLbaTHeHXG+KIh6XwZ9r+Zwq6fuXEPpN26I/56paDtak/U1UFNFfG2RVQ+CYhriHPhX/MYnkhQahrB52KpLockcE9s4NVcewNfDvbqvOkkLOtpHnjE2Z7+w/ExoZMxYZRVehUG66uM+k8mytre0fvMtqO3Ic1VBhc4r82DsLqbo7P8DQJxVRPV6o/2nmhppktHwWzZwZV84BZFvypwgdvvMb/kNw61hcTWoMZcepigje/H03xXmZ4w7EXWooTQiTV/A2jZagR9r9SMNURStQmwznI3rmf8Z2euptYeQGOPKd73FU0rUVoHdXl21uLs3ikpYXZeRBQNlsFCf+KX4EDk2H/2p3tty0r/c89PnYy3ld4WHUzsLQSUslA+s/oESlRC9Z7emhL9lu8EeMLTD0dobgmZMWQ2OSuw/S2m+BC96UzmPCTnc7i1WJw+G8yqbFJlURkHi1Z9NKp+Ms2Hl0BH9QskWlTO5DUb0BP/GW8QKyyscxWjXC/G4BInuDZna+UE7gokx5s/l3MggznC+Qt+oAV7N2BLsWGtiKUdPRLdtS+L8/IRY62pYrh5MvdnwWogxLV1GHAVSkA/itibVmxjKedh/6dKgxYJAa4wX7Zeq/kvZRnEAKbbzgsEUkyEUwQkehuZKRweGlXhpvfOgcTvC2QLR5z435ok4AvtuXWCY+aWIXA4KbaUgTvknVkkQIpstUH79bQpUaqvaxnJIKqK0hO3oiOB5ekbWqO8as8GRD0+tlk4qt4BsFKJhjgxa8A7zPhZNYjI5vISyVvFU8J7qvGTd/O8RkSAkHDmRBNNq5T1vnLblsfRoYp4hMacZiJIAVqhs8UNJ1OPx10ZI/0GYqMy9FZ9ifZkHmdYwUrk3zduLg0PVJwRx09Gn2tVCzKqgg X-OriginatorOrg: toradex.com X-MS-Exchange-CrossTenant-Network-Message-Id: 646c6081-024d-48f7-bae5-08da3fe3c93a X-MS-Exchange-CrossTenant-AuthSource: GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2022 13:21:19.3947 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d9995866-0d9b-4251-8315-093f062abab4 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AAtEK/UA3fhsTWNLFglVg74CkFJ9X8srXt0fAGdXPAoETu/PDduMrhpwkselVDkXwsZc81qvvbupQI+cdiNjrfPJattIkJzvFxik/hfJwLk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVAP278MB0295 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CDE13A77 smtp.mailfrom=andrejs.cainikovs@toradex.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: toradex.com X-Mailman-Approved-At: Fri, 27 May 2022 20:53:35 +0200 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean Fixup thermal trips in Linux device tree according to SoC thermal grade. Signed-off-by: Andrejs Cainikovs Reviewed-by: Francesco Dolcini Tested-by: Adam Ford --- arch/arm/mach-imx/imx8m/soc.c | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c index 59335356b5..e4e56079cf 100644 --- a/arch/arm/mach-imx/imx8m/soc.c +++ b/arch/arm/mach-imx/imx8m/soc.c @@ -1203,6 +1203,48 @@ static int cleanup_nodes_for_efi(void *blob) return 0; } +static int fixup_thermal_trips(void *blob, const char *name) +{ + int minc, maxc; + int node, trip; + + node = fdt_path_offset(blob, "/thermal-zones"); + if (node < 0) + return node; + + node = fdt_subnode_offset(blob, node, name); + if (node < 0) + return node; + + node = fdt_subnode_offset(blob, node, "trips"); + if (node < 0) + return node; + + get_cpu_temp_grade(&minc, &maxc); + + fdt_for_each_subnode(trip, blob, node) { + const char *type; + int temp, ret; + + type = fdt_getprop(blob, trip, "type", NULL); + if (!type) + continue; + + temp = 0; + if (!strcmp(type, "critical")) + temp = 1000 * maxc; + else if (!strcmp(type, "passive")) + temp = 1000 * (maxc - 10); + if (temp) { + ret = fdt_setprop_u32(blob, trip, "temperature", temp); + if (ret) + return ret; + } + } + + return 0; +} + int ft_system_setup(void *blob, struct bd_info *bd) { #ifdef CONFIG_IMX8MQ @@ -1345,6 +1387,13 @@ usb_modify_speed: #endif cleanup_nodes_for_efi(blob); + + if (fixup_thermal_trips(blob, "cpu-thermal")) + printf("Failed to update cpu-thermal trip(s)"); + if (IS_ENABLED(CONFIG_IMX8MP) && + fixup_thermal_trips(blob, "soc-thermal")) + printf("Failed to update soc-thermal trip(s)"); + return 0; } #endif