Hah, I *just* started poking at the linux-kirkwood-dt kernel package again today. If there is going to be an effort to get an updated FDT u-boot rolling for as many of the Kirkwood boards as possible, I'm game to help as much as I can.by Kurlon - uBoot
Why would you load to 0x00600000 and then jump to 0x00600200 to kick off the chain loaded uboot? (uboot newb here, sorry if this is obvious/common knowledge)by Kurlon - Debian
The Arch GoFlex instructions don't say to skip the uboot check anywhere that I've seen. Could you post a link to where you saw that bit? Davy, if you're respinning the uboot images, would you be up for doing some with Device Tree support enabled for testing?by Kurlon - uBoot
To use the the label based function you need an initrd. The kernel needs to know where to find root via a device, it cannot scan for labels, UUIDs, etc. By using an initrd you present a temporary rootfs the kernel can attach to, along with enough userland tools to do fancy volume searches based on UUID, labels, etc, and to then REMOUNT root and continue booting. Because Arch ARM doesn'tby Kurlon - uBoot
FYI, I've got 3.5.2 working smoothly now, fixed my (stupid) reboot issue.by Kurlon - Debian
I've been playing with 3.5 and now 3.6 kernels using Device Tree on my GoFlex. I've been trying to come up with a config that will allow DT kernels to boot using the updated u-boot without config/env changes if possible. So far, I can fire up kernels if I append the .dtb to the kernel and boot with no bootenv. In theory the kernel supports options to append legacy kernel options to tby Kurlon - uBoot
For those not following the arm-kernel list, the problem wasn't with clocking, it was too small of a reserved memory pool at boot for DMA. Add 'coherent_pool=1M' to your boot args and see if that clears things up when you enable both sata ports.by Kurlon - Debian
I've reported the bug upstream, and have been given a suggestion on where to look codewise for the culprit. Buttzy, if you read the arm-kernel archives you'll see patch submissions and how to format them. I can try to bang out a crude template in a bit if you'd like.by Kurlon - Debian
Ok, I forgot to set CONFIG_SERIAL_OF_PLATFORM=y on my 3.6-rc1 test kernel. That with SATA set to 1 port has me booting into 3.6-rc1 cleanly. I'm going to retest with SATA set to two ports next. Edit: 2 ports, same hang I've been chasing...by Kurlon - Debian
My GoFlex Net still won't boot next 8/13 with nr_ports set to 1, no visible change in console output from nr_ports set at 2. Can you pastebin your config so I can compare it against mine to see what's different?by Kurlon - Debian
I haven't tried dropping nr_ports yet, lemmie test that real quick. In the mean time, you're saying you have a GoFlex Net with 256MB RAM?by Kurlon - Debian
I'm also not seeing my serial port binding after the driver loads in that dmesg output, so something is wacky. Not sure where to dig just yet, but I've got some theories.by Kurlon - Debian
Looks like there was a regression somewhere, I'm seeing the same hang on 3.6-rc1 and the current next cut, the last thing I see is: [ 15.283577] VFS: Disk quotas dquot_6.5.2 [ 15.287832] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 15.296545] jffs2: version 2.2. (NAND) ?© 2001-2006 Red Hat, Inc. [ 15.303by Kurlon - Debian
My bootargs get set as part of the normal boot script, so when I want to test a DT kernel I interrupt the boot before the auto cmds are run.by Kurlon - Debian
The Arch stuff isn't using DT, it's a rehash of the 3.1 patchset updated for 3.5 and polished up. My DT stuff I append the DTB to the end of the zImage, make a uImage off that and boot without any bootargs or arcnumber set. I go by the bootargs in the DTB.by Kurlon - Debian
I finally got 3.5.1 for kirkwoods out the door in Arch, I'm doing some test builds now of 3.6-rc1 and next-08132012 to see what I can sniff out on my GFN. (It's times like this I really wish I had an OpenRD or a good ARMv7 system to do my builds on...)by Kurlon - Debian
Use the append option if your u-boot doesn't let you load the dtb directly. The amount of ram is specified in the DTS file, if you copied the GoFlex you'll only see 128MB.by Kurlon - Debian
I'm just about finished with a 3.5.1 Arch Arm kernel, once that's done I'll bang on 3.6-rc1 on my GFN and see if I can figure out what you guys are running into. FYI, I do use a root delay of 10 seconds on my GFN, might be worth a try if you're bombing due to trying to mount the rootfs too soon.by Kurlon - Debian
Well, it means you're getting well past kernel init and running multiuser (udev is firing off), which you were before as well. As to why it's going pearshaped for udev I'm not certain.by Kurlon - Debian
You would only define i2c if your board has it. I want to say you had an i2c connection defined in your board file, in which case you can remove it from there and add it to the DTS, but I don't believe that's the hangup. SATA is complaining about a completely optional item, I've got to fire my GFN up when I get home to see if it makes a similar complaint.by Kurlon - Debian
I'm not 100% convinced it's the SATA, AFAIK the address is fixed for them on Kirkwood. Do you have two ports?by Kurlon - Debian
When you boot a DT kernel with a .dtb appended the arcNumber shouldn't matter. Can't hurt to try booting with the arcNumber unset though?by Kurlon - Debian
From my prior posts: make menuconfig make make kirkwood-goflexnet.dtb cat arch/arm/boot/kirkwood-goflexnet.dtb >> arch/arm/boot/zImage make uImage cp arch/arm/boot/uImage /boot/uImage reboot Replace kirkwood-goflexnet.dtb with the right name for yours, and put the generated uImage wherever is appropriate for your device.by Kurlon - Debian
I'll see what I can sort out tonight, everything looks ok at first glance, although the GE0 setup is a bit odd... Edit: I think I see it, you need to update your .config CONFIG_ARM_APPENDED_DTB needs to be enabled so you can append the DTS to the zImage before doing make uImage.by Kurlon - Debian
Can you pastebin your .config as well as the arch/arm/boot/dts file and your arch/arm/mach-kirkwood board file?by Kurlon - Debian
Yes, you'll need your nand defined, there are two ways systems can hook up the flash to the Kirkwood SoC, if you poke around arch/arm/boot/dts you'll see kirkwoods that use both methods, match what the ix2-200 uses. (SPI, I2C, etc)by Kurlon - Debian
The arcnumber isn't used with DT, it's purpose is replaced by the DT itself. Your board file should be called board-ix2200.c, correct. Right now buttons still have to be defined in board-ix2200.c like they were in kirkwood-blah.c in the past. When it comes time to boot a DT based kernel, you'll have to do more than make && make uImage, you'll need to append a coby Kurlon - Debian
So, on the LEDs, the DTS format is: LED-NICE-NAME { label = "status:COLOR:LED-NICE-NAME"; gpios = <&gpioA B C>; The old board-setup.c format was: { .name = "status:COLOR:LED-NICE-NAME", .default_trigger = "none", .gpio = D, // 0x0200 .active_low = C, }, So, most of it is a direct translation. The only spot you have toby Kurlon - Debian
Ok, quick and dirty Kirkwood DTS conversion guide, using my GoFlex Net as an example. 1) Create a new DT board config option: Edit arch/arm/mach-kirkwood/Kconfig to include a new entry for your device. config MACH_TS219_DT bool "Device Tree for QNAP TS-11X, TS-21X NAS" select ARCH_KIRKWOOD_DT select ARM_APPENDED_DTB select ARM_ATAG_DTB_COMPAT help Say 'Y'by Kurlon - Debian
Give me a little bit and I'll see if I can whip up a tutorial on kirkwood DTS conversions. If we can get your board working via DTS odds are we can get it supported directly by mainline quickly.by Kurlon - Debian