From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.104495.1597898560686015485 for ; Wed, 19 Aug 2020 21:42:40 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jeremy.linton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7BE081045; Wed, 19 Aug 2020 21:42:39 -0700 (PDT) Received: from u200856.usa.arm.com (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5A7683F71F; Wed, 19 Aug 2020 21:42:39 -0700 (PDT) From: "Jeremy Linton" To: devel@edk2.groups.io Cc: Jeremy Linton Subject: [PATCH v2 0/4] Platform/RasberryPi: Thermal zone Date: Wed, 19 Aug 2020 23:42:13 -0500 Message-Id: <20200820044217.39839-1-jeremy.linton@arm.com> X-Mailer: git-send-email 2.25.4 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This set creates a basic thermal zone, which reads the SOC temp via a direct register read in AML. It also adds an active cooling policy using a GPIO pin for fan control that can optionally be enabled/disabled on either GPIO18 (commercial fan shim board) or GPIO19 by the user from the BDS. it should now be possible when booted in ACPI mode to: # sensors acpitz-acpi-0 Adapter: ACPI interface temp1: +57.6C (crit =3D +90.0C) and the fan state, if enabled may be read with: /sys/bus/acpi/devices/PNP0C06:00/PNP0C0B:00/physical_node/thermal_cooling= /cur_state while the kernel will automatically cycle the fan if the SoC temp exceeds 60C. v1->v2: Add choice of GPIO pins to the BDS menu Correct whitespace/etc issues from v1 review Add an additional cleanup patch for contextual whitespace issues Jeremy Linton (4): Platform/RaspberryPi4: Add a basic thermal zone Platform/RaspberryPi4: Create ACPI fan object Platform/RaspberryPi: Add entry for user fan control Platform/RaspberryPi: Trivial whitespace cleanup Platform/RaspberryPi/AcpiTables/Dsdt.asl | 31 ++++++ Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 104 +++++++++++++++= +++--- .../RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf | 3 + .../RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni | 6 ++ .../RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr | 18 ++++ .../RaspberryPi/Drivers/ConfigDxe/SsdtThermal.asl | 76 +++++++++++++++ Platform/RaspberryPi/Include/ConfigVars.h | 4 + Platform/RaspberryPi/RPi3/RPi3.dsc | 5 + Platform/RaspberryPi/RPi4/RPi4.dsc | 8 ++ Platform/RaspberryPi/RaspberryPi.dec | 1 + .../Bcm27xx/Include/IndustryStandard/Bcm2711.h | 2 + 11 files changed, 245 insertions(+), 13 deletions(-) create mode 100644 Platform/RaspberryPi/Drivers/ConfigDxe/SsdtThermal.as= l --=20 2.13.7