[PATCH v1 1/5] ARM: imx28: add basic dt support
From: Grant Likely <hidden>
Date: 2012-03-13 17:23:58
Also in:
linux-devicetree, linux-mmc, lkml
On Tue, 13 Mar 2012 16:47:04 +0800, Dong Aisheng [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Dong Aisheng <redacted> This patch includes basic dt support which can boot via nfs rootfs. Signed-off-by: Dong Aisheng <redacted> --- Documentation/devicetree/bindings/arm/fsl.txt | 4 + arch/arm/boot/dts/imx28-evk.dts | 31 +++++++++ arch/arm/boot/dts/imx28.dtsi | 88 +++++++++++++++++++++++++ arch/arm/mach-mxs/Kconfig | 9 +++ arch/arm/mach-mxs/Makefile | 1 + arch/arm/mach-mxs/imx28-dt.c | 67 +++++++++++++++++++ 6 files changed, 200 insertions(+), 0 deletions(-)diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt index 54bddda..9f21faf 100644 --- a/Documentation/devicetree/bindings/arm/fsl.txt +++ b/Documentation/devicetree/bindings/arm/fsl.txt@@ -1,6 +1,10 @@ Freescale i.MX Platforms Device Tree Bindings ----------------------------------------------- +i.MX28 Evaluation Kit +Required root node properties: + - compatible = "fsl,imx28-evk", "fsl,imx28"; + i.MX51 Babbage Board Required root node properties: - compatible = "fsl,imx51-babbage", "fsl,imx51";diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts new file mode 100644 index 0000000..9758dc4 --- /dev/null +++ b/arch/arm/boot/dts/imx28-evk.dts@@ -0,0 +1,31 @@ +/* + * Copyright 2012 Freescale Semiconductor, Inc. + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +/dts-v1/; +/include/ "imx28.dtsi" + +/ { + model = "Freescale i.MX28 Evaluation Kit"; + compatible = "fsl,imx28-evk", "fsl,imx28"; + + memory { + device_type = "memory"; + reg = <0x40000000 0x08000000>; + }; + + ahb at 80080000 { + fec at 800f0000 { + phy-mode = "rmii"; + local-mac-address = [00 04 9F 01 7D 5B];
Generally a bad idea to put a specific mac address into the device tree. Better to fill it with zeros. Otherwise all the dev boards will end up using the same value.
quoted hunk ↗ jump to hunk
+ status = "okay"; + }; + }; +};diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi new file mode 100644 index 0000000..acf0dab --- /dev/null +++ b/arch/arm/boot/dts/imx28.dtsi@@ -0,0 +1,88 @@ +/* + * Copyright 2012 Freescale Semiconductor, Inc. + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +/include/ "skeleton.dtsi" + +/ { + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&icoll>; + + aliases { + serial0 = &uart1; + }; + + cpus { + cpu at 0 { + compatible = "arm,arm926ejs"; + }; + }; + + apb at 80000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x80000000 0x80000>; + ranges; + + apbh at 80000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x80000000 0x3c900>; + ranges; + + icoll: interrupt-controller at 80000000 { + compatible = "fsl,imx28-icoll"; + interrupt-controller; + #interrupt-cells = <1>; + reg = <0x80000000 0x2000>; + }; + }; + + apbx at 80040000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x80040000 0x40000>; + ranges; + + uart1: uart at 80074000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x80074000 0x2000>; + interrupts = <47>; + }; + };
What is the purpose of the apbh and apbx busses? Will more device nodes get added to them later, or does each only contain a single device? g.