[FE training-materials-updates] Add a bunch of slides about MBus DT binding
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Tue Jul 22 11:26:59 CEST 2014
Repository : git://git.free-electrons.com/training-materials.git
On branch : marvell-armada
Link : http://git.free-electrons.com/training-materials/commit/?id=4ffe182ce74d1a3d661b0bcba65ade66f514fe47
>---------------------------------------------------------------
commit 4ffe182ce74d1a3d661b0bcba65ade66f514fe47
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date: Tue Jul 22 11:26:33 2014 +0200
Add a bunch of slides about MBus DT binding
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>---------------------------------------------------------------
4ffe182ce74d1a3d661b0bcba65ade66f514fe47
.../kernel-marvell-armada.tex | 110 ++++++++++++++++++++
1 file changed, 110 insertions(+)
diff --git a/slides/kernel-marvell-armada/kernel-marvell-armada.tex b/slides/kernel-marvell-armada/kernel-marvell-armada.tex
index 03e01d3..7898711 100644
--- a/slides/kernel-marvell-armada/kernel-marvell-armada.tex
+++ b/slides/kernel-marvell-armada/kernel-marvell-armada.tex
@@ -221,6 +221,116 @@ In \code{arch/arm/boot/dts}
\end{frame}
+\begin{frame}[fragile]{MBus binding, SoC level (1)}
+
+\tiny
+\begin{minted}{perl}
+#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
+
+/ {
+ soc {
+ compatible = "marvell,armada375-mbus", "marvell,armada370-mbus", "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <1>;
+ pcie-mem-aperture = <0xe0000000 0x8000000>;
+ pcie-io-aperture = <0xe8000000 0x100000>;
+
+ bootrom {
+ compatible = "marvell,bootrom";
+ reg = <MBUS_ID(0x01, 0x1d) 0 0x100000>;
+ };
+
+ devbus-bootcs {
+ compatible = "marvell,mvebu-devbus";
+ reg = <MBUS_ID(0xf0, 0x01) 0x10400 0x8>;
+ ranges = <0 MBUS_ID(0x01, 0x2f) 0 0xffffffff>;
+ ...
+ };
+
+ internal-regs {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
+
+ scu at c000 {
+ compatible = "arm,cortex-a9-scu";
+ reg = <0xc000 0x58>;
+ };
+ };
+\end{minted}
+
+\end{frame}
+
+\begin{frame}[fragile]{MBus binding, SoC level (2)}
+
+\tiny
+\begin{minted}{perl}
+ pcie-controller {
+ compatible = "marvell,armada-370-pcie";
+ device_type = "pci";
+ #address-cells = <3>;
+ #size-cells = <2>;
+ msi-parent = <&mpic>;
+ bus-range = <0x00 0xff>;
+
+ ranges =
+ <0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000
+ 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000
+ 0x82000000 0x1 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 0 MEM */
+ 0x81000000 0x1 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 0 IO */
+ 0x82000000 0x2 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 1 MEM */
+ 0x81000000 0x2 0 MBUS_ID(0x04, 0xd0) 0 1 0 /* Port 1 IO */>;
+
+ pcie at 1,0 {
+ device_type = "pci";
+ assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
+ reg = <0x0800 0 0 0 0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
+ 0x81000000 0 0 0x81000000 0x1 0 1 0>;
+ interrupt-map-mask = <0 0 0 0>;
+ interrupt-map = <0 0 0 0 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+ ...
+ };
+ };
+ };
+};
+\end{minted}
+\end{frame}
+
+\begin{frame}[fragile]{MBus binding, board level}
+
+Armada 375 DB
+
+{\tiny
+\begin{minted}{perl}
+/ {
+ soc {
+ ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
+ MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000>;
+ };
+};
+\end{minted}
+}
+
+Armada XP GP
+
+{\tiny
+\begin{minted}{perl}
+/ {
+ soc {
+ ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
+ MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
+ MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x1000000>;
+ };
+};
+\end{minted}
+}
+\end{frame}
+
\begin{frame}{Programming practices}
\begin{itemize}
\item Device Tree
More information about the training-materials-updates
mailing list