]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: x1e80100-dell-xps13-9345: Enable fingerprint sensor
authorBjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Thu, 5 Jun 2025 23:39:15 +0000 (18:39 -0500)
committerBjorn Andersson <andersson@kernel.org>
Tue, 10 Jun 2025 02:17:26 +0000 (21:17 -0500)
The fingerprint sensor, hidden in the power button, is connected to one
of the USB multiport ports; while the other port is unused.

Describe the USB controller, the four phys and the repeater involved to
make the fingerprint sensor operational.

Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Tested-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250605-xps13-fingerprint-v2-1-eebf84c172f2@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts

index 967f6dba0878b51a985fd7c9570b8c4e71afe57d..a98254e486dbc7aef1aced34690382950cb3e231 100644 (file)
 
 &i2c9 {
        clock-frequency = <400000>;
-       status = "disabled";
-       /* USB3 retimer device @0x4f */
+       status = "okay";
+
+       eusb6_repeater: redriver@4f {
+               compatible = "nxp,ptn3222";
+               reg = <0x4f>;
+               #phy-cells = <0>;
+
+               vdd3v3-supply = <&vreg_l13b_3p0>;
+               vdd1v8-supply = <&vreg_l4b_1p8>;
+
+               reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&eusb6_reset_n>;
+               pinctrl-names = "default";
+       };
 };
 
 &i2c17 {
                bias-disable;
        };
 
+       eusb6_reset_n: eusb6-reset-n-state {
+               pins = "gpio184";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+               output-low;
+       };
+
        hall_int_n_default: hall-int-n-state {
                pins = "gpio92";
                function = "gpio";
 &usb_1_ss1_qmpphy_out {
        remote-endpoint = <&retimer_ss1_ss_in>;
 };
+
+&usb_mp {
+       status = "okay";
+};
+
+&usb_mp_hsphy0 {
+       vdd-supply = <&vreg_l2e_0p8>;
+       vdda12-supply = <&vreg_l3e_1p2>;
+
+       status = "okay";
+};
+
+&usb_mp_hsphy1 {
+       vdd-supply = <&vreg_l2e_0p8>;
+       vdda12-supply = <&vreg_l3e_1p2>;
+
+       phys = <&eusb6_repeater>;
+
+       status = "okay";
+};
+
+&usb_mp_qmpphy0 {
+       vdda-phy-supply = <&vreg_l3e_1p2>;
+       vdda-pll-supply = <&vreg_l3c_0p9>;
+
+       status = "okay";
+};
+
+&usb_mp_qmpphy1 {
+       vdda-phy-supply = <&vreg_l3e_1p2>;
+       vdda-pll-supply = <&vreg_l3c_0p9>;
+
+       status = "okay";
+};