2024-01-16 22:32:37

by Nícolas F. R. A. Prado

[permalink] [raw]
Subject: [PATCH v3] arm64: dts: mt8183: Move CrosEC base detection node to kukui-based DTs

The cbas node is used to describe base detection functionality in the
ChromeOS EC, which is used for units that have a detachable keyboard and
thus rely on this functionality to switch between tablet and laptop
mode.

Despite the original commit having added the cbas node to the
mt8183-kukui.dtsi, not all machines that include it are detachables. In
fact all machines that include from mt8183-kukui-jacuzzi.dtsi are either
clamshells (ie normal laptops) or convertibles, meaning the keyboard can
be flipped but not detached. The detection for the keyboard getting
flipped is handled by the driver bound to the keyboard-controller node
in the EC.

Move the base detection node from the base kukui dtsi to the dtsis where
all machines are detachables, and thus actually make use of the node.

Fixes: 4fa8492d1e5b ("arm64: dts: mt8183: add cbas node under cros_ec")
Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
---
Changes in v3:
- Instead of deleting the node in jacuzzi, moved the node from kukui to
the dtsis including kukui that are detachables

Changes in v2:
- Moved cbas node removal to jacuzzi dtsi
---
arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi | 4 ++++
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi | 4 ++++
arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi | 4 ++++
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 4 ----
4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
index b6a9830af269..bfb9e42c8aca 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
@@ -360,6 +360,10 @@ pen_eject {
};

&cros_ec {
+ cbas {
+ compatible = "google,cros-cbas";
+ };
+
keyboard-controller {
compatible = "google,cros-ec-keyb-switches";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
index 306c95166f3f..5c1bf6a1e475 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
@@ -339,6 +339,10 @@ touch_pin_reset: pin_reset {
};

&cros_ec {
+ cbas {
+ compatible = "google,cros-cbas";
+ };
+
keyboard-controller {
compatible = "google,cros-ec-keyb-switches";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
index 382e4c6d7191..0f5fa893a774 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
@@ -343,6 +343,10 @@ rst_pin {
};

&cros_ec {
+ cbas {
+ compatible = "google,cros-cbas";
+ };
+
keyboard-controller {
compatible = "google,cros-ec-keyb-switches";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
index 5506de83f61d..66eb099e15f0 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
@@ -937,10 +937,6 @@ usbc_extcon: extcon0 {
google,usb-port-id = <0>;
};

- cbas {
- compatible = "google,cros-cbas";
- };
-
typec {
compatible = "google,cros-ec-typec";
#address-cells = <1>;

---
base-commit: 0f067394dd3b2af3263339cf7183bdb6ee0ac1f8
change-id: 20240116-mt8183-kukui-cbas-remove-657b62aeced6

Best regards,
--
Nícolas F. R. A. Prado <[email protected]>



Subject: Re: [PATCH v3] arm64: dts: mt8183: Move CrosEC base detection node to kukui-based DTs

Il 16/01/24 22:38, Nícolas F. R. A. Prado ha scritto:
> The cbas node is used to describe base detection functionality in the
> ChromeOS EC, which is used for units that have a detachable keyboard and
> thus rely on this functionality to switch between tablet and laptop
> mode.
>
> Despite the original commit having added the cbas node to the
> mt8183-kukui.dtsi, not all machines that include it are detachables. In
> fact all machines that include from mt8183-kukui-jacuzzi.dtsi are either
> clamshells (ie normal laptops) or convertibles, meaning the keyboard can
> be flipped but not detached. The detection for the keyboard getting
> flipped is handled by the driver bound to the keyboard-controller node
> in the EC.
>
> Move the base detection node from the base kukui dtsi to the dtsis where
> all machines are detachables, and thus actually make use of the node.
>
> Fixes: 4fa8492d1e5b ("arm64: dts: mt8183: add cbas node under cros_ec")
> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>

> ---
> Changes in v3:
> - Instead of deleting the node in jacuzzi, moved the node from kukui to
> the dtsis including kukui that are detachables
>
> Changes in v2:
> - Moved cbas node removal to jacuzzi dtsi
> ---
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi | 4 ++++
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi | 4 ++++
> arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi | 4 ++++
> arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 4 ----
> 4 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
> index b6a9830af269..bfb9e42c8aca 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
> @@ -360,6 +360,10 @@ pen_eject {
> };
>
> &cros_ec {
> + cbas {
> + compatible = "google,cros-cbas";
> + };
> +
> keyboard-controller {
> compatible = "google,cros-ec-keyb-switches";
> };
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
> index 306c95166f3f..5c1bf6a1e475 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
> @@ -339,6 +339,10 @@ touch_pin_reset: pin_reset {
> };
>
> &cros_ec {
> + cbas {
> + compatible = "google,cros-cbas";
> + };
> +
> keyboard-controller {
> compatible = "google,cros-ec-keyb-switches";
> };
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
> index 382e4c6d7191..0f5fa893a774 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
> @@ -343,6 +343,10 @@ rst_pin {
> };
>
> &cros_ec {
> + cbas {
> + compatible = "google,cros-cbas";
> + };
> +
> keyboard-controller {
> compatible = "google,cros-ec-keyb-switches";
> };
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
> index 5506de83f61d..66eb099e15f0 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
> @@ -937,10 +937,6 @@ usbc_extcon: extcon0 {
> google,usb-port-id = <0>;
> };
>
> - cbas {
> - compatible = "google,cros-cbas";
> - };
> -
> typec {
> compatible = "google,cros-ec-typec";
> #address-cells = <1>;
>
> ---
> base-commit: 0f067394dd3b2af3263339cf7183bdb6ee0ac1f8
> change-id: 20240116-mt8183-kukui-cbas-remove-657b62aeced6
>
> Best regards,


2024-01-22 07:21:18

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: mt8183: Move CrosEC base detection node to kukui-based DTs



On 17/01/2024 11:14, AngeloGioacchino Del Regno wrote:
> Il 16/01/24 22:38, Nícolas F. R. A. Prado ha scritto:
>> The cbas node is used to describe base detection functionality in the
>> ChromeOS EC, which is used for units that have a detachable keyboard and
>> thus rely on this functionality to switch between tablet and laptop
>> mode.
>>
>> Despite the original commit having added the cbas node to the
>> mt8183-kukui.dtsi, not all machines that include it are detachables. In
>> fact all machines that include from mt8183-kukui-jacuzzi.dtsi are either
>> clamshells (ie normal laptops) or convertibles, meaning the keyboard can
>> be flipped but not detached. The detection for the keyboard getting
>> flipped is handled by the driver bound to the keyboard-controller node
>> in the EC.
>>
>> Move the base detection node from the base kukui dtsi to the dtsis where
>> all machines are detachables, and thus actually make use of the node.
>>
>> Fixes: 4fa8492d1e5b ("arm64: dts: mt8183: add cbas node under cros_ec")
>> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
>
> Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
>

Applied, thanks!

>> ---
>> Changes in v3:
>> - Instead of deleting the node in jacuzzi, moved the node from kukui to
>>    the dtsis including kukui that are detachables
>>
>> Changes in v2:
>> - Moved cbas node removal to jacuzzi dtsi
>> ---
>>   arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi | 4 ++++
>>   arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi | 4 ++++
>>   arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi  | 4 ++++
>>   arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi        | 4 ----
>>   4 files changed, 12 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
>> b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
>> index b6a9830af269..bfb9e42c8aca 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
>> @@ -360,6 +360,10 @@ pen_eject {
>>   };
>>   &cros_ec {
>> +    cbas {
>> +        compatible = "google,cros-cbas";
>> +    };
>> +
>>       keyboard-controller {
>>           compatible = "google,cros-ec-keyb-switches";
>>       };
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
>> b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
>> index 306c95166f3f..5c1bf6a1e475 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
>> @@ -339,6 +339,10 @@ touch_pin_reset: pin_reset {
>>   };
>>   &cros_ec {
>> +    cbas {
>> +        compatible = "google,cros-cbas";
>> +    };
>> +
>>       keyboard-controller {
>>           compatible = "google,cros-ec-keyb-switches";
>>       };
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
>> b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
>> index 382e4c6d7191..0f5fa893a774 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
>> @@ -343,6 +343,10 @@ rst_pin {
>>   };
>>   &cros_ec {
>> +    cbas {
>> +        compatible = "google,cros-cbas";
>> +    };
>> +
>>       keyboard-controller {
>>           compatible = "google,cros-ec-keyb-switches";
>>       };
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
>> b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
>> index 5506de83f61d..66eb099e15f0 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
>> @@ -937,10 +937,6 @@ usbc_extcon: extcon0 {
>>               google,usb-port-id = <0>;
>>           };
>> -        cbas {
>> -            compatible = "google,cros-cbas";
>> -        };
>> -
>>           typec {
>>               compatible = "google,cros-ec-typec";
>>               #address-cells = <1>;
>>
>> ---
>> base-commit: 0f067394dd3b2af3263339cf7183bdb6ee0ac1f8
>> change-id: 20240116-mt8183-kukui-cbas-remove-657b62aeced6
>>
>> Best regards,
>