^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) * Cavium Octeon & ThunderX MMC controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) The highspeed MMC host controller on Caviums SoCs provides an interface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) for MMC and SD types of memory cards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Supported maximum speeds are the ones of the eMMC standard 4.41 as well
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) as the speed of SD standard 4.0. Only 3.3 Volt is supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - compatible : should be one of:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) cavium,octeon-6130-mmc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) cavium,octeon-7890-mmc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) cavium,thunder-8190-mmc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) cavium,thunder-8390-mmc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) mmc-slot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - reg : mmc controller base registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - clocks : phandle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - for cd, bus-width and additional generic mmc parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) please refer to mmc.txt within this directory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) - cavium,cmd-clk-skew : number of coprocessor clocks before sampling command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - cavium,dat-clk-skew : number of coprocessor clocks before sampling data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Deprecated properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) - spi-max-frequency : use max-frequency instead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - cavium,bus-max-width : use bus-width instead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) - power-gpios : use vmmc-supply instead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) - cavium,octeon-6130-mmc-slot : use mmc-slot instead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) mmc_1_4: mmc@1,4 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) compatible = "cavium,thunder-8390-mmc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) reg = <0x0c00 0 0 0 0>; /* DEVFN = 0x0c (1:4) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) clocks = <&sclk>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) mmc-slot@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) compatible = "mmc-slot";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) reg = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) vmmc-supply = <&mmc_supply_3v3>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) max-frequency = <42000000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) bus-width = <4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) cap-sd-highspeed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) mmc-slot@1 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) compatible = "mmc-slot";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) reg = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) vmmc-supply = <&mmc_supply_3v3>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) max-frequency = <42000000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) bus-width = <8>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) cap-mmc-highspeed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) non-removable;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) };