Stuck getting DTS working for a new kirkwood board

Dashie dashie at sigpipe.me
Fri Feb 21 14:21:11 EST 2014


On 02/21/2014 04:15 PM, Jason Cooper wrote:
> On Fri, Feb 21, 2014 at 08:39:08AM +0100, Dashie wrote:
>> On 02/21/2014 02:34 AM, Jason Cooper wrote:
>>> On Thu, Feb 20, 2014 at 10:22:35PM +0100, Dashie wrote:
>>>> I've done some tests using mainlineLinux and arcNumber and i remember to
>>>> got some things working (PCI-e, Intel eth) but only two drives and no
>>>> fan/sensor using arcNumber for "00000b1e    HP t5325 Thin Client       
>>>>                         2846".
>>>>
>>> Let's focus on converting this board file to devicetree.  which means
>>> you'll be setting mainlineLinux to true and arcNumber to 0xffffffff.
>>> (means booting via devicetree).
>>>
>> Actually i've unset mainlineLinux and arcNumber, so the DTB is used.
>> In fact the t5325 device is the only one which the pci-e works, but it
>> use old -setup.c files and then i'm lost with that.
>>
>>>> I've since started to use a DTS, copied the guruplug-server-plus (IIRC)
>>>> and done some changes, actually i can get working :
>>>>     - temp sensor
>>>>     - fan control (off, middle, full)
>>>>     - integrated marvell eth
>>>>     - the four disks are detected and seems working
>>> That's a good start.
>>>
>>>> But can't get the PCI-e working (and then the intel ethernet), also
>>>> sensor path seems to change every reboot (i need to do more tests).
>>>> Also i've SATA power reg enabled in the DTS but it doesn't seems to have
>>>> any (to be confirmed, the original firmware seems to have the ability to
>>>> shutdown unaccessed drives) and i will remove them, anyway i don't know
>>>> the GPIO, if any.
>>>>
>>>> I still miss some GPIOS for : Led (r/g) power, func led, the four sata
>>>> leds, maybe some triggers for hdds, and the power and func buttons.
>>>> (already tried gpio export and out direction and "1" in value, but
>>>> nothing blink)
>>>> Reset button sends things in /dev/input/input0 so it seems to works.
>>>>
>>>> The current DTS is joined to this mail, i've actually the NAS with me
>>>> and can test things. I can provide too : original dmesg (from original
>>>> firmware), current dmesg using DTS, lspci -vvv (from kernel with arcNumber).
>>>>
>>>> I'm currently using a stock 3.12.9 debian kernel and doesn't have
>>>> anymore access to the original firmware.
>>>>
>>> It would be helpful if you could build a kernel from the git repos.
>>> Have you done that before?
>>>
>> I've built a kernel from the 3.12.9 debian sources but can't get it to
>> boot, i got nothing after "Uncompressing Linux... done, booting the
>> kernel.".
> Check that you have 'earlyprintk' in your commandline, and that you set
>
> Kernel hacking
>   -> Kernel low-level debugging functions
>   -> Kernel low-level debugging port (Kernel low-level debugging via 8250 UART)
>   -> (0xf1012000) Physical base address of debug UART
>   -> (0xfde12000) Virtual base address of debug UART
>   -> (2) Register offset shift for the 8250 debug UART
>   -> Early printk
>
> Also make sure you have set 'console=ttyS0,115200n8' on the commandline
> as well.
All good, also checked for DTB append.
>> I've used the debian's kernel config file, but i can try the
>> kirkwood_defconfig make target and checking everything is activated (DTB
>> append, SATA PMP, etc.)
>> Which git repos i could try to build then ?
> We'll have you work with two repos.  Linus' mainline repo:
>
> $ cd
> $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> $ cd linux
> $ git config --add user.name "first and last"
> $ git config --add user.email "dashie at sigpipe.me"
>
> And we'll add our repo as another remote:
>
> $ git remote add mvebu git://git.infradead.org/linux-mvebu.git
> $ git remote update --prune mvebu
>
> First you should try v3.14-rc1
>
> $ git checkout -b t5325 v3.14-rc1
>
> Now, add your dts file and commit the result.  Build, boot, report back.
>
> I wold also do kirkwood_defconfig with the above that I mentioned.
Well, with kirkwood_defconfig it doesn't find the SATA PHY and panic.
So i've used my debian config, make oldconfig, built and ... the toy is
booting.

Since i've checkout the mvebu branch, i think it's better to start from
kirkwood_defconfig and activate things that starting from the debian
config, right ?

Anyway, going to play with an initrd to get rootfs on usb working.

I've attached the current dmesg to this mail.
>
> hth,
>
> Jason.
Thanks,
Dashie.
-------------- next part --------------
Bytes transferred = 8833880 (86cb58 hex)
## Booting image at 02000000 ...
   Image Name:   3.x-git-t5325__4
   Created:      2014-02-21  19:06:59 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1996116 Bytes =  1.9 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 03000000 ...
   Image Name:   initramfs--3.12-1-kirkwood
   Created:      2014-02-08  17:55:26 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    8833816 Bytes =  8.4 MB
   Load Address: 03000000
   Entry Point:  03000000
   Verifying Checksum ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.14.0-rc1+ (dashie at soarin) (gcc version 4.8.1 (Sourcery CodeBench Lite 2013.11-33) ) #2 Fri Feb 21 20:01:33 CET 2014
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine model: Verbatim PowerBay
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: mtdparts=orion_nand:0x000e0000 at 0x00000000(u-boot)ro,0x1d73c0 at 0x000e0000(uImage),0x86cb58 at 0x2b73c0(uInitrd),- at 0xb23f18(rootfs) console=ttyS0,115200n8 verbose mem=256M root=/dev/ram ip=off earlyprintk
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] allocated 524288 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Memory: 244644K/262144K available (3774K kernel code, 319K rwdata, 1308K rodata, 194K init, 416K bss, 17500K reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc04feb4c   (5083 kB)
[    0.000000]       .init : 0xc04ff000 - 0xc052f884   ( 195 kB)
[    0.000000]       .data : 0xc0530000 - 0xc057fc40   ( 320 kB)
[    0.000000]        .bss : 0xc057fc40 - 0xc05e7e00   ( 417 kB)
[    0.000000] NR_IRQS:114
[    0.000032] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 21474836475ns
[    0.000292] Console: colour dummy device 80x30
[    0.004856] Calibrating delay loop... 1191.93 BogoMIPS (lpj=2383872)
[    0.034901] pid_max: default: 32768 minimum: 301
[    0.039689] Security Framework initialized
[    0.043884] Yama: becoming mindful.
[    0.047521] Mount-cache hash table entries: 512
[    0.054163] Initializing cgroup subsys memory
[    0.058651] Initializing cgroup subsys devices
[    0.063187] Initializing cgroup subsys freezer
[    0.067718] Initializing cgroup subsys net_cls
[    0.072251] Initializing cgroup subsys blkio
[    0.076607] Initializing cgroup subsys perf_event
[    0.081460] CPU: Testing write buffer coherency: ok
[    0.086766] Setting up static identity map for 0x391050 - 0x39108c
[    0.094569] devtmpfs: initialized
[    0.099398] pinctrl core: initialized pinctrl subsystem
[    0.105136] regulator-dummy: no parameters
[    0.109624] NET: Registered protocol family 16
[    0.114550] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.122142] cpuidle: using governor ladder
[    0.126348] cpuidle: using governor menu
[    0.130423] Kirkwood: MV88F6281-A0.
[    0.134094] Feroceon L2: Enabling L2
[    0.137792] Feroceon L2: Cache support initialised.
[    0.143015] [Firmware Info]: /ocp at f1000000/ethernet-controller at 72000/ethernet0-port at 0: local-mac-address is not set
[    0.157058] No ATAGs?
[    0.161742] bio: create slab <bio-0> at 0
[    0.166615] vgaarb: loaded
[    0.170163] Switched to clocksource orion_clocksource
[    0.194396] NET: Registered protocol family 2
[    0.199456] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.206530] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.212970] TCP: Hash tables configured (established 2048 bind 2048)
[    0.219480] TCP: reno registered
[    0.222797] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.228717] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.235236] NET: Registered protocol family 1
[    0.239904] Unpacking initramfs...
[    0.997881] Freeing initrd memory: 8620K (c3001000 - c386c000)
[    1.003873] NetWinder Floating Point Emulator V0.97 (double precision)
[    1.011337] futex hash table entries: 256 (order: -1, 2048 bytes)
[    1.017675] audit: initializing netlink subsys (disabled)
[    1.023212] audit: type=2000 audit(0.992:1): initialized
[    1.135788] VFS: Disk quotas dquot_6.5.2
[    1.139863] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.146526] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.153837] msgmni has been set to 494
[    1.159497] alg: No test for stdrng (krng)
[    1.163758] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.171331] io scheduler noop registered
[    1.175337] io scheduler deadline registered
[    1.179712] io scheduler cfq registered (default)
[    1.185555] kirkwood-pinctrl f1010000.pinctrl: registered pinctrl driver
[    1.192627] mv_xor f1060800.xor: Marvell shared XOR driver
[    1.218225] mv_xor f1060800.xor: Marvell XOR: ( xor cpy )
[    1.242213] mv_xor f1060800.xor: Marvell XOR: ( xor cpy )
[    1.247834] mv_xor f1060900.xor: Marvell shared XOR driver
[    1.270214] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    1.294213] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    1.300053] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    1.307381] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 33, base_baud = 12500000) is a 16550A
[    1.316425] console [ttyS0] enabled
[    1.316425] console [ttyS0] enabled
[    1.323522] bootconsole [earlycon0] disabled
[    1.323522] bootconsole [earlycon0] disabled
[    1.333526] mousedev: PS/2 mouse device common for all mice
[    2.342208] rtc-mv f1010300.rtc: internal RTC not ticking
[    2.347735] i2c /dev entries driver
[    2.357244] TCP: cubic registered
[    2.360651] NET: Registered protocol family 10
[    2.365781] mip6: Mobile IPv6
[    2.368793] NET: Registered protocol family 17
[    2.373281] mpls_gso: MPLS GSO support
[    2.377664] registered taskstats version 1
[    2.382654] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    2.390450] Freeing unused kernel memory: 192K (c04ff000 - c052f000)
Loading, please wait...
[    2.462758] systemd-udevd[49]: starting version 204
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Waiting for root file system ... done.
Gave up waiting for root device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/disk/by-uuid/2922a347-7209-4983-8038-eae31b911dfa does not exist.  Dropping to a shell!
modprobe: can't change directory to '3.14.0-rc1+': No such file or directory
modprobe: can't change directory to '3.14.0-rc1+': No such file or directory
modprobe: can't change directory to '3.14.0-rc1+': No such file or directory
modprobe: can't change directory to '3.14.0-rc1+': No such file or directory
modprobe: can't change directory to '3.14.0-rc1+': No such file or directory
modprobe: can't change directory to '3.14.0-rc1+': No such file or directory
modprobe: can't change directory to '3.14.0-rc1+': No such file or directory
modprobe: can't change directory to '3.14.0-rc1+': No such file or directory


BusyBox v1.21.1 (Debian 1:1.21.0-1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
(initramfs) 


More information about the linux-arm-kernel mailing list