ARM: realview: add MMCI to the PB1176 DTS
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 13 Oct 2014 11:21:40 +0000 (13:21 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 22 Oct 2014 11:49:13 +0000 (13:49 +0200)
This adds the MMC/SD card reader (MMCI) block to the
RealView PB1176 DTS file. Add a special MCLK derived clock
and a fixed regulator to represent the 3.3V rail hardwired
to the MMC reader on the board.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/boot/dts/arm-realview-pb1176.dts

index c292295..ff26c7e 100644 (file)
@@ -22,6 +22,7 @@
 
 /dts-v1/;
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
 #include "skeleton.dtsi"
 
 / {
                reg = <0x00000000 0x08000000>;
        };
 
+       /* The voltage to the MMC card is hardwired at 3.3V */
+       vmmc: fixedregulator@0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vmmc";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+        };
+
        xtal24mhz: xtal24mhz@24M {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clocks = <&xtal24mhz>;
        };
 
+       mclk: mclk@24M {
+               #clock-cells = <0>;
+               compatible = "fixed-factor-clock";
+               clock-div = <1>;
+               clock-mult = <1>;
+               clocks = <&xtal24mhz>;
+       };
+
        kmiclk: kmiclk@24M {
                #clock-cells = <0>;
                compatible = "fixed-factor-clock";
                compatible = "simple-bus";
                ranges;
 
+               fpga_mci: mmcsd@10005000 {
+                       compatible = "arm,pl18x", "arm,primecell";
+                       reg = <0x10005000 0x1000>;
+                       interrupt-parent = <&intc_fpga1176>;
+                       interrupts = <0 1 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 2 IRQ_TYPE_LEVEL_HIGH>;
+                       /* Due to frequent FIFO overruns, use just 500 kHz */
+                       max-frequency = <500000>;
+                       bus-width = <4>;
+                       cap-sd-highspeed;
+                       cap-mmc-highspeed;
+                       clocks = <&mclk>, <&pclk>;
+                       clock-names = "mclk", "apb_pclk";
+                       vmmc-supply = <&vmmc>;
+                       cd-gpios = <&fpga_gpio1 0 GPIO_ACTIVE_LOW>;
+                       wp-gpios = <&fpga_gpio1 1 GPIO_ACTIVE_HIGH>;
+               };
+
                fpga_kmi0: kmi@10006000 {
                        compatible = "arm,pl050", "arm,primecell";
                        reg = <0x10006000 0x1000>;