summaryrefslogtreecommitdiffstats
path: root/sys/boot/fdt/dts
diff options
context:
space:
mode:
authorloos <loos@FreeBSD.org>2015-05-21 17:39:42 +0000
committerloos <loos@FreeBSD.org>2015-05-21 17:39:42 +0000
commit7b0055b31081ea9e862e9782e2cd5d957ac9b157 (patch)
tree87aad7c040bd0e443d6816f15fed80747d1db24e /sys/boot/fdt/dts
parentba307f79ae0de7bc8108458af27ce0949aeff3ed (diff)
downloadFreeBSD-src-7b0055b31081ea9e862e9782e2cd5d957ac9b157.zip
FreeBSD-src-7b0055b31081ea9e862e9782e2cd5d957ac9b157.tar.gz
Add the MMC/SD driver for Allwinner SoCs.
This is based on the patch sent by Alexander Fedorov with the following fixes/improvements: - Better error handling; - Clock is derived from PLL6 (obtained from netbsd); - No more unnecessary busy loops on interrupt handler; - style(9) fixes and code cleanup. I also want to thanks Martin Galvan who has sent an alternative implementation with some interesting fixes. Tested on CubieBoard2, Banana-Pi (thanks to netgate!) and Cubieboard1 (Pratik Singhal). This is intended to pave the way for the upcoming GSoC work (and make easier the build of images for the supported boards). PR: 196081 Submitted by: Alexander Fedorov <alexander.fedorov@rtlservice.com>
Diffstat (limited to 'sys/boot/fdt/dts')
-rw-r--r--sys/boot/fdt/dts/arm/cubieboard.dts4
-rw-r--r--sys/boot/fdt/dts/arm/cubieboard2.dts4
-rw-r--r--sys/boot/fdt/dts/arm/sun4i-a10.dtsi8
-rw-r--r--sys/boot/fdt/dts/arm/sun7i-a20.dtsi8
4 files changed, 24 insertions, 0 deletions
diff --git a/sys/boot/fdt/dts/arm/cubieboard.dts b/sys/boot/fdt/dts/arm/cubieboard.dts
index 636b5ce..d9a7c15 100644
--- a/sys/boot/fdt/dts/arm/cubieboard.dts
+++ b/sys/boot/fdt/dts/arm/cubieboard.dts
@@ -57,6 +57,10 @@
status = "okay";
};
+ mmc0: mmc@01c0f000 {
+ status = "okay";
+ };
+
emac@01c0b000 {
status = "okay";
};
diff --git a/sys/boot/fdt/dts/arm/cubieboard2.dts b/sys/boot/fdt/dts/arm/cubieboard2.dts
index ce0081e..9593b91 100644
--- a/sys/boot/fdt/dts/arm/cubieboard2.dts
+++ b/sys/boot/fdt/dts/arm/cubieboard2.dts
@@ -57,6 +57,10 @@
status = "okay";
};
+ mmc0: mmc@01c0f000 {
+ status = "okay";
+ };
+
emac@01c0b000 {
status = "okay";
};
diff --git a/sys/boot/fdt/dts/arm/sun4i-a10.dtsi b/sys/boot/fdt/dts/arm/sun4i-a10.dtsi
index 09eebaa..087e314 100644
--- a/sys/boot/fdt/dts/arm/sun4i-a10.dtsi
+++ b/sys/boot/fdt/dts/arm/sun4i-a10.dtsi
@@ -103,6 +103,14 @@
interrupt-parent = <&AINTC>;
};
+ mmc0: mmc@01c0f000 {
+ compatible = "allwinner,sun4i-a10-mmc";
+ reg = <0x01c0f000 0x1000>;
+ interrupts = <32>;
+ interrupt-parent = <&AINTC>;
+ status = "disabled";
+ };
+
sata@01c18000 {
compatible = "allwinner,sun4i-ahci";
reg = <0x01c18000 0x1000>;
diff --git a/sys/boot/fdt/dts/arm/sun7i-a20.dtsi b/sys/boot/fdt/dts/arm/sun7i-a20.dtsi
index ab4ef1e..7dd8947 100644
--- a/sys/boot/fdt/dts/arm/sun7i-a20.dtsi
+++ b/sys/boot/fdt/dts/arm/sun7i-a20.dtsi
@@ -109,6 +109,14 @@
interrupt-parent = <&GIC>;
};
+ mmc0: mmc@01c0f000 {
+ compatible = "allwinner,sun4i-a10-mmc";
+ reg = <0x01c0f000 0x1000>;
+ interrupts = <32>;
+ interrupt-parent = <&GIC>;
+ status = "disabled";
+ };
+
sata@01c18000 {
compatible = "allwinner,sun4i-a10-ahci";
reg = <0x01c18000 0x1000>;
OpenPOWER on IntegriCloud