From patchwork Thu May 12 10:12:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrejs Cainikovs X-Patchwork-Id: 1630111 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 4KzVVh1jbqz9sFx for ; Thu, 12 May 2022 21:51:40 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5547C83E57; Thu, 12 May 2022 13:51:17 +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 B9DB7843A8; Thu, 12 May 2022 12:13:43 +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=unavailable autolearn_force=no version=3.4.2 Received: from de-smtp-delivery-63.mimecast.com (de-smtp-delivery-63.mimecast.com [194.104.111.63]) (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 3AF61843B3 for ; Thu, 12 May 2022 12:13:37 +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-GV0-obe.outbound.protection.outlook.com (mail-gv0che01lp2045.outbound.protection.outlook.com [104.47.22.45]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-26-2DORnk1xODeS6X4GM_lzBw-3; Thu, 12 May 2022 12:13:34 +0200 X-MC-Unique: 2DORnk1xODeS6X4GM_lzBw-3 Received: from GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:57::6) by GVAP278MB0487.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:3a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.21; Thu, 12 May 2022 10:13:31 +0000 Received: from GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM ([fe80::7b:8f0a:1d7:60f2]) by GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM ([fe80::7b:8f0a:1d7:60f2%5]) with mapi id 15.20.5250.014; Thu, 12 May 2022 10:13:31 +0000 From: Andrejs Cainikovs To: andrejs.cainikovs@toradex.com CC: aford173@gmail.com, festevam@gmail.com, francesco.dolcini@toradex.com, frieder.schrempf@kontron.de, marex@denx.de, michael@amarulasolutions.com, peng.fan@nxp.com, ricardo@foundries.io, sbabic@denx.de, tharvey@gateworks.com, u-boot@lists.denx.de, uboot-imx@nxp.com, ye.li@nxp.com Subject: [PATCH] imx8m: fixup thermal trips Date: Thu, 12 May 2022 12:12:46 +0200 Message-ID: <20220512101245.15829-2-andrejs.cainikovs@toradex.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <3636bdbb-f1aa-7b35-5199-56cff4eb5c64@toradex.com> References: <3636bdbb-f1aa-7b35-5199-56cff4eb5c64@toradex.com> X-ClientProxiedBy: ZR0P278CA0190.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::17) 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: ca9e25cf-23aa-4c36-caac-08da340010ee X-MS-TrafficTypeDiagnostic: GVAP278MB0487: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: /DO2YC4cuyRYiijvUo0bAHxcHqfJgArPozaRnWLnjC3FfQssA7MbNxOqs18CX7jBfl3Jf28L98E60dbHrusEnLEmc5mZfA2E/JrLLXYLGben80YIhYtDlQ+UAx4iqKUvYKShLxv8EZoDoQV4juv5jsrT3MR1twOUWqH4Q3G3YbzUCi49i+3AD8VXMhrFPEG/nTRlnhgIds49ZD5pEqu5jWOuaBd02/vkf6Sw6q8WaERDT6eK/i/yUzWbvuYswtGO3ep3TYfF8UXFvqbuCbJyecUqBvnbB2E9Pt5mt+QDjCYtk5ISSU6zlwDganLsHNaoyhM/BZthwy3uaqqAXyHchMdUFKRtrqlizw2NpvkYvly0qrVQ3RPo6I11WXOvrKu8VcKzLk3iQMNxjmNWKQskU07TKEQSUswC1QR6HOehE0BM+4Sq9tEjphF/HZ14i9gRBrl9WiX8mjO5sUR2Dv2qC18ZfROFrtvg1aQVWyAndgs8V7yZQT5848RTlm/Q4jgnZ1xqdfDjm22PazVxLEUUoICwGR/Zwyt3GKHN+/jqTYl+ugLqvTO3W44/aBl2boOzxbxHIcrrIXArmXvUKjQQAlBErT3uVM6yJX/gZhABqeIfLw2cojmZNRf4c/wuLG5phw9FCqMsXjMUESIVMm2UImOUBekAtXoPRpzPN+bxfz1Q87qFUEKfc0vv1reXoN5stpX1PB1JsxXuxo0iSvDUvioe2PnjoB6LljtuNs/ecM4= 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)(366004)(7416002)(2616005)(52116002)(66556008)(34206002)(8676002)(66476007)(4326008)(66946007)(38350700002)(44832011)(6506007)(37006003)(186003)(5660300002)(38100700002)(6512007)(6666004)(6486002)(26005)(36756003)(86362001)(2906002)(8936002)(83380400001)(316002)(1076003)(508600001)(32563001); DIR:OUT; SFP:1102 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ue3CLjvWe7NcQdwqQg1UtHYMizSNHAVocoZTWe4WnBHSRsgQUVwZuW4ToQic5jKr6tr1Gnw8D3+lEaAS9GYGnw8KKhcb25+9+MCwPZ39VLfuQIezzsxbJ3vKIrJT6jE5aZeQuGWmZNUDtLXa8Om/kdtlz51PQJ4T4D5OCjO44QyIkqfuKYS5znK0djAwg7/56szQvmW0Dn5N5yIVcLeK9obBhX9eRdIql1j4JGw5FKYoSh+caUCQCeJihlaVby5HO4SqZiwlArUDx9zDcDoaT8YEKlURgDErKXOlbmAw17vvDmW9sGF75w3jz9UlxOosORv2NIXSrJsEXW6JS09BEHbokNS/1OiTyPSyUKrQNwZiQHcVgitN9RSKH+LNUWqKzW+Y66iL7dYpnH73R1zBBo8boa87QSpj04mHBXT8q24YUh1Y/TDc6KX9EJVyC3suPm7J/cc5i1xCHEnQagG/nyg/4ma6eU6WvlHAbRFBDfKJRpibWajFYq/NHbePACJ9cDIMgDnCSbQeWeLYVE8MRPmcT8djFvQME9b7X6jkWHGZ12BNd1ilLiU3RP5jYBgzLwBZR6yXG8j2wfxPwj6W5zB2ZWmsQALiNyotHqhdwt3jg+sh6iIHrEm0nKx5/KzA/9V7VAg/JgMa+Y+fuchwe/mBYhZaSsWpsHv6/tjE3DCxT6uz2Dy0pBAtrFPznI1oCCiGBvl/OI5m1h+8pyOvcrxMmgQzrpT/D6mGs35M1j6x66NhNyJL1k8gLzxSoUZtp5j+Ryb3+PvVahc9hZ+XkQnDNnAgA/nLiCbj0ZyLjZe2bLzrXuPwLgHmmVYLxphkC68hLNzvtm/iDJKN0cWdBJZSc1WHfGD2P7jbXWS8ij6JfuvSQ7H2scobX0PJeruo8G7a42cShSdqEnykO6r9DeChbdDzlw0SMvgnA2eRRO57LJ+4ZLOkqn9F5xdAE5FNwlBXlppixvLDhkXD5XwORC7hum5aroHjodcu0slBdNjbYE3xxAP489Z5qt1zFMg1wNafiGRS7nIUPMbtJMM7s66OdZ2ORPbNUJtVpwGM0UoqT5Wf+uPv4SfhIoqWkT0E1Rv+jwMkBiaRN0rylcEtZqOuUsYgHD8ZGfluljhDfIooBOLc5vS4wp5ZMhC0HrkPDW7btOZ5NPOaq0jw9jETodQGKejtYr2m6YSItxDDVVzHD7J4KoFTfX2LUyb1ww+KqYDB/M1+fgR+9k2ELEgAI2fEhHljvzNo61/lqld/ExqcAqHE+f0M/HAXNmcFA2SaN0BX/9potGCpKcXtYSSNPWSb0AgRLaWCNSqn2cZ8cGGlIZf/NBaKB3HVK02R6qhNIBxO5GXWeYHU3AFp2KawW0r1seK1W8wDNBPsjVzUOxSG4pDWKt3IEypFMI1J8REGr7fezgq8Xe6h5fRslrqqrzRgCTvfEquVj8paVTvT92CE3DqpFpY3iLn/6XtGLsCkhfSaR/hzBkN19mF/Tj9VyeB6J0sSs+nVCVKsH+wuDiceDV96gUGyzFZMrk7L8oNg8xDKyG02S992nEeaIz5RqCPJ/+WYvsHjOWRJCAhqskj8dupMFGqlXdrMHszR90ta/+dpARys7kN8vo9OcqkJYJAvDaYhHqDZkBKM4/e/Nd3U5ryxJ8Q/4h5bsYv5hiQ7R7/YvK0bAhHO7dvSX+n7uuRra6dleRLgGG9boXBkfKKYsHAHH7/czWVRvK8eIw3VOGm17zzzkmFf7Of70O2xxj25pN3KipI35FgCC173yAcaGA+lKXhjbQ03zz33YtsT X-OriginatorOrg: toradex.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca9e25cf-23aa-4c36-caac-08da340010ee X-MS-Exchange-CrossTenant-AuthSource: GVAP278MB0929.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2022 10:13:31.5856 (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: FkbHkjHIBN2O4Qe2YojYIP6etcxS2RhewN8eEmIbwwVHsvRQHXlwaBJjhAKqmKd9Q5HKo0nZv0eZkcpRvSQJRj6yinMM/m7ngmlUOJUCnAM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVAP278MB0487 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: Thu, 12 May 2022 13:51:11 +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 Tested-by: Adam Ford --- arch/arm/mach-imx/imx8m/soc.c | 50 +++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c index e93ecd2846..b451ece91f 100644 --- a/arch/arm/mach-imx/imx8m/soc.c +++ b/arch/arm/mach-imx/imx8m/soc.c @@ -1001,6 +1001,49 @@ static int disable_cpu_nodes(void *blob, u32 disabled_cores) return 0; } +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, bd_t *bd) { #ifdef CONFIG_IMX8MQ @@ -1128,6 +1171,13 @@ usb_modify_speed: disable_cpu_nodes(blob, 2); #endif + if (fixup_thermal_trips(blob, "cpu-thermal")) + printf("Failed to update cpu-thermal trip(s)"); +#ifdef CONFIG_IMX8MP + if (fixup_thermal_trips(blob, "soc-thermal")) + printf("Failed to update soc-thermal trip(s)"); +#endif + return ft_add_optee_node(blob, bd); } #endif