From nobody Wed Oct 8 15:58:36 2025 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) (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 6CDF82E7F1A; Thu, 26 Jun 2025 14:04:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946697; cv=none; b=cVlW1dwoJ1QoekAgIjJBrsgCFVgzvEj+paVYhaGF1dZ27S5K3onGxxSd6mF7xHfgqR8FwcbRTi15w6fNRfSdZmypemTKwqRF5KvRM+5ZLV095pnwB1Q11x3KZGVVR8NXeKUX/B0TuOkt+erNEOAftw1iZfcko0yxq3F0/D+Kp78= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946697; c=relaxed/simple; bh=Xv1/jTGG/gJJ+hk3TVLJdp3KpK3nW14NGkQC7jd6LHM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PXtmsNOhNSfqI0iOUa6tE2llx+Zw55Ov4C+mIMTk46CcgxNxpDJCeWp0h39m+svXmxtsmuPSxOqbw8iDrATdllIwKbc/KjBYuuZD8+I02HVdQfgSkuyenfTV0gqjWnXFPnUDzjDs6uwsRhWia0I1Vu/GRAqrIuBGCNDUoBvvKpw= 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=ZnnyptqX; arc=none smtp.client-ip=209.85.208.42 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="ZnnyptqX" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-60bfcada295so1664624a12.1; Thu, 26 Jun 2025 07:04:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750946694; x=1751551494; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+obfMbUjPeqPgweHt8NQmSnWbRdROIck/DPZLknRG7g=; b=ZnnyptqXcoYLKNv84vOJ4y9XeszY0HwFDothDpZxgtxftrMx7t6kouGob73dsFB4iy WTpQOjFC2zy1pNa+NMVsNibY6ZdFfwE9gR8cJPjTLl+GIzlR0meZcoBhxHnOzee2gnax iIUSh0YrG8mO9ZyTroiflZCJAi4iBFDPkSqff+4PHosEokI5H7N6z3xHbhwqXDrFvRTl xLETl6LQimADOK/Nu6ZsIrlGdISEvyG0L05mhu7r9LzIBl2waQz0plcMSnHxVC1EuiOu CJPyRkJRKYpBS9r9SprMiPCgQjvircmKfTPxV6r7wlTjvzcplP0Znz1zDPn5GpFdYJik EkcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750946694; x=1751551494; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+obfMbUjPeqPgweHt8NQmSnWbRdROIck/DPZLknRG7g=; b=N6Fffy/Zae8cgrQtCXvivCq1LxwL+4nNUMOLWCT+OjyJ5AF7HgwkBiyFar0mCBfTbW bJ/ssU0zz9xC0yiFhZoNicztPrAkhaaVKWvdcYoyHSxSLrzmerdbkmUPH/x1HL2YGpFM b5McjABXsMdqtz40QTaJW+Fs3qF9mTZUoD5Cv8iBDCtv59lSMdGB4maM1GeIaOIXVoxj jylPKia8HsL02yqnrDeTULelkN9rUmSr/O71EkykJceS1w9Mxg1MWjf/Jq9NSoJD/0cn P5PM8O+/qRFBzGk74J9Egz3RrKnRLej5708AQ44sEZFRjPvWA6ov0w5JPwcADtpGNO5Z rkAA== X-Forwarded-Encrypted: i=1; AJvYcCWcARE9hnXACAaIuBb+82gadTrNpDPbB6ucDta2v4AHBLqZKi9bb5Bz0FLjv/d0YbRQH5k3CkdKDoC7q+0=@vger.kernel.org X-Gm-Message-State: AOJu0YwhEhl3SAHjJsfdKTJBLqz0MZZEcKHU9t7wgh3f9d5amakP3ZPc ngovg/k0IFrL0ZZvddYjXcWKjL/JQDYeVGRBeI0VVbRJ1JuD814OGtcb X-Gm-Gg: ASbGnctJXjdMQtgVQJz1ffAmvA1Vtu23HbKVRUI+Nmmd8d4KDTKv/yMD4tKmkf2qkbo Ca1cdylx1cOuG0mnfojoMNARaQI0Avd3zbnGnVyQRcZXUbFkXvWzLCyWizP5JqHpdyZ/RNUGreV QV235UmHQa+1gINxsqgNIAkvlsBXBS2ak62Bp6V/GSa85ZDLQsU9UU2nyby1LQtUN8HpRSHjeLo 6JNAcwtHfeZ5sUS/cmMRfoIfKZvNiRoFd8Ve51mtrYKP2qXvc/4GNGIN2P4pjhIlFbiMJPgCjl9 30kZVOI0Do56+ANt3QjbRz+9lb/39om7etgzzxrtWlSB42AO8s9Io1B3dAuchXxzxiMJi53aWOY rUDqGnhvbhDE= X-Google-Smtp-Source: AGHT+IEMa7N6/JICwBktUg284CtZPfAM6zetq6FSZBNGjtmxX0wPaJpuk1XXGA4WwOHUjAZ88L3sfQ== X-Received: by 2002:a17:906:d54c:b0:ae0:cc3d:7929 with SMTP id a640c23a62f3a-ae0cc3d9616mr532689466b.1.1750946693173; Thu, 26 Jun 2025 07:04:53 -0700 (PDT) Received: from localhost.localdomain ([176.227.88.86]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae2143d928dsm3958266b.107.2025.06.26.07.04.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Jun 2025 07:04:52 -0700 (PDT) From: muhammed.efecetin.67@gmail.com X-Google-Original-From: muhammed.efecetin67@gmail.com To: linux-rockchip@lists.infradead.org Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de, neil.armstrong@linaro.org, lee@kernel.org, rafael@kernel.org, efectn@protonmail.com, daniel.lezcano@linaro.org Subject: [PATCH 1/5] dt-bindings: mfd: khadas-mcu: add cooling-levels property Date: Thu, 26 Jun 2025 17:04:28 +0300 Message-ID: X-Mailer: git-send-email 2.49.0 In-Reply-To: References: 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: Muhammed Efe Cetin Add fan controlling step property which is used by Khadas Edge 2. Signed-off-by: Muhammed Efe Cetin --- Documentation/devicetree/bindings/mfd/khadas,mcu.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/mfd/khadas,mcu.yaml b/Docume= ntation/devicetree/bindings/mfd/khadas,mcu.yaml index 084960fd5..f69643aae 100644 --- a/Documentation/devicetree/bindings/mfd/khadas,mcu.yaml +++ b/Documentation/devicetree/bindings/mfd/khadas,mcu.yaml @@ -11,7 +11,7 @@ maintainers: =20 description: | Khadas embeds a microcontroller on their VIM and Edge boards adding some - system feature as PWM Fan control (for VIM2 rev14 or VIM3), User memory + system feature as PWM Fan control (for VIM2 rev14, VIM3, Edge2), User me= mory storage, IR/Key resume control, system power LED control and more. =20 properties: @@ -22,6 +22,13 @@ properties: "#cooling-cells": # Only needed for boards having FAN control feature const: 2 =20 + cooling-levels: + description: + Max speed of PWM fan, from 0 to 100. This property is necessary for = Khadas Edge 2. + $ref: /schemas/types.yaml#/definitions/uint32-array + items: + maximum: 100 + reg: maxItems: 1 =20 --=20 2.49.0 From nobody Wed Oct 8 15:58:36 2025 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.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 BB65C2E175E; Thu, 26 Jun 2025 14:04:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946699; cv=none; b=QQUo1OcUzdUn7P+lAK/FoEm+0jQy5kTwqs3vx2r+Gn72Xa+v/cKirimYAjxJf3GTe7R2C/ETthrNgRcDRzKduJsINW/dehKRzGnwBUyze7OTrg01C1HRwZSlOQqE8E4J99PgnQR9dm354RnhEUg0f4GiO53Qt9PxPgzq7tjcktw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946699; c=relaxed/simple; bh=yO6H0nVo0zd9GOef/qSf3xhJaxddSooUttJcz+zCMt0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q/wFX89dqazPhxUFPssdj5lk0MRqVLrp5/T52jQNtAmr4ke812XIobgZtPjgIvM4PV4j+fyIbAIxYcOvGLtVKgf0vNjlCO7GwXg4Z2hZIiqvNPTYYYdM4zMi0kWxH192W/A9zQs8oujDKjUbvIjOXW6yaaO8t4EVHHZF2nHUm7c= 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=SpXwVgF/; arc=none smtp.client-ip=209.85.218.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="SpXwVgF/" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ae0d7b32322so135163766b.2; Thu, 26 Jun 2025 07:04:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750946696; x=1751551496; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WNFuxJyu4lFW1KKh7ZXTdnCioa3olqumEo+f3P6R3ho=; b=SpXwVgF/grPisBWydvAlkpQQPXDUzqlOE5QKR6uKSSo3py319jMgABXks7ZBV0u0ia fnIloTo+t+UcUz9X2aC7Rhp2la9aevYFyORpjFbs73Bb0eLTaRAy/sXj9zYWwTaUjolM yo+UkkaILdEtrbves4i1ij+JQeG4f08M1XMwczs5in3Sy8sIgkiZxkDd/0R1XWnz2A+o EDDMDdz9LzXRpv2nhbgMr2rWhNUqVjpCoiaEM85HfVjQFMJgaVkbsXhsWs89SqKMLOvJ E8Uec0pFFTTFNAFVxWmAWWjfspH6T3JaVGiG7O3/NfiBa+SOTxX6c9XGy2WGOljjVrYD EVyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750946696; x=1751551496; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WNFuxJyu4lFW1KKh7ZXTdnCioa3olqumEo+f3P6R3ho=; b=s/K2UJgvrRJFGNNV//PLleBhYQNSwkd0g5yuxcCtXcMt6NaOh2S6iEKMAdLj679z1k t2LJCVSdm+bW1JkKAJ8KdUVogZYQvdS9xbUeua2JNZFHc/2XxNF+LXqIPOPZn44KBEuJ we/xUyLeXuGBBU0jJLIiEymaoegsVl7jwAfmbIxy/MMNwS5Ut+96nhHECPBWhM+VF5fM 8ni5QA2iQhFw5MXeZ6B9kkXvM34C7piKVOnvj4X3N6gqQ5qBYF56cJ37PbI8QABnKeYL +T/rYQpIoIO34ZMns52Or5s+a4kxe/P8NAnhXfKAMtoQl3cIPe2N8Z0ANPlKkryscAR4 Lkbg== X-Forwarded-Encrypted: i=1; AJvYcCVk3SRTzoXSrwD/qG9sqcWGuvSuXMHE9ajfK3v+c0TMqvyJgcHWkyvO4yA7ItPlosAqU+8RctWXHgMFvAw=@vger.kernel.org X-Gm-Message-State: AOJu0YwLHa3emul2n+sNPnrmp1u/cOFt3q44FxQPNoeA/esvxf1kERvo C+YOaDLNLztU85vuguQq4vX82RZUhDWchSsG5AE7wfqE6spvlhQwAS5x X-Gm-Gg: ASbGncsW9GhXCD5WvfL6x3ORZn4hhRtB7+kjDEgiS01FHYBACn49DR/72EUnWlsH4or KlBj6nwXt10eijPfsFb/2rR7kr/iZU+ycPoQZZwuP1LsFXlv+P1vQjzJZInk2TVhfPm8GiFK8SM cmc3+cbUPCFrhEMHd63wuM83fgwZj5cglblSjNFiqY2bxQlTTB6v5lCBA4EDIK5FHxUpo/8idRf JfdCbLtrGJlUp5IRs7INRiepigbR0SqehIWkgV0e4ZIIdptITJOoh+fNauanAsjeNABNA9wR2VS +PEQppaU8RPWKzYunqGrZV1YQ8pZea95aONden3Jm/ksMwEjgbNqj5h5xSd0Urd82mYLT90Swuf 4LCSudxZ1TbaELraf3kmurg== X-Google-Smtp-Source: AGHT+IFp6DyXdblOU/xvQb9UjfBpjvuHf4IC4x//qSo9Y5vJDwiBZNnXQsyJDow/QrDZH73Gl/yAUw== X-Received: by 2002:a17:906:f043:b0:ad5:55db:e40d with SMTP id a640c23a62f3a-ae0be9c2452mr641299166b.34.1750946695744; Thu, 26 Jun 2025 07:04:55 -0700 (PDT) Received: from localhost.localdomain ([176.227.88.86]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae2143d928dsm3958266b.107.2025.06.26.07.04.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Jun 2025 07:04:55 -0700 (PDT) From: muhammed.efecetin.67@gmail.com X-Google-Original-From: muhammed.efecetin67@gmail.com To: linux-rockchip@lists.infradead.org Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de, neil.armstrong@linaro.org, lee@kernel.org, rafael@kernel.org, efectn@protonmail.com, daniel.lezcano@linaro.org Subject: [PATCH 2/5] mfd: khadas-mcu: drop unused nvmem code Date: Thu, 26 Jun 2025 17:04:29 +0300 Message-ID: <1b421ddfd44d096cd3a979462ced002e2356eb21.1746518265.git.efectn@protonmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: References: 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: Muhammed Efe Cetin Drop "khadas-mcu-user-mem" code since it is not used anywhere. Signed-off-by: Muhammed Efe Cetin Reviewed-by: Neil Armstrong --- drivers/mfd/khadas-mcu.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/drivers/mfd/khadas-mcu.c b/drivers/mfd/khadas-mcu.c index ba981a788..ca4bd6cf5 100644 --- a/drivers/mfd/khadas-mcu.c +++ b/drivers/mfd/khadas-mcu.c @@ -80,10 +80,6 @@ static struct mfd_cell khadas_mcu_fan_cells[] =3D { { .name =3D "khadas-mcu-fan-ctrl", }, }; =20 -static struct mfd_cell khadas_mcu_cells[] =3D { - { .name =3D "khadas-mcu-user-mem", }, -}; - static int khadas_mcu_probe(struct i2c_client *client) { struct device *dev =3D &client->dev; @@ -105,13 +101,6 @@ static int khadas_mcu_probe(struct i2c_client *client) return ret; } =20 - ret =3D devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE, - khadas_mcu_cells, - ARRAY_SIZE(khadas_mcu_cells), - NULL, 0, NULL); - if (ret) - return ret; - if (of_property_present(dev->of_node, "#cooling-cells")) return devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE, khadas_mcu_fan_cells, --=20 2.49.0 From nobody Wed Oct 8 15:58:36 2025 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (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 8F7F52E7F1A; Thu, 26 Jun 2025 14:05:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946702; cv=none; b=TCjRxCZtnPuPw24XbKfNtfRIPcQsnMGhoA3wtfgYnMe2YWsIOwnCXUYZ03rsUKIwHFVoWnGPC6k2+D2oZR9hcu8Yond4fX81Ix+8MnilOfeZHxu5trw4RScQjDdASByGS6CamCCfnG5IIDpIJrDEQsfp24vDXqRpvMuHosZuNzw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946702; c=relaxed/simple; bh=DOHW80VmldO6UV+Thm2o7jsLJKf0oynugoEVz5ctmhE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=j5fCTE1gPziVxEwS9YImR2Zmesz1WF/pA+Q3BtvH9IRVeJ47EPI6/ejgG3LxOQgiyV98oEye8+PL1np5oKRuhAT/iekoCnrqDlDp8AeJiavV0AvTKVzEfAYg6H6SqN44TX3bvfhLxEFNKtSRszdmvaXHoAMhlCuAxpJdr3xJFxU= 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=f8S7flO1; arc=none smtp.client-ip=209.85.218.43 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="f8S7flO1" Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-ae0d11bb2a7so143504566b.3; Thu, 26 Jun 2025 07:05:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750946699; x=1751551499; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tWtWtBwjob36nAaKnSWI4pJUD13rGF2wqiMWwwOpQSE=; b=f8S7flO1PcBLohCdIHp2fwYZqiYwT9sj9rJU3OgKQYZaWzsujBC3X+SGUOIbBe0oRB aaKkXjQ4+W1z1R4uREBnvYGsKB1FpqyPnPXTwkj3C98J8hJu7l+K+wfae0cY1wuZdDMy xdVasyw8fK0iqu6XO2RSpZBRNV1TpuH9wZRFch/HVsGujkYsTOS4oTrlrk/K7sBWM1iq 8fLHw5tyUD5d/WzQPGldcokLYGzDUvXTNKXwOAuJzwrbag6rKt2yhQ5wmTNqiwz/n4Lx 2T3w6HauUicurZ06GiFukeQXJrNvO9hbP+I2s2b965U8LXEKR8iMMAj8iJOUAkvubbOq n5fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750946699; x=1751551499; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tWtWtBwjob36nAaKnSWI4pJUD13rGF2wqiMWwwOpQSE=; b=jtZGG51rTSxWB0b2h2Wd4afdvztHNCRzwO2uNQJOE9vaiIUU2SDqBzEKz3QeQgIBF9 m45jmZ6hboAoFIWo6IJG+jgPX/CZxqGMXj57UMb066l+8OLcbHlzoCUaW2tZosoIsXoW EiQm79C5olknJFUsZ94dO7PStBZo29PstOmfRuqbrOVOWdpToXFQactQn2Oyu8wyUL9r qSC8FFkNy2gprEl/wcu2G4PDLPsKIoQrKUb9toeXNz16Ze7wEZ8XvyyVmOcK3914eCEl LEnUYAUTyLXuvTlNuIzynDtg19Smxp5+G6eOikUSxApCdUqAu/kDOCx4uVCz7XIkfamt g64A== X-Forwarded-Encrypted: i=1; AJvYcCXjpK78BCNqK5RnEh3K3zdmS1+sU1Q7dp7CMegQBDd+vTHkhotol40V494yvWIwsAGBC/Dnvx+fbQnu23k=@vger.kernel.org X-Gm-Message-State: AOJu0YzY+hUBEWBMAmxehz7KXZnbJo8AOXnzChziPYTDJx+tgxbRgdu4 8NwAgzzrCFE1wIbprInNy4Fnj4hcPcBJ7u9/8gyTnMxBmrG73YS0SZM6P75FcgSrghgiDQ== X-Gm-Gg: ASbGncuV0I1cr7zhzlQN+G8i8swFozxrd0r8pz6zTNHWzPNLKs9y5OZ74NMCQiPGnkO F9vhDbWNgr6tdNizVLw6hKS980b14S4D0gJYk9f8G21eDlakwqvWte6NP4es+7swBo3IKxoHJAw G5j1vkbXZ33rqpfJMIqbLYX0xhgf3lMZpZ3t+WzXwKcbTkOsNEBAGhpNndYD8R4tJWExY7OMCri hqPiCFLMnLIozYULDsaUmNpwei4iMaE4vEHh7WVSxATX9uFW/5Fxq9fMi18qPyh+e0zWA5oxspC EOdXiJeIWawtFh0mUh5Mb5fc6Lnoe+SsrfO0PRha6JMyKJu6sEvc1yz8MwvCdk94hKtQRlRTw8R zrL4LuF0eaWKTpsjZKKRiRQ== X-Google-Smtp-Source: AGHT+IGRGxDi3nPzaP3+FSW4c8MyVlay1gtJ0zdopMKZ0v2+8WCKkner18HyfnUkf/LF+ysDQFdlmA== X-Received: by 2002:a17:906:4fc5:b0:ad8:85df:865b with SMTP id a640c23a62f3a-ae0bee4f81bmr699701566b.33.1750946698184; Thu, 26 Jun 2025 07:04:58 -0700 (PDT) Received: from localhost.localdomain ([176.227.88.86]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae2143d928dsm3958266b.107.2025.06.26.07.04.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Jun 2025 07:04:57 -0700 (PDT) From: muhammed.efecetin.67@gmail.com X-Google-Original-From: muhammed.efecetin67@gmail.com To: linux-rockchip@lists.infradead.org Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de, neil.armstrong@linaro.org, lee@kernel.org, rafael@kernel.org, efectn@protonmail.com, daniel.lezcano@linaro.org Subject: [PATCH 3/5] mfd: khadas-mcu: add Khadas Edge 2 registers Date: Thu, 26 Jun 2025 17:04:30 +0300 Message-ID: <16807e13e034f85adc91d131f6c5046ce7d98d9c.1746518265.git.efectn@protonmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: References: 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: Muhammed Efe Cetin Add Khadas Edge 2 MCU registers to khadas-mcu.h and adjust some properties. Also, i've added some registers with V2 suffix, as same addresses were already exist for previous boards. Signed-off-by: Muhammed Efe Cetin Reviewed-by: Neil Armstrong --- drivers/mfd/khadas-mcu.c | 8 ++++++-- include/linux/mfd/khadas-mcu.h | 25 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/drivers/mfd/khadas-mcu.c b/drivers/mfd/khadas-mcu.c index ca4bd6cf5..199ed4925 100644 --- a/drivers/mfd/khadas-mcu.c +++ b/drivers/mfd/khadas-mcu.c @@ -26,6 +26,10 @@ static bool khadas_mcu_reg_volatile(struct device *dev, = unsigned int reg) case KHADAS_MCU_CHECK_USER_PASSWD_REG: case KHADAS_MCU_WOL_INIT_START_REG: case KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG: + case KHADAS_MCU_LED_ON_RAM_REG: + case KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG_V2: + case KHADAS_MCU_WDT_EN_REG: + case KHADAS_MCU_SYS_RST_REG: return true; default: return false; @@ -69,14 +73,14 @@ static const struct regmap_config khadas_mcu_regmap_con= fig =3D { .reg_bits =3D 8, .reg_stride =3D 1, .val_bits =3D 8, - .max_register =3D KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG, + .max_register =3D KHADAS_MCU_SYS_RST_REG, .volatile_reg =3D khadas_mcu_reg_volatile, .writeable_reg =3D khadas_mcu_reg_writeable, .cache_type =3D REGCACHE_MAPLE, }; =20 static struct mfd_cell khadas_mcu_fan_cells[] =3D { - /* VIM1/2 Rev13+ and VIM3 only */ + /* VIM1/2 Rev13+, VIM3 and Edge2 only */ { .name =3D "khadas-mcu-fan-ctrl", }, }; =20 diff --git a/include/linux/mfd/khadas-mcu.h b/include/linux/mfd/khadas-mcu.h index a99ba2ed0..de570e159 100644 --- a/include/linux/mfd/khadas-mcu.h +++ b/include/linux/mfd/khadas-mcu.h @@ -35,26 +35,45 @@ #define KHADAS_MCU_FACTORY_TEST_REG 0x16 /* R */ #define KHADAS_MCU_BOOT_MODE_REG 0x20 /* RW */ #define KHADAS_MCU_BOOT_EN_WOL_REG 0x21 /* RW */ +#define KHADAS_MCU_BOOT_EN_DCIN_REG_V2 0x21 /* RW */ #define KHADAS_MCU_BOOT_EN_RTC_REG 0x22 /* RW */ #define KHADAS_MCU_BOOT_EN_EXP_REG 0x23 /* RW */ +#define KHADAS_MCU_LED_MODE_ON_REG_V2 0x23 /* RW */ +#define KHADAS_MCU_LED_MODE_OFF_REG_V2 0x24 /* RW */ #define KHADAS_MCU_BOOT_EN_IR_REG 0x24 /* RW */ #define KHADAS_MCU_BOOT_EN_DCIN_REG 0x25 /* RW */ +#define KHADAS_MCU_RGB_ON_R_REG 0x25 /* RW */ +#define KHADAS_MCU_RGB_ON_G_REG 0x26 /* RW */ #define KHADAS_MCU_BOOT_EN_KEY_REG 0x26 /* RW */ +#define KHADAS_MCU_RGB_ON_B_REG 0x27 /* RW */ #define KHADAS_MCU_KEY_MODE_REG 0x27 /* RW */ +#define KHADAS_MCU_RGB_OFF_R_REG 0x28 /* RW */ #define KHADAS_MCU_LED_MODE_ON_REG 0x28 /* RW */ +#define KHADAS_MCU_RGB_OFF_G_REG 0x29 /* RW */ #define KHADAS_MCU_LED_MODE_OFF_REG 0x29 /* RW */ +#define KHADAS_MCU_RGB_OFF_B_REG 0x2a /* RW */ +#define KHADAS_MCU_REST_CONF_REG 0x2c /* WO */ #define KHADAS_MCU_SHUTDOWN_NORMAL_REG 0x2c /* RW */ #define KHADAS_MCU_MAC_SWITCH_REG 0x2d /* RW */ #define KHADAS_MCU_MCU_SLEEP_MODE_REG 0x2e /* RW */ +#define KHADAS_MCU_BOOT_EN_IR_REG_V2 0x2f /* RW */ #define KHADAS_MCU_IR_CODE1_0_REG 0x2f /* RW */ #define KHADAS_MCU_IR_CODE1_1_REG 0x30 /* RW */ +#define KHADAS_MCU_IR1_CUST1_REG 0x30 /* RW */ #define KHADAS_MCU_IR_CODE1_2_REG 0x31 /* RW */ +#define KHADAS_MCU_IR1_CUST2_REG 0x31 /* RW */ #define KHADAS_MCU_IR_CODE1_3_REG 0x32 /* RW */ +#define KHADAS_MCU_IR1_ORDER1_REG 0x32 /* RW */ #define KHADAS_MCU_USB_PCIE_SWITCH_REG 0x33 /* RW */ +#define KHADAS_MCU_IR1_ORDER2_REG 0x33 /* RW */ +#define KHADAS_MCU_IR2_CUST1_REG 0x34 /* RW */ #define KHADAS_MCU_IR_CODE2_0_REG 0x34 /* RW */ #define KHADAS_MCU_IR_CODE2_1_REG 0x35 /* RW */ +#define KHADAS_MCU_IR2_CUST2_REG 0x35 /* RW */ #define KHADAS_MCU_IR_CODE2_2_REG 0x36 /* RW */ +#define KHADAS_MCU_IR2_ORDER1_REG 0x36 /* RW */ #define KHADAS_MCU_IR_CODE2_3_REG 0x37 /* RW */ +#define KHADAS_MCU_IR2_ORDER2_REG 0x36 /* RW */ #define KHADAS_MCU_PASSWD_USER_0_REG 0x40 /* RW */ #define KHADAS_MCU_PASSWD_USER_1_REG 0x41 /* RW */ #define KHADAS_MCU_PASSWD_USER_2_REG 0x42 /* RW */ @@ -69,6 +88,11 @@ #define KHADAS_MCU_SHUTDOWN_NORMAL_STATUS_REG 0x86 /* RO */ #define KHADAS_MCU_WOL_INIT_START_REG 0x87 /* WO */ #define KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG 0x88 /* WO */ +#define KHADAS_MCU_LED_ON_RAM_REG 0x89 /* WO */ +#define KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG_V2 0x8A /* WO */ +#define KHADAS_MCU_WDT_EN_REG 0x8B /* WO */ +#define KHADAS_MCU_SYS_RST_REG 0x91 /* WO */ + =20 enum { KHADAS_BOARD_VIM1 =3D 0x1, @@ -76,6 +100,7 @@ enum { KHADAS_BOARD_VIM3, KHADAS_BOARD_EDGE =3D 0x11, KHADAS_BOARD_EDGE_V, + KHADAS_BOARD_EDGE2, }; =20 /** --=20 2.49.0 From nobody Wed Oct 8 15:58:36 2025 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.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 51A172E92DD; Thu, 26 Jun 2025 14:05:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946705; cv=none; b=ECzpgDGKplB8fFY89BoTMd3zNvSCMJuSsep1Kyj6WZk/v2/9Je8quw+e819bqq4vDw3+d4yd6wbyzAE774FB9XZw4BpLAfo+3BFjG9/hMY4cpGdiNnacaxAv4X1n4KcdCRwFK8KIhIhond0eHHeuoFIGvoBd+1IWeo96cOi9hu4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946705; c=relaxed/simple; bh=r/bYQUwPKhlXrOwPUT8HwFDzwISFoCDFKs+oeDei2qE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WmXLcWRGrs599DgvJeTh1+WloP/YDbh6FjWAcTpJAYYSqyr2c9uk9qmshSNwVDLnZxurj4puw3q0NrfsHtIRz/fDtr6LnBryzOo4zUwGbzAZPEIUPsJBy4uGXIloULevS+ZEMS8i73ybGJk5VdvbNqqbw9BwKVxdX6KHekPt+hk= 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=V+a9YW4b; arc=none smtp.client-ip=209.85.218.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="V+a9YW4b" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ae0df6f5758so70638966b.0; Thu, 26 Jun 2025 07:05:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750946702; x=1751551502; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1B9UQTA0XO+RGIXXW8DAfCHZQQ8vv/QjGxfsmB/2GQk=; b=V+a9YW4bUODsprBmkb16Ww7gDQisPvmLYdwGy1XZ6Fm4+0qKrgDsvk4IFv7z94KuHK 5Oy1/o65vs7TX4ChZeeEzDq80hHlSh80ZLfYzewk4G+3zFK74ChlCt2ESVYOpLGiu5nd M2uS161CH79u6w4nUaZb42UaARvPjbVl/JxMEqrv3+87DedHoxubecdGg3vHTC3AYbzN y8RuwqboslCQKYAXhEUspTjUjBDZ1GtU/KMcxkGZCCjzy2/j8EZZmsX2EIOmMm8uIIxV ADvLZc7GFgBftZUKxnaJomnTt+8daifnEmAT4JbohZZP5rE43Amie/g+JGJ1pN3OqvS/ Hjmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750946702; x=1751551502; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1B9UQTA0XO+RGIXXW8DAfCHZQQ8vv/QjGxfsmB/2GQk=; b=H+UqjVaPu2Qn+TuwK36x6n7jsKSHJZzcE/yk99y7J+8FIlKW9I/C0f6C11F/QAMvJ3 PP0pGplrH/aQW0x7/FayBVX/rJqVX9/DJNfftcgJC21Z3jzj7NywuYgIw9GyJe0PMCp1 ehIFU9SD9YU2j7ZbVLaeBjICMXPZr/HVnIl7VJ8CYUSQMkfpT1SXRFBS9+CQPlUNNk0Q bfARFnV9gz18JAok+7E3e7hHTTWGWxj8nHn1Ph/mgX5MpX2oWyAWBpHxYQGTWSkpSInJ R1nhcHbWsmNye2N6tdOWwdIVHYmnRcJgNUSpzGKyD79bl7lfgXJtNGj9y2QW81lQwRNU DcxA== X-Forwarded-Encrypted: i=1; AJvYcCV0vPJ/5AFeb3CBBGguVXo1MiwhNd0rfVKuREh7LrByQ3nizCDYP9VN5kHt/7/uK8ngpVXJJgORE5u/7fE=@vger.kernel.org X-Gm-Message-State: AOJu0YwyQahY38ynftjpKka74AOD8Su+0y5+wwBqLr/eY6F0LIc+vLgg L9k/sI2Fej0RFJNMeOPyKjbhZZULnWqDuLsjSr7mKRlOCq6mCEPtnyk43bkrVRRCo+Je0g== X-Gm-Gg: ASbGnct0ngyDKYvqpD7xmdh7pvgjXraZS7icrozys/LkwryV8Tmol4g7qZS60gyEx/y yOnAQv1pFLAjQD4BdGdhSWB/e6E4b9wiodlGmm/9sW7jcaZalRy9cXr+EJAL8ZAh0TVN06gtCYp NYKjEG19gr2C3SOjSJMNY4bFXGXmfVXTGJ950gHO/wAOuSgBIDR2L09dCOYUuSlUeoLIUUDG7U1 ey8IXkoLUVYBaFh76KceLbSGQqL0sgZxMyPWYkB4zqtygUa1+nuOsuqEURbXdEvDzuXw/4SH+aN O4gF7w+fm9jrA2xH+yyrs2IsniKbn3Bnz0upluMnNM8WqO6UprzpEpAbcPlUEFKngBhD7kCe5Lv VVyTS/eZH22Q= X-Google-Smtp-Source: AGHT+IE07fXK7KUi/Kcs82M8/c4AI6q7J6d/VrAbZNafj4SS/HHhE/zXHJGl4LKHd9oOEFh9xlCkuA== X-Received: by 2002:a17:906:c10a:b0:ae0:628a:5093 with SMTP id a640c23a62f3a-ae0be7fdd39mr844096766b.3.1750946701083; Thu, 26 Jun 2025 07:05:01 -0700 (PDT) Received: from localhost.localdomain ([176.227.88.86]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae2143d928dsm3958266b.107.2025.06.26.07.04.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Jun 2025 07:05:00 -0700 (PDT) From: muhammed.efecetin.67@gmail.com X-Google-Original-From: muhammed.efecetin67@gmail.com To: linux-rockchip@lists.infradead.org Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de, neil.armstrong@linaro.org, lee@kernel.org, rafael@kernel.org, efectn@protonmail.com, daniel.lezcano@linaro.org Subject: [PATCH 4/5] thermal: khadas_mcu_fan: add support for Khadas Edge 2 Date: Thu, 26 Jun 2025 17:04:31 +0300 Message-ID: X-Mailer: git-send-email 2.49.0 In-Reply-To: References: 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: Muhammed Efe Cetin Fan control on the Khadas Edge 2 is controlled with the 0x8A register, using percentage values from 0 to 100, whereas there are only 3 constant st= eps in previous Khadas boards. Therefore, i added a new cooling-levels property, similar to the one used i= n the pwm-fan driver. The original behavior can still be used when the cooling-levels property is= not specified, ensuring that the new functionality does not break old boards. Signed-off-by: Muhammed Efe Cetin --- drivers/thermal/khadas_mcu_fan.c | 76 ++++++++++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 4 deletions(-) diff --git a/drivers/thermal/khadas_mcu_fan.c b/drivers/thermal/khadas_mcu_= fan.c index d35e5313b..504e7d254 100644 --- a/drivers/thermal/khadas_mcu_fan.c +++ b/drivers/thermal/khadas_mcu_fan.c @@ -15,10 +15,16 @@ #include =20 #define MAX_LEVEL 3 +#define MAX_SPEED 0x64 =20 struct khadas_mcu_fan_ctx { struct khadas_mcu *mcu; unsigned int level; + + unsigned int fan_max_level; + unsigned int fan_register; + unsigned int *fan_cooling_levels; + struct thermal_cooling_device *cdev; }; =20 @@ -26,9 +32,21 @@ static int khadas_mcu_fan_set_level(struct khadas_mcu_fa= n_ctx *ctx, unsigned int level) { int ret; + unsigned int write_level =3D level; + + if (level > ctx->fan_max_level) + return -EINVAL; + + if (ctx->fan_cooling_levels !=3D NULL) { + write_level =3D ctx->fan_cooling_levels[level]; + + if (write_level > MAX_SPEED) + return -EINVAL; + } + + ret =3D regmap_write(ctx->mcu->regmap, ctx->fan_register, + write_level); =20 - ret =3D regmap_write(ctx->mcu->regmap, KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG, - level); if (ret) return ret; =20 @@ -40,7 +58,9 @@ static int khadas_mcu_fan_set_level(struct khadas_mcu_fan= _ctx *ctx, static int khadas_mcu_fan_get_max_state(struct thermal_cooling_device *cde= v, unsigned long *state) { - *state =3D MAX_LEVEL; + struct khadas_mcu_fan_ctx *ctx =3D cdev->devdata; + + *state =3D ctx->fan_max_level; =20 return 0; } @@ -61,7 +81,7 @@ khadas_mcu_fan_set_cur_state(struct thermal_cooling_devic= e *cdev, { struct khadas_mcu_fan_ctx *ctx =3D cdev->devdata; =20 - if (state > MAX_LEVEL) + if (state > ctx->fan_max_level) return -EINVAL; =20 if (state =3D=3D ctx->level) @@ -76,6 +96,47 @@ static const struct thermal_cooling_device_ops khadas_mc= u_fan_cooling_ops =3D { .set_cur_state =3D khadas_mcu_fan_set_cur_state, }; =20 +static int khadas_mcu_fan_get_cooling_data_edge2(struct khadas_mcu_fan_ctx= *ctx, struct device *dev) +{ + struct device_node *np =3D ctx->mcu->dev->of_node; + int num, i, ret; + + if (!of_property_present(np, "cooling-levels")) + return 0; + + ret =3D of_property_count_u32_elems(np, "cooling-levels"); + if (ret <=3D 0) { + dev_err(dev, "Wrong data!\n"); + return ret ? : -EINVAL; + } + + num =3D ret; + ctx->fan_cooling_levels =3D devm_kcalloc(dev, num, sizeof(u32), + GFP_KERNEL); + if (!ctx->fan_cooling_levels) + return -ENOMEM; + + ret =3D of_property_read_u32_array(np, "cooling-levels", + ctx->fan_cooling_levels, num); + if (ret) { + dev_err(dev, "Property 'cooling-levels' cannot be read!\n"); + return ret; + } + + for (i =3D 0; i < num; i++) { + if (ctx->fan_cooling_levels[i] > MAX_SPEED) { + dev_err(dev, "MCU fan state[%d]:%d > %d\n", i, + ctx->fan_cooling_levels[i], MAX_SPEED); + return -EINVAL; + } + } + + ctx->fan_max_level =3D num - 1; + ctx->fan_register =3D KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG_V2; + + return 0; +} + static int khadas_mcu_fan_probe(struct platform_device *pdev) { struct khadas_mcu *mcu =3D dev_get_drvdata(pdev->dev.parent); @@ -90,6 +151,13 @@ static int khadas_mcu_fan_probe(struct platform_device = *pdev) ctx->mcu =3D mcu; platform_set_drvdata(pdev, ctx); =20 + ctx->fan_max_level =3D MAX_LEVEL; + ctx->fan_register =3D KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG; + + ret =3D khadas_mcu_fan_get_cooling_data_edge2(ctx, dev); + if (ret) + return ret; + cdev =3D devm_thermal_of_cooling_device_register(dev->parent, dev->parent->of_node, "khadas-mcu-fan", ctx, &khadas_mcu_fan_cooling_ops); --=20 2.49.0 From nobody Wed Oct 8 15:58:36 2025 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (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 5CE502E9EBA; Thu, 26 Jun 2025 14:05:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946708; cv=none; b=mFPT/yy88zOD+13Bl/ONqtWrF0oP0PNbtgoillF+jtuKu2uc7/z4mVkXYTnSBE/ikI3KuqHFzP20jj18ncAEpU8OAt1IeSpx4rgMFo7xOMqNC7yn/wYb6hma6sDKguwHos1C0H1WMkuaK7X33mlF65AOSnqSNie1vwCMeBEaWEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750946708; c=relaxed/simple; bh=5glfHsLODiLO/3oY+r7Ho/WvBwzsT7tvBipgzjRr/7Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KzfSlqlxn58vYcunxK2k1qbLEBcwWL336rHOW/p7oZIg5hQQASIS+eY2sCt4C+a2wmk+ErQXXR5BmXHyNpTpn0pXk40kD6HNV7z2LpsUNkYWly2geCiMZXRPurQfGbtCl+Kv7+C5rCSYgEUOzL+X5Zgx4qbR86QGxNRGKSiwNDM= 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=Wsa2U+pd; arc=none smtp.client-ip=209.85.218.46 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="Wsa2U+pd" Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-ade5a0442dfso196751466b.1; Thu, 26 Jun 2025 07:05:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750946706; x=1751551506; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gBJ7OED84IgzfwVu3bE+rwCJsn8ySsLoxBG0PUK666c=; b=Wsa2U+pdSWqlJfkQgDNV7dp72nGddnariP8IIb1LWMPkYn5tB3KCOZw0lX8ZIFFv6+ LEVNfrFTRQ5/V5N/WE4ssKTPG99UlulHtjczxbjGaWzPxgfRE7OEPn81g0fIx5NTLaOy Ox+Z/Q18nPi7jJBJaSkXixAnu81gZpR2av1Oiz20QkMnAC5myafvbhA6/Vv9s+5w7Fr1 4vTFy58MmGR/PWaT6STMGHgKBePNQa0OMJ5RH0+DLpm+Ro4/oCqb6JdVNmaLKPmeAei5 SqEBk/GyudPLVit25DsosKo6VEvzHyqWB2cLF6EescBvjyh28UvVIQb1qFLFcKm+o2nb nbHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750946706; x=1751551506; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gBJ7OED84IgzfwVu3bE+rwCJsn8ySsLoxBG0PUK666c=; b=w+xdLd09hvRjLBig8VTa1BDhif/ND5LzLncJHXkdfi6pxbl3Au19+dbadeCauvLXSD W607rueT0HzEGPBMB7jGZ3ZHE+t+WqQYy9NCiwKaBgcSZIRa9z7wTl/rRrKK2t6JNRlV skrDMGxCZ83ZGKW42X8rP+DSRV5s1mrP+vO6VkdTB+KnS6THTAn/c8ulzvTpG9wmL0F2 8zhuQkg9I7ac9Dj6AZFjdyNAGSUgxbN8tdiaXnoSJt+EgCEn8d9UOwsRqndslgtmkt00 0KV7kVPnJvydm8CFjNtiT45q7+a7pRfs/0673z1PY0EdJqia32GPWYiQ4foEs+puDVcO dSeg== X-Forwarded-Encrypted: i=1; AJvYcCXWUPf/kmZaJS7R8VA2zy/Bf6AoOHFF9atpSyqPYZaNS9Qr3wJCiVeqWVX2VyCAz4FrUf8dWdr5gbndjaU=@vger.kernel.org X-Gm-Message-State: AOJu0YxDpaUjIc/ecVIlTzOfzPC6ovouM51vV2i6cZZNMzECs7Zs0J6B 1hIGEhNOY0RvHPYtxuw5EWjh6/YJf/rHDVrTJM17/bLV1x/1GqcM7Tsx8PXOnYmymN3baQ== X-Gm-Gg: ASbGncukF8sGq4QkZ/PxInCwduV1DEKPi1/7OzQwwKZ1eWps35UJi7Gw+vA+YamSsUg 7KgvncUooKG/3s7185DvN96TwaOk0O75JmkC8hllhaWX05xMZmPrAIs2LePhFMM6YEdP0GAumJC HuMF5xkIKCLk5BK7pCgREzCvihG0SDWWjutZ/tJOGdNz19QgGQFUicIeMXcyKjvHluqNsEsJxEM SP/1lSOFtLvfAeM3T2NntxR5T8mQW87KTxp933eoMkkbvhYdvUj0RB8I3Pd8GiGVr6z1KWafmiK +2IwXFYH1TmdXZOHN+og+XKHhZMyovlpAcKz8AU16ykQJgl53w1qKd2/525ewSi/PgxL7QxotfD 0A86o6cL4HDffvXcd4D5hVA== X-Google-Smtp-Source: AGHT+IFd80UBJ9vtN/l6OUaJDHUD3BJNY6g8XS2+oodfwuAVCEg0kkWD1KQ9A4HIdysep3bsRoIuoA== X-Received: by 2002:a17:907:724f:b0:ae0:b7c8:d735 with SMTP id a640c23a62f3a-ae0d0d15a2dmr422647466b.42.1750946703732; Thu, 26 Jun 2025 07:05:03 -0700 (PDT) Received: from localhost.localdomain ([176.227.88.86]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae2143d928dsm3958266b.107.2025.06.26.07.05.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Jun 2025 07:05:03 -0700 (PDT) From: muhammed.efecetin.67@gmail.com X-Google-Original-From: muhammed.efecetin67@gmail.com To: linux-rockchip@lists.infradead.org Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de, neil.armstrong@linaro.org, lee@kernel.org, rafael@kernel.org, efectn@protonmail.com, daniel.lezcano@linaro.org Subject: [PATCH 5/5] arm64: dts: rockchip: add Khadas MCU and fan control nodes Date: Thu, 26 Jun 2025 17:04:32 +0300 Message-ID: <27d9dccb3eb8723a524950f9dc6e78b7f99d46c5.1746518265.git.efectn@protonmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: References: 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: Muhammed Efe Cetin Add Khadas MCU fan control to Khadas Edge 2 with 4 fan control levels. Signed-off-by: Muhammed Efe Cetin --- .../dts/rockchip/rk3588s-khadas-edge2.dts | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts b/arch/a= rm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts index 2c22abaf4..60766c896 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts @@ -271,12 +271,71 @@ hym8563: rtc@51 { clock-output-names =3D "hym8563"; wakeup-source; }; + + khadas_mcu: system-controller@18 { + compatible =3D "khadas,mcu"; + reg =3D <0x18>; + cooling-levels =3D <0 50 72 100>; + #cooling-cells =3D <2>; + }; }; =20 &i2s5_8ch { status =3D "okay"; }; =20 +&package_thermal { + polling-delay =3D <2000>; + + trips { + package_fan0: package-fan0 { + temperature =3D <50000>; + hysteresis =3D <5000>; + type =3D "active"; + }; + + package_fan1: package-fan1 { + temperature =3D <60000>; + hysteresis =3D <5000>; + type =3D "active"; + }; + + package_fan2: package-fan2 { + temperature =3D <65000>; + hysteresis =3D <5000>; + type =3D "active"; + }; + + package_fan3: package-fan3 { + temperature =3D <75000>; + hysteresis =3D <5000>; + type =3D "active"; + }; + }; + + cooling-maps { + map0 { + trip =3D <&package_fan0>; + cooling-device =3D <&khadas_mcu THERMAL_NO_LIMIT 1>; + }; + + map1 { + trip =3D <&package_fan1>; + cooling-device =3D <&khadas_mcu 1 2>; + }; + + map2 { + trip =3D <&package_fan2>; + cooling-device =3D <&khadas_mcu 2 3>; + }; + + map3 { + trip =3D <&package_fan3>; + cooling-device =3D <&khadas_mcu 3 THERMAL_NO_LIMIT>; + }; + }; +}; + &pd_gpu { domain-supply =3D <&vdd_gpu_s0>; }; --=20 2.49.0