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
?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