Patchwork ARM i.MX5/6: Add dt support for generic boards

login
register
mail settings
Submitter Sascha Hauer
Date Feb. 17, 2012, 11:07 a.m.
Message ID <1329476820-27066-1-git-send-email-s.hauer@pengutronix.de>
Download mbox | patch
Permalink /patch/141764/
State New
Headers show

Comments

Sascha Hauer - Feb. 17, 2012, 11:07 a.m.
Apart from the iomux setup which may not be needed on custom
boards the kernel starts fine using the devicetree, so add
generic boards to the dt_compat entries.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 arch/arm/mach-imx/imx51-dt.c   |    1 +
 arch/arm/mach-imx/imx53-dt.c   |    1 +
 arch/arm/mach-imx/mach-imx6q.c |    1 +
 3 files changed, 3 insertions(+), 0 deletions(-)
Shawn Guo - Feb. 20, 2012, 6:42 a.m.
On Fri, Feb 17, 2012 at 12:07:00PM +0100, Sascha Hauer wrote:
> Apart from the iomux setup which may not be needed on custom
> boards the kernel starts fine using the devicetree, so add
> generic boards to the dt_compat entries.
> 
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
>  arch/arm/mach-imx/imx51-dt.c   |    1 +
>  arch/arm/mach-imx/imx53-dt.c   |    1 +
>  arch/arm/mach-imx/mach-imx6q.c |    1 +
>  3 files changed, 3 insertions(+), 0 deletions(-)
> 
I guess the point that the patch is trying to make is that we do not
need to touch these files whenever we add a new board booting with
device tree, if the board does not need any special handling there
with its compatible string.

But we may still need a specific compatible string for the board in its
.dts file rather than just specific common like "fsl,imx6q".  That
said, Documentation/devicetree/bindings/arm/fsl.txt needs an update
anyway whenever a new board support is added.

Also, isn't it a good thing to have the dt_compat list explicitly show
all the boards that the dt file supports?

Regards,
Shawn

> diff --git a/arch/arm/mach-imx/imx51-dt.c b/arch/arm/mach-imx/imx51-dt.c
> index e6bad17..b0d830f 100644
> --- a/arch/arm/mach-imx/imx51-dt.c
> +++ b/arch/arm/mach-imx/imx51-dt.c
> @@ -104,6 +104,7 @@ static struct sys_timer imx51_timer = {
>  
>  static const char *imx51_dt_board_compat[] __initdata = {
>  	"fsl,imx51-babbage",
> +	"fsl,imx51",
>  	NULL
>  };
>  
> diff --git a/arch/arm/mach-imx/imx53-dt.c b/arch/arm/mach-imx/imx53-dt.c
> index 05ebb3e..d75a267 100644
> --- a/arch/arm/mach-imx/imx53-dt.c
> +++ b/arch/arm/mach-imx/imx53-dt.c
> @@ -114,6 +114,7 @@ static const char *imx53_dt_board_compat[] __initdata = {
>  	"fsl,imx53-evk",
>  	"fsl,imx53-qsb",
>  	"fsl,imx53-smd",
> +	"fsl,imx53",
>  	NULL
>  };
>  
> diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
> index c257281..f3adf2f 100644
> --- a/arch/arm/mach-imx/mach-imx6q.c
> +++ b/arch/arm/mach-imx/mach-imx6q.c
> @@ -128,6 +128,7 @@ static struct sys_timer imx6q_timer = {
>  static const char *imx6q_dt_compat[] __initdata = {
>  	"fsl,imx6q-arm2",
>  	"fsl,imx6q-sabrelite",
> +	"fsl,imx6q",
>  	NULL,
>  };
>  
> -- 
> 1.7.9
>
Sascha Hauer - Feb. 20, 2012, 6:28 p.m.
Hi Shawn,

On Mon, Feb 20, 2012 at 02:42:15PM +0800, Shawn Guo wrote:
> On Fri, Feb 17, 2012 at 12:07:00PM +0100, Sascha Hauer wrote:
> > Apart from the iomux setup which may not be needed on custom
> > boards the kernel starts fine using the devicetree, so add
> > generic boards to the dt_compat entries.
> > 
> > Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> > ---
> >  arch/arm/mach-imx/imx51-dt.c   |    1 +
> >  arch/arm/mach-imx/imx53-dt.c   |    1 +
> >  arch/arm/mach-imx/mach-imx6q.c |    1 +
> >  3 files changed, 3 insertions(+), 0 deletions(-)
> > 
> I guess the point that the patch is trying to make is that we do not
> need to touch these files whenever we add a new board booting with
> device tree, if the board does not need any special handling there
> with its compatible string.

Yes.

> 
> But we may still need a specific compatible string for the board in its
> .dts file rather than just specific common like "fsl,imx6q".

Yes, a dts file should definitely have a more specific compatible string
with fsl,imx6q just being the fallback.

>  That
> said, Documentation/devicetree/bindings/arm/fsl.txt needs an update
> anyway whenever a new board support is added.
> 
> Also, isn't it a good thing to have the dt_compat list explicitly show
> all the boards that the dt file supports?

When we add the dts file to the kernel we can update Doc/../fsl.txt
accordingly. I find it very useful to be able to run an unpatched kernel
on various custom boards which are (not yet) in mainline.

Sascha
Shawn Guo - Feb. 21, 2012, 3:07 a.m.
On 21 February 2012 02:28, Sascha Hauer <s.hauer@pengutronix.de> wrote:
...
> When we add the dts file to the kernel we can update Doc/../fsl.txt
> accordingly. I find it very useful to be able to run an unpatched kernel
> on various custom boards which are (not yet) in mainline.
>
Fair enough.  If you plan to send it to arm-soc,

Acked-by: Shawn Guo <shawn.guo@linaro.org>

Or I will pick it up.

Regards,
Shawn
Shawn Guo - Feb. 27, 2012, 9:33 a.m.
On Fri, Feb 17, 2012 at 12:07:00PM +0100, Sascha Hauer wrote:
> Apart from the iomux setup which may not be needed on custom
> boards the kernel starts fine using the devicetree, so add
> generic boards to the dt_compat entries.
> 
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

I queued this up together with other DT patches, and will send them
to arm-soc soon.

Patch

diff --git a/arch/arm/mach-imx/imx51-dt.c b/arch/arm/mach-imx/imx51-dt.c
index e6bad17..b0d830f 100644
--- a/arch/arm/mach-imx/imx51-dt.c
+++ b/arch/arm/mach-imx/imx51-dt.c
@@ -104,6 +104,7 @@  static struct sys_timer imx51_timer = {
 
 static const char *imx51_dt_board_compat[] __initdata = {
 	"fsl,imx51-babbage",
+	"fsl,imx51",
 	NULL
 };
 
diff --git a/arch/arm/mach-imx/imx53-dt.c b/arch/arm/mach-imx/imx53-dt.c
index 05ebb3e..d75a267 100644
--- a/arch/arm/mach-imx/imx53-dt.c
+++ b/arch/arm/mach-imx/imx53-dt.c
@@ -114,6 +114,7 @@  static const char *imx53_dt_board_compat[] __initdata = {
 	"fsl,imx53-evk",
 	"fsl,imx53-qsb",
 	"fsl,imx53-smd",
+	"fsl,imx53",
 	NULL
 };
 
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index c257281..f3adf2f 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -128,6 +128,7 @@  static struct sys_timer imx6q_timer = {
 static const char *imx6q_dt_compat[] __initdata = {
 	"fsl,imx6q-arm2",
 	"fsl,imx6q-sabrelite",
+	"fsl,imx6q",
 	NULL,
 };