From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: amazingfate <liujianfeng1994@gmail.com>
Date: Mon, 16 Oct 2023 13:31:25 +0800
Subject: arm64: dts: qcom: sm8250-xiaomi-elish: use vendor keyboard driver

---
 arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi | 58 +++++-----
 1 file changed, 31 insertions(+), 27 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
index d276fb5f0b5b..115cb9c86458 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
@@ -179,12 +179,14 @@ ramoops@b0000000 {
 		};
 	};
 
-	extcon_usb: extcon-usb {
-		compatible = "linux,extcon-usb-gpio";
-		id-gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
-		vbus-gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
-		pinctrl-0 = <&keyboard_active &usb_2_vbus_det_n>;
-		pinctrl-names = "default";
+	xiaomi_keyboard {
+		compatible = "xiaomi,keyboard";
+		pinctrl-names = "pm_kb_active", "pm_kb_suspend";
+		pinctrl-0 = <&xiaomi_keyboard_active>;
+		pinctrl-1 = <&xiaomi_keyboard_suspend>;
+		xiaomi-keyboard,rst-gpio = <&tlmm 141 0x00>;
+		xiaomi-keyboard,in-irq-gpio = <&tlmm 83 0x2001>;
+		xiaomi-keyboard,vdd-gpio = <&tlmm 127 0x00>;
 	};
 };
 
@@ -800,14 +802,6 @@ &pcie0_phy {
 };
 
 &pm8150_gpios {
-	usb_2_vbus_det_n: usb-2-vbus-det-state {
-		pins = "gpio10";
-		function = "normal";
-		power-source = <1>;
-		input-enable;
-		bias-pull-down;
-	};
-
 	vol_up_n: vol-up-n-state {
 		pins = "gpio6";
 		function = "normal";
@@ -984,20 +978,31 @@ dout-pins {
 		};
 	};
 
-	keyboard_active: keyboard-active-state {
-		active-pins {
-			pins = "gpio155";
-			function = "gpio";
-			drive-strength = <8>;
-			bias-pull-up;
+	xiaomi_keyboard_mcu {
+		xiaomi_keyboard_suspend: xiaomi_keyboard_suspend {
+			mux {
+				pins = "gpio155";
+				function = "gpio";
+			};
+
+			config {
+				pins = "gpio155";
+				drive-strength = <8>;
+				bias-pull-down;
+			};
 		};
 
-		vdd-pins {
-			pins = "gpio127";
-			function = "gpio";
-			drive-strength = <8>;
-			bias-disable;
-			output-high;
+		xiaomi_keyboard_active: xiaomi_keyboard_active {
+			mux {
+				pins = "gpio155";
+				function = "gpio";
+			};
+
+			config {
+				pins = "gpio155";
+				drive-strength = <8>;
+				bias-pull-up;
+			};
 		};
 	};
 };
@@ -1043,7 +1048,6 @@ &usb_2 {
 &usb_2_dwc3 {
 	dr_mode = "host";
 	maximum-speed = "super-speed";
-	extcon = <&extcon_usb>;
 };
 
 &usb_2_hsphy {
-- 
Armbian

