xilinx: Add cap-mmc-hw-reset and no-sd, no-sdio property to eMMC

Add "cap-mmc-hw-reset" property to the eMMC DT node to perform the
eMMC device hardware reset.
Also, add "no-sd", "no-sdio" properties to eMMC DT node to skip
unwanted sd, sdio related commands during initialization for eMMC
device as this may lead to unnecessary register dump.

Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/b31554816a3378365143e9f5c266f6386af0a438.1727247785.git.michal.simek@amd.com
This commit is contained in:
Paul Alvin 2024-09-25 09:03:13 +02:00 committed by Michal Simek
parent 2f8a471231
commit 20136d13a3
18 changed files with 54 additions and 0 deletions

View file

@ -40,6 +40,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
reg = <0x0 0xf1040000 0x0 0x10000>; reg = <0x0 0xf1040000 0x0 0x10000>;
clock-names = "clk_xin", "clk_ahb"; clock-names = "clk_xin", "clk_ahb";

View file

@ -40,6 +40,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
reg = <0x0 0xf1050000 0x0 0x10000>; reg = <0x0 0xf1050000 0x0 0x10000>;
clock-names = "clk_xin", "clk_ahb"; clock-names = "clk_xin", "clk_ahb";

View file

@ -54,6 +54,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
reg = <0 0xf1050000 0 0x10000>; reg = <0 0xf1050000 0 0x10000>;
clock-names = "clk_xin", "clk_ahb"; clock-names = "clk_xin", "clk_ahb";

View file

@ -83,6 +83,9 @@
bootph-all; bootph-all;
status = "okay"; /* EMMC MTFC4GACAJCN - MIO40-MIO45 */ status = "okay"; /* EMMC MTFC4GACAJCN - MIO40-MIO45 */
non-removable; non-removable;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <4>; bus-width = <4>;
}; };

View file

@ -92,6 +92,9 @@
&sdhci1 { &sdhci1 {
status = "okay"; status = "okay";
non-removable; non-removable;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <4>; bus-width = <4>;
max-frequency = <12000000>; max-frequency = <12000000>;

View file

@ -60,6 +60,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; xlnx,mio-bank = <0>;
}; };

View file

@ -68,6 +68,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; xlnx,mio-bank = <0>;
}; };

View file

@ -88,6 +88,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; /* FIXME tap delay */ xlnx,mio-bank = <0>; /* FIXME tap delay */
}; };

View file

@ -84,6 +84,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; /* FIXME tap delay */ xlnx,mio-bank = <0>; /* FIXME tap delay */
}; };

View file

@ -84,6 +84,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; /* FIXME tap delay */ xlnx,mio-bank = <0>; /* FIXME tap delay */
}; };

View file

@ -52,6 +52,9 @@
compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a"; compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
status = "disabled"; status = "disabled";
non-removable; non-removable;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
reg = <0x0 0xff160000 0x0 0x1000>; reg = <0x0 0xff160000 0x0 0x1000>;
clock-names = "clk_xin", "clk_ahb"; clock-names = "clk_xin", "clk_ahb";

View file

@ -52,6 +52,9 @@
compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a"; compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
status = "disabled"; status = "disabled";
non-removable; non-removable;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
reg = <0x0 0xff170000 0x0 0x1000>; reg = <0x0 0xff170000 0x0 0x1000>;
clock-names = "clk_xin", "clk_ahb"; clock-names = "clk_xin", "clk_ahb";

View file

@ -60,6 +60,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; xlnx,mio-bank = <0>;
}; };

View file

@ -288,6 +288,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; xlnx,mio-bank = <0>;
}; };

View file

@ -247,6 +247,9 @@
pinctrl-0 = <&pinctrl_sdhci0_default>; pinctrl-0 = <&pinctrl_sdhci0_default>;
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; xlnx,mio-bank = <0>;
assigned-clock-rates = <187498123>; assigned-clock-rates = <187498123>;

View file

@ -93,6 +93,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; /* We don't have a write-protect detection */ disable-wp; /* We don't have a write-protect detection */
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; xlnx,mio-bank = <0>;
}; };

View file

@ -105,6 +105,9 @@
status = "okay"; status = "okay";
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
bus-width = <8>; bus-width = <8>;
xlnx,mio-bank = <0>; xlnx,mio-bank = <0>;
}; };

View file

@ -509,6 +509,9 @@
xlnx,mio-bank = <0>; xlnx,mio-bank = <0>;
non-removable; non-removable;
disable-wp; disable-wp;
no-sd;
no-sdio;
cap-mmc-hw-reset;
cap-power-off-card; cap-power-off-card;
mmc-pwrseq = <&sdio_pwrseq>; mmc-pwrseq = <&sdio_pwrseq>;
vqmmc-supply = <&wmmcsdio_fixed>; vqmmc-supply = <&wmmcsdio_fixed>;