[PATCH v1 1/5] ARM: imx28: add basic dt support
Grant Likely
grant.likely at secretlab.ca
Tue Mar 13 13:23:51 EDT 2012
On Tue, 13 Mar 2012 16:47:04 +0800, Dong Aisheng <b29396 at freescale.com> wrote:
> From: Dong Aisheng <dong.aisheng at linaro.org>
>
> This patch includes basic dt support which can boot via nfs rootfs.
>
> Signed-off-by: Dong Aisheng <dong.aisheng at linaro.org>
> ---
> 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.
> + 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.
More information about the linux-arm-kernel
mailing list