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

Message ID 20240116-mt8183-kukui-cbas-remove-v3-1-055e21406e86@collabora.com
State New
Headers
Series [v3] arm64: dts: mt8183: Move CrosEC base detection node to kukui-based DTs |

Commit Message

Nícolas F. R. A. Prado Jan. 16, 2024, 9:38 p.m. UTC
  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 <nfraprado@collabora.com>
---
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(-)


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

Best regards,
  

Comments

AngeloGioacchino Del Regno Jan. 17, 2024, 10:14 a.m. UTC | #1
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 <nfraprado@collabora.com>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

> ---
> 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,
  
Matthias Brugger Jan. 22, 2024, 7:21 a.m. UTC | #2
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 <nfraprado@collabora.com>
> 
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> 

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,
>
  

Patch

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>;