diff mbox

Add apf51 basic support

Message ID 1355694591-7084-1-git-send-email-laurent.cans@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Laurent Cans Dec. 16, 2012, 9:49 p.m. UTC
Signed-off-by: Laurent Cans <laurent.cans@gmail.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
---
 arch/arm/boot/dts/Makefile        |    3 +-
 arch/arm/boot/dts/imx51-apf51.dts |   68 +++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/imx51.dtsi      |   30 ++++++++++++++++
 3 files changed, 100 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/imx51-apf51.dts

Comments

Sascha Hauer Dec. 19, 2012, 8:39 p.m. UTC | #1
On Sun, Dec 16, 2012 at 10:49:51PM +0100, Laurent Cans wrote:
> Signed-off-by: Laurent Cans <laurent.cans@gmail.com>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
> ---
> +	clocks {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		ckih1 {
> +			compatible = "fsl,imx-ckih1", "fixed-clock";
> +			clock-frequency = <0>;
> +		};
> +
> +		osc {
> +			compatible = "fsl,imx-osc", "fixed-clock";
> +			clock-frequency = <33554432>;
> +		};

These compatible properties shouldn't be necessary, right?

> +	};
> +	soc {
> +		aips@70000000 { /* aips-1 */
> +			spba@70000000 {
> +				uart3: serial@7000c000 {
> +					pinctrl-names = "default";
> +					pinctrl-0 = <&pinctrl_uart3_2>;
> +					status = "okay";
> +				};
> +			};
> +		};

This (and the other nodes) can more eaasily be written as:

&uart3 {
	...
};

see arch/arm/boot/dts/omap5-evm.dts for a good example.

This has the advantage that you don't have to resemble the SoC layout
in your board file.

Sascha
Laurent Cans Jan. 2, 2013, 8:41 a.m. UTC | #2
2012/12/19 Sascha Hauer <s.hauer@pengutronix.de>:
> On Sun, Dec 16, 2012 at 10:49:51PM +0100, Laurent Cans wrote:
>> Signed-off-by: Laurent Cans <laurent.cans@gmail.com>
>> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
>> ---
>> +     clocks {
>> +             #address-cells = <1>;
>> +             #size-cells = <0>;
>> +
>> +             ckih1 {
>> +                     compatible = "fsl,imx-ckih1", "fixed-clock";
>> +                     clock-frequency = <0>;
>> +             };
>> +
>> +             osc {
>> +                     compatible = "fsl,imx-osc", "fixed-clock";
>> +                     clock-frequency = <33554432>;
>> +             };
>
> These compatible properties shouldn't be necessary, right?

Yes you are right. I will correct that.

>
>> +     };
>> +     soc {
>> +             aips@70000000 { /* aips-1 */
>> +                     spba@70000000 {
>> +                             uart3: serial@7000c000 {
>> +                                     pinctrl-names = "default";
>> +                                     pinctrl-0 = <&pinctrl_uart3_2>;
>> +                                     status = "okay";
>> +                             };
>> +                     };
>> +             };
>
> This (and the other nodes) can more eaasily be written as:
>
> &uart3 {
>         ...
> };
>
> see arch/arm/boot/dts/omap5-evm.dts for a good example.
>
> This has the advantage that you don't have to resemble the SoC layout
> in your board file.

I will send v2 version of the patch during the week written with this
new layout.

Thanks for the comments

>
> Sascha
>
> --
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
Shawn Guo Jan. 3, 2013, 8:35 a.m. UTC | #3
On Wed, Dec 19, 2012 at 09:39:36PM +0100, Sascha Hauer wrote:
> On Sun, Dec 16, 2012 at 10:49:51PM +0100, Laurent Cans wrote:
> > Signed-off-by: Laurent Cans <laurent.cans@gmail.com>
> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
> > ---
> > +	clocks {
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +
> > +		ckih1 {
> > +			compatible = "fsl,imx-ckih1", "fixed-clock";
> > +			clock-frequency = <0>;
> > +		};
> > +
> > +		osc {
> > +			compatible = "fsl,imx-osc", "fixed-clock";
> > +			clock-frequency = <33554432>;
> > +		};
> 
> These compatible properties shouldn't be necessary, right?
> 
Use node path instead?  But imx51 clock driver is already using
compatible property to identify the clocks.

Shawn
Laurent Cans Jan. 6, 2013, 4:19 p.m. UTC | #4
2013/1/3 Shawn Guo <shawn.guo@linaro.org>:
> On Wed, Dec 19, 2012 at 09:39:36PM +0100, Sascha Hauer wrote:
>> On Sun, Dec 16, 2012 at 10:49:51PM +0100, Laurent Cans wrote:
>> > Signed-off-by: Laurent Cans <laurent.cans@gmail.com>
>> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
>> > ---
>> > +   clocks {
>> > +           #address-cells = <1>;
>> > +           #size-cells = <0>;
>> > +
>> > +           ckih1 {
>> > +                   compatible = "fsl,imx-ckih1", "fixed-clock";
>> > +                   clock-frequency = <0>;
>> > +           };
>> > +
>> > +           osc {
>> > +                   compatible = "fsl,imx-osc", "fixed-clock";
>> > +                   clock-frequency = <33554432>;
>> > +           };
>>
>> These compatible properties shouldn't be necessary, right?
>>
> Use node path instead?  But imx51 clock driver is already using
> compatible property to identify the clocks.
>
> Shawn
>

Hi shawn,

I don't understand your remarks.

The method used to define clocks is incorrect? What is the recommended
method to define clocks?

Laurent
Shawn Guo Jan. 7, 2013, 1:01 p.m. UTC | #5
On Sun, Jan 06, 2013 at 05:19:13PM +0100, Laurent CANS wrote:
> 2013/1/3 Shawn Guo <shawn.guo@linaro.org>:
> > On Wed, Dec 19, 2012 at 09:39:36PM +0100, Sascha Hauer wrote:
> >> On Sun, Dec 16, 2012 at 10:49:51PM +0100, Laurent Cans wrote:
> >> > Signed-off-by: Laurent Cans <laurent.cans@gmail.com>
> >> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
> >> > ---
> >> > +   clocks {
> >> > +           #address-cells = <1>;
> >> > +           #size-cells = <0>;
> >> > +
> >> > +           ckih1 {
> >> > +                   compatible = "fsl,imx-ckih1", "fixed-clock";
> >> > +                   clock-frequency = <0>;
> >> > +           };
> >> > +
> >> > +           osc {
> >> > +                   compatible = "fsl,imx-osc", "fixed-clock";
> >> > +                   clock-frequency = <33554432>;
> >> > +           };
> >>
> >> These compatible properties shouldn't be necessary, right?
> >>
> > Use node path instead?  But imx51 clock driver is already using
> > compatible property to identify the clocks.
> >
> > Shawn
> >
> 
> Hi shawn,
> 
> I don't understand your remarks.
> 
Or I misunderstood Sascha's comment?  I thought he was asking you to
remove those compatible properties, and I do not understand how that
would work, since clock code is looking for the node using the
compatible property.

Shawn

> The method used to define clocks is incorrect? What is the recommended
> method to define clocks?
> 
> Laurent
Sascha Hauer Jan. 7, 2013, 1:15 p.m. UTC | #6
On Mon, Jan 07, 2013 at 09:01:39PM +0800, Shawn Guo wrote:
> On Sun, Jan 06, 2013 at 05:19:13PM +0100, Laurent CANS wrote:
> > 2013/1/3 Shawn Guo <shawn.guo@linaro.org>:
> > > On Wed, Dec 19, 2012 at 09:39:36PM +0100, Sascha Hauer wrote:
> > >> On Sun, Dec 16, 2012 at 10:49:51PM +0100, Laurent Cans wrote:
> > >> > Signed-off-by: Laurent Cans <laurent.cans@gmail.com>
> > >> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
> > >> > ---
> > >> > +   clocks {
> > >> > +           #address-cells = <1>;
> > >> > +           #size-cells = <0>;
> > >> > +
> > >> > +           ckih1 {
> > >> > +                   compatible = "fsl,imx-ckih1", "fixed-clock";
> > >> > +                   clock-frequency = <0>;
> > >> > +           };
> > >> > +
> > >> > +           osc {
> > >> > +                   compatible = "fsl,imx-osc", "fixed-clock";
> > >> > +                   clock-frequency = <33554432>;
> > >> > +           };
> > >>
> > >> These compatible properties shouldn't be necessary, right?
> > >>
> > > Use node path instead?  But imx51 clock driver is already using
> > > compatible property to identify the clocks.
> > >
> > > Shawn
> > >
> > 
> > Hi shawn,
> > 
> > I don't understand your remarks.
> > 
> Or I misunderstood Sascha's comment?  I thought he was asking you to
> remove those compatible properties, and I do not understand how that
> would work, since clock code is looking for the node using the
> compatible property.

What I meant is that the compatible properties are already in the dtsi
file and thus can be removed from the dts.

Sascha
Shawn Guo Jan. 7, 2013, 1:28 p.m. UTC | #7
On Mon, Jan 07, 2013 at 02:15:13PM +0100, Sascha Hauer wrote:
> What I meant is that the compatible properties are already in the dtsi
> file and thus can be removed from the dts.
> 
Aha, sorry, I indeed misunderstood your comment.

Shawn
diff mbox

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index f37cf9f..8600cdf 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -45,7 +45,8 @@  dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
 	msm8960-cdp.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
 	armada-xp-db.dtb
-dtb-$(CONFIG_ARCH_MXC) += imx51-babbage.dtb \
+dtb-$(CONFIG_ARCH_MXC) += imx51-apf51.dtb \
+	imx51-babbage.dtb \
 	imx53-ard.dtb \
 	imx53-evk.dtb \
 	imx53-qsb.dtb \
diff --git a/arch/arm/boot/dts/imx51-apf51.dts b/arch/arm/boot/dts/imx51-apf51.dts
new file mode 100644
index 0000000..c7cdafa
--- /dev/null
+++ b/arch/arm/boot/dts/imx51-apf51.dts
@@ -0,0 +1,68 @@ 
+/*
+ * Copyright 2012 Laurent Cans <laurent.cans@gmail.com>
+ *
+ * Based on mx51-babbage.dts
+ * Copyright 2011 Freescale Semiconductor, Inc.
+ * Copyright 2011 Linaro Ltd.
+ *
+ * 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/ "imx51.dtsi"
+
+/ {
+	model = "Armadeus Systems APF51 Board";
+	compatible = "fsl,imx51-apf51", "fsl,imx51";
+	memory {
+		reg = <0x90000000 0x20000000>;
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ckih1 {
+			compatible = "fsl,imx-ckih1", "fixed-clock";
+			clock-frequency = <0>;
+		};
+
+		osc {
+			compatible = "fsl,imx-osc", "fixed-clock";
+			clock-frequency = <33554432>;
+		};
+	};
+	soc {
+		aips@70000000 { /* aips-1 */
+			spba@70000000 {
+				uart3: serial@7000c000 {
+					pinctrl-names = "default";
+					pinctrl-0 = <&pinctrl_uart3_2>;
+					status = "okay";
+				};
+			};
+		};
+		aips@80000000 {	/* aips-2 */
+			nand0: nand@83fdb000 {
+				nand-bus-width = <8>;
+				nand-ecc-mode = "hw";
+				nand-on-flash-bbt;
+				status = "okay";
+			};
+
+			ethernet@83fec000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_fec_2>;
+				phy-mode = "mii";
+				phy-reset-gpios = <&gpio3 0 0>;
+				phy-reset-duration = <1>;
+				status = "okay";
+			};
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi
index 75d069f..0de37bd 100644
--- a/arch/arm/boot/dts/imx51.dtsi
+++ b/arch/arm/boot/dts/imx51.dtsi
@@ -248,6 +248,29 @@ 
 							260 0x80000000	/* MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK */
 						>;
 					};
+
+					pinctrl_fec_2: fecgrp-2 {
+						fsl,pins = <
+							589 0x80000000 /* MX51_PAD_DI_GP3__FEC_TX_ER */
+							592 0x80000000 /* MX51_PAD_DI2_PIN4__FEC_CRS */
+							594 0x80000000 /* MX51_PAD_DI2_PIN2__FEC_MDC */
+							596 0x80000000 /* MX51_PAD_DI2_PIN3__FEC_MDIO */
+							598 0x80000000 /* MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 */
+							602 0x80000000 /* MX51_PAD_DI_GP4__FEC_RDATA2 */
+							604 0x80000000 /* MX51_PAD_DISP2_DAT0__FEC_RDATA3 */
+							609 0x80000000 /* MX51_PAD_DISP2_DAT1__FEC_RX_ER */
+							618 0x80000000 /* MX51_PAD_DISP2_DAT6__FEC_TDATA1 */
+							623 0x80000000 /* MX51_PAD_DISP2_DAT7__FEC_TDATA2 */
+							628 0x80000000 /* MX51_PAD_DISP2_DAT8__FEC_TDATA3 */
+							634 0x80000000 /* MX51_PAD_DISP2_DAT9__FEC_TX_EN */
+							639 0x80000000 /* MX51_PAD_DISP2_DAT10__FEC_COL */
+							644 0x80000000 /* MX51_PAD_DISP2_DAT11__FEC_RX_CLK */
+							649 0x80000000 /* MX51_PAD_DISP2_DAT12__FEC_RX_DV */
+							653 0x80000000 /* MX51_PAD_DISP2_DAT13__FEC_TX_CLK */
+							657 0x80000000 /* MX51_PAD_DISP2_DAT14__FEC_RDATA0 */
+							662 0x80000000 /* MX51_PAD_DISP2_DAT15__FEC_TDATA0 */
+						>;
+					};
 				};
 
 				ecspi1 {
@@ -324,6 +347,13 @@ 
 							49 0x1c5	/* MX51_PAD_EIM_D24__UART3_CTS */
 						>;
 					};
+
+					pinctrl_uart3_2: uart3grp-2 {
+						fsl,pins = <
+							434 0x1c5	/* MX51_PAD_UART3_RXD__UART3_RXD */
+							430 0x1c5	/* MX51_PAD_UART3_TXD__UART3_TXD */
+						>;
+					};
 				};
 			};