diff mbox

[1/7] arm/imx6: add imx6q sabrelite board support

Message ID 1323661352-10291-2-git-send-email-richard.zhao@linaro.org
State Changes Requested
Headers show

Commit Message

Richard Zhao Dec. 12, 2011, 3:42 a.m. UTC
Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
---
 arch/arm/boot/dts/imx6q-sabrelite.dts |   54 +++++++++++++++++++++++++++++++++
 arch/arm/mach-imx/mach-imx6q.c        |    1 +
 2 files changed, 55 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6q-sabrelite.dts

Comments

Shawn Guo Dec. 12, 2011, 5:40 a.m. UTC | #1
On Mon, Dec 12, 2011 at 11:42:26AM +0800, Richard Zhao wrote:
> Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
> ---
>  arch/arm/boot/dts/imx6q-sabrelite.dts |   54 +++++++++++++++++++++++++++++++++
>  arch/arm/mach-imx/mach-imx6q.c        |    1 +
>  2 files changed, 55 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/boot/dts/imx6q-sabrelite.dts
> 
> diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts
> new file mode 100644
> index 0000000..d54363f
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6q-sabrelite.dts
> @@ -0,0 +1,54 @@
> +/*
> + * 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/ "imx6q.dtsi"
> +
> +/ {
> +	model = "Freescale i.MX6 Quad SABRE Lite Board";
> +	compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
> +
> +	chosen {
> +		bootargs = "console=ttymxc1,115200";
> +	};
> +
Maybe we can start dropping this, since kernel is now able to get
bootargs from atags even in case that bootloader can not pass dtb
and the dtb is appended to kernel image.

> +	memory {
> +		reg = <0x10000000 0x40000000>;
> +	};
> +
> +	soc {
> +		aips-bus@02100000 { /* AIPS2 */
> +			enet@02188000 {
> +				phy-mode = "rgmii";
> +				local-mac-address = [01 04 9F 01 1B 61];

Do we still have no way to figure the mac address from hardware setup
(fuse or something) on sabrelite board?

> +				phy-reset-gpios = <&gpio2 23 0>; /* gpio3 23 */

Nit: If you want to comment it, please comment it in the consistent way,
which is '/* GPIO3_23 */'.

Regards,
Shawn

> +				status = "okay";
> +			};
> +
> +			usdhc@02198000 { /* uSDHC3 */
> +				cd-gpios = <&gpio6 0 0>; /* GPIO7_0 */
> +				wp-gpios = <&gpio6 1 0>; /* GPIO7_1 */
> +				status = "okay";
> +			};
> +
> +			usdhc@0219c000 { /* uSDHC4 */
> +				cd-gpios = <&gpio1 6 0>; /* GPIO2_6 */
> +				wp-gpios = <&gpio1 7 0>; /* GPIO2_7 */
> +				status = "okay";
> +			};
> +
> +			uart1: uart@021e8000 { /* UART2 */
> +				status = "okay";
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
> index 8deb012..d24d6c4 100644
> --- a/arch/arm/mach-imx/mach-imx6q.c
> +++ b/arch/arm/mach-imx/mach-imx6q.c
> @@ -73,6 +73,7 @@ static struct sys_timer imx6q_timer = {
>  
>  static const char *imx6q_dt_compat[] __initdata = {
>  	"fsl,imx6q-sabreauto",
> +	"fsl,imx6q-sabrelite",
>  	NULL,
>  };
>  
> -- 
> 1.7.5.4
Richard Zhao Dec. 12, 2011, 5:50 a.m. UTC | #2
On Mon, Dec 12, 2011 at 01:40:54PM +0800, Shawn Guo wrote:
> On Mon, Dec 12, 2011 at 11:42:26AM +0800, Richard Zhao wrote:
> > Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
> > ---
> >  arch/arm/boot/dts/imx6q-sabrelite.dts |   54 +++++++++++++++++++++++++++++++++
> >  arch/arm/mach-imx/mach-imx6q.c        |    1 +
> >  2 files changed, 55 insertions(+), 0 deletions(-)
> >  create mode 100644 arch/arm/boot/dts/imx6q-sabrelite.dts
> > 
> > diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts
> > new file mode 100644
> > index 0000000..d54363f
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx6q-sabrelite.dts
> > @@ -0,0 +1,54 @@
> > +/*
> > + * 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/ "imx6q.dtsi"
> > +
> > +/ {
> > +	model = "Freescale i.MX6 Quad SABRE Lite Board";
> > +	compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
> > +
> > +	chosen {
> > +		bootargs = "console=ttymxc1,115200";
> > +	};
> > +
> Maybe we can start dropping this, since kernel is now able to get
> bootargs from atags even in case that bootloader can not pass dtb
> and the dtb is appended to kernel image.
kernel has a config "Extend bootloader kernel arguments". Does it help
such case?
> 
> > +	memory {
> > +		reg = <0x10000000 0x40000000>;
> > +	};
> > +
> > +	soc {
> > +		aips-bus@02100000 { /* AIPS2 */
> > +			enet@02188000 {
> > +				phy-mode = "rgmii";
> > +				local-mac-address = [01 04 9F 01 1B 61];
> 
> Do we still have no way to figure the mac address from hardware setup
> (fuse or something) on sabrelite board?
No.
> 
> > +				phy-reset-gpios = <&gpio2 23 0>; /* gpio3 23 */
> 
> Nit: If you want to comment it, please comment it in the consistent way,
> which is '/* GPIO3_23 */'.
good catch.

Thanks
Richard
> 
> Regards,
> Shawn
> 
> > +				status = "okay";
> > +			};
> > +
> > +			usdhc@02198000 { /* uSDHC3 */
> > +				cd-gpios = <&gpio6 0 0>; /* GPIO7_0 */
> > +				wp-gpios = <&gpio6 1 0>; /* GPIO7_1 */
> > +				status = "okay";
> > +			};
> > +
> > +			usdhc@0219c000 { /* uSDHC4 */
> > +				cd-gpios = <&gpio1 6 0>; /* GPIO2_6 */
> > +				wp-gpios = <&gpio1 7 0>; /* GPIO2_7 */
> > +				status = "okay";
> > +			};
> > +
> > +			uart1: uart@021e8000 { /* UART2 */
> > +				status = "okay";
> > +			};
> > +		};
> > +	};
> > +};
> > diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
> > index 8deb012..d24d6c4 100644
> > --- a/arch/arm/mach-imx/mach-imx6q.c
> > +++ b/arch/arm/mach-imx/mach-imx6q.c
> > @@ -73,6 +73,7 @@ static struct sys_timer imx6q_timer = {
> >  
> >  static const char *imx6q_dt_compat[] __initdata = {
> >  	"fsl,imx6q-sabreauto",
> > +	"fsl,imx6q-sabrelite",
> >  	NULL,
> >  };
> >  
> > -- 
> > 1.7.5.4
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Shawn Guo Dec. 12, 2011, 6:08 a.m. UTC | #3
On Mon, Dec 12, 2011 at 01:50:10PM +0800, Richard Zhao wrote:
> On Mon, Dec 12, 2011 at 01:40:54PM +0800, Shawn Guo wrote:
> > On Mon, Dec 12, 2011 at 11:42:26AM +0800, Richard Zhao wrote:
> > > Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
> > > ---
> > >  arch/arm/boot/dts/imx6q-sabrelite.dts |   54 +++++++++++++++++++++++++++++++++
> > >  arch/arm/mach-imx/mach-imx6q.c        |    1 +
> > >  2 files changed, 55 insertions(+), 0 deletions(-)
> > >  create mode 100644 arch/arm/boot/dts/imx6q-sabrelite.dts
> > > 
> > > diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts
> > > new file mode 100644
> > > index 0000000..d54363f
> > > --- /dev/null
> > > +++ b/arch/arm/boot/dts/imx6q-sabrelite.dts
> > > @@ -0,0 +1,54 @@
> > > +/*
> > > + * 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/ "imx6q.dtsi"
> > > +
> > > +/ {
> > > +	model = "Freescale i.MX6 Quad SABRE Lite Board";
> > > +	compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
> > > +
> > > +	chosen {
> > > +		bootargs = "console=ttymxc1,115200";
> > > +	};
> > > +
> > Maybe we can start dropping this, since kernel is now able to get
> > bootargs from atags even in case that bootloader can not pass dtb
> > and the dtb is appended to kernel image.
> kernel has a config "Extend bootloader kernel arguments". Does it help
> such case?

CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT
Richard Zhao Dec. 12, 2011, 7:50 a.m. UTC | #4
> > > > +
> > > > +	chosen {
> > > > +		bootargs = "console=ttymxc1,115200";
> > > > +	};
> > > > +
> > > Maybe we can start dropping this, since kernel is now able to get
> > > bootargs from atags even in case that bootloader can not pass dtb
> > > and the dtb is appended to kernel image.
> > kernel has a config "Extend bootloader kernel arguments". Does it help
> > such case?
> 
> CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT
I don't like puting cmdline in dts either, but kernel provide
CONFIG_CMDLINE_EXTEND and CONFIG_CMDLINE_FORCE, it's better to at least
let uart work. I don't quite insist on it.

Thanks
Richard
> 
> -- 
> Regards,
> Shawn
Shawn Guo Dec. 12, 2011, 8:56 a.m. UTC | #5
On Mon, Dec 12, 2011 at 03:50:48PM +0800, Richard Zhao wrote:
> > > > > +
> > > > > +	chosen {
> > > > > +		bootargs = "console=ttymxc1,115200";
> > > > > +	};
> > > > > +
> > > > Maybe we can start dropping this, since kernel is now able to get
> > > > bootargs from atags even in case that bootloader can not pass dtb
> > > > and the dtb is appended to kernel image.
> > > kernel has a config "Extend bootloader kernel arguments". Does it help
> > > such case?
> > 
> > CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT
> I don't like puting cmdline in dts either, but kernel provide
> CONFIG_CMDLINE_EXTEND and CONFIG_CMDLINE_FORCE, it's better to at least
> let uart work. I don't quite insist on it.
> 
It's irrelevant.  My point is I do not see a real use case for this
'bootargs' from dts.  If your u-boot can pass dtb to kernel, it will
replace the chosen node with its own 'bootargs' parameter anyway.
If your u-boot is too old to pass dtb, you will probably need to enable
CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT to append dtb
to kernel image and have kernel parse 'bootargs' from atags.

That said, in both case, we want to use bootargs set by bootloader.
Sascha Hauer Dec. 12, 2011, 10:12 a.m. UTC | #6
On Mon, Dec 12, 2011 at 01:40:54PM +0800, Shawn Guo wrote:
> 
> > +	memory {
> > +		reg = <0x10000000 0x40000000>;
> > +	};
> > +
> > +	soc {
> > +		aips-bus@02100000 { /* AIPS2 */
> > +			enet@02188000 {
> > +				phy-mode = "rgmii";
> > +				local-mac-address = [01 04 9F 01 1B 61];
> 
> Do we still have no way to figure the mac address from hardware setup
> (fuse or something) on sabrelite board?

Even if not, adding hardcoded MAC addresses to the kernel is a no go.
This includes devicetree blobs.

Sascha
Richard Zhao Dec. 12, 2011, 10:18 a.m. UTC | #7
On Mon, Dec 12, 2011 at 11:12:24AM +0100, Sascha Hauer wrote:
> On Mon, Dec 12, 2011 at 01:40:54PM +0800, Shawn Guo wrote:
> > 
> > > +	memory {
> > > +		reg = <0x10000000 0x40000000>;
> > > +	};
> > > +
> > > +	soc {
> > > +		aips-bus@02100000 { /* AIPS2 */
> > > +			enet@02188000 {
> > > +				phy-mode = "rgmii";
> > > +				local-mac-address = [01 04 9F 01 1B 61];
> > 
> > Do we still have no way to figure the mac address from hardware setup
> > (fuse or something) on sabrelite board?
> 
> Even if not, adding hardcoded MAC addresses to the kernel is a no go.
> This includes devicetree blobs.
If Shawn agree, I can remove it. I don't feel it usefaull on daily develop work.
Let user use fec.macaddr. 

Thanks
Richard
> 
> 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 |
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Sascha Hauer Dec. 12, 2011, 10:26 a.m. UTC | #8
On Mon, Dec 12, 2011 at 06:18:38PM +0800, Richard Zhao wrote:
> On Mon, Dec 12, 2011 at 11:12:24AM +0100, Sascha Hauer wrote:
> > On Mon, Dec 12, 2011 at 01:40:54PM +0800, Shawn Guo wrote:
> > > 
> > > > +	memory {
> > > > +		reg = <0x10000000 0x40000000>;
> > > > +	};
> > > > +
> > > > +	soc {
> > > > +		aips-bus@02100000 { /* AIPS2 */
> > > > +			enet@02188000 {
> > > > +				phy-mode = "rgmii";
> > > > +				local-mac-address = [01 04 9F 01 1B 61];
> > > 
> > > Do we still have no way to figure the mac address from hardware setup
> > > (fuse or something) on sabrelite board?
> > 
> > Even if not, adding hardcoded MAC addresses to the kernel is a no go.
> > This includes devicetree blobs.
> If Shawn agree, I can remove it. I don't feel it usefaull on daily develop work.
> Let user use fec.macaddr.

How useful this is you'll realize when all your collegues end up
with the same MAC address. Just remove it.

Sascha
Rob Herring Dec. 12, 2011, 1:41 p.m. UTC | #9
On 12/11/2011 11:40 PM, Shawn Guo wrote:
> On Mon, Dec 12, 2011 at 11:42:26AM +0800, Richard Zhao wrote:
>> Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
>> ---
>>  arch/arm/boot/dts/imx6q-sabrelite.dts |   54 +++++++++++++++++++++++++++++++++
>>  arch/arm/mach-imx/mach-imx6q.c        |    1 +
>>  2 files changed, 55 insertions(+), 0 deletions(-)
>>  create mode 100644 arch/arm/boot/dts/imx6q-sabrelite.dts
>>
>> diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts
>> new file mode 100644
>> index 0000000..d54363f
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/imx6q-sabrelite.dts
>> @@ -0,0 +1,54 @@
>> +/*
>> + * 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/ "imx6q.dtsi"
>> +
>> +/ {
>> +	model = "Freescale i.MX6 Quad SABRE Lite Board";
>> +	compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
>> +
>> +	chosen {
>> +		bootargs = "console=ttymxc1,115200";
>> +	};
>> +
> Maybe we can start dropping this, since kernel is now able to get
> bootargs from atags even in case that bootloader can not pass dtb
> and the dtb is appended to kernel image.
> 
>> +	memory {
>> +		reg = <0x10000000 0x40000000>;
>> +	};
>> +
>> +	soc {
>> +		aips-bus@02100000 { /* AIPS2 */
>> +			enet@02188000 {
>> +				phy-mode = "rgmii";
>> +				local-mac-address = [01 04 9F 01 1B 61];
> 
> Do we still have no way to figure the mac address from hardware setup
> (fuse or something) on sabrelite board?
> 
>> +				phy-reset-gpios = <&gpio2 23 0>; /* gpio3 23 */
> 
> Nit: If you want to comment it, please comment it in the consistent way,
> which is '/* GPIO3_23 */'.

Better yet, why don't you name the phandles starting at 1 so the comment
isn't needed at all.

Rob
Richard Zhao Dec. 12, 2011, 1:49 p.m. UTC | #10
On Mon, Dec 12, 2011 at 07:41:17AM -0600, Rob Herring wrote:
> On 12/11/2011 11:40 PM, Shawn Guo wrote:
> > On Mon, Dec 12, 2011 at 11:42:26AM +0800, Richard Zhao wrote:
> >> Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
> >> ---
> >>  arch/arm/boot/dts/imx6q-sabrelite.dts |   54 +++++++++++++++++++++++++++++++++
> >>  arch/arm/mach-imx/mach-imx6q.c        |    1 +
> >>  2 files changed, 55 insertions(+), 0 deletions(-)
> >>  create mode 100644 arch/arm/boot/dts/imx6q-sabrelite.dts
> >>
> >> diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts
> >> new file mode 100644
> >> index 0000000..d54363f
> >> --- /dev/null
> >> +++ b/arch/arm/boot/dts/imx6q-sabrelite.dts
> >> @@ -0,0 +1,54 @@
> >> +/*
> >> + * 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/ "imx6q.dtsi"
> >> +
> >> +/ {
> >> +	model = "Freescale i.MX6 Quad SABRE Lite Board";
> >> +	compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
> >> +
> >> +	chosen {
> >> +		bootargs = "console=ttymxc1,115200";
> >> +	};
> >> +
> > Maybe we can start dropping this, since kernel is now able to get
> > bootargs from atags even in case that bootloader can not pass dtb
> > and the dtb is appended to kernel image.
> > 
> >> +	memory {
> >> +		reg = <0x10000000 0x40000000>;
> >> +	};
> >> +
> >> +	soc {
> >> +		aips-bus@02100000 { /* AIPS2 */
> >> +			enet@02188000 {
> >> +				phy-mode = "rgmii";
> >> +				local-mac-address = [01 04 9F 01 1B 61];
> > 
> > Do we still have no way to figure the mac address from hardware setup
> > (fuse or something) on sabrelite board?
> > 
> >> +				phy-reset-gpios = <&gpio2 23 0>; /* gpio3 23 */
> > 
> > Nit: If you want to comment it, please comment it in the consistent way,
> > which is '/* GPIO3_23 */'.
> 
> Better yet, why don't you name the phandles starting at 1 so the comment
> isn't needed at all.
Good idea, but it needs another patch, because it effects all imx6 boards.
Shawn, what do you think?

Thanks
Richard
> 
> Rob
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Shawn Guo Dec. 12, 2011, 2:44 p.m. UTC | #11
On Mon, Dec 12, 2011 at 09:49:54PM +0800, Richard Zhao wrote:
> On Mon, Dec 12, 2011 at 07:41:17AM -0600, Rob Herring wrote:
> > On 12/11/2011 11:40 PM, Shawn Guo wrote:
> > > On Mon, Dec 12, 2011 at 11:42:26AM +0800, Richard Zhao wrote:
> > >> Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
> > >> ---
> > >>  arch/arm/boot/dts/imx6q-sabrelite.dts |   54 +++++++++++++++++++++++++++++++++
> > >>  arch/arm/mach-imx/mach-imx6q.c        |    1 +
> > >>  2 files changed, 55 insertions(+), 0 deletions(-)
> > >>  create mode 100644 arch/arm/boot/dts/imx6q-sabrelite.dts
> > >>
> > >> diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts
> > >> new file mode 100644
> > >> index 0000000..d54363f
> > >> --- /dev/null
> > >> +++ b/arch/arm/boot/dts/imx6q-sabrelite.dts
> > >> @@ -0,0 +1,54 @@
> > >> +/*
> > >> + * 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/ "imx6q.dtsi"
> > >> +
> > >> +/ {
> > >> +	model = "Freescale i.MX6 Quad SABRE Lite Board";
> > >> +	compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
> > >> +
> > >> +	chosen {
> > >> +		bootargs = "console=ttymxc1,115200";
> > >> +	};
> > >> +
> > > Maybe we can start dropping this, since kernel is now able to get
> > > bootargs from atags even in case that bootloader can not pass dtb
> > > and the dtb is appended to kernel image.
> > > 
> > >> +	memory {
> > >> +		reg = <0x10000000 0x40000000>;
> > >> +	};
> > >> +
> > >> +	soc {
> > >> +		aips-bus@02100000 { /* AIPS2 */
> > >> +			enet@02188000 {
> > >> +				phy-mode = "rgmii";
> > >> +				local-mac-address = [01 04 9F 01 1B 61];
> > > 
> > > Do we still have no way to figure the mac address from hardware setup
> > > (fuse or something) on sabrelite board?
> > > 
> > >> +				phy-reset-gpios = <&gpio2 23 0>; /* gpio3 23 */
> > > 
> > > Nit: If you want to comment it, please comment it in the consistent way,
> > > which is '/* GPIO3_23 */'.
> > 
> > Better yet, why don't you name the phandles starting at 1 so the comment
> > isn't needed at all.
> Good idea, but it needs another patch, because it effects all imx6 boards.
> Shawn, what do you think?
> 
When I was firstly working out the dts for imx51, I followed what most
dts files do, numbering phandle and label name from 0, while imx
reference manual happens to indexing hardware block from 1.  This
mismatch have been existing in kernel for long time, since kernel is
numbering platform device from 0 too.

I'm not really sure if there is a convention on this.  But since Rob
(as device tree maintainer) says it can be numbered from 1, I'm fine
to accept a patch fixing this up for all imx dts files.
Troy Kisky Dec. 12, 2011, 8:39 p.m. UTC | #12
On 12/11/2011 10:40 PM, Shawn Guo wrote:
>> +	memory {
>> +		reg =<0x10000000 0x40000000>;
>> +	};
>> +
>> +	soc {
>> +		aips-bus@02100000 { /* AIPS2 */
>> +			enet@02188000 {
>> +				phy-mode = "rgmii";
>> +				local-mac-address = [01 04 9F 01 1B 61];
> Do we still have no way to figure the mac address from hardware setup
> (fuse or something) on sabrelite board?
>
>
U-boot now has support for blowing the mac fuses.

i.e.
imxotp blow --force 23 0019 ; imxotp blow --force 22 B800e1f5

for a mac of 00:19:b8:00:e1:f5

Most boards already have this done.

Troy
Richard Zhao Dec. 13, 2011, 12:52 a.m. UTC | #13
On Mon, Dec 12, 2011 at 01:39:06PM -0700, Troy Kisky wrote:
> On 12/11/2011 10:40 PM, Shawn Guo wrote:
> >>+	memory {
> >>+		reg =<0x10000000 0x40000000>;
> >>+	};
> >>+
> >>+	soc {
> >>+		aips-bus@02100000 { /* AIPS2 */
> >>+			enet@02188000 {
> >>+				phy-mode = "rgmii";
> >>+				local-mac-address = [01 04 9F 01 1B 61];
> >Do we still have no way to figure the mac address from hardware setup
> >(fuse or something) on sabrelite board?
> >
> >
> U-boot now has support for blowing the mac fuses.
> 
> i.e.
> imxotp blow --force 23 0019 ; imxotp blow --force 22 B800e1f5
> 
> for a mac of 00:19:b8:00:e1:f5
> 
> Most boards already have this done.
It's software issue here. When use DT, we don't still have patch to
read fuse and pass mac address to fec driver. Currently, we can use
bootargs fec.macaddr.

Thanks
Richard
> 
> Troy
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Richard Zhao Dec. 13, 2011, 12:54 a.m. UTC | #14
On Mon, Dec 12, 2011 at 10:44:47PM +0800, Shawn Guo wrote:
> On Mon, Dec 12, 2011 at 09:49:54PM +0800, Richard Zhao wrote:
> > On Mon, Dec 12, 2011 at 07:41:17AM -0600, Rob Herring wrote:
> > > On 12/11/2011 11:40 PM, Shawn Guo wrote:
> > > > On Mon, Dec 12, 2011 at 11:42:26AM +0800, Richard Zhao wrote:
> > > >> Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
> > > >> ---
> > > >>  arch/arm/boot/dts/imx6q-sabrelite.dts |   54 +++++++++++++++++++++++++++++++++
> > > >>  arch/arm/mach-imx/mach-imx6q.c        |    1 +
> > > >>  2 files changed, 55 insertions(+), 0 deletions(-)
> > > >>  create mode 100644 arch/arm/boot/dts/imx6q-sabrelite.dts
> > > >>
> > > >> diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts
> > > >> new file mode 100644
> > > >> index 0000000..d54363f
> > > >> --- /dev/null
> > > >> +++ b/arch/arm/boot/dts/imx6q-sabrelite.dts
> > > >> @@ -0,0 +1,54 @@
> > > >> +/*
> > > >> + * 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/ "imx6q.dtsi"
> > > >> +
> > > >> +/ {
> > > >> +	model = "Freescale i.MX6 Quad SABRE Lite Board";
> > > >> +	compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
> > > >> +
> > > >> +	chosen {
> > > >> +		bootargs = "console=ttymxc1,115200";
> > > >> +	};
> > > >> +
> > > > Maybe we can start dropping this, since kernel is now able to get
> > > > bootargs from atags even in case that bootloader can not pass dtb
> > > > and the dtb is appended to kernel image.
> > > > 
> > > >> +	memory {
> > > >> +		reg = <0x10000000 0x40000000>;
> > > >> +	};
> > > >> +
> > > >> +	soc {
> > > >> +		aips-bus@02100000 { /* AIPS2 */
> > > >> +			enet@02188000 {
> > > >> +				phy-mode = "rgmii";
> > > >> +				local-mac-address = [01 04 9F 01 1B 61];
> > > > 
> > > > Do we still have no way to figure the mac address from hardware setup
> > > > (fuse or something) on sabrelite board?
> > > > 
> > > >> +				phy-reset-gpios = <&gpio2 23 0>; /* gpio3 23 */
> > > > 
> > > > Nit: If you want to comment it, please comment it in the consistent way,
> > > > which is '/* GPIO3_23 */'.
> > > 
> > > Better yet, why don't you name the phandles starting at 1 so the comment
> > > isn't needed at all.
> > Good idea, but it needs another patch, because it effects all imx6 boards.
> > Shawn, what do you think?
> > 
> When I was firstly working out the dts for imx51, I followed what most
> dts files do, numbering phandle and label name from 0, while imx
> reference manual happens to indexing hardware block from 1.  This
> mismatch have been existing in kernel for long time, since kernel is
> numbering platform device from 0 too.
> 
> I'm not really sure if there is a convention on this.  But since Rob
> (as device tree maintainer) says it can be numbered from 1, I'm fine
> to accept a patch fixing this up for all imx dts files.
I'll prepare the patch.

Thanks
Richard
> 
> -- 
> Regards,
> Shawn
Shawn Guo Dec. 13, 2011, 1:28 a.m. UTC | #15
On Tue, Dec 13, 2011 at 08:52:14AM +0800, Richard Zhao wrote:
> On Mon, Dec 12, 2011 at 01:39:06PM -0700, Troy Kisky wrote:
> > On 12/11/2011 10:40 PM, Shawn Guo wrote:
> > >>+	memory {
> > >>+		reg =<0x10000000 0x40000000>;
> > >>+	};
> > >>+
> > >>+	soc {
> > >>+		aips-bus@02100000 { /* AIPS2 */
> > >>+			enet@02188000 {
> > >>+				phy-mode = "rgmii";
> > >>+				local-mac-address = [01 04 9F 01 1B 61];
> > >Do we still have no way to figure the mac address from hardware setup
> > >(fuse or something) on sabrelite board?
> > >
> > >
> > U-boot now has support for blowing the mac fuses.
> > 
> > i.e.
> > imxotp blow --force 23 0019 ; imxotp blow --force 22 B800e1f5
> > 
> > for a mac of 00:19:b8:00:e1:f5
> > 
> > Most boards already have this done.
> It's software issue here. When use DT, we don't still have patch to
> read fuse and pass mac address to fec driver. Currently, we can use
> bootargs fec.macaddr.
> 
Okay, if it's a software issue, we should sort it out right now.  Plus
the fec phy fixup hook, I have seen two cases that we need to pass
platform_data for fec driver, so let us do it.

Regards,
Shawn
Richard Zhao Dec. 13, 2011, 1:32 a.m. UTC | #16
On Tue, Dec 13, 2011 at 09:28:17AM +0800, Shawn Guo wrote:
> On Tue, Dec 13, 2011 at 08:52:14AM +0800, Richard Zhao wrote:
> > On Mon, Dec 12, 2011 at 01:39:06PM -0700, Troy Kisky wrote:
> > > On 12/11/2011 10:40 PM, Shawn Guo wrote:
> > > >>+	memory {
> > > >>+		reg =<0x10000000 0x40000000>;
> > > >>+	};
> > > >>+
> > > >>+	soc {
> > > >>+		aips-bus@02100000 { /* AIPS2 */
> > > >>+			enet@02188000 {
> > > >>+				phy-mode = "rgmii";
> > > >>+				local-mac-address = [01 04 9F 01 1B 61];
> > > >Do we still have no way to figure the mac address from hardware setup
> > > >(fuse or something) on sabrelite board?
> > > >
> > > >
> > > U-boot now has support for blowing the mac fuses.
> > > 
> > > i.e.
> > > imxotp blow --force 23 0019 ; imxotp blow --force 22 B800e1f5
> > > 
> > > for a mac of 00:19:b8:00:e1:f5
> > > 
> > > Most boards already have this done.
> > It's software issue here. When use DT, we don't still have patch to
> > read fuse and pass mac address to fec driver. Currently, we can use
> > bootargs fec.macaddr.
> > 
> Okay, if it's a software issue, we should sort it out right now.  Plus
> the fec phy fixup hook, I have seen two cases that we need to pass
> platform_data for fec driver, so let us do it.
right, I'm glad to see patch fix it too. but I think it's out of scope of
this patch series. The patch series is for enablement.

Thanks
Richard
> 
> Regards,
> Shawn
diff mbox

Patch

diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts
new file mode 100644
index 0000000..d54363f
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-sabrelite.dts
@@ -0,0 +1,54 @@ 
+/*
+ * 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/ "imx6q.dtsi"
+
+/ {
+	model = "Freescale i.MX6 Quad SABRE Lite Board";
+	compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
+
+	chosen {
+		bootargs = "console=ttymxc1,115200";
+	};
+
+	memory {
+		reg = <0x10000000 0x40000000>;
+	};
+
+	soc {
+		aips-bus@02100000 { /* AIPS2 */
+			enet@02188000 {
+				phy-mode = "rgmii";
+				local-mac-address = [01 04 9F 01 1B 61];
+				phy-reset-gpios = <&gpio2 23 0>; /* gpio3 23 */
+				status = "okay";
+			};
+
+			usdhc@02198000 { /* uSDHC3 */
+				cd-gpios = <&gpio6 0 0>; /* GPIO7_0 */
+				wp-gpios = <&gpio6 1 0>; /* GPIO7_1 */
+				status = "okay";
+			};
+
+			usdhc@0219c000 { /* uSDHC4 */
+				cd-gpios = <&gpio1 6 0>; /* GPIO2_6 */
+				wp-gpios = <&gpio1 7 0>; /* GPIO2_7 */
+				status = "okay";
+			};
+
+			uart1: uart@021e8000 { /* UART2 */
+				status = "okay";
+			};
+		};
+	};
+};
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index 8deb012..d24d6c4 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -73,6 +73,7 @@  static struct sys_timer imx6q_timer = {
 
 static const char *imx6q_dt_compat[] __initdata = {
 	"fsl,imx6q-sabreauto",
+	"fsl,imx6q-sabrelite",
 	NULL,
 };