Commit 2b3efb7c authored by Nikita Travkin's avatar Nikita Travkin Committed by Hans de Goede

platform: arm64: Add Acer Aspire 1 embedded controller driver

Acer Aspire 1 is a Snapdragon 7c based laptop. It uses an embedded
controller to perform a set of various functions, such as:

- Battery and charger monitoring;
- Keyboard layout control (i.e. fn_lock settings);
- USB Type-C DP alt mode HPD notifications;
- Laptop lid status.

Unfortunately, while all this functionality is implemented in ACPI, it's
currently not possible to use ACPI to boot Linux on such Qualcomm
devices. To allow Linux to still support the features provided by EC,
this driver reimplments the relevant ACPI parts. This allows us to boot
the laptop with Device Tree and retain all the features.
Reviewed-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: default avatarNikita Travkin <nikita@trvn.ru>
Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20240315-aspire1-ec-v5-3-f93381deff39@trvn.ruSigned-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 363c8aea
......@@ -258,6 +258,12 @@ L: linux-acenic@sunsite.dk
S: Maintained
F: drivers/net/ethernet/alteon/acenic*
ACER ASPIRE 1 EMBEDDED CONTROLLER DRIVER
M: Nikita Travkin <nikita@trvn.ru>
S: Maintained
F: Documentation/devicetree/bindings/platform/acer,aspire1-ec.yaml
F: drivers/platform/arm64/acer-aspire1-ec.c
ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER
M: Peter Kaestle <peter@piie.net>
L: platform-driver-x86@vger.kernel.org
......
......@@ -16,4 +16,20 @@ menuconfig ARM64_PLATFORM_DEVICES
if ARM64_PLATFORM_DEVICES
config EC_ACER_ASPIRE1
tristate "Acer Aspire 1 Embedded Controller driver"
depends on I2C
depends on DRM
depends on POWER_SUPPLY
depends on INPUT
help
Say Y here to enable the EC driver for the (Snapdragon-based)
Acer Aspire 1 laptop. The EC handles battery and charging
monitoring as well as some misc functions like the lid sensor
and USB Type-C DP HPD events.
This driver provides battery and AC status support for the mentioned
laptop where this information is not properly exposed via the
standard ACPI devices.
endif # ARM64_PLATFORM_DEVICES
......@@ -4,3 +4,5 @@
#
# This dir should only include drivers for EC-like devices.
#
obj-$(CONFIG_EC_ACER_ASPIRE1) += acer-aspire1-ec.o
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment