diff mbox

Tiny dts change breaks boot on n900

Message ID 20141110123118.GA31134@amd (mailing list archive)
State New, archived
Headers show

Commit Message

Pavel Machek Nov. 10, 2014, 12:31 p.m. UTC
Hi!

I'm confused:

This fixes boot on n900. Strange thing is ... adp1653 driver is not
even compiled in -- it is module.

It looks like tiny change in dts noone should care about breaks
boot... I don't even have adp1653 device parsing code written.

Something similar happened before -- change in device tree order broke
boot.

Any ideas? What is going on?
								Pavel

Comments

Pavel Machek Nov. 10, 2014, 12:58 p.m. UTC | #1
On Mon 2014-11-10 13:31:18, Pavel Machek wrote:
> Hi!
> 
> I'm confused:
> 
> This fixes boot on n900. Strange thing is ... adp1653 driver is not
> even compiled in -- it is module.
> 
> It looks like tiny change in dts noone should care about breaks
> boot... I don't even have adp1653 device parsing code written.
> 
> Something similar happened before -- change in device tree order broke
> boot.
> 
> Any ideas? What is going on?

If I replace the blog below with

 a = <1>;
 b = <2>;
 c = <3>;
 d = <4>;

Resulting kernel boots. Replacing it with

 a-really-long-attribute-name-hopefully-this-breaks-stuff = <1>;
 b = <2>;
 c = <3>;
 d = <4>;

Breaks the boot. I'm using dtb append option. Any ideas? Nonbooting
dtb is 68910 bytes.

pavel@amd:/data/l/linux-n900$ ls -al arch/arm/boot/dts/omap3-n900.dtb 
-rw-r--r-- 1 pavel pavel 68910 Nov 10 13:52 arch/arm/boot/dts/omap3-n900.dtb

I removed some "smsc,lan91c94" settings, and it boots again. Weird.

> 								Pavel
> 
> diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
> index f3118bf..557a19e 100644
> --- a/arch/arm/boot/dts/omap3-n900.dts
> +++ b/arch/arm/boot/dts/omap3-n900.dts
> @@ -565,11 +565,6 @@
>  	adp1653: adp1653@30 {
>  		compatible = "ad,adp1653";
>  		reg = <0x30>;
> -
> -		max-flash-timeout-usec = <500000>;
> -		max-flash-intensity-mA = <0>;
> -		max-torch-intensity-mA = <0>;
> -		max-indicator-intensity-uA = <0>;
>  	};
>  };
>  
>
Tony Lindgren Nov. 10, 2014, 3:09 p.m. UTC | #2
* Pavel Machek <pavel@ucw.cz> [141110 04:59]:
> On Mon 2014-11-10 13:31:18, Pavel Machek wrote:
> > Hi!
> > 
> > I'm confused:
> > 
> > This fixes boot on n900. Strange thing is ... adp1653 driver is not
> > even compiled in -- it is module.
> > 
> > It looks like tiny change in dts noone should care about breaks
> > boot... I don't even have adp1653 device parsing code written.
> > 
> > Something similar happened before -- change in device tree order broke
> > boot.
> > 
> > Any ideas? What is going on?
> 
> If I replace the blog below with
> 
>  a = <1>;
>  b = <2>;
>  c = <3>;
>  d = <4>;
> 
> Resulting kernel boots. Replacing it with
> 
>  a-really-long-attribute-name-hopefully-this-breaks-stuff = <1>;
>  b = <2>;
>  c = <3>;
>  d = <4>;
> 
> Breaks the boot. I'm using dtb append option. Any ideas? Nonbooting
> dtb is 68910 bytes.
> 
> pavel@amd:/data/l/linux-n900$ ls -al arch/arm/boot/dts/omap3-n900.dtb 
> -rw-r--r-- 1 pavel pavel 68910 Nov 10 13:52 arch/arm/boot/dts/omap3-n900.dtb
> 
> I removed some "smsc,lan91c94" settings, and it boots again. Weird.

Seems like we may still have some issues with the relocation if
it's size related. Or a regression maybe?

See for example commit 5ffb04f6690d ("ARM: zImage: make sure appended
DTB doesn't get overwritten by kernel .bss")

Regards,

Tony

> > diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
> > index f3118bf..557a19e 100644
> > --- a/arch/arm/boot/dts/omap3-n900.dts
> > +++ b/arch/arm/boot/dts/omap3-n900.dts
> > @@ -565,11 +565,6 @@
> >  	adp1653: adp1653@30 {
> >  		compatible = "ad,adp1653";
> >  		reg = <0x30>;
> > -
> > -		max-flash-timeout-usec = <500000>;
> > -		max-flash-intensity-mA = <0>;
> > -		max-torch-intensity-mA = <0>;
> > -		max-indicator-intensity-uA = <0>;
> >  	};
> >  };
> >  
> > 
> 
> -- 
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andreas Färber Nov. 10, 2014, 3:25 p.m. UTC | #3
Am 10.11.2014 um 12:58 schrieb Pavel Machek:
> If I replace the blo[ck] below with
> 
>  a = <1>;
>  b = <2>;
>  c = <3>;
>  d = <4>;
> 
> Resulting kernel boots. Replacing it with
> 
>  a-really-long-attribute-name-hopefully-this-breaks-stuff = <1>;
>  b = <2>;
>  c = <3>;
>  d = <4>;
> 
> Breaks the boot. I'm using dtb append option. Any ideas? Nonbooting
> dtb is 68910 bytes.

Did you verify that your initrd, if any, does not overlap the end of the
kernel when loading it from the bootloader?

Andreas
Pavel Machek Nov. 16, 2014, 8:38 a.m. UTC | #4
On Mon 2014-11-10 15:25:40, Andreas Färber wrote:
> Am 10.11.2014 um 12:58 schrieb Pavel Machek:
> > If I replace the blo[ck] below with
> > 
> >  a = <1>;
> >  b = <2>;
> >  c = <3>;
> >  d = <4>;
> > 
> > Resulting kernel boots. Replacing it with
> > 
> >  a-really-long-attribute-name-hopefully-this-breaks-stuff = <1>;
> >  b = <2>;
> >  c = <3>;
> >  d = <4>;
> > 
> > Breaks the boot. I'm using dtb append option. Any ideas? Nonbooting
> > dtb is 68910 bytes.
> 
> Did you verify that your initrd, if any, does not overlap the end of the
> kernel when loading it from the bootloader?

I don't use initrd, so this can't be it. Thanks,
									Pavel
Geert Uytterhoeven Nov. 16, 2014, 9:38 a.m. UTC | #5
On Mon, Nov 10, 2014 at 1:58 PM, Pavel Machek <pavel@ucw.cz> wrote:
> Breaks the boot. I'm using dtb append option. Any ideas? Nonbooting
> dtb is 68910 bytes.

Perhaps because it's not a multiple of 4?

$ factor 68910
68910: 2 3 5 2297

Does padding some property with 2 bytes help?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
diff mbox

Patch

diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index f3118bf..557a19e 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -565,11 +565,6 @@ 
 	adp1653: adp1653@30 {
 		compatible = "ad,adp1653";
 		reg = <0x30>;
-
-		max-flash-timeout-usec = <500000>;
-		max-flash-intensity-mA = <0>;
-		max-torch-intensity-mA = <0>;
-		max-indicator-intensity-uA = <0>;
 	};
 };