Re: porting linux 2.6.27 to embedded powerpc board

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Laxmikant Rashinkar wrote:
Hi,

I now have the system booted all the up to the shell prompt.
However, my two NIC cards are not up.

When the system is booting, I get the following error:

TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
24520:00 not found
eth0: Could not attach to PHY
The error is here. Your Ethernet controller is not able to attach to phy.



IP-Config: Failed to open eth0
IP-Config: Device `eth0' not found.

here is the networking section from my .dts file

                mdio@24520 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "fsl,gianfar-mdio";
                        reg = <0x24520 0x20>;

                        phy0: ethernet-phy@0 {
                                interrupt-parent = <&ipic>;
                                interrupts = <17 0x8>;
                                reg = <0x0>;
Check this register address. Its default address is usually zero but if you have a board designed by others it may have been set to some other number.

                                device_type = "ethernet-phy";
                        };
                        phy1: ethernet-phy@1 {
                                interrupt-parent = <&ipic>;
                                interrupts = <18 0x8>;
                                reg = <0x1>;
Check this register address too.

                                device_type = "ethernet-phy";
                        };
                };

                enet0: ethernet@24000 {
                        cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <0x24000 0x1000>;
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <32 0x8 33 0x8 34 0x8>;
                        interrupt-parent = <&ipic>;
                        phy-handle = <&phy0>;
                        linux,network-index = <0>;
                };

                enet1: ethernet@25000 {
                        cell-index = <1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <0x25000 0x1000>;
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <35 0x8 36 0x8 37 0x8>;
                        interrupt-parent = <&ipic>;
                        phy-handle = <&phy1>;
                        linux,network-index = <1>;
                };

Does anything here seem to be wrong?

thanks for your help
LK


----- Original Message ----
From: David Jander <david.jander@xxxxxxxxxxx>
To: linuxppc-embedded@xxxxxxxxxx
Cc: Laxmikant Rashinkar <lk.atwork@xxxxxxxxx>
Sent: Thursday, August 21, 2008 2:43:45 AM
Subject: Re: porting linux 2.6.27 to embedded powerpc board

On Thursday 21 August 2008 01:24:46 Laxmikant Rashinkar wrote:
> Hi,
>
> I have an embedded PowerPC (MPC8347) board that works fine with uboot and
> Linux 2.6.15.
>
> I am trying to upgrade the kernel so that it runs on the latest release -
> Linux 2.6.27. So far, I have gotten the kernel to compile on my platform,
> but of course it does not boot.

Well, honestly I don't know where to look for information either (other than
the source-code and examples from others), but here is a list with points to
look out for (I have just done the same thing as you for a MPC5200B-based
board):

1. Upgrade to latest u-boot first (recent git seems to be fine). There have
been a lot of changes in u-boot lately about OF and device-tree related
things. I suspect you need a fairly recent version of u-boot to go well with
the latest kernel. It's also generally a good idea IMHO.

2. I assume you are porting to arch/powerpc (the old arch/ppc you used back in
2.6.15 is obsolete and broken now).

3. Look at other platforms that use the same processor, and pick a simple one
as starting point. Look out for the dts (device-tree-source file in
arch/powerpc/boot/dts), copy and modify one to reflect your hardware.
Recently a lot of changes happend in the kernel, changing device names,
obsoleting "device-type" tags, etc..., so some of the current DTS sources
included in the kernel might not even work (wrong device name, missing
information, wrong use of "device-type", etc...), so watch out for these kind
of issues too.

4. Be sure that the device(s) necessary to produce output on your console are
correctly placed in the DT. Also make sure that u-boot knows about it
(#define OF_STDOUT_PATH... in your u-boot board config file)

5. When compiling the device tree, it may be necessary to add some extra
reserved entries to the compiled tree (I am using dtc -p 10240 -R 20, which
might be slightly exaggerated), because u-boot may add something to it, and
if it can't, linux won't boot.

6. Remember to always specify the "rootfstype=" option on the commandline if
booting from anything other than NFS. This was not necessary back in the
2.6.15-times AFAICR.

7. Boot with a device-tree (in u-boot: "bootm $addrofkernel - $addrofdtb",
don't forget the dash if you are not using an initrd). If you don't do this,
u-boot can't fix your DT, and the kernel probably won't find it either.

8. Be sure to use the correct version of the DTC (DT compiler) for your kernel
(the sources are included nowadays, somewhere in arch/powerpc/boot IIRC). The
command used to compile, should probably be something like this:

$ ./dtc -p 10240 -R 20 -I dts -o myplatform.dtb -O dtb -b 0 dts/myplatform.dts

Load the resulting .dtb file directly with u-boot (don't make an u-image out
of it).

That's all I remember right now... hope it helps.

Regards,

--
David Jander


_______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@xxxxxxxxxx https://ozlabs.org/mailman/listinfo/linuxppc-embedded

-- 

Regards,
R.S.Shree Ram
GDA Technologies Ltd.

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux