1*c66ec88fSEmmanuel Vadot* ARM PrimeCell MultiMedia Card Interface (MMCI) PL180/1 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThe ARM PrimeCell MMCI PL180 and PL181 provides an interface for 4*c66ec88fSEmmanuel Vadotreading and writing to MultiMedia and SD cards alike. 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel VadotThis file documents differences between the core properties described 7*c66ec88fSEmmanuel Vadotby mmc.txt and the properties used by the mmci driver. Using "st" as 8*c66ec88fSEmmanuel Vadotthe prefix for a property, indicates support by the ST Micro variant. 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel VadotRequired properties: 11*c66ec88fSEmmanuel Vadot- compatible : contains "arm,pl18x", "arm,primecell". 12*c66ec88fSEmmanuel Vadot- vmmc-supply : phandle to the regulator device tree node, mentioned 13*c66ec88fSEmmanuel Vadot as the VCC/VDD supply in the eMMC/SD specs. 14*c66ec88fSEmmanuel Vadot 15*c66ec88fSEmmanuel VadotOptional properties: 16*c66ec88fSEmmanuel Vadot- arm,primecell-periphid : contains the PrimeCell Peripheral ID, it overrides 17*c66ec88fSEmmanuel Vadot the ID provided by the HW 18*c66ec88fSEmmanuel Vadot- resets : phandle to internal reset line. 19*c66ec88fSEmmanuel Vadot Should be defined for sdmmc variant. 20*c66ec88fSEmmanuel Vadot- vqmmc-supply : phandle to the regulator device tree node, mentioned 21*c66ec88fSEmmanuel Vadot as the VCCQ/VDD_IO supply in the eMMC/SD specs. 22*c66ec88fSEmmanuel Vadotspecific for ux500 variant: 23*c66ec88fSEmmanuel Vadot- st,sig-dir-dat0 : bus signal direction pin used for DAT[0]. 24*c66ec88fSEmmanuel Vadot- st,sig-dir-dat2 : bus signal direction pin used for DAT[2]. 25*c66ec88fSEmmanuel Vadot- st,sig-dir-dat31 : bus signal direction pin used for DAT[3] and DAT[1]. 26*c66ec88fSEmmanuel Vadot- st,sig-dir-dat74 : bus signal direction pin used for DAT[4] to DAT[7]. 27*c66ec88fSEmmanuel Vadot- st,sig-dir-cmd : cmd signal direction pin used for CMD. 28*c66ec88fSEmmanuel Vadot- st,sig-pin-fbclk : feedback clock signal pin used. 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel Vadotspecific for sdmmc variant: 31*c66ec88fSEmmanuel Vadot- reg : a second base register may be defined if a delay 32*c66ec88fSEmmanuel Vadot block is present and used for tuning. 33*c66ec88fSEmmanuel Vadot- st,sig-dir : signal direction polarity used for cmd, dat0 dat123. 34*c66ec88fSEmmanuel Vadot- st,neg-edge : data & command phase relation, generated on 35*c66ec88fSEmmanuel Vadot sd clock falling edge. 36*c66ec88fSEmmanuel Vadot- st,use-ckin : use ckin pin from an external driver to sample 37*c66ec88fSEmmanuel Vadot the receive data (example: with voltage 38*c66ec88fSEmmanuel Vadot switch transceiver). 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel VadotDeprecated properties: 41*c66ec88fSEmmanuel Vadot- mmc-cap-mmc-highspeed : indicates whether MMC is high speed capable. 42*c66ec88fSEmmanuel Vadot- mmc-cap-sd-highspeed : indicates whether SD is high speed capable. 43*c66ec88fSEmmanuel Vadot 44*c66ec88fSEmmanuel VadotExample: 45*c66ec88fSEmmanuel Vadot 46*c66ec88fSEmmanuel Vadotsdi0_per1@80126000 { 47*c66ec88fSEmmanuel Vadot compatible = "arm,pl18x", "arm,primecell"; 48*c66ec88fSEmmanuel Vadot reg = <0x80126000 0x1000>; 49*c66ec88fSEmmanuel Vadot interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; 50*c66ec88fSEmmanuel Vadot 51*c66ec88fSEmmanuel Vadot dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */ 52*c66ec88fSEmmanuel Vadot <&dma 29 0 0x0>; /* Logical - MemToDev */ 53*c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 54*c66ec88fSEmmanuel Vadot 55*c66ec88fSEmmanuel Vadot clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>; 56*c66ec88fSEmmanuel Vadot clock-names = "sdi", "apb_pclk"; 57*c66ec88fSEmmanuel Vadot 58*c66ec88fSEmmanuel Vadot max-frequency = <100000000>; 59*c66ec88fSEmmanuel Vadot bus-width = <4>; 60*c66ec88fSEmmanuel Vadot cap-sd-highspeed; 61*c66ec88fSEmmanuel Vadot cap-mmc-highspeed; 62*c66ec88fSEmmanuel Vadot cd-gpios = <&gpio2 31 0x4>; // 95 63*c66ec88fSEmmanuel Vadot st,sig-dir-dat0; 64*c66ec88fSEmmanuel Vadot st,sig-dir-dat2; 65*c66ec88fSEmmanuel Vadot st,sig-dir-cmd; 66*c66ec88fSEmmanuel Vadot st,sig-pin-fbclk; 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel Vadot vmmc-supply = <&ab8500_ldo_aux3_reg>; 69*c66ec88fSEmmanuel Vadot vqmmc-supply = <&vmmci>; 70*c66ec88fSEmmanuel Vadot 71*c66ec88fSEmmanuel Vadot pinctrl-names = "default", "sleep"; 72*c66ec88fSEmmanuel Vadot pinctrl-0 = <&sdi0_default_mode>; 73*c66ec88fSEmmanuel Vadot pinctrl-1 = <&sdi0_sleep_mode>; 74*c66ec88fSEmmanuel Vadot}; 75