Hi Jason,
On Thu, Mar 10, 2011 at 12:59:42PM +0800, Jason Liu wrote:
Signed-off-by: Jason Liu jason.hui@linaro.org Signed-off-by: Jason Liu r64343@freescale.com Singed-off-by: Rob Herring robherring2@gmail.com
arch/arm/boot/dts/babbage.dts | 122 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 122 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/babbage.dts b/arch/arm/boot/dts/babbage.dts new file mode 100644 index 0000000..ab87a1b --- /dev/null +++ b/arch/arm/boot/dts/babbage.dts @@ -0,0 +1,122 @@ +/*
- Copyright 2011 Linaro Ltd.
- Copyright 2011 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:
- */
+/dts-v1/;
+/ {
- model = "Freescale i.MX51 Babbage";
- compatible = "fsl,mx51-babbage";
- #address-cells = <1>;
- #size-cells = <1>;
- #interrupt-cells = <1>;
- interrupt-parent = <&tzic>;
- memory {
reg = <0x90000000 0x20000000>;- };
- chosen {
bootargs = "console=ttymxc0,115200n8 debug earlyprintk ip=dhcp";- };
- soc {
#address-cells = <1>;#size-cells = <1>;compatible = "simple-bus";ranges;tzic: tz-interrupt-controller {#address-cells = <0>;#interrupt-cells = <1>;interrupt-controller;reg = <0xe0000000 0x1000>;compatible = "fsl,imx51-tzic";};- };
- clocks {
#address-cells = <1>;#size-cells = <0>;uart0_clk: uart0 {compatible = "clock";clock-outputs = "imx-uart.0";};uart1_clk: uart1 {compatible = "clock";clock-outputs = "imx-uart.1";};uart2_clk: uart2 {compatible = "clock";clock-outputs = "imx-uart.2";};fec_clk: fec {compatible = "clock";clock-outputs = "fec.0";};- };
- aips@73f00000 {
#address-cells = <1>;#size-cells = <1>;compatible = "simple-bus";ranges = <0x0 0x73f00000 0x100000>;imx-uart@bc000 {compatible = "fsl,imx51-uart";reg = <0xbc000 0x1000>;interrupts = <0x1f>;fsl,has-rts-cts;uart-clock = <&uart0_clk>, "uart";};imx-uart@c0000 {compatible = "fsl,imx51-uart";reg = <0xc0000 0x1000>;interrupts = <0x20>;fsl,has-rts-cts;uart-clock = <&uart1_clk>, "uart";};- };
- spba@70000000 {
#address-cells = <1>;#size-cells = <1>;compatible = "simple-bus";ranges = <0x0 0x70000000 0x100000>;imx-uart@c000 {compatible = "fsl,imx51-uart";reg = <0xc000 0x1000>;interrupts = <0x21>;fsl,has-rts-cts;uart-clock = <&uart2_clk>, "uart";};- };
Moving spba@70000000 section after aips@73f00000 seems a quick fix to get console=ttymxc0, but not a right fix to me.
I do not find a real example on mx51, but let's make one, saying there are two instance of one IP block, xyz1 and xyz2, and xyz1 is on bus spba@70000000) while xyz2 is on bus apis@73f00000. Your fix is broken here, as you need to put spba@70000000 after aips@73f00000 for uart driver, while xyz driver requires spba@70000000 stays before aips@73f00000.
Also this quick fix is working for uart, but will not for some others, for example, eCSPI and SSI, which requires spba@70000000 even behind aips@83f00000 with your solution.
- aips@83f00000 {
#address-cells = <1>;#size-cells = <1>;compatible = "simple-bus";ranges = <0x0 0x83f00000 0x100000>;fec@ec000 {compatible = "fsl,imx-fec";reg = <0xec000 0x1000>;interrupts = <0x57>;fec_clk-clock = <&fec_clk>, "fec";};- };
+};