All of lore.kernel.org
 help / color / mirror / Atom feed
* DreamPlug / GuruPlug support in 3.12-rc
@ 2013-10-20 12:08 robert
  2013-10-20 16:17 ` Jason Cooper
  0 siblings, 1 reply; 6+ messages in thread
From: robert @ 2013-10-20 12:08 UTC (permalink / raw)
  To: linux-arm-kernel

I have an 'older' DreamPlug, that is - effectively - a GuruPlug inside:

# cat /proc/cpuinfo
processor       : 0
model name      : Feroceon 88FR131 rev 1 (v5l)
BogoMIPS        : 1191.11
Features        : swp half thumb fastmult edsp
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant     : 0x2
CPU part        : 0x131
CPU revision    : 1
Hardware        : Marvell GuruPlug Reference Board
Revision        : 0000
Serial          : 0000000000000000

UBoot:
Marvell-DreamPlug
SoC:   Kirkwood 88F6281_A0

I have managed to get kernels up to 3.11.6 to compile and install OK,
with the 'device tree' option, by selecting 'Marvel GuruPlug reference
board' and 'Marvel GuruPlug reference board (flattened device tree)',
but none of the available options on 3.12-rc seem to work..    I have
tried selecting all the 'Marvell Kirkwood' options, and the 'Marvell
SOC' options, and none of these produces a bootable kernel.

As a test, I temporarily deselected 'Embedded system', and got the
following at boot:
Uncompressing Linux... done, booting the kernel.
Error: unrecognized/unsupported machine ID (r1 = 0x00000a63).
Available machine support:
ID (hex)        NAME
00000b44        Marvell OpenRD Ultimate Board
00000939        Marvell OpenRD Client Board
00000915        Marvell OpenRD Base Board
00000691        Marvell RD-88F6192-NAS Development Board
00000692        Marvell RD-88F6281 Reference Board
ffffffff        Marvell Kirkwood (Flattened Device Tree)
Please check your kernel config and/or bootloader.

0a63(hex) is 2659(dec), which is, in ~/arch/arm/tools/mach-types:
guruplug        MACH_GURUPLUG        GURUPLUG        2659

I appreciate that ARM support in 3.12-rc is still a work-in-progress,
but would like to know if this support will be included soon..   I have
- as usual - tried to find some clues online, but haven't found
anything, so far...

Thanks.

Robert Gadsdon.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* DreamPlug / GuruPlug support in 3.12-rc
  2013-10-20 12:08 DreamPlug / GuruPlug support in 3.12-rc robert
@ 2013-10-20 16:17 ` Jason Cooper
  2013-10-20 20:08   ` robert
  0 siblings, 1 reply; 6+ messages in thread
From: Jason Cooper @ 2013-10-20 16:17 UTC (permalink / raw)
  To: linux-arm-kernel

Robert,

I add the other kirkwood/Marvell maintainers to the Cc:

On Sun, Oct 20, 2013 at 01:08:34PM +0100, robert wrote:
> I have an 'older' DreamPlug, that is - effectively - a GuruPlug inside:

Yes, all Dreamplugs are essentially a Guruplug without the heat problems
:)  The big difference is that the Guruplugs have NAND flash and the
Dreamplugs have 2MB NOR flash (for u-boot and environment).  DP uses the
micro SD card for rootfs.

> # cat /proc/cpuinfo
> processor       : 0
> model name      : Feroceon 88FR131 rev 1 (v5l)
> BogoMIPS        : 1191.11
> Features        : swp half thumb fastmult edsp
> CPU implementer : 0x56
> CPU architecture: 5TE
> CPU variant     : 0x2
> CPU part        : 0x131
> CPU revision    : 1
> Hardware        : Marvell GuruPlug Reference Board
> Revision        : 0000
> Serial          : 0000000000000000
> 
> UBoot:
> Marvell-DreamPlug
> SoC:   Kirkwood 88F6281_A0
> 
> I have managed to get kernels up to 3.11.6 to compile and install OK,
> with the 'device tree' option, by selecting 'Marvel GuruPlug reference
> board' and 'Marvel GuruPlug reference board (flattened device tree)',
> but none of the available options on 3.12-rc seem to work..    I have
> tried selecting all the 'Marvell Kirkwood' options, and the 'Marvell
> SOC' options, and none of these produces a bootable kernel.

Yes, the DT conversion has progressed far enough that we don't need
much, if any, code (board-dreamplug.c) for individual boards.  So the
Kconfig options for individual boards have been removed.  When you
select "Marvell Kirkwood Flattened Device Tree", it will build a kernel
bootable on any of the kirkwood boards.  After the zImage is built, you
need to run 'make dtbs' and it will build all of the available kirkwood
dtb files for you.

> As a test, I temporarily deselected 'Embedded system', and got the
> following at boot:
> Uncompressing Linux... done, booting the kernel.
> Error: unrecognized/unsupported machine ID (r1 = 0x00000a63).
> Available machine support:
> ID (hex)        NAME
> 00000b44        Marvell OpenRD Ultimate Board
> 00000939        Marvell OpenRD Client Board
> 00000915        Marvell OpenRD Base Board
> 00000691        Marvell RD-88F6192-NAS Development Board
> 00000692        Marvell RD-88F6281 Reference Board

Unless you plan on booting this kernel on any of these boards, you can
go ahead and disable building the above legacy board files.

> ffffffff        Marvell Kirkwood (Flattened Device Tree)
> Please check your kernel config and/or bootloader.

You need to enable CONFIG_ARM_APPENDED_DTB and then append the
appropriate dtb:

$ cp arch/arm/boot/zImage /tmp/
$ cat arch/arm/boot/dts/kirkwood-dreamplug.dtb >>/tmp/zImage
$ mkimage ... -d /tmp/zImage /tmp/uImage

Alternatively, you could upgrade u-boot to mainline which has supported
both the dreamplug and DT booting for a _long_ time now.  A lot of folks
are uncomfortable with that, though.  Which is why we added
CONFIG_ARM_APPENDED_DTB as a temporary work around.

> 0a63(hex) is 2659(dec), which is, in ~/arch/arm/tools/mach-types:
> guruplug        MACH_GURUPLUG        GURUPLUG        2659

Yes, that was a bad design decision on the part of Globalscale, nothing
we can do about it. :(

> I appreciate that ARM support in 3.12-rc is still a work-in-progress,
> but would like to know if this support will be included soon..   I have
> - as usual - tried to find some clues online, but haven't found
> anything, so far...

Asking here is the right thing to do.  Let us know how the above works
out for you.

hth,

Jason.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* DreamPlug / GuruPlug support in 3.12-rc
  2013-10-20 16:17 ` Jason Cooper
@ 2013-10-20 20:08   ` robert
  2013-10-20 21:50     ` Jason Cooper
  0 siblings, 1 reply; 6+ messages in thread
From: robert @ 2013-10-20 20:08 UTC (permalink / raw)
  To: linux-arm-kernel

Jason,

Many thanks for the additional info, and suggestions.. 

I've been running more tests, and still no luck, so far.

For 3.11, I found that selecting the 'Dreamplug' options for Kirkwood
didn't work, and I had to select both 'Marvell GuruPlug Reference Board'
_and_ 'Marvell GuruPlug Reference Board (Flattened Device Tree)', and
then use kirkwood-guruplug-server-plus.dtb:

# cat arch/arm/boot/zImage
arch/arm/boot/dts/kirkwood-guruplug-server-plus.dtb >
arch/arm/boot/zImage_w_dtb
# mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 -n
"linux-dreamplug" -d arch/arm/boot/zImage_w_dtb ../uImage3116

Robert.

On 10/20/2013 05:17 PM, Jason Cooper wrote:
> Robert,
>
> I add the other kirkwood/Marvell maintainers to the Cc:
>
> On Sun, Oct 20, 2013 at 01:08:34PM +0100, robert wrote:
>> I have an 'older' DreamPlug, that is - effectively - a GuruPlug inside:
> Yes, all Dreamplugs are essentially a Guruplug without the heat problems
> :)  The big difference is that the Guruplugs have NAND flash and the
> Dreamplugs have 2MB NOR flash (for u-boot and environment).  DP uses the
> micro SD card for rootfs.
>
>> # cat /proc/cpuinfo
>> processor       : 0
>> model name      : Feroceon 88FR131 rev 1 (v5l)
>> BogoMIPS        : 1191.11
>> Features        : swp half thumb fastmult edsp
>> CPU implementer : 0x56
>> CPU architecture: 5TE
>> CPU variant     : 0x2
>> CPU part        : 0x131
>> CPU revision    : 1
>> Hardware        : Marvell GuruPlug Reference Board
>> Revision        : 0000
>> Serial          : 0000000000000000
>>
>> UBoot:
>> Marvell-DreamPlug
>> SoC:   Kirkwood 88F6281_A0
>>
>> I have managed to get kernels up to 3.11.6 to compile and install OK,
>> with the 'device tree' option, by selecting 'Marvel GuruPlug reference
>> board' and 'Marvel GuruPlug reference board (flattened device tree)',
>> but none of the available options on 3.12-rc seem to work..    I have
>> tried selecting all the 'Marvell Kirkwood' options, and the 'Marvell
>> SOC' options, and none of these produces a bootable kernel.
> Yes, the DT conversion has progressed far enough that we don't need
> much, if any, code (board-dreamplug.c) for individual boards.  So the
> Kconfig options for individual boards have been removed.  When you
> select "Marvell Kirkwood Flattened Device Tree", it will build a kernel
> bootable on any of the kirkwood boards.  After the zImage is built, you
> need to run 'make dtbs' and it will build all of the available kirkwood
> dtb files for you.
>
>> As a test, I temporarily deselected 'Embedded system', and got the
>> following at boot:
>> Uncompressing Linux... done, booting the kernel.
>> Error: unrecognized/unsupported machine ID (r1 = 0x00000a63).
>> Available machine support:
>> ID (hex)        NAME
>> 00000b44        Marvell OpenRD Ultimate Board
>> 00000939        Marvell OpenRD Client Board
>> 00000915        Marvell OpenRD Base Board
>> 00000691        Marvell RD-88F6192-NAS Development Board
>> 00000692        Marvell RD-88F6281 Reference Board
> Unless you plan on booting this kernel on any of these boards, you can
> go ahead and disable building the above legacy board files.
>
>> ffffffff        Marvell Kirkwood (Flattened Device Tree)
>> Please check your kernel config and/or bootloader.
> You need to enable CONFIG_ARM_APPENDED_DTB and then append the
> appropriate dtb:
>
> $ cp arch/arm/boot/zImage /tmp/
> $ cat arch/arm/boot/dts/kirkwood-dreamplug.dtb >>/tmp/zImage
> $ mkimage ... -d /tmp/zImage /tmp/uImage
>
> Alternatively, you could upgrade u-boot to mainline which has supported
> both the dreamplug and DT booting for a _long_ time now.  A lot of folks
> are uncomfortable with that, though.  Which is why we added
> CONFIG_ARM_APPENDED_DTB as a temporary work around.
>
>> 0a63(hex) is 2659(dec), which is, in ~/arch/arm/tools/mach-types:
>> guruplug        MACH_GURUPLUG        GURUPLUG        2659
> Yes, that was a bad design decision on the part of Globalscale, nothing
> we can do about it. :(
>
>> I appreciate that ARM support in 3.12-rc is still a work-in-progress,
>> but would like to know if this support will be included soon..   I have
>> - as usual - tried to find some clues online, but haven't found
>> anything, so far...
> Asking here is the right thing to do.  Let us know how the above works
> out for you.
>
> hth,
>
> Jason.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* DreamPlug / GuruPlug support in 3.12-rc
  2013-10-20 20:08   ` robert
@ 2013-10-20 21:50     ` Jason Cooper
  2013-10-21 12:11       ` robert
  0 siblings, 1 reply; 6+ messages in thread
From: Jason Cooper @ 2013-10-20 21:50 UTC (permalink / raw)
  To: linux-arm-kernel

Robert,

Please don't toppost.  It makes it very frustrating for others in your
situation trying to solve their problem by reading the archives.

On Sun, Oct 20, 2013 at 09:08:14PM +0100, robert wrote:
> On 10/20/2013 05:17 PM, Jason Cooper wrote:
> > On Sun, Oct 20, 2013 at 01:08:34PM +0100, robert wrote:
...
> >> ffffffff        Marvell Kirkwood (Flattened Device Tree)
> >> Please check your kernel config and/or bootloader.
> > 
> > You need to enable CONFIG_ARM_APPENDED_DTB and then append the
> > appropriate dtb:

Did you do this?  It doesn't sound like you did.  Please attach the
console boot output.

> I've been running more tests, and still no luck, so far.

Can you cut-n-paste specific results?  eg configs, console output, etc?

> For 3.11, I found that selecting the 'Dreamplug' options for Kirkwood
> didn't work, and I had to select both 'Marvell GuruPlug Reference Board'
> _and_ 'Marvell GuruPlug Reference Board (Flattened Device Tree)', and
> then use kirkwood-guruplug-server-plus.dtb:

Your bootloader is, incorrectly, identifying itself as a Guruplug.  By
enabling 'Marvell GuruPlug Reference Board', the kernel executes that
legacy board file's machine_init.  It most likely isn't using the
appended dtb at all, but we can't say for certain until we see the boot
logs.

> # cat arch/arm/boot/zImage
> arch/arm/boot/dts/kirkwood-guruplug-server-plus.dtb >
> arch/arm/boot/zImage_w_dtb

Please don't do that.  Your board needs kirkwood-dreamplug.dtb,
otherwise it will enumerate a NAND flash that isn't there.


thx,

Jason.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* DreamPlug / GuruPlug support in 3.12-rc
  2013-10-20 21:50     ` Jason Cooper
@ 2013-10-21 12:11       ` robert
  2013-10-21 13:55         ` Jason Cooper
  0 siblings, 1 reply; 6+ messages in thread
From: robert @ 2013-10-21 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

Jason,

Apologies for my ignorant 'top-posting'..

My error in logic was to base my testing on a kernel config which seemed
- to me - to 'work', but was actually _incorrect_, as you pointed out.

I decided to scrub the existing config, and start over, from # make
kirkwood_defconfig, and then select/deselect options for the
DreamPlug.    After a bit of trial and error, I now have a working
3.12-rc6 system:

# uname -a
Linux rgdreamplug 3.12.0-rc6 #1 PREEMPT Mon Oct 21 12:54:19 BST 2013
armv5tel armv5tel armv5tel GNU/Linux

Many thanks for your help.

Robert.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* DreamPlug / GuruPlug support in 3.12-rc
  2013-10-21 12:11       ` robert
@ 2013-10-21 13:55         ` Jason Cooper
  0 siblings, 0 replies; 6+ messages in thread
From: Jason Cooper @ 2013-10-21 13:55 UTC (permalink / raw)
  To: linux-arm-kernel

Robert,

On Mon, Oct 21, 2013 at 01:11:08PM +0100, robert wrote:
> My error in logic was to base my testing on a kernel config which seemed
> - to me - to 'work', but was actually _incorrect_, as you pointed out.

whew!  I'm glad it was something simple and not a bug in the code.

> I decided to scrub the existing config, and start over, from # make
> kirkwood_defconfig, and then select/deselect options for the
> DreamPlug.    After a bit of trial and error, I now have a working
> 3.12-rc6 system:

For future reference, we've been keeping the relevant _defconfig's up
to date so that they build each new version of the kernel, and, if we're
doing our jobs correctly, the resulting kernel should boot without
trouble.  If it fails, please let us know.

> Many thanks for your help.

Anytime.

thx,

Jason.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-10-21 13:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-20 12:08 DreamPlug / GuruPlug support in 3.12-rc robert
2013-10-20 16:17 ` Jason Cooper
2013-10-20 20:08   ` robert
2013-10-20 21:50     ` Jason Cooper
2013-10-21 12:11       ` robert
2013-10-21 13:55         ` Jason Cooper

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.