Re: [PATCH v1] arm64: dts: ti: verdin-am62: use SD1 CD as GPIO

From: Nishanth Menon
Date: Tue Mar 19 2024 - 08:08:01 EST


On 15:49-20240312, Francesco Dolcini wrote:
> From: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
>
> TI SDHCI IP 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@xxxxxx>
> Reported-by: João Paulo Silva Gonçalves <joao.goncalves@xxxxxxxxxxx>
> Closes: https://lore.kernel.org/all/0e81af80de3d55e72f79af83fa5db87f5c9938f8.camel@xxxxxxxxxxx/
> Signed-off-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
> index e8d8857ad51f..a9bf2c17f95a 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
> @@ -457,6 +457,13 @@ AM62X_IOPAD(0x01c4, PIN_INPUT, 7) /* (B14) SPI0_D1.GPIO1_19 */ /* SODIMM 161 */
> >;
> };
>
> + /* 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 = <
> @@ -571,7 +578,6 @@ AM62X_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */ /* SODIMM 80 */
> 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 */
> >;
> };
>
> @@ -1441,8 +1447,10 @@ &sdhci0 {
> /* 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;
> + ti,fails-without-test-cd;
> vmmc-supply = <&reg_sdhc1_vmmc>;
> vqmmc-supply = <&reg_sdhc1_vqmmc>;
> status = "disabled";

Minor style comment based on recently added https://docs.kernel.org/devicetree/bindings/dts-coding-style.html#order-of-properties-in-device-node

ti,fails-without-test-cd comes after vqmmc-supply and above status.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D