]> www.infradead.org Git - linux.git/commitdiff
arm64: dts: qcom: x1e78100-t14s: Enable fingerprint reader
authorAbel Vesa <abel.vesa@linaro.org>
Tue, 7 Jan 2025 13:35:07 +0000 (15:35 +0200)
committerBjorn Andersson <andersson@kernel.org>
Tue, 7 Jan 2025 16:41:37 +0000 (10:41 -0600)
On Lenovo ThinkPad T14s, the fingerprint reader placed in the power
button is connected via the usb_2 controller. The controller has only
a USB 2.0 PHY which is then connected via a NXP PTN3222 eUSB2 repeater,
which in turn is connected to the Goodix fingerprint reader.

So enable all the usb_2 controller and PHY nodes, set dual-role mode to
host and describe the eUSB2 repeater in order to get the fingerprint
reader discovered.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20250107-x1e80100-t14-enable-fingerprint-sensor-v1-1-8fd911d39ad1@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts

index 0502cccf78b9ee4cd76c92cf1017cd7a1c42a068..fa2d00d9d63637c3b9971aef303a3d7cc2bf7e34 100644 (file)
 
        status = "okay";
 
+       eusb5_repeater: redriver@43 {
+               compatible = "nxp,ptn3222";
+               reg = <0x43>;
+               #phy-cells = <0>;
+
+               vdd3v3-supply = <&vreg_l13b_3p0>;
+               vdd1v8-supply = <&vreg_l4b_1p8>;
+
+               reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&eusb5_reset_n>;
+               pinctrl-names = "default";
+       };
+
        eusb3_repeater: redriver@47 {
                compatible = "nxp,ptn3222";
                reg = <0x47>;
                output-low;
        };
 
+       eusb5_reset_n: eusb5-reset-n-state {
+               pins = "gpio7";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+               output-low;
+       };
+
        eusb6_reset_n: eusb6-reset-n-state {
                pins = "gpio184";
                function = "gpio";
        remote-endpoint = <&pmic_glink_ss1_ss_in>;
 };
 
+&usb_2 {
+       status = "okay";
+};
+
+&usb_2_dwc3 {
+       dr_mode = "host";
+};
+
+&usb_2_hsphy {
+       vdd-supply = <&vreg_l2e_0p8>;
+       vdda12-supply = <&vreg_l3e_1p2>;
+
+       phys = <&eusb5_repeater>;
+
+       status = "okay";
+};
+
 &usb_mp {
        status = "okay";
 };