Thread (1 message) 1 message, 1 author, 2012-03-23

[PATCH v2 1/1] ARM: imx28: add basic dt support

From: Dong Aisheng <hidden>
Date: 2012-03-23 17:21:38
Also in: linux-devicetree

Possibly related (same subject, not in this thread)

Hi Marek,

On Fri, Mar 23, 2012 at 10:43 PM, Marek Vasut [off-list ref] wrote:
Dear Dong Aisheng,
quoted
From: Dong Aisheng <redacted>

This patch includes basic dt support which can boot via nfs rootfs.

Signed-off-by: Dong Aisheng <redacted>
---
ChangeLog v1->v2:
?* Some fixes addressed Rob's review comments.
? ?Remove using of OF_DEV_AUXDATA.
?* Remove mac address from dts file
? ?Currently we use the mac address got from uboot to work.
? ?Will submit a p separate atch using prom_update_property to fix this
? ?issue for driver based on suggestions from Grant and Lothar.
?* rename mxs-dt.c to mach-mxs.c which is supposed to support mx23 dt
? ?too in the future.
?* add compatible string "fsl,imx28" per Sascha's suggestion
?* add more devices in dtsi file
? ?For those devices still not in use, set the state to "disabled"
? ?by default.

For other patches i sent with this in the first series like mmc and sdma
dt support, i will send out them separately since this patch does not
depend on them and does not block you to run dt via nfs rootfs.
---
?Documentation/devicetree/bindings/arm/fsl.txt | ? ?4 +
?arch/arm/boot/dts/imx28-evk.dts ? ? ? ? ? ? ? | ? 35 +++
Isn't this supposed to be "mx28evk.dts"?
I just keep consistent with other existing imx dts file like imx6q-arm2.dts.
quoted
?arch/arm/boot/dts/imx28.dtsi ? ? ? ? ? ? ? ? ?| ?358
+++++++++++++++++++++++++ arch/arm/mach-mxs/Kconfig ? ? ? ? ? ? ? ? ? ? |
? 8 +
?arch/arm/mach-mxs/Makefile ? ? ? ? ? ? ? ? ? ?| ? ?1 +
?arch/arm/mach-mxs/clock-mx28.c ? ? ? ? ? ? ? ?| ? ?4 +
?arch/arm/mach-mxs/mach-mxs.c ? ? ? ? ? ? ? ? ?| ? 69 +++++
?7 files changed, 479 insertions(+), 0 deletions(-)
?create mode 100644 arch/arm/boot/dts/imx28-evk.dts
?create mode 100644 arch/arm/boot/dts/imx28.dtsi
?create mode 100644 arch/arm/mach-mxs/mach-mxs.c
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..5402495
--- /dev/null
+++ b/arch/arm/boot/dts/imx28-evk.dts
@@ -0,0 +1,35 @@
+/*
+ * 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 {
+ ? ? ? ? ? ? ethernet at 800f0000 {
fec at ... would be more readable, but I think this was decided before to be like
this?
Yes.
quoted
+ ? ? ? ? ? ? ? ? ? ? phy-mode = "rmii";
+ ? ? ? ? ? ? ? ? ? ? status = "okay";
+ ? ? ? ? ? ? };
+
[...]
quoted
diff --git a/arch/arm/mach-mxs/Makefile b/arch/arm/mach-mxs/Makefile
index 908bf9a..8328c45 100644
--- a/arch/arm/mach-mxs/Makefile
+++ b/arch/arm/mach-mxs/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_PM) += pm.o
?obj-$(CONFIG_SOC_IMX23) += clock-mx23.o
?obj-$(CONFIG_SOC_IMX28) += clock-mx28.o

+obj-$(CONFIG_MACH_MXS_DT) += mach-mxs.o
?obj-$(CONFIG_MACH_STMP378X_DEVB) += mach-stmp378x_devb.o
?obj-$(CONFIG_MACH_MX23EVK) += mach-mx23evk.o
?obj-$(CONFIG_MACH_MX28EVK) += mach-mx28evk.o
diff --git a/arch/arm/mach-mxs/clock-mx28.c
b/arch/arm/mach-mxs/clock-mx28.c index 5d68e41..88ed30c 100644
--- a/arch/arm/mach-mxs/clock-mx28.c
+++ b/arch/arm/mach-mxs/clock-mx28.c
@@ -671,6 +671,10 @@ static struct clk_lookup lookups[] = {
? ? ? _REGISTER_CLOCK("imx28-fb", NULL, lcdif_clk)
? ? ? _REGISTER_CLOCK("mxs-saif.0", NULL, saif0_clk)
? ? ? _REGISTER_CLOCK("mxs-saif.1", NULL, saif1_clk)
+ ? ? /* for DT */
+ ? ? _REGISTER_CLOCK("80074000.serial", NULL, uart_clk)
+ ? ? _REGISTER_CLOCK("800f0000.ethernet", NULL, fec_clk)
+ ? ? _REGISTER_CLOCK("800f4000.ethernet", NULL, fec_clk)
Wasn't the DT stuff supposed to be more symbolic? Aka. this seems weird.
Sorry, i'm not quite understand.
What's your suggestion to change?

Regards
Dong Aisheng
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help