Commit 0cd33df4 authored by Nikita Travkin's avatar Nikita Travkin Committed by Hans de Goede
Browse files

arm64: dts: qcom: acer-aspire1: Add embedded controller



The laptop contains an embedded controller that provides a set of
features:

- Battery and charger monitoring
- USB Type-C DP alt mode HPD monitoring
- Lid status detection
- Small amount of keyboard configuration*

[*] The keyboard is handled by the same EC but it has a dedicated i2c
bus and is already enabled. This port only provides fn key behavior
configuration.

Add the EC to the device tree and describe the relationship between the
EC-managed type-c port and the SoC DisplayPort.

Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: default avatarNikita Travkin <nikita@trvn.ru>
Link: https://lore.kernel.org/r/20240315-aspire1-ec-v5-4-f93381deff39@trvn.ru


Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 2b3efb7c
Loading
Loading
Loading
Loading
+39 −1
Original line number Diff line number Diff line
@@ -255,7 +255,25 @@ &i2c2 {
	clock-frequency = <400000>;
	status = "okay";

	/* embedded-controller@76 */
	embedded-controller@76 {
		compatible = "acer,aspire1-ec";
		reg = <0x76>;

		interrupts-extended = <&tlmm 30 IRQ_TYPE_LEVEL_LOW>;

		pinctrl-0 = <&ec_int_default>;
		pinctrl-names = "default";

		connector {
			compatible = "usb-c-connector";

			port {
				ec_dp_in: endpoint {
					remote-endpoint = <&mdss_dp_out>;
				};
			};
		};
	};
};

&i2c4 {
@@ -419,6 +437,19 @@ &mdss {
	status = "okay";
};

&mdss_dp {
	data-lanes = <0 1>;

	vdda-1p2-supply = <&vreg_l3c_1p2>;
	vdda-0p9-supply = <&vreg_l4a_0p8>;

	status = "okay";
};

&mdss_dp_out {
	remote-endpoint = <&ec_dp_in>;
};

&mdss_dsi0 {
	vdda-supply = <&vreg_l3c_1p2>;
	status = "okay";
@@ -857,6 +888,13 @@ codec_irq_default: codec-irq-deault-state {
		bias-disable;
	};

	ec_int_default: ec-int-default-state {
		pins = "gpio30";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
	};

	edp_bridge_irq_default: edp-bridge-irq-default-state {
		pins = "gpio11";
		function = "gpio";