arm64: dts: ti: verdin-am62: use SD1 CD as GPIO
authorFrancesco Dolcini <francesco.dolcini@toradex.com>
Mon, 25 Mar 2024 08:33:40 +0000 (09:33 +0100)
committerNishanth Menon <nm@ti.com>
Wed, 10 Apr 2024 00:29:14 +0000 (19:29 -0500)
TI SDHCI instance has a hardware debounce timer of 1 second as described
in commit 7ca0f166f5b2 ("mmc: sdhci_am654: Add workaround for card detect
debounce timer"), because of this the boot time increases of up to 1
second.

Workaround the issue the same way that is done on
arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts, using the SD1 CD as
GPIO.

Suggested-by: Nishanth Menon <nm@ti.com>
Reported-by: João Paulo Silva Gonçalves <joao.goncalves@toradex.com>
Closes: https://lore.kernel.org/all/0e81af80de3d55e72f79af83fa5db87f5c9938f8.camel@toradex.com/
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240325083340.89568-1-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi

index 8c837467069b09d5a79c487932da2c0a43d498c0..c5091fa0c2401a80f16bc68e23431308367fccb4 100644 (file)
                >;
        };
 
+       /* Verdin SD_1_CD# as GPIO */
+       pinctrl_sd1_cd_gpio: main-gpio1-48-default-pins {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x240, PIN_INPUT_PULLUP, 7) /* (D17) MMC1_SDCD.GPIO1_48 */ /* SODIMM 84 */
+               >;
+       };
+
        /* Verdin DSI_1_INT# (pulled-up as active-low) */
        pinctrl_dsi1_int: main-gpio1-49-default-pins {
                pinctrl-single,pins = <
                        AM62X_IOPAD(0x22c, PIN_INPUT,        0) /* (B21) MMC1_DAT1 */ /* SODIMM 82 */
                        AM62X_IOPAD(0x228, PIN_INPUT,        0) /* (C21) MMC1_DAT2 */ /* SODIMM 70 */
                        AM62X_IOPAD(0x224, PIN_INPUT,        0) /* (D22) MMC1_DAT3 */ /* SODIMM 72 */
-                       AM62X_IOPAD(0x240, PIN_INPUT_PULLUP, 0) /* (D17) MMC1_SDCD */ /* SODIMM 84 */
                >;
        };
 
 /* Verdin SD_1 */
 &sdhci1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_sdhci1>;
+       pinctrl-0 = <&pinctrl_sdhci1>, <&pinctrl_sd1_cd_gpio>;
+       cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>;
        disable-wp;
        vmmc-supply = <&reg_sdhc1_vmmc>;
        vqmmc-supply = <&reg_sdhc1_vqmmc>;
+       ti,fails-without-test-cd;
        status = "disabled";
 };