MARVELL BOARD: RD-88F6281A -CURRENT
Warner Losh
imp at bsdimp.com
Sun Apr 6 20:13:08 UTC 2014
On Apr 6, 2014, at 2:10 PM, Ian Lepore <ian at FreeBSD.org> wrote:
> On Sun, 2014-04-06 at 21:42 +0200, Andreas Tobler wrote:
>> On 06.04.14 00:31, Ian Lepore wrote:
>>> On Sat, 2014-04-05 at 23:53 +0200, Andreas Tobler wrote:
>>>> On 05.04.14 23:10, Ian Lepore wrote:
>>>>> On Sat, 2014-04-05 at 22:54 +0200, Andreas Tobler wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> I'm very new to arm hardware, but not to FreeBSD.
>>>>>> I got my hands on a broken (software like) ix2-200 Iomega StorCenter. A
>>>>>> few wires and a screen session allowed me to dive into it and I tried to
>>>>>> boot -CURRENT on it. Below where I end.
>>>>>>
>>>>>> The config I used is the DB-88F6XXX with enabling the INVARIANTS etc.
>>>>>> The board itself identifies as the subject says. It has this:
>>>>>> Soc: 88F6281 A0CPU running @ 1000Mhz L2 running @ 333Mhz
>>>>>> SysClock = 333Mhz , TClock = 200Mhz
>>>>>> DRAM (DDR2) CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
>>>>>> DRAM CS[0] base 0x00000000 size 256
>>>>>>
>>>>>> Has anyone a hint or an idea where to start debugging this?
>>>>>>
>>>>>> TIA,
>>>>>> Andreas
>>>>>>
>>>>>> [...]
>>>>>
>>>>> Easy things first, I guess... in sys/boot/fdt/dts/db88f6281.dts I see
>>>>>
>>>>> reg = <0x0 0x20000000>; // 512M at 0x0
>>>>>
>>>>> Try cutting that in half and rebuilding the kernel.
>>>>
>>>> Yep, simple thing! As said, new to the hardware :)
>>>>
>>>> Thanks a lot.
>>>>
>>>> Sure, now I 'hang' in an other area.
>>>>
>>>> mge0: <Marvell Gigabit Ethernet controller> mem 0x72000-0x73fff irq
>>>> 12,13,14,11,46 on simplebus0
>>>> mge0: Ethernet address: 00:d0:b8:1e:3b:df
>>>> mge0: attaching PHYs failed
>>>> --> hangs
>>>> According to the u-boot env I have two eth's and only the second is
>>>> wired and used.
>>>>
>>>> From u-boot:
>>>> Net: egiga0, egiga1 [PRIME]
>>>>
>>>> Now my questions, how do I enable verbose boot? On PowerPC I know I have
>>>> to do it in boot/loader.conf, here too?
>>>>
>>>> I guess my hardware is different from an eval board, so I expect I'd
>>>> need a customized dts, no? If so, how do I get the information out of
>>>> the u-boot?
>>>> Again, thx a lot!
>>>> Andreas
>>>
>>> You're probably not even using loader(8) but rather launching the kernel
>>> directly (only newer arm systems and newer versions of u-boot use
>>> loader). That means things like tunables and bootverbose have to be
>>> hacked into the kernel, at least for now to make some progress. The
>>> initarm_early_init() routine in arm/mv/mv_machdep.c is a good place to
>>> throw in a bootverbose=1.
>>
>> Ok. I did it in sys/kern/init_main.c
>>
>>> For disabling egiga0 just add status="disabled" to its entry in the dts
>>> file. Have a look at the dreamplug dts files for an example of setting
>>> up egiga1, but I'm not sure everything will be exactly the same. You
>>> may need to transplant the phy0 entry from egiga0 into egiga1 for that
>>> box.
>>
>> Good start, thanks.
>>
>>> The 'bdinfo' command in u-boot sometimes shows lots of good info,
>>> sometimes not so much.
>>
>> Hm, this command is not available in my env.
>> Anyway, I figured to play with the regs in the enet dts section and I
>> managed to get it up. Unfortunately I don't get any dhcp requests to the
>> server, so no ack can be given. I'll play around.
>>
>> Sending DHCP Discover packet from interface mge0 (00:d0:b8:1e:3b:df)
>> ....
>> DHCP/BOOTP timeout for server 255.255.255.255
>> ....
>>
>> Thanks again!
>> Andreas
>
> I just realized that there's likely to be dts source for that box in
> linux, and sure enough:
>
> https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
>
> There should be a lot of good clues in there, although we're not quite
> so compatible that you can necessarily just paste linux dts code into
> our dts files.
(a) We should fix the incompatibility. :) I do understand this may be hardish…
(b) All of Linux’s files, as of the last major kernel release, are in our vendor tree under base/vendor/device-tree.
Warner
More information about the freebsd-arm
mailing list