From nobody Wed Oct 8 00:41:59 2025 Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 860372D9492; Thu, 3 Jul 2025 15:12:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555548; cv=none; b=kdayT70CG7Xx13CUuKZD+1BIN4BR9z9MUpdK1JJ+hxW6/HSb87Ynq3CDFZocXfxERIw2s1tOsyb3y3cRAlxb1JGYyJosuZaFPtIpNRRia2Te4ees2Lf5nznbzaCYqVKzsClfH85XCpYlrEwP+e6lYL37tkpM42yfdnjFcTp3F8E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555548; c=relaxed/simple; bh=2VtHhvZZXe9k5UmGankZAg4IjeCT2vcwRjcFNQsN6hQ=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jvhlXJ5rJgljVvBY0bvOMnBtq5EBdbMaBrbQmea2VZzdrlF4WjRBGF9/Nkiusc4+JgxULQYL1oE1a9bReTX0RpeF67Xme0WrEJFK2QxubjbRn0s6y6+8qG0MPgb9XMWh8GRFgu1367PBsYORTVZ9hwKf2F2nBjwAxhzXY6FcraM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PMfvuQYx; arc=none smtp.client-ip=209.85.208.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PMfvuQYx" Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-32b553e33e6so108461fa.2; Thu, 03 Jul 2025 08:12:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751555545; x=1752160345; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=BUCZaITB+JbIKX4CqImv9IU6yGF5XIw9/F8cQCdwhok=; b=PMfvuQYxvexEbuC9M+ffD1jeDS1M1QKsmzILOQgxySVlqovmhVewrqrghm7IMAMXTO QKR5x1NezcNuMazGA9cShEws8dN8M5RW9piUK0SB2we7hp00MhcJ+7gIofKhzP7PKACL x+ROpiFzNMTTwhA4pZchRPaB5WxG9bhAC16N+nuL24D02PbQA6kfdbLr7ac4iIfJ8uSf HsGPnD4Ykj9Ctu8+wmPgRjpQt/UGPJmcaiWCmsNhZwTPrSGKgkyB8o3Em4UEfPdD+Svm 9Tfm6X0TebofM33V/2SIvwqY1nr/Dj2vldnEb1MndThAhJbfGN7wzBThQzXvXB8rS67v sIgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751555545; x=1752160345; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BUCZaITB+JbIKX4CqImv9IU6yGF5XIw9/F8cQCdwhok=; b=W76fDvVd2FIWxZoaSJFDCuvCV2sSsXxpbc2gIEgtO6mfv2LNWJy/kFNc7p3vBpsj+N 3OL3P4AY9l+ugvdbhheIC+XbqrdSQOZxDEXdhTaqhH6F4Y75AiIqa461LVx7EwxbxWqB 4lL5hypxh5VF35tCEwXMl5oI860DzSllyNcypO7ICAh9MTEQrKlRQDQI/cG5sHaSj80M lGj4V/wMGv89YdGg2mhb1AsBuIrZNwYbzVEhCSeR9S5q11iW540kWeRD/dlzo/hqNnzg zPBQXsMw1bq/jC2UcBfN1S9jNhlB04jk+VnbJ88xxiZjEeZUS2z+cccC0DaVS8wnYbl/ /Ymg== X-Forwarded-Encrypted: i=1; AJvYcCVQFRNoxsnC1h8Y+kNHKYnX+W+zgGY8mneMznzIPG5CjmS+bGNfDJPo8pAL7KITZc7vlVzBR1tHuHWL+mke@vger.kernel.org, AJvYcCW3ovZAljjPTjJ7213mFkigk9hXr7+i+1NhAmx26sjPVmxaaWJtFATxfMqOJcrkuPBdmv2t0+HnBio=@vger.kernel.org, AJvYcCW5o1+WneZjLURu4DdEtvmxx4Adbk7G9RWoPalE8OrDWzJ8LwWRO64pU67oUOKj+UbYXo7mLGGL4bvG@vger.kernel.org X-Gm-Message-State: AOJu0Yym5wjiywVMlgA6AwoHwJCIy7bHN1YaxwIXqyk/751j7GZj8wFY d1vJsA166rTGPBTcULvuhin+Njc5qfQDykloEpY/FMALboBQZyU0jD8c X-Gm-Gg: ASbGnct+9nIskMe/gcqMbiFEDsJmDTA35EBBjdkG6czzSqxoslvt6I42Zfq4HHAYEQt 63rnHp/zMe2cIeLFlzBEKI6gVsDeCO+qe8qsGlamtJjpQYeVRvtlctIu++VZG8+XKcsE0eBVH+F hb7R1I+R56YqlDo8q+ipC7TbkvqSUboyum7Vif5Wti5/F4jruZcYm8/9rdiSwzt5fJqZQUWee3e U2MIN+yBcOka5hzQ3Jm3yHcsaqk91gmXrpL9NaJjmUH4Mf1MzPviXaRZY2TZfszBJva/XJTlg5H JkayA6m2Y2x/iCUcKwiQpauZbOVDq588Lv7Qwi+9nDF3cZ4GFj65T0WkgFTF5kAtlU1ie1fuVgK 1XW8lDw== X-Google-Smtp-Source: AGHT+IHZy8BDgg1jwQmCpKDukxqhrE2LVb6Ay/AY5cKY8tq1yT7pP0bu22FEBsebRudNWJpZ7jrRNA== X-Received: by 2002:a05:6512:3e22:b0:554:f76a:baba with SMTP id 2adb3069b0e04-556282e0d4amr3008654e87.3.1751555544426; Thu, 03 Jul 2025 08:12:24 -0700 (PDT) Received: from localhost.localdomain ([212.192.12.80]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384ae15esm725e87.178.2025.07.03.08.12.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 08:12:24 -0700 (PDT) From: iuncuim To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Vasily Khoruzhick , Yangtao Li , "Rafael J . Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Philipp Zabel , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 1/8] dt-bindings: nvmem: SID: Add binding for A523 SID controller Date: Thu, 3 Jul 2025 23:11:25 +0800 Message-ID: <20250703151132.2642378-2-iuncuim@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703151132.2642378-1-iuncuim@gmail.com> References: <20250703151132.2642378-1-iuncuim@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikhail Kalashnikov The SID controller should be compatible with A64 and others SoC with 0x200 offset. Signed-off-by: Mikhail Kalashnikov Acked-by: Rob Herring (Arm) --- .../devicetree/bindings/nvmem/allwinner,sun4i-a10-sid.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/nvmem/allwinner,sun4i-a10-si= d.yaml b/Documentation/devicetree/bindings/nvmem/allwinner,sun4i-a10-sid.ya= ml index 4424c3c5e..f67470b8a 100644 --- a/Documentation/devicetree/bindings/nvmem/allwinner,sun4i-a10-sid.yaml +++ b/Documentation/devicetree/bindings/nvmem/allwinner,sun4i-a10-sid.yaml @@ -27,6 +27,7 @@ properties: - enum: - allwinner,sun50i-a100-sid - allwinner,sun50i-h616-sid + - allwinner,sun55i-a523-sid - const: allwinner,sun50i-a64-sid - const: allwinner,sun50i-h5-sid - const: allwinner,sun50i-h6-sid --=20 2.49.0 From nobody Wed Oct 8 00:41:59 2025 Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AC48D2EF672; Thu, 3 Jul 2025 15:12:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555566; cv=none; b=QngixXMA8Vxds1ncTZlSDO7qZtVJJotBOKdNXlnFprMLTxvdyk6rSFGmpeJUAGOBOXaxOLhsGkrOhQXbaDaxtHRsbAuNCH0V5/8PG9UCRv/xdQhAsXtjk2MWshsLkvlrocp2FWDKpDfFGQwIJfEcDUHWnCQjVtybND6eo8sY0hE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555566; c=relaxed/simple; bh=+dyKOZdFK0jZ1XO+OBIaaB4l4t8HcKQncpEBdDjx5Cg=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=M2hym78vj3PHMNq1eZi7qPu3PNaiLizT89+tw6S42V8Wqk+CosC5+WmZyAbvRgUaPz7NViHB7f/JkHReJoD5pobrfcO/fa7td7DzvwUfadgJufHAF+9ayX93LCN15lcs0qJ5wU8aZccTGJixkPyWF3bPTmVayyHAIjpBWl+XOnc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mkfIKfDD; arc=none smtp.client-ip=209.85.208.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mkfIKfDD" Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-32b2f5d91c8so333361fa.0; Thu, 03 Jul 2025 08:12:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751555563; x=1752160363; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Lnk4S/ZRBOAWFeTLBV16c83HbawKBbnUkwVc1Pl3Jgw=; b=mkfIKfDDUqYl0lX5syrQHuPq3Pl0+a20c6NynXpWOA4cU0jmLGNS7CgJX64jmMg5pW NLoJ5LoaYxYbI+Qx8lMuBOtcgvvgqIeQUgUEvts77UolTLpbxLGIL61i9uBjdznXTuZc smSHX9l1kI87hfUuAZ0dIO4Wwo237mZoEioAyFtWrXoCe+6jDAtcr/v9IY59Zx9btq9k BJysAfx2d/OBFFNOLiDt019O58ghECE0Ku2V9Gw3U9njHBw70+E7Cs9+skOavBzyD84m 5tUcFKD10L9GBakU5Y13CK24/v2dCQM85dv4R6hefXy6Xp7TGDsREaPSwYx91u5aeei1 twNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751555563; x=1752160363; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Lnk4S/ZRBOAWFeTLBV16c83HbawKBbnUkwVc1Pl3Jgw=; b=HfWhHXKxZQS0we7pdEymL49eX6S9NacFLrUVHQ0pQblgN3AQQT2wu9ogSPZ1GxuMhw 2tfAc0QUgM1C7jfkJCVuuTm0chRNb1niMAjke/JMdoBBKSwclfYDuzfbHVdvv25f1svn wtbVf32szAfurFEsrSDAGCzqkPi0piNRhR/NlJYRgYAWNAHeEUD10OsroNeEsaeV9IP2 FA0Uyl2009PJ69p5ZOldCyuGvR9lpPBhCFItjL6d2Qnx1ZvgPdtmmQS/gGMFC38tBiMd Sc2W2EklZjQ0FGvCikjn/yBbFO09Q26aHAXf2yTBEMNf1mAYqabPYNbb0KccR4bEak+Q +aSw== X-Forwarded-Encrypted: i=1; AJvYcCVf7JD29H64VSCUAnSwvhc3XLQgTSDd5sTrOh3SzqIk5/R5irpmjKJ/lmJwsS3jnxZTkUs+jAXEIqaEf6RJ@vger.kernel.org, AJvYcCVzDSEwILZ5ptXITaHoq5tBetLWfCiPJ8TcXTkZ/2/ACwfkKqLJ8vZVEueXBSpWrp/lBnykZtLhha2L@vger.kernel.org, AJvYcCXIFq4xqdQzVhqqK1RdmXR1KqSl18bIjvaPTsnK3w0EIQsIyvE9+7/n3mg8Ot1+F+RUEtNDA4hFOuY=@vger.kernel.org X-Gm-Message-State: AOJu0YwxKvAnkxZWbtIK2+19NYDQX55edrH/Erw4qNxPVWqzcDI0Gu0Z 4Vk9qPHwY6uLjJ9jELWBzoXycMX4xWxNpkhgH+B5EqOaqOXfiwHxocLn X-Gm-Gg: ASbGncv4lAD/NjJsS4fm45GVha9VoRk+Zf03F0c9VVlhsg9JcfUrh5c0CyIf/i1WYzI /kU/fEKeONXURPI/uHFEXOrHMfonZxpDEyXMq6wvSbyhpNrHicRywEG7Ayh6jSvr4ei+mQmqsmb bDletZGA1IZwDrcz2NXl4VzscMdzu8Z7HLC/68IfgMbSbrBxOzxsWBnZdl+YT+ZNSqwF7Xx+8uu OLvjYVoot0IwWRxRsRZfPyYITIekjqmqE0tOXs0EzChpFkTKDTlRsXdN4FaS3HHZrcjgZatvqM1 pmDliov/MyWQ6I//0KoE8jQvqSdgEbeLILzQ+xejGRy+QTmj+grSdZ86/6FGnr2Jwkp5FDI= X-Google-Smtp-Source: AGHT+IE4N9EPjYoVrJU71eRGRvfZjYij50QTT9ow8waF9KaIqcuDsIxMjitoZssy/2WBO9PRt9Qedg== X-Received: by 2002:a05:6512:3d89:b0:553:2bf7:77ac with SMTP id 2adb3069b0e04-5562837286fmr2805513e87.41.1751555562586; Thu, 03 Jul 2025 08:12:42 -0700 (PDT) Received: from localhost.localdomain ([212.192.12.80]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384ae15esm725e87.178.2025.07.03.08.12.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 08:12:42 -0700 (PDT) From: iuncuim To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Vasily Khoruzhick , Yangtao Li , "Rafael J . Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Philipp Zabel , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 2/8] dt-bindings: thermal: sun8i: Add A523 THS0/1 controllers Date: Thu, 3 Jul 2025 23:11:26 +0800 Message-ID: <20250703151132.2642378-3-iuncuim@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703151132.2642378-1-iuncuim@gmail.com> References: <20250703151132.2642378-1-iuncuim@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikhail Kalashnikov Add a binding for D1/T113s thermal sensor controller. Add dt-bindings description of the thermal sensors in the A523 processor. The controllers require activation of the additional frequency of the associated gpadc controller, so a new clock property has been added. The calibration data is split into two cells that are in different areas of nvmem. Both controllers require access to both memory cell, so a new property nvmem-cells has been added. To maintain backward compatibility, the name of the old cell remains the same and the new nvmem-cell-names is called calibration-second-part Signed-off-by: Mikhail Kalashnikov --- .../thermal/allwinner,sun8i-a83t-ths.yaml | 49 +++++++++++++++++-- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t= -ths.yaml b/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-= ths.yaml index 3e61689f6..80657435a 100644 --- a/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.ya= ml +++ b/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.ya= ml @@ -24,18 +24,22 @@ properties: - allwinner,sun50i-h5-ths - allwinner,sun50i-h6-ths - allwinner,sun50i-h616-ths + - allwinner,sun55i-a523-ths0 + - allwinner,sun55i-a523-ths1 =20 clocks: minItems: 1 items: - description: Bus Clock - description: Module Clock + - description: GPADC Clock =20 clock-names: minItems: 1 items: - const: bus - const: mod + - const: gpadc =20 reg: maxItems: 1 @@ -47,11 +51,16 @@ properties: maxItems: 1 =20 nvmem-cells: - maxItems: 1 - description: Calibration data for thermal sensors + minItems: 1 + items: + - description: Calibration data for thermal sensors + - description: Additional cell in case of separate calibration data =20 nvmem-cell-names: - const: calibration + minItems: 1 + items: + - const: calibration + - const: calibration-second-part =20 allwinner,sram: maxItems: 1 @@ -107,6 +116,7 @@ allOf: enum: - allwinner,sun8i-h3-ths - allwinner,sun20i-d1-ths + - allwinner,sun55i-a523-ths0 =20 then: properties: @@ -132,6 +142,26 @@ allOf: - clock-names - resets =20 + - if: + properties: + compatible: + contains: + enum: + - allwinner,sun55i-a523-ths0 + - allwinner,sun55i-a523-ths1 + then: + properties: + clocks: + minItems: 2 + clock-names: + items: + - const: bus + - const: gpadc + nvmem-cells: + minItems: 2 + nvmem-cell-names: + minItems: 2 + required: - compatible - reg @@ -176,4 +206,17 @@ examples: #thermal-sensor-cells =3D <1>; }; =20 + - | + thermal-sensor@2009400 { + compatible =3D "allwinner,sun55i-a523-ths1"; + reg =3D <0x02009400 0x400>; + interrupts =3D ; + clocks =3D <&ccu CLK_BUS_THS>, <&ccu CLK_GPADC1>; + clock-names =3D "bus", "gpadc"; + resets =3D <&ccu RST_BUS_THS>; + nvmem-cells =3D <&ths_calibration0>, <&ths_calibration1>; + nvmem-cell-names =3D "calibration", + "calibration-second-part"; + #thermal-sensor-cells =3D <1>; + }; ... --=20 2.49.0 From nobody Wed Oct 8 00:41:59 2025 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 840172F0C6C; Thu, 3 Jul 2025 15:13:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555585; cv=none; b=n0xiyWwuwNFihNm7TcOA5DKQ5fIT5AoeYYQAHe8VOnHlRUzJtsHhUgAMBP6IOj68SNUs1dWiav58UyddpGyrIU6xWsSltEDozgN/0DMNInkVVM2zaSdl1mnMPa1vvw1XPtkP5qwyyU8Zv1aQbv83xKQWGaqMjXH+P0ywwtcEKAE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555585; c=relaxed/simple; bh=iboJ0KlMSWJGY+VsG4+b/czJxm0Le+jeHStxvFchug8=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=u1YNavgYEtZb1P/D2xesXEp27t1gzlgX0+8VZ6Lx0hd35mMdArSl8cUO2WlIKDeJfC8GkjSjfMa9GOu8C4MwVhxNGXU/f2oadk4hhhUFXePREWELR5eGMvktvbqKs2BkECG7INeohh/3Dwxp81wo3QJQBqB/RqK1MWq0nbTmd9I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bFQDyUm/; arc=none smtp.client-ip=209.85.167.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bFQDyUm/" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5562838ce68so22052e87.2; Thu, 03 Jul 2025 08:13:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751555582; x=1752160382; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=JSM5+fYnMtOsm8GdwVjstZSV2NM3rH5RSvo+XZzua+E=; b=bFQDyUm/6JeBXkdpFozvJ2Nr3IntK44oTUUMpbklH/dE8XCmcYufpBNSAyBchBzrw7 vda/N7bWDzp8JCT3zUF5h6wwDaG9rmN8UW/1QbNmDnAPjlMnZlRX6TtrZyayd7VAePVH k8tD8NKpUNfNotG+Jb3wAbS8urSuy3XoCWybqXdNkDFKofyTUkshje1pDBENzrgRPexU sUNlFQCvB6bVh27DqrbNq3xBlaLgmsN53IGWnEtetf4kNKK6cUIIaW14dVuOy7sXNx/g aZ/0OW7tR1YAQ9AQynOOa4taJAmsQ3WIPUtBoG4xXb3EnWHyysJZlentdIMSg5dU2WEi 8foQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751555582; x=1752160382; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JSM5+fYnMtOsm8GdwVjstZSV2NM3rH5RSvo+XZzua+E=; b=t0ZaC31ce7dY0PZq++Em6khXtWZo6UgsGkS1YoPe44XocpeT8X7uW7q0vQsl5TaEro VRRwSlHs/dSgF/YofcU8cFWN3ArJp+xInebQRJfJzDltJw5A/St1jLRmdzaQin+jdoYr OGCQQW5G/FOMAi/YefFhuURi810tx+YsBe+pVo7lgKymyyolv6P+P4cDzHwo7Rm+YjE5 HXFUFn7pr2043rPIGlymIERPvJqrb8fVIG4bLhdMPzJBMmqXr0s6DrFohd0Vlk8TETCD ZNi18gczo9ZxOOGDpZjUAbz6CfFb2UW1Pr9eBF3M5j61VBc/UhhqAOHVDICQuPkmYi7r BKCQ== X-Forwarded-Encrypted: i=1; AJvYcCUkbzgq2NT6fbOndr5IA24UFvGbKstVz8Yec7DZsSXVksZASlFrHnQ/Oil6m4dVfdMvVkc8Yg+TbK0=@vger.kernel.org, AJvYcCUrTEIhFz3UAzZo5xRljnM4HzyWtoIjgYa4M3DFTG21O1nvVjcqbi53pQ01jUHoB783MmRfUbLb9ZTY@vger.kernel.org, AJvYcCWq09WOeoDluV0+eYubN5ncBmGHs5oDFzee79lmQJhyXMvj8nFIobGHuGXi+M4zqi/6zCV5XY4NQrZ8svfc@vger.kernel.org X-Gm-Message-State: AOJu0YwJqGfEYC4M9AH0Vl35BA7g7EJtw9l5JBlgJndYDDyd04Pl8DR2 Nd1NSIMxiX9x1UZ0ytz3oqpSX7RGrpE5Ky1tNUgq0XgPKbAxOF41V/ef X-Gm-Gg: ASbGncvQg8/XNjClzNMlXsLylFT6CXr0eeCshZ85j1KCGZy2yPA4RiX7zVJjgyaOMNr P4yN1xaNgKz+ErYPaP8GjZbDT0fWrWMjCBl1/lvPD+NlNYzq8xFwARLbJEmWoOsG5KQa9iUPSkp yZ2yXgktSpNpURPSjo3PW+VK3dOGWRh6KWzI+x28eBCltpoP/Hn3kXeZUsnPPZF5Jhzzjwi+YTd MuM6MieeGOmc4lbt1HDqeXnJE9jgoluxJy5sp+h0iNBKHKXTamTGOQczV2Z445KO5o9bgdyJNqS 3uoCT5qupYeGmyNGPFzb14CKg5TaEiRQfmDKPhjHjVe0ghQ4Jequ0t60NUQy8QT6kO+rsag= X-Google-Smtp-Source: AGHT+IHcwagZ0bz8urHkgSxiQduhEhToNj/qwjiDIvUuGgoplh+L+oS4JKl6ajnw+KxoaxGfavI79w== X-Received: by 2002:a05:6512:1390:b0:553:252f:adf3 with SMTP id 2adb3069b0e04-5562ee3f0e3mr1589090e87.16.1751555581341; Thu, 03 Jul 2025 08:13:01 -0700 (PDT) Received: from localhost.localdomain ([212.192.12.80]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384ae15esm725e87.178.2025.07.03.08.12.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 08:13:00 -0700 (PDT) From: iuncuim To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Vasily Khoruzhick , Yangtao Li , "Rafael J . Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Philipp Zabel , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 3/8] thermal/drivers/sun8i: add gpadc clock Date: Thu, 3 Jul 2025 23:11:27 +0800 Message-ID: <20250703151132.2642378-4-iuncuim@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703151132.2642378-1-iuncuim@gmail.com> References: <20250703151132.2642378-1-iuncuim@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikhail Kalashnikov Some processors (e.g. Allwinner A523) require GPADC clocking activation for temperature sensors to work. So let's add support for enabling it. Signed-off-by: Mikhail Kalashnikov --- drivers/thermal/sun8i_thermal.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/thermal/sun8i_thermal.c b/drivers/thermal/sun8i_therma= l.c index 226747906..45aaf5348 100644 --- a/drivers/thermal/sun8i_thermal.c +++ b/drivers/thermal/sun8i_thermal.c @@ -66,8 +66,9 @@ struct tsensor { }; =20 struct ths_thermal_chip { - bool has_mod_clk; - bool has_bus_clk_reset; + bool has_gpadc_clk; + bool has_mod_clk; + bool has_bus_clk_reset; bool needs_sram; int sensor_num; int offset; @@ -89,7 +90,8 @@ struct ths_device { struct regmap_field *sram_regmap_field; struct reset_control *reset; struct clk *bus_clk; - struct clk *mod_clk; + struct clk *mod_clk; + struct clk *gpadc_clk; struct tsensor sensor[MAX_SENSOR_NUM]; }; =20 @@ -417,6 +419,12 @@ static int sun8i_ths_resource_init(struct ths_device *= tmdev) if (ret) return ret; =20 + if (tmdev->chip->has_gpadc_clk) { + tmdev->gpadc_clk =3D devm_clk_get_enabled(&pdev->dev, "gpadc"); + if (IS_ERR(tmdev->gpadc_clk)) + return PTR_ERR(tmdev->gpadc_clk); + } + if (tmdev->chip->needs_sram) { struct regmap *regmap; =20 --=20 2.49.0 From nobody Wed Oct 8 00:41:59 2025 Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C66A2EBB8D; Thu, 3 Jul 2025 15:13:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555604; cv=none; b=TdDAIKk37iGKRXfiyeL1ofdUdjFEQ8pebBdFUlVYZ9ntrqmJtlnIQ0e83yrIjyspyfUXMKsLa0RjmATMG3Ctc4YMZ/pp5aVeLCX8C/Ae6aPYPf19Vu2/v6H+rRnskYCc/S7np36APfcdqUYB5gRKuJ5fmgKNeUlgVauwt2uGhPQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555604; c=relaxed/simple; bh=nv9OK1L0UQMxg74LXR+ORBLR37vlz1npBtTJKz/DTXg=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eQDHFR8FzcdVWKIhaDxnF5BJIzoUtv9s+2ukOnLItfv3b5VLdNZ6Nlehiinp9R/8l7VjEeIHNA9LCChExMNAtB394Z62jUOecNZRaXy4JVw32bbQphsdYx2pB7Lrj5BeTqmM2hwqX7OE2WeS7dwmyzcuhsruHOplypOWMiWq6xA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bKrZZbkX; arc=none smtp.client-ip=209.85.208.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bKrZZbkX" Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-32b8134ef6aso352911fa.0; Thu, 03 Jul 2025 08:13:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751555601; x=1752160401; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=K/HlbY0O85zcixYzgYTA8H0Mdv+GR5C9KDIOJVQIiKc=; b=bKrZZbkXGULAT/YkPMxe2h0qjI/AJLTssJYM99eRc0LSJONCQ5KLYsIFHQ+Xm384t2 /9UvJtZ/wp6VSP4pXev6kaEFk1hT5bwDy6HVFKwzTd2BRl+iyrXiqL1cQrMg5L2667pC vYSeTwax3EsKYQiReaL8Sha1HESONBy6Rgntc2HUooCN6n+opciZvke8R1wWDZXgcGEm ODecxFi+ay9WUxvHUlLBh6YahUj5zbJAyuDUY5iqcHYs2j1JcuqJOsRjHKYhLw7rIbL/ HupGG1pG4wmU8nLRu0PV1ZuPg3n/NYiQKegZBuAW9kdRVQniot+fvslARgLqaLJBHebP IAGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751555601; x=1752160401; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K/HlbY0O85zcixYzgYTA8H0Mdv+GR5C9KDIOJVQIiKc=; b=EkI+ZD8BmqTpGsvVFoiwhn/JHXAJW1+2/PtAwQ8nNEI5kMW1lYFt17roRGceAgXNH4 TF7L0uhiWDD0ikT9d7ZCkQ8WNkvP17BMIU2G/62uad4i1Y4cdCaalmoEnNbH41Qrtej5 XBIlULbMZi0s+AwLDU3mZuiVRZgyoVNhCUTOZbH05wkCZBuMVyJeD3WaZMvTYgG89vct KtbGfp5Efr0SHNce3W4LZK0bJlDori5jNGq2YMcqzepjz20hkwPfL6C4cy8TBAzgUvU/ GJyvRGL7qSqn8yGKADAW6JCIuX0hzwB9XDYdc4PCeBN571WddroagRI4eVB22AbSB6nH vDuw== X-Forwarded-Encrypted: i=1; AJvYcCWEWLtf+GRZnAH1oC9OiOsc4tPCIrnUHyCLjcHXY5mHP11iJ2rnBNsdYKfJo9HSekjKvzUdc/2S8UdQoqFE@vger.kernel.org, AJvYcCX98cZ9z8cMC8uw0su0UlDvjdPVpj801MSr4QCHI+HDpnwURYN02CD0Bh5JNGA5AEhHdGm00D5MSjQ=@vger.kernel.org, AJvYcCXQCq8A1qmnZaUKK0pSW5JyhQylhdoDjKL2AIsmvQmbx/nawKWmHTYdsjwalAmXjXZ5fHJROBte2FTP@vger.kernel.org X-Gm-Message-State: AOJu0YwnaiCnC/9kurYU+kAJYc6hTjQBwFWWKuWaVmSe+DfkuxTkGZ0k uvmKrz1Ne/sIusi175VdU1MhmRHJ0ge+yabIJStSyjtJz/bjHJVYoXSL X-Gm-Gg: ASbGncs04LdfQYzhnuObzlKSRj1a7VSqGTELSyYW4u4UG3gYTjSBPNUkp/a+tLxeL3x dlCwXU4Mt5FIBlrkNhE2Z6OCww5ekNbrLomtBFzoSFMX9PfEGPuJLs8+z9/95Brmn9XmQmTSWCI A2N9/RyEed96kyafxoubWHOxvz3fqArRQvQo507k1aaTDLiqC7axWoOHKCSkqPLmchzYX9bwTQ8 fmxgf09nC1sBpAQwfaYx0ZMkzpJUBTy8/dRc0T/BOOMvavUfgqK/ByZPZOhrjdwvIDBYcOWOBY7 c0JgoESUuXnv1K6twFvKr9q7KGryoCUEfWmt3Ox4JDdvbnrP3U6xx5D9I6FTZ/okR7ZM1Qw= X-Google-Smtp-Source: AGHT+IFizivHRCGbn2xa6qy5KahETw6sFgoEVp5+fipVdvBjkYyulTltzT89w8oz7cos8x+uQdLuBg== X-Received: by 2002:a05:6512:aca:b0:553:25e4:274b with SMTP id 2adb3069b0e04-55628344003mr2815796e87.41.1751555601020; Thu, 03 Jul 2025 08:13:21 -0700 (PDT) Received: from localhost.localdomain ([212.192.12.80]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384ae15esm725e87.178.2025.07.03.08.13.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 08:13:20 -0700 (PDT) From: iuncuim To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Vasily Khoruzhick , Yangtao Li , "Rafael J . Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Philipp Zabel , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 4/8] thermal/drivers/sun8i: replace devm_reset_control_get to devm_reset_control_get_shared_deasserted Date: Thu, 3 Jul 2025 23:11:28 +0800 Message-ID: <20250703151132.2642378-5-iuncuim@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703151132.2642378-1-iuncuim@gmail.com> References: <20250703151132.2642378-1-iuncuim@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikhail Kalashnikov The A523 processor has two temperature controllers, but they share a common reset line. We can to use devm_reset_control_get_shared_deasserted() instead of devm_reset_control_get(). This will simplify the driver. Signed-off-by: Mikhail Kalashnikov Reviewed-by: Chen-Yu Tsai --- drivers/thermal/sun8i_thermal.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/drivers/thermal/sun8i_thermal.c b/drivers/thermal/sun8i_therma= l.c index 45aaf5348..bdd15ee45 100644 --- a/drivers/thermal/sun8i_thermal.c +++ b/drivers/thermal/sun8i_thermal.c @@ -344,11 +344,6 @@ static int sun8i_ths_calibrate(struct ths_device *tmde= v) return ret; } =20 -static void sun8i_ths_reset_control_assert(void *data) -{ - reset_control_assert(data); -} - static struct regmap *sun8i_ths_get_sram_regmap(struct device_node *node) { struct platform_device *sram_pdev; @@ -391,19 +386,10 @@ static int sun8i_ths_resource_init(struct ths_device = *tmdev) return PTR_ERR(tmdev->regmap); =20 if (tmdev->chip->has_bus_clk_reset) { - tmdev->reset =3D devm_reset_control_get(dev, NULL); + tmdev->reset =3D devm_reset_control_get_shared_deasserted(dev, NULL); if (IS_ERR(tmdev->reset)) return PTR_ERR(tmdev->reset); =20 - ret =3D reset_control_deassert(tmdev->reset); - if (ret) - return ret; - - ret =3D devm_add_action_or_reset(dev, sun8i_ths_reset_control_assert, - tmdev->reset); - if (ret) - return ret; - tmdev->bus_clk =3D devm_clk_get_enabled(&pdev->dev, "bus"); if (IS_ERR(tmdev->bus_clk)) return PTR_ERR(tmdev->bus_clk); --=20 2.49.0 From nobody Wed Oct 8 00:41:59 2025 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 960B52EBB8D; Thu, 3 Jul 2025 15:13:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555624; cv=none; b=oLEIlzhDs5A2ki5waFgjmtejetFCLhCsEaMpD+Z77IFzXMn4bhXzP/WWXRg7Q8XXMwEao4iS/SOzw8+2oQKLq3+eA8WIGRnJsK8E/49BGR6ZrFZMDoej5Ie0Uo1EFVEqHDs1x3IFk3OMFKsDAWn+ncESvaoMQc6fCRi/OSaZV/k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555624; c=relaxed/simple; bh=tt5pibkTiOylBDZcb5XG/k6MGyyVGkm7PBa6bP2UNZM=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SDpst8GgY7Es05zLlM0pErNFknNV2yk9xSqx4Q4MHQPRaZOGnvhc6lDhRtagFQmTbCWSjYHyuXyn0y5QorL0IM0OKxEJ8LrdvdJBLEhvAhbMCvSgpbg6WjiIp2MEm1jHXs/eFhYmcxmfjbjAGnzSGBXF9iKn2oynmPvNH/h5NLE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dQQAN55J; arc=none smtp.client-ip=209.85.167.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dQQAN55J" Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-55511c3e203so15837e87.3; Thu, 03 Jul 2025 08:13:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751555621; x=1752160421; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=qTtCCKdSkgMTplzEICqTViHzDjQLzZrHGfmUBwRIypA=; b=dQQAN55JADZ9RyD0jfYWKtp5zHyKVXY0JUk7j+oX31ZWvq2g4dpXZld/vMftrDX1Pb YiQVPxs15Azt1O7UlhPxFFrzIc/W+om6K/6UBm+pcIpCOVfbFvSIvjjpyYpP7umGqHx6 1s+XoKmq+vUOtXqazLPlSpHHR9SPe+049/+96dQarAX5v6sXXD6ABrA5Uy6bPucNg1lj CeGUH+eOzLv0uyRHfngrl6pOnrSNcX/OPeoWAYfo/4BlFZKV2TJ4jrL7oszGQttpqGEt VoC/s24g2gL46fwApNikyqHYQU/0ip/K6H5Fv05MTbWW2JhcGvavlqWPrMs6kT2JVVl6 boHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751555621; x=1752160421; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qTtCCKdSkgMTplzEICqTViHzDjQLzZrHGfmUBwRIypA=; b=oxC44H7wIL58UlIbzqw84nnR5hdAAH54vVnVzSgtUvGbPynW3kN+6drUMBjewZM4cu oKzOxYXvwK/DThQrQolYAhvoSbYGUrQaCVK/dqZkksLfxOkc7+NDJ23qwBzhnamjgX31 WXM8hVA3Q9PMpM7W9Uw+SFo03vWQoWBiAwsH4bo8Y5qH3gbpfQiuU1QpAdwIhPzpB/gb 4gHYUStsoqRYIxp8lH7KuBT3JPXSFx67PgkcK9qdT9oMnzNeFZpFyx3CWS9kgrgHNZ3o oLRrYP62vfedkAmsfcbxh4wYVoy1JAMFE0pDJPAetY7xV9sH0iMUByd3ANs/P4A8OIzK 9mJg== X-Forwarded-Encrypted: i=1; AJvYcCUyzPJ2jiZs/bYaVW177yaD3ICOqAVQHbhV/XU95W4IZfOAhXG6lrpa9CuCMmpqfvIIyPqf5/TFKxsBEJQd@vger.kernel.org, AJvYcCWbo237Y2mRyCgglhpJALX6xeGPHhhUnc9QfkaY3Dof7gEE3Ht8X3HRSkP1pdiAAmQGnVw9rTBKc+E=@vger.kernel.org, AJvYcCXb8SUqn79jYFrtd5dLIwhdM5Z/Zit79/uzV33sxPAfpp1m0+oLkJefnyTJQjl9IPvywP9fg7OauthK@vger.kernel.org X-Gm-Message-State: AOJu0YweDmifv4IutRywZYIsDTxMXReyHMyai5JMpaZllQGu0JZKWz+H LOxgz7YMWLxirmVXkdqZ05OpvqPsaBS6g6NJaDk6Ai9dzs93Fbtx5qm8h/Wl8rl6+8KSrg== X-Gm-Gg: ASbGncvkhfQDsVHSbypFhKxLRkrZcLqYiqZ7RcwU1Fxm0KvIkrxMOKfoVPDwVNkXwuS 6skpLM4sZToM+yD4ySDMX096LwXxmm0YziM00Ovwq2kM32FjQ981jjRdd3De8YjdpbAqHR1CRht Q5flUTG79jdhYTcX0IojjC5lJVUiltNRxP5mxEeOhb9iX7Qcr4D7Ph1k4BhX8GXj5VSW9l3eX0T wJ0e7L/iCQm/FttAP2hf9STA6hbN7ZsizF2a1EuffifzWxH4zqHEGZyuUYZ0yeaqy6WeViBg6ra CctGJRA3uTX+hYe5+5nqdQcj3JGxUgXpcT6bqPJIbTXaTzjgUoy8edkhLDa1WKY1RQdjO60= X-Google-Smtp-Source: AGHT+IHEoQ3VBnGpUAKadTkkygNlVfx/f5KZwlHVuHvFboG/MKYSU/fiu0UHxdI8WmXTbNEBc9ufgw== X-Received: by 2002:a05:6512:b12:b0:553:50f6:ebcd with SMTP id 2adb3069b0e04-5562ee80659mr1189950e87.10.1751555620488; Thu, 03 Jul 2025 08:13:40 -0700 (PDT) Received: from localhost.localdomain ([212.192.12.80]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384ae15esm725e87.178.2025.07.03.08.13.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 08:13:40 -0700 (PDT) From: iuncuim To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Vasily Khoruzhick , Yangtao Li , "Rafael J . Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Philipp Zabel , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 5/8] thermal/drivers/sun8i: get calibration data from two nvmem cells Date: Thu, 3 Jul 2025 23:11:29 +0800 Message-ID: <20250703151132.2642378-6-iuncuim@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703151132.2642378-1-iuncuim@gmail.com> References: <20250703151132.2642378-1-iuncuim@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikhail Kalashnikov The A523 processor has calibration data in two nvmem cell. To be able to add support, the ability to add data from two cells into one array must be adde= d. Signed-off-by: Mikhail Kalashnikov --- drivers/thermal/sun8i_thermal.c | 77 ++++++++++++++++++++++----------- 1 file changed, 52 insertions(+), 25 deletions(-) diff --git a/drivers/thermal/sun8i_thermal.c b/drivers/thermal/sun8i_therma= l.c index bdd15ee45..3f57f1a6b 100644 --- a/drivers/thermal/sun8i_thermal.c +++ b/drivers/thermal/sun8i_thermal.c @@ -303,43 +303,70 @@ static int sun50i_h6_ths_calibrate(struct ths_device = *tmdev, =20 static int sun8i_ths_calibrate(struct ths_device *tmdev) { - struct nvmem_cell *calcell; + struct nvmem_cell *calcell =3D NULL; struct device *dev =3D tmdev->dev; - u16 *caldata; - size_t callen; + struct device_node *np =3D dev_of_node(dev); + struct property *prop; + const char *cellname; + u8 *caldata =3D NULL; + size_t callen =3D 0; int ret =3D 0; =20 - calcell =3D nvmem_cell_get(dev, "calibration"); - if (IS_ERR(calcell)) { - if (PTR_ERR(calcell) =3D=3D -EPROBE_DEFER) - return -EPROBE_DEFER; - /* - * Even if the external calibration data stored in sid is - * not accessible, the THS hardware can still work, although - * the data won't be so accurate. - * - * The default value of calibration register is 0x800 for - * every sensor, and the calibration value is usually 0x7xx - * or 0x8xx, so they won't be away from the default value - * for a lot. - * - * So here we do not return error if the calibration data is - * not available, except the probe needs deferring. - */ - goto out; + of_property_for_each_string(np, "nvmem-cell-names", prop, cellname) { + size_t len; + u8 *caldatapart; + + calcell =3D of_nvmem_cell_get(np, cellname); + if (IS_ERR(calcell)) { + if (PTR_ERR(calcell) =3D=3D -EPROBE_DEFER) + return -EPROBE_DEFER; + /* + * Even if the external calibration data stored in sid is + * not accessible, the THS hardware can still work, although + * the data won't be so accurate. + * + * The default value of calibration register is 0x800 for + * every sensor, and the calibration value is usually 0x7xx + * or 0x8xx, so they won't be away from the default value + * for a lot. + * + * So here we do not return error if the calibration data is + * not available, except the probe needs deferring. + */ + goto out; + } + + caldatapart =3D nvmem_cell_read(calcell, &len); + nvmem_cell_put(calcell); + calcell =3D NULL; + if (IS_ERR(caldatapart)) { + ret =3D PTR_ERR(caldatapart); + goto out; + } + + caldata =3D devm_krealloc(dev, caldata, callen + len, GFP_KERNEL); + if (!caldata) { + kfree(caldatapart); + ret =3D -ENOMEM; + goto out; + } + + memcpy(caldata + callen, caldatapart, len); + callen +=3D len; + kfree(caldatapart); } =20 - caldata =3D nvmem_cell_read(calcell, &callen); if (IS_ERR(caldata)) { ret =3D PTR_ERR(caldata); goto out; } =20 - tmdev->chip->calibrate(tmdev, caldata, callen); + tmdev->chip->calibrate(tmdev, (u16 *)caldata, callen); =20 - kfree(caldata); + devm_kfree(dev, caldata); + caldata =3D NULL; out: - if (!IS_ERR(calcell)) + if (calcell && !IS_ERR(calcell)) nvmem_cell_put(calcell); return ret; } --=20 2.49.0 From nobody Wed Oct 8 00:41:59 2025 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CC752EFDA3; Thu, 3 Jul 2025 15:14:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555644; cv=none; b=RkKPlVCgKY/cHcy1sNGdS2nYgU2e0dPcK4MB/9A0I0ZHvjsQCFEq8IcOlLl1hQ2/hqhFMgtVbElc3dn2OuDDFCAhNOGM+Z9srv/aSZtKI8OV1hSv9KG4xEhICZx5lUppuCeo8IZBhsWFZZtJ/EiKfCgzSJOJOngIyClIZ4qnNoc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555644; c=relaxed/simple; bh=5b9EzTEtnqxG3zyJ2mhCWKwRdvtXM9RiPjt9M5kWljI=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=m91P6MV+Z9KRXomeBz8SbDGN2SSF5JrA9YlmX68mT/43rKMfNZyQ3Gd15NI3MC4YR4aDJD3oBqsJjV8lDe0UljQVG8PR1XSbNQkx0ZSmdbrujxt1oGUjJkJ3FQvv9YvjkHTZFBWBYf2wv4ZhgkNFITOE7Wpt3E1nwEs+z+1VTEI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BElrrD9o; arc=none smtp.client-ip=209.85.167.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BElrrD9o" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-553d52cb80dso9869e87.1; Thu, 03 Jul 2025 08:14:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751555641; x=1752160441; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=SzrIZq9ulkC0ADR63r+dKaWImMkpZ9yFN9tlRgNv5jc=; b=BElrrD9oGu5ti7oPMkT9+3JKo55WYA9QhsCqv32dewuOM9cKtTp1jNl7PILUB4xtnW fin5Sl1dK/NkbYTTUL+UtBm6AuE5Doydk6Bw+oBuim9nWRmQk+9Z/BxPuw4RLm2GRbZt w+TEfls8hW47SRPoRPxrZjj1qX5N6KmCiIRz5PTs3rmNGGgb/eofAFWCKIehbjB+JeWl 5NXYQQKfEZ96DT5Rr56Y3M5DdYO+85W9GUy0DuDzKy/hz513Vszte3lozfIOtZMQCowZ fsxjBY6C3n9ryZSpPKc8F7o6spE5pZRoYNdKHBhJnadoXA5kcUCTSeOWdHF/6PSf4u/p TOWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751555641; x=1752160441; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SzrIZq9ulkC0ADR63r+dKaWImMkpZ9yFN9tlRgNv5jc=; b=N/sY4iiciHMSXH/V3PkczatcrUB6CIYjr90XAq8oQ8gQEZvHwqcnSfMseYjHplYt8M vOaiA6heYAQ/bXryXs+skK+2MCXMcQ6bP5jvaz8pP4aEmDaiNMYIa211w3DJCuknguaC H5fHlo28ZDCCxGpOyDzQSqdE85pL6EeKw8hI8nMigFu+ehGiZJKnF0hZVua74Q5bE2ot nEo8G/5fmJTeDvaOWsjlNs/xji5FEkD08Zcvsc2sRaR+mjgimhEIzMLnr4Nri3Lq8pe8 oADZFYjaeTPshLPNk5wK6ePxrshoIi74cNp6idG81tQS1jULKw6DaZaa+7EDD7qJ2QRd 3RNA== X-Forwarded-Encrypted: i=1; AJvYcCURSAkDQSTZnIPkPfaxdvR/QH0brcKEDBGmwHb9qFAmwjqov31wW1idBlTC7ykJkix53B5xsWBpafY=@vger.kernel.org, AJvYcCVCawbPYUqmEK/GaNqIeNzHcAlczV2gUut7KU7SwjsFg5Aj06JfY1IT0MU3dAZZJGbCt7cox2rjXhkG@vger.kernel.org, AJvYcCXOL5rr0E3YhyGJmqGu88qs9n5dCePA+Nu64UDuclnCh8JjhgrE1DjbPki8ZjzAFkkA2MPnUzESTuyoPIFj@vger.kernel.org X-Gm-Message-State: AOJu0YxVL8E7oKm6ZqID00wj9Nxls/awuGft6rMRulZrp/UEskm9di+l DITxf1lX6vszLlrieApWg6GR9jGQ6drCnw3Gq5TQkeLa/Jk3GBI7tPLK X-Gm-Gg: ASbGncv+7EFD8h9YNhZUn/IQpRk8l4ZX6wmKNlAbHMxVfANoN3cLWhJx5U4A5ONTcaD 5/E0S3gA+JSqgXhh9/2+FnWXDY8LRhizOOCve9qb5nCdglo2KAN889vhCvTQLqT+6bp0TfJzJER G5NyO7tcsNh0qus0f5AC4X+k/knzX50/ncsnbYLXkmt4iVCKLXfUE6bka6AivtQZhrzLWoU/CrJ kiZTbEkGiZ1mo8nFKq1LFJwcMaBP+4RHdEUwyZftqflfW7Y7NUiql4I3iBbs8GEeyqN8opHXOgz FZbBVCyMdFqqc1Z+vGclhvxwERoYaFq+a+BvpXOBqeqOtI48CHd4ScGmJ3N4Nsu2q/hjyNs= X-Google-Smtp-Source: AGHT+IHLx4cJ1pCPpbEYiPFDHK/s7WIaGyS++HerrZI7idR6Ob/Bi4FeEXFiCbE8a72uPeW7XdDjnw== X-Received: by 2002:a05:6512:2351:b0:550:e50a:bf49 with SMTP id 2adb3069b0e04-55630a3ebbemr1212754e87.19.1751555640484; Thu, 03 Jul 2025 08:14:00 -0700 (PDT) Received: from localhost.localdomain ([212.192.12.80]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384ae15esm725e87.178.2025.07.03.08.13.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 08:14:00 -0700 (PDT) From: iuncuim To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Vasily Khoruzhick , Yangtao Li , "Rafael J . Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Philipp Zabel , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 6/8] thermal/drivers/sun8i: Add support for A523 THS0/1 controllers Date: Thu, 3 Jul 2025 23:11:30 +0800 Message-ID: <20250703151132.2642378-7-iuncuim@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703151132.2642378-1-iuncuim@gmail.com> References: <20250703151132.2642378-1-iuncuim@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikhail Kalashnikov The A523 processor has two temperature controllers, THS0 and THS1. THS0 has only one temperature sensor, which is located in the DRAM. THS1 does have 3 sensors: ths1_0 - "big" cores ths1_1 - "little" cores ths1_2 - gpu The datasheet mentions a fourth sensor in the NPU, but lacks any registers for operation other than calibration registers. The vendor code reads the=20 value from ths1_2, but uses separate calibration data, so we get two differ= ent values from real one. Signed-off-by: Mikhail Kalashnikov --- drivers/thermal/sun8i_thermal.c | 133 ++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/drivers/thermal/sun8i_thermal.c b/drivers/thermal/sun8i_therma= l.c index 3f57f1a6b..f74567cbf 100644 --- a/drivers/thermal/sun8i_thermal.c +++ b/drivers/thermal/sun8i_thermal.c @@ -59,6 +59,12 @@ #define SUN50I_H6_THS_PC_TEMP_PERIOD(x) ((GENMASK(19, 0) & (x)) << 12) #define SUN50I_H6_THS_DATA_IRQ_STS(x) BIT(x) =20 +#define SUN55I_A523_DELIMITER 0x7c8 +#define SUN55I_A523_OFFSET_ABOVE 2736 +#define SUN55I_A523_OFFSET_BELOW 2825 +#define SUN55I_A523_SCALE_ABOVE 74 +#define SUN55I_A523_SCALE_BELOW 65 + struct tsensor { struct ths_device *tmdev; struct thermal_zone_device *tzd; @@ -116,6 +122,15 @@ static int sun50i_h5_calc_temp(struct ths_device *tmde= v, return -1590 * reg / 10 + 276000; } =20 +static int sun55i_a523_calc_temp(struct ths_device *tmdev, + int id, int reg) +{ + if (reg >=3D SUN55I_A523_DELIMITER) + return SUN55I_A523_SCALE_ABOVE * (SUN55I_A523_OFFSET_ABOVE - reg); + else + return SUN55I_A523_SCALE_BELOW * (SUN55I_A523_OFFSET_BELOW - reg); +} + static int sun8i_ths_get_temp(struct thermal_zone_device *tz, int *temp) { struct tsensor *s =3D thermal_zone_device_priv(tz); @@ -301,6 +316,97 @@ static int sun50i_h6_ths_calibrate(struct ths_device *= tmdev, return 0; } =20 +/* + * The A523 nvmem calibration values. The ths1_3 is not used as it + * doesn't have its own sensor and doesn't have any internal switch. + * Instead, the value from the ths1_2 sensor is used, which gives the + * illusion of an independent sensor for NPU and GPU when using + * different calibration values. + * + * efuse layout 0x38-0x3F (caldata[0..3]): + * caldata[0] caldata[1] caldata[2] caldata[3] + * 0 16 24 32 36 48 60 64 + * +---------------+---------------+---------------+---------------+ + * | | | temp | ths1_0 | ths1_1 | + + * +---------------+---------------+---------------+---------------+ + * + * efuse layout 0x44-0x4B (caldata[4..7]): + * caldata[4] caldata[5] caldata[6] caldata[7] + * 0 12 16 24 32 36 48 64 + * +---------------+---------------+---------------+---------------+ + * | ths1_2 | ths1_3 | ths0 | | + + * +---------------+---------------+---------------+---------------+ + */ +static int sun55i_a523_ths_calibrate(struct ths_device *tmdev, + u16 *caldata, int callen) +{ + struct device *dev =3D tmdev->dev; + int i, ft_temp; + + if (!caldata[0]) + return -EINVAL; + + ft_temp =3D (((caldata[2] << 8) | (caldata[1] >> 8)) & FT_TEMP_MASK) * 10= 0; + + for (i =3D 0; i < tmdev->chip->sensor_num; i++) { + int sensor_reg, sensor_temp, cdata, offset; + /* + * Chips ths0 and ths1 have common parameters for value + * calibration. To separate them we can use the number of + * temperature sensors on each chip. + * For ths0 this value is 1. + */ + if (tmdev->chip->sensor_num =3D=3D 1) { + sensor_reg =3D ((caldata[5] >> 8) | (caldata[6] << 8)) & TEMP_CALIB_MAS= K; + } else { + switch (i) { + case 0: + sensor_reg =3D (caldata[2] >> 4) & TEMP_CALIB_MASK; + break; + case 1: + sensor_reg =3D caldata[3] & TEMP_CALIB_MASK; + break; + case 2: + sensor_reg =3D caldata[4] & TEMP_CALIB_MASK; + break; + default: + sensor_reg =3D 0; + break; + } + } + + sensor_temp =3D tmdev->chip->calc_temp(tmdev, i, sensor_reg); + + /* + * Calibration data is CALIBRATE_DEFAULT - (calculated + * temperature from sensor reading at factory temperature + * minus actual factory temperature) * X (scale from + * temperature to register values) + */ + cdata =3D CALIBRATE_DEFAULT - + ((sensor_temp - ft_temp) / SUN55I_A523_SCALE_ABOVE); + + if (cdata & ~TEMP_CALIB_MASK) { + /* + * Calibration value more than 12-bit, but calibration + * register is 12-bit. In this case, ths hardware can + * still work without calibration, although the data + * won't be so accurate. + */ + dev_warn(dev, "sensor%d is not calibrated.\n", i); + continue; + } + + offset =3D (i % 2) * 16; + regmap_update_bits(tmdev->regmap, + SUN50I_H6_THS_TEMP_CALIB + (i / 2 * 4), + TEMP_CALIB_MASK << offset, + cdata << offset); + } + + return 0; +} + static int sun8i_ths_calibrate(struct ths_device *tmdev) { struct nvmem_cell *calcell =3D NULL; @@ -730,6 +836,31 @@ static const struct ths_thermal_chip sun50i_h616_ths = =3D { .calc_temp =3D sun8i_ths_calc_temp, }; =20 +/* The A523 has a shared reset line for both chips */ +static const struct ths_thermal_chip sun55i_a523_ths0 =3D { + .sensor_num =3D 1, + .has_bus_clk_reset =3D true, + .has_gpadc_clk =3D true, + .ft_deviation =3D 5000, + .temp_data_base =3D SUN50I_H6_THS_TEMP_DATA, + .calibrate =3D sun55i_a523_ths_calibrate, + .init =3D sun50i_h6_thermal_init, + .irq_ack =3D sun50i_h6_irq_ack, + .calc_temp =3D sun55i_a523_calc_temp, +}; + +static const struct ths_thermal_chip sun55i_a523_ths1 =3D { + .sensor_num =3D 3, + .has_bus_clk_reset =3D true, + .has_gpadc_clk =3D true, + .ft_deviation =3D 5000, + .temp_data_base =3D SUN50I_H6_THS_TEMP_DATA, + .calibrate =3D sun55i_a523_ths_calibrate, + .init =3D sun50i_h6_thermal_init, + .irq_ack =3D sun50i_h6_irq_ack, + .calc_temp =3D sun55i_a523_calc_temp, +}; + static const struct of_device_id of_ths_match[] =3D { { .compatible =3D "allwinner,sun8i-a83t-ths", .data =3D &sun8i_a83t_ths }, { .compatible =3D "allwinner,sun8i-h3-ths", .data =3D &sun8i_h3_ths }, @@ -740,6 +871,8 @@ static const struct of_device_id of_ths_match[] =3D { { .compatible =3D "allwinner,sun50i-h6-ths", .data =3D &sun50i_h6_ths }, { .compatible =3D "allwinner,sun20i-d1-ths", .data =3D &sun20i_d1_ths }, { .compatible =3D "allwinner,sun50i-h616-ths", .data =3D &sun50i_h616_ths= }, + { .compatible =3D "allwinner,sun55i-a523-ths0", .data =3D &sun55i_a523_th= s0 }, + { .compatible =3D "allwinner,sun55i-a523-ths1", .data =3D &sun55i_a523_th= s1 }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, of_ths_match); --=20 2.49.0 From nobody Wed Oct 8 00:41:59 2025 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CF182D9482; Thu, 3 Jul 2025 15:14:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555663; cv=none; b=W4epIoIMU3yDykbnGgf73g2RgHoFdcLCKGDCUg1FiqL7Q3eU/SuRGKh/kLuq5MAouLA8CqyEzYiHqBsO22fg/1jJzPDUC6xPqIj6f1IueOUXIxjVEmcKVTh09NZwx+TfapguAgDGW5BcBy+3K7i8IGOTd7tvya2FnYjmLjHGOgU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555663; c=relaxed/simple; bh=nuet3Y2Mut6w4Wyqoah1ZW4X/47vl0+/djn5JivXjco=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HYqxAkMkpn272ZoE9eGmXdWMNrEOkCeK3cYkM8vYwMrHqVJ29ZMa8Hk7jf5MLEsGKn/7x1q8QTOR+EdkjmkZU73hd8GDRA4uDCP9NCSIu3qm0upToZTzskivx5ELVbYbdVwm5NJX/9ct7klaTvD+WhtpNBY+9YGjos0rakoODTg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Beb2LNUr; arc=none smtp.client-ip=209.85.167.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Beb2LNUr" Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-553d2eb03a0so1235883e87.1; Thu, 03 Jul 2025 08:14:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751555660; x=1752160460; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Yu4RZiro9Bw5AAl6vcrDQRHkTa7Z3Wce+i+f0KjYjtw=; b=Beb2LNUrSztLNTK1zxKwtv/bwe930eegQC1IpI7Chr2kV+t2lZZ2y1B5wyJviXbhY/ wskJyVwGApgqKU8CCf/8MY0kyJbL3U4DW/Ct5+8omUx3+WgW3cwkao7KEScMZLh6Ycxc GJTodIfX/6vpsMOgEGeS4N+eFcwcRctG0RIIpS9HGLCBDdmMyVIMXCiiMTtACwEDGySM 1ZYhcql6EmDFRpgjIbMqol8PFQRQ95+4mLvyjbqncinYthpnR7k7iALizmcgJjm7eNfi eLmGf62vM+PsBvNswXcKTSFZ+It8UkwhbXdTxMMijq1qlV03EsFmpl1+ZokcoVYUe9/B C/Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751555660; x=1752160460; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Yu4RZiro9Bw5AAl6vcrDQRHkTa7Z3Wce+i+f0KjYjtw=; b=YFYee8x717Lr9vAsWnPd9FNsG/w0EQt10v3EfN3ZCq9BsH1oehUC0xwSvdVHnQcP/T KrKOKz/TKusB/nDE1VHvRJy3gmbaYTzFJgbqHOz6/KPzJO/oK9Z3Gp0T9LUKjw60JeM/ PwaTcOrkHvU7N9k+tzukgZV4PtKSkh64V0/vf5i56qP+jCk4/SCiAo5d4PJ56rvmzRbO RYZpjSa2RyIu+aPnpGocuUxGeGorKV4+mIFuoIa5IEzD4ebgTub05FdzMjJ1PjSJKb1p ycGZpXvgFvkMvff04fHFY7JIfliEs8oYhfG1x/fOO91UZJn9QoSc0RLH4ViO35ysyW4F gqBw== X-Forwarded-Encrypted: i=1; AJvYcCUcxN1waMCmOT4Qq7DKShA9YnhH3s6zafHtI8cIcVSx7fxFAvAUG+XEcf+E0UpHpBfgm07zA0cagJI=@vger.kernel.org, AJvYcCVmObyhKQZgk1CHILDR9j6UWHRl49617DfRrnzq1hKrBlRxs5Gg6Flqtfhx5pcwfbjx5egvivc2K0Za7g0D@vger.kernel.org, AJvYcCWGnI42y9Vyjebxj5PcE7V/pMXyvNJzBntzJTzpjbvom8LaD979Rp2Vu1xNZDCxz6gf5ir5anHKCs49@vger.kernel.org X-Gm-Message-State: AOJu0Yzl95I2+aymG4YJvTRS6c7UIxzWGhlvjPo9zmzaIkoy8idvTjZ+ 6ydU82tBhGCoDGLzb75dkeTwhu4sCgXSyzz/3jvNAUvXh7l8GS4NhtjY X-Gm-Gg: ASbGncsBl5IvEo1OC8rp2rLu9gl4G1xz4pz2EEZty38lgcnAEwgDQNEelShesyLdSQ5 VuFG29AS7/GGNmkLUpOYcsyrEYzuPnPm4OnvPFnuBVZj9YZJTgYqw0VC9uE6Ri4YHYSaLIfHgOS CpBCR9TNZALiqN1dv9XRaxFCGrRYV5Br0vtnSwAJh4ESz52xJShnoo9H1pUAp8yEzyTokhq67aB 40Iwcdp67JRk8/i/7qoRxzais3/3b+JPiakKDgt0XVwu1WHhswPlvcV+xxIMU52XPYR7kE6fuly GaEMHZDRiZWfN72DSEMgnHx4+sa4HplijNIVzgWbtWGoaT15WJc5GjPbBjjn08CiHNfChJ8lL+5 84qHGKw== X-Google-Smtp-Source: AGHT+IHN05FoLHrAAAw9abh/cl/blTZb9HkyB7tIwYOujTKMU0qiobVnp7H6qLANj1z3QSOpo0rtXg== X-Received: by 2002:ac2:4e08:0:b0:549:8c0c:ea15 with SMTP id 2adb3069b0e04-5563013d4cbmr1247150e87.0.1751555659497; Thu, 03 Jul 2025 08:14:19 -0700 (PDT) Received: from localhost.localdomain ([212.192.12.80]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384ae15esm725e87.178.2025.07.03.08.14.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 08:14:19 -0700 (PDT) From: iuncuim To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Vasily Khoruzhick , Yangtao Li , "Rafael J . Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Philipp Zabel , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 7/8] arm64: dts: allwinner: A523: Add SID controller node Date: Thu, 3 Jul 2025 23:11:31 +0800 Message-ID: <20250703151132.2642378-8-iuncuim@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703151132.2642378-1-iuncuim@gmail.com> References: <20250703151132.2642378-1-iuncuim@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikhail Kalashnikov The SID controller should be compatible with A64 and others SoC with 0x200 offset. Signed-off-by: Mikhail Kalashnikov Reviewed-by: Chen-Yu Tsai --- arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi b/arch/arm64/bo= ot/dts/allwinner/sun55i-a523.dtsi index 8b7cbc2e7..295292d67 100644 --- a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi @@ -181,6 +181,14 @@ ccu: clock-controller@2001000 { #reset-cells =3D <1>; }; =20 + sid: efuse@3006000 { + compatible =3D "allwinner,sun55i-a523-sid", + "allwinner,sun50i-a64-sid"; + reg =3D <0x03006000 0x1000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + }; + mmc0: mmc@4020000 { compatible =3D "allwinner,sun55i-a523-mmc", "allwinner,sun20i-d1-mmc"; --=20 2.49.0 From nobody Wed Oct 8 00:41:59 2025 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4CE0F2F0C40; Thu, 3 Jul 2025 15:14:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555683; cv=none; b=Wy6w+87/J6h1dNL1y87M/opIZtXRylg5QmIK0qQ1HlH/5HFDNLEILWDGSHNNMlU8avYs9coaUStXIaOXbfoPso3FvMFBCeDuQ/JvhfP8lJtxsbowQMrKqmN9RTfG64/C9MS88glGj1vMzD9VSAuCCoi+1i2hkuKQgP5aiDg2k5E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751555683; c=relaxed/simple; bh=fhcxMBCx5MTr6SihPiwsz61YzqiTUdchgCWmq3QXsfM=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rb7lA/pNqfhUZkYCIPQ4/DuI/aVoN1EtaA9LWxKwmtyvPN61u+kxAa26KBU+vXtPJdfw9ckiHopB6v1kOCSr43xLvpHsA+ohk1aY1yKLb/141IIIDH9k9UERd6Lwi4w5BeMJWrwSK9Ldc8EavYCOPyUSCkiakb2jZY3kpUMbZjA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jIetxW8L; arc=none smtp.client-ip=209.85.167.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jIetxW8L" Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-5550dca1241so43857e87.0; Thu, 03 Jul 2025 08:14:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751555679; x=1752160479; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Etd5OO5QwEViSvNlV1qDwHk/jnF5rm8WMn4WLxwMFUs=; b=jIetxW8LmfdYFwMbzcHnbiSxUb3ejASN5rRJHmKo7e4iZEAhAKvmFCgeEpZ+8ULsn/ X271r7mdml22BOMjO3C11+J8hzATeEAk0QHFN8k/G18XTqJyoyWHW5OOtjGEJtdVxVOx OLboHxrXp8ernsBPvneeVL1++AF1Ox06vHN4KmTa6Z/r0umS1zHRYfyq6r6CPIbs3wOi 3gDJ4hqBiOTFa4qQ5H4f6fzGkfL2EGs6ZygjUOeN/NDIrBHaKLO93lrOaVCLrEaF8mxw O/eaijMvSoP1/DbFZAg575MRvzW6By9GC6cOZ3il9JgjpeVBw8cN9kfTQcO/MkHi5+D6 sZ7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751555679; x=1752160479; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Etd5OO5QwEViSvNlV1qDwHk/jnF5rm8WMn4WLxwMFUs=; b=TzssYlYEG7hAYs5MaLQcLBnueli9zYbZiiDhnvLnVwKE4KcFDmZf2AlPFZFL2kTRPY dbwnNepSVtlST9yhZsXMi1+ylvRGWzxhKAucNM1Sn3h7+D5IdADIlSzz1RSMBXYi/0vw p0AmFCM5jjcsgEukSTfE7wEFLDgIy5Xp86DAMIltGPa5Lp99w0Gy/aHY4+0kDL2yczFL w+3iGq8P1/kbMXwHJCE7Wkftb4ilyzOqkRxASv6UAcmqBIyJLyVGnzbLUUjI4LI+j1Jn BGwYziexg//cpL8lc1gf565DJdGmVl3KdFgxpJT20V6aHm3MrqOBISRghlI0sdms3m4f 0a9Q== X-Forwarded-Encrypted: i=1; AJvYcCUIVopV/HkFM6XhDWnPZ+7s8Ec7u9zm+eyRu03WOldEELj9nrvuXuUmycgpfE5D3sgZuWaxSNK6CxHCwWgR@vger.kernel.org, AJvYcCUl87DrfHf+1HvyJ74dE6mJHLMkvrmAun44xeEkUij2wc3WE6CI/Ly7LzsuZtFddPL4ggCMLEbwDjA=@vger.kernel.org, AJvYcCUvVO9SzLJHrCVe/6pQzcfNUosoPZyXXfgJQAMl2ulbrpD/ZLeKMKqbT+FuIDStzOybCnuHaVtz+ddS@vger.kernel.org X-Gm-Message-State: AOJu0YyD+y/95uYjMlSDMVI35NeQKomMt9P1yYMH9hP6j5UUpXR7M+si uEmNkkwnfS1YB2JEYg57qZ6fstCgVzWDTn2QL0OvTqbXWBpcv3HqBV9u X-Gm-Gg: ASbGncuOZdAEcZWSzZIihJtuj0PZmtR985pcgjQ2fky7Wa1/jlNmCd9xZTls/097/yk 6HqstbkXn7tIWGKQk89cZmFE6/P7PSvBtvydKcePdZBa1Alw+3ksjKt7C8a1rsUOP1b5fNOHr3Y +dEWkR1Q1zM+VpzqhwG0hD1fvXRlIoH/ojiEA7ndN/9Bptmkt3/7/qvpbrtdPlNBjfRQgwzcMbx uIS3yPsRAH4viQ7HYtWPy7BeipllJwkbff727kxLhJS+54f+NRImfGM+BOuIliciUwtvnaAS3BD 3LcrI/OCp+7EW16hGu+iPfSwI1Zops/z2Gs44+kTC1uy4/6HubTkVgy6eKrGes22F8GA7Ak= X-Google-Smtp-Source: AGHT+IGqnSEbj2pT+ZjtFNv4wrIx8GjJh5Qeal1y0PD2vdZ9VqbHrLg+OvYQhguC06zFZbvQAjK7cw== X-Received: by 2002:a05:6512:1041:b0:553:35ca:5922 with SMTP id 2adb3069b0e04-5562ef79572mr1349079e87.56.1751555679179; Thu, 03 Jul 2025 08:14:39 -0700 (PDT) Received: from localhost.localdomain ([212.192.12.80]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384ae15esm725e87.178.2025.07.03.08.14.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 08:14:38 -0700 (PDT) From: iuncuim To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Vasily Khoruzhick , Yangtao Li , "Rafael J . Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Philipp Zabel , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v2 8/8] arm64: dts: allwinner: A523: Add thermal sensors and zones Date: Thu, 3 Jul 2025 23:11:32 +0800 Message-ID: <20250703151132.2642378-9-iuncuim@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250703151132.2642378-1-iuncuim@gmail.com> References: <20250703151132.2642378-1-iuncuim@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikhail Kalashnikov The A523 processor has two temperature controllers, THS0 and THS1. THS0 has only one temperature sensor, which is located in the DRAM. THS1 does have 3 sensors: ths1_0 - "big" cores ths1_1 - "little" cores ths1_2 - gpu Add the thermal sensor configuration and the thermal zones. Trips temperature, polling-delay and sustainable-power parameters are deriv= ed from the manufacturer's BSP. Signed-off-by: Mikhail Kalashnikov --- .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi b/arch/arm64/bo= ot/dts/allwinner/sun55i-a523.dtsi index 295292d67..a1304c55c 100644 --- a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi @@ -7,6 +7,7 @@ #include #include #include +#include =20 / { interrupt-parent =3D <&gic>; @@ -22,6 +23,7 @@ cpu0: cpu@0 { device_type =3D "cpu"; reg =3D <0x000>; enable-method =3D "psci"; + #cooling-cells =3D <2>; }; =20 cpu1: cpu@100 { @@ -29,6 +31,7 @@ cpu1: cpu@100 { device_type =3D "cpu"; reg =3D <0x100>; enable-method =3D "psci"; + #cooling-cells =3D <2>; }; =20 cpu2: cpu@200 { @@ -36,6 +39,7 @@ cpu2: cpu@200 { device_type =3D "cpu"; reg =3D <0x200>; enable-method =3D "psci"; + #cooling-cells =3D <2>; }; =20 cpu3: cpu@300 { @@ -43,6 +47,7 @@ cpu3: cpu@300 { device_type =3D "cpu"; reg =3D <0x300>; enable-method =3D "psci"; + #cooling-cells =3D <2>; }; =20 cpu4: cpu@400 { @@ -50,6 +55,7 @@ cpu4: cpu@400 { device_type =3D "cpu"; reg =3D <0x400>; enable-method =3D "psci"; + #cooling-cells =3D <2>; }; =20 cpu5: cpu@500 { @@ -57,6 +63,7 @@ cpu5: cpu@500 { device_type =3D "cpu"; reg =3D <0x500>; enable-method =3D "psci"; + #cooling-cells =3D <2>; }; =20 cpu6: cpu@600 { @@ -64,6 +71,7 @@ cpu6: cpu@600 { device_type =3D "cpu"; reg =3D <0x600>; enable-method =3D "psci"; + #cooling-cells =3D <2>; }; =20 cpu7: cpu@700 { @@ -71,6 +79,7 @@ cpu7: cpu@700 { device_type =3D "cpu"; reg =3D <0x700>; enable-method =3D "psci"; + #cooling-cells =3D <2>; }; }; =20 @@ -181,12 +190,46 @@ ccu: clock-controller@2001000 { #reset-cells =3D <1>; }; =20 + ths1: thermal-sensor@2009400 { + compatible =3D "allwinner,sun55i-a523-ths1"; + reg =3D <0x02009400 0x400>; + interrupts =3D ; + clocks =3D <&ccu CLK_BUS_THS>, <&ccu CLK_GPADC1>; + clock-names =3D "bus", "gpadc"; + resets =3D <&ccu RST_BUS_THS>; + nvmem-cells =3D <&ths_calibration0>, <&ths_calibration1>; + nvmem-cell-names =3D "calibration", + "calibration-second-part"; + #thermal-sensor-cells =3D <1>; + }; + + ths0: thermal-sensor@200a000 { + compatible =3D "allwinner,sun55i-a523-ths0"; + reg =3D <0x0200a000 0x400>; + interrupts =3D ; + clocks =3D <&ccu CLK_BUS_THS>, <&ccu CLK_GPADC0>; + clock-names =3D "bus", "gpadc"; + resets =3D <&ccu RST_BUS_THS>; + nvmem-cells =3D <&ths_calibration0>, <&ths_calibration1>; + nvmem-cell-names =3D "calibration", + "calibration-second-part"; + #thermal-sensor-cells =3D <0>; + }; + sid: efuse@3006000 { compatible =3D "allwinner,sun55i-a523-sid", "allwinner,sun50i-a64-sid"; reg =3D <0x03006000 0x1000>; #address-cells =3D <1>; #size-cells =3D <1>; + + ths_calibration0: ths-calibration0@38 { + reg =3D <0x38 0x8>; + }; + + ths_calibration1: ths-calibration1@44 { + reg =3D <0x44 0x8>; + }; }; =20 mmc0: mmc@4020000 { @@ -644,4 +687,115 @@ rtc: rtc@7090000 { #clock-cells =3D <1>; }; }; + + thermal-zones { + cpu0_thermal: cpu0-thermal { + polling-delay-passive =3D <100>; + polling-delay =3D <1000>; + thermal-sensors =3D <&ths1 1>; + sustainable-power =3D <1200>; + + trips { + cpu0_threshold: cpu-trip-0 { + temperature =3D <70000>; + type =3D "passive"; + hysteresis =3D <0>; + }; + cpu0_target: cpu-trip-1 { + temperature =3D <90000>; + type =3D "passive"; + hysteresis =3D <0>; + }; + cpu0_critical: cpu-trip-2 { + temperature =3D <110000>; + type =3D "critical"; + hysteresis =3D <0>; + }; + }; + + cooling-maps { + map0 { + trip =3D <&cpu0_target>; + cooling-device =3D <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; + + cpu4_thermal: cpu4-thermal { + polling-delay-passive =3D <100>; + polling-delay =3D <1000>; + thermal-sensors =3D <&ths1 0>; + sustainable-power =3D <1600>; + + trips { + cpu4_threshold: cpu-trip-0 { + temperature =3D <70000>; + type =3D "passive"; + hysteresis =3D <0>; + }; + cpu4_target: cpu-trip-1 { + temperature =3D <90000>; + type =3D "passive"; + hysteresis =3D <0>; + }; + cpu4_critical: cpu-trip-2 { + temperature =3D <110000>; + type =3D "critical"; + hysteresis =3D <0>; + }; + }; + + cooling-maps { + map0 { + trip =3D <&cpu4_target>; + cooling-device =3D <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; + + gpu-thermal { + polling-delay-passive =3D <100>; + polling-delay =3D <1000>; + thermal-sensors =3D <&ths1 2>; + sustainable-power =3D <2400>; + + gpu-trips { + gpu_temp_threshold: gpu-trip-0 { + temperature =3D <60000>; + type =3D "passive"; + hysteresis =3D <0>; + }; + gpu_temp_target: gpu-trip-1 { + temperature =3D <90000>; + type =3D "passive"; + hysteresis =3D <0>; + }; + gpu_temp_critical: gpu-trip-2 { + temperature =3D <110000>; + type =3D "critical"; + hysteresis =3D <0>; + }; + }; + }; + + ddr-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&ths0>; + + trips { + ddr_temp_critical: ddr-trip-0 { + temperature =3D <110000>; + type =3D "critical"; + hysteresis =3D <0>; + }; + }; + }; + }; }; --=20 2.49.0