[PATCH V4 2/5] arm/dt: add very basic dts file for babbage board
Jason Hui
jason.hui at linaro.org
Fri Mar 11 18:33:24 EST 2011
Hi, Shawn,
On Fri, Mar 11, 2011 at 2:56 PM, Shawn Guo <shawn.guo at freescale.com> wrote:
> Hi Jason,
>
> On Thu, Mar 10, 2011 at 12:59:42PM +0800, Jason Liu wrote:
>> Signed-off-by: Jason Liu <jason.hui at linaro.org>
>> Signed-off-by: Jason Liu <r64343 at freescale.com>
>> Singed-off-by: Rob Herring <robherring2 at 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:
>> + *
>> + * http://www.opensource.org/licenses/gpl-license.html
>> + * http://www.gnu.org/copyleft/gpl.html
>> + */
>> +
>> +/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 at 73f00000 {
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + compatible = "simple-bus";
>> + ranges = <0x0 0x73f00000 0x100000>;
>> +
>> + imx-uart at bc000 {
>> + compatible = "fsl,imx51-uart";
>> + reg = <0xbc000 0x1000>;
>> + interrupts = <0x1f>;
>> + fsl,has-rts-cts;
>> + uart-clock = <&uart0_clk>, "uart";
>> + };
>> +
>> + imx-uart at c0000 {
>> + compatible = "fsl,imx51-uart";
>> + reg = <0xc0000 0x1000>;
>> + interrupts = <0x20>;
>> + fsl,has-rts-cts;
>> + uart-clock = <&uart1_clk>, "uart";
>> + };
>> + };
>> +
>> + spba at 70000000 {
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + compatible = "simple-bus";
>> + ranges = <0x0 0x70000000 0x100000>;
>> +
>> + imx-uart at c000 {
>> + compatible = "fsl,imx51-uart";
>> + reg = <0xc000 0x1000>;
>> + interrupts = <0x21>;
>> + fsl,has-rts-cts;
>> + uart-clock = <&uart2_clk>, "uart";
>> + };
>> + };
>> +
> Moving spba at 70000000 section after aips at 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 at 70000000) while xyz2 is on bus apis at 73f00000. Your fix is
> broken here, as you need to put spba at 70000000 after aips at 73f00000 for
> uart driver, while xyz driver requires spba at 70000000 stays before
> aips at 73f00000.
No, I don't think so. Where the section is put is not one strict rule,
take a look at
powerpc dts file, you will see that.
>
> Also this quick fix is working for uart, but will not for some others,
> for example, eCSPI and SSI, which requires spba at 70000000 even behind
> aips at 83f00000 with your solution.
I don't see what's wrong with eCSPI and SSI when put spba behind aips
just like uart.
I will not take your comments.
BR,
Jason
More information about the devicetree-discuss
mailing list