Re: porting linux 2.6.27 to embedded powerpc board

2008-08-25 Thread Laxmikant Rashinkar
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
IP-Config: Failed to open eth0
IP-Config: Device `eth0' not found.

here is the networking section from my .dts file

[EMAIL PROTECTED] {
#address-cells = 1;
#size-cells = 0;
compatible = fsl,gianfar-mdio;
reg = 0x24520 0x20;

phy0: [EMAIL PROTECTED] {
interrupt-parent = ipic;
interrupts = 17 0x8;
reg = 0x0;
device_type = ethernet-phy;
};
phy1: [EMAIL PROTECTED] {
interrupt-parent = ipic;
interrupts = 18 0x8;
reg = 0x1;
device_type = ethernet-phy;
};
};

enet0: [EMAIL PROTECTED] {
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: [EMAIL PROTECTED] {
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 [EMAIL PROTECTED]
To: linuxppc-embedded@ozlabs.org
Cc: Laxmikant Rashinkar [EMAIL PROTECTED]
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

Re: porting linux 2.6.27 to embedded powerpc board

2008-08-22 Thread Laxmikant Rashinkar
Hi,

I still haven't gotten anything to work :-(

I'm using Uboot 1.1.4 and Linux 2.6.27 but instead of using uImage, I'm using 
cuImage.myboard
The args to dtc are as listed by David Jander

My cmd line args are:
setenv bootargs root=/dev/ram0 init=/rescue rw console=ttyS0,9600 
ramdisk_size=65536

When I attempt to boot my image it just hangs w/o any output. I dearly wish I 
could get some console output.
Here is the actual display from uboot:


## Booting image at 0080 ...
   Image Name:   Linux-2.6.27-rc2
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:1640425 Bytes =  1.6 MB
   Load Address: 0040
   Entry Point:  0040055c
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Loading RAMDisk Image at 0100 ...
   Image Name:   flash_root.ext3.gz
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:13450106 Bytes = 12.8 MB
   Load Address: 
   Entry Point:  
   Verifying Checksum ... OK
   Loading Ramdisk to 0f29d000, end 0ff70b7a ... OK

Two questions:

1) the load address and entry point for the kernel (see above) are non-zero. 
When we load via uImage, they are always zero. Is this normal? dtc has not 
options to set the load address and entry point.

2) When I build my kernel, I get two warnings. Could these be causing a problem?

WARNING: mm/built-in.o(.data+0x8ec): Section mismatch in reference from the 
variable contig_page_data to the variable .init.data:bootmem_node_data
The variable contig_page_data references
the variable __initdata bootmem_node_data
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,


  MODPOST vmlinux.o
WARNING: vmlinux.o(.data+0xfe74): Section mismatch in reference from the 
variable contig_page_data to the variable .init.data:bootmem_node_data
The variable contig_page_data references
the variable __initdata bootmem_node_data
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

thanks so much for your help.

LK


- Original Message 
From: David Jander [EMAIL PROTECTED]
To: linuxppc-embedded@ozlabs.org
Cc: Laxmikant Rashinkar [EMAIL PROTECTED]
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

Re: porting linux 2.6.27 to embedded powerpc board

2008-08-22 Thread Grant Likely
On Fri, Aug 22, 2008 at 12:26 PM, Laxmikant Rashinkar
[EMAIL PROTECTED] wrote:
 Hi,

 I still haven't gotten anything to work :-(

 I'm using Uboot 1.1.4 and Linux 2.6.27 but instead of using uImage, I'm
 using cuImage.myboard
 The args to dtc are as listed by David Jander

Please post you .dts file and the filename you are using for it.

g.


 My cmd line args are:
 setenv bootargs root=/dev/ram0 init=/rescue rw console=ttyS0,9600
 ramdisk_size=65536

 When I attempt to boot my image it just hangs w/o any output. I dearly wish
 I could get some console output.
 Here is the actual display from uboot:

 ## Booting image at 0080 ...
Image Name:   Linux-2.6.27-rc2
Image Type:   PowerPC Linux Kernel Image (gzip compressed)
Data Size:1640425 Bytes =  1.6 MB
Load Address: 0040
Entry Point:  0040055c
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
 ## Loading RAMDisk Image at 0100 ...
Image Name:   flash_root.ext3.gz
Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
Data Size:13450106 Bytes = 12.8 MB
Load Address: 
Entry Point:  
Verifying Checksum ... OK
Loading Ramdisk to 0f29d000, end 0ff70b7a ... OK

 Two questions:

 1) the load address and entry point for the kernel (see above) are non-zero.
 When we load via uImage, they are always zero. Is this normal? dtc has not
 options to set the load address and entry point.

 2) When I build my kernel, I get two warnings. Could these be causing a
 problem?

 WARNING: mm/built-in.o(.data+0x8ec): Section mismatch in reference from the
 variable contig_page_data to the variable .init.data:bootmem_node_data
 The variable contig_page_data references
 the variable __initdata bootmem_node_data
 If the reference is valid then annotate the
 variable with __init* (see linux/init.h) or name the variable:
 *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,


   MODPOST vmlinux.o
 WARNING: vmlinux.o(.data+0xfe74): Section mismatch in reference from the
 variable contig_page_data to the variable .init.data:bootmem_node_data
 The variable contig_page_data references
 the variable __initdata bootmem_node_data
 If the reference is valid then annotate the
 variable with __init* (see linux/init.h) or name the variable:
 *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

 thanks so much for your help.

 LK

 - Original Message 
 From: David Jander [EMAIL PROTECTED]
 To: linuxppc-embedded@ozlabs.org
 Cc: Laxmikant Rashinkar [EMAIL PROTECTED]
 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

Re: porting linux 2.6.27 to embedded powerpc board

2008-08-22 Thread Grant Likely
  0xb000 0x0 0x0 0x4 ipic 22 0x8

 /* IDSEL 0x17 */
  0xb800 0x0 0x0 0x1 ipic 22 0x8
  0xb800 0x0 0x0 0x2 ipic 23 0x8
  0xb800 0x0 0x0 0x3 ipic 20 0x8
  0xb800 0x0 0x0 0x4 ipic 21 0x8

 /* IDSEL 0x18 */
  0xc000 0x0 0x0 0x1 ipic 21 0x8
  0xc000 0x0 0x0 0x2 ipic 22 0x8
  0xc000 0x0 0x0 0x3 ipic 23 0x8
  0xc000 0x0 0x0 0x4 ipic 20 0x8;
 interrupt-parent = ipic;
 interrupts = 67 0x8;
 bus-range = 0 0;
 ranges = 0x0200 0x0 0xb000 0xb000 0x0
 0x1000
   0x4200 0x0 0xa000 0xa000 0x0
 0x1000
   0x0100 0x0 0x 0xe210 0x0
 0x0010;
 clock-frequency = ;
 #interrupt-cells = 1;
 #size-cells = 2;
 #address-cells = 3;
 reg = 0xe0008600 0x100;
 compatible = fsl,mpc8349-pci;
 device_type = pci;
 };
 };


 thanks
 LK


 - Original Message 
 From: Grant Likely [EMAIL PROTECTED]
 To: Laxmikant Rashinkar [EMAIL PROTECTED]
 Cc: linuxppc-embedded@ozlabs.org
 Sent: Friday, August 22, 2008 12:45:54 PM
 Subject: Re: porting linux 2.6.27 to embedded powerpc board

 On Fri, Aug 22, 2008 at 12:26 PM, Laxmikant Rashinkar
 [EMAIL PROTECTED] wrote:
 Hi,

 I still haven't gotten anything to work :-(

 I'm using Uboot 1.1.4 and Linux 2.6.27 but instead of using uImage, I'm
 using cuImage.myboard
 The args to dtc are as listed by David Jander

 Please post you .dts file and the filename you are using for it.

 g.


 My cmd line args are:
 setenv bootargs root=/dev/ram0 init=/rescue rw console=ttyS0,9600
 ramdisk_size=65536

 When I attempt to boot my image it just hangs w/o any output. I dearly
 wish
 I could get some console output.
 Here is the actual display from uboot:

 ## Booting image at 0080 ...
Image Name:  Linux-2.6.27-rc2
Image Type:  PowerPC Linux Kernel Image (gzip compressed)
Data Size:1640425 Bytes =  1.6 MB
Load Address: 0040
Entry Point:  0040055c
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
 ## Loading RAMDisk Image at 0100 ...
Image Name:  flash_root.ext3.gz
Image Type:  PowerPC Linux RAMDisk Image (gzip compressed)
Data Size:13450106 Bytes = 12.8 MB
Load Address: 
Entry Point:  
Verifying Checksum ... OK
Loading Ramdisk to 0f29d000, end 0ff70b7a ... OK

 Two questions:

 1) the load address and entry point for the kernel (see above) are
 non-zero.
 When we load via uImage, they are always zero. Is this normal? dtc has not
 options to set the load address and entry point.

 2) When I build my kernel, I get two warnings. Could these be causing a
 problem?

 WARNING: mm/built-in.o(.data+0x8ec): Section mismatch in reference from
 the
 variable contig_page_data to the variable .init.data:bootmem_node_data
 The variable contig_page_data references
 the variable __initdata bootmem_node_data
 If the reference is valid then annotate the
 variable with __init* (see linux/init.h) or name the variable:
 *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one,
 *_console,


  MODPOST vmlinux.o
 WARNING: vmlinux.o(.data+0xfe74): Section mismatch in reference from the
 variable contig_page_data to the variable .init.data:bootmem_node_data
 The variable contig_page_data references
 the variable __initdata bootmem_node_data
 If the reference is valid then annotate the
 variable with __init* (see linux/init.h) or name the variable:
 *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one,
 *_console,

 thanks so much for your help.

 LK

 - Original Message 
 From: David Jander [EMAIL PROTECTED]
 To: linuxppc-embedded@ozlabs.org
 Cc: Laxmikant Rashinkar [EMAIL PROTECTED]
 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

Re: porting linux 2.6.27 to embedded powerpc board

2008-08-22 Thread Scott Wood

Laxmikant Rashinkar wrote:
When I attempt to boot my image it just hangs w/o any output. I dearly 
wish I could get some console output.


Make sure you have /chosen/linux,stdout-path in your device tree.  For 
output from the kernel itself, make sure the serial clock-frequency is 
correct.


1) the load address and entry point for the kernel (see above) are 
non-zero. When we load via uImage, they are always zero. Is this normal? 


Yes, it's normal.

2) When I build my kernel, I get two warnings. Could these be causing a 
problem?


Probably not.

-Scott
___
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded


Re: porting linux 2.6.27 to embedded powerpc board

2008-08-21 Thread David Jander
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@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded


Re: porting linux 2.6.27 to embedded powerpc board

2008-08-21 Thread Grant Likely
On Thu, Aug 21, 2008 at 3:43 AM, David Jander [EMAIL PROTECTED] wrote:
 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.

You don't *have* to do this though.  There is a target called
'cuImage.myboard' which will embed the device tree blob in the
kernel image and is backwards compatible with older u-boot versions.
See arch/powerpc/boot/Makefile and arch/powerpc/boot/wrapper to see
how this is generated.

There is a new document that might help in Documentation/powerpc/bootwrapper.txt

 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).

Not just broken; completely removed!  :-)

 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.

The goal is *not* to break existing device trees because we do not
know what has been deployed already and it some cases it is not
feasible to update the device tree on a device.  So, even though
conventions have been refined and changed, backwards compatibility
with older trees is supposed to be preserved.

3b. Once you've written your device tree, post it to the
[EMAIL PROTECTED] mailing list and ask for review.

 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

There is a makefile target now to help you with this and pass the
right options for reserving entries:

$ make myplatform.dtb

The dtb image will appear in arch/powerpc/boot

 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@ozlabs.org
 https://ozlabs.org/mailman/listinfo/linuxppc-embedded




-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
___
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded


Re: porting linux 2.6.27 to embedded powerpc board

2008-08-21 Thread Scott Wood

David Jander wrote:
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)


OF_STDOUT_PATH is deprecated; you should enable 
CONFIG_OF_SERIAL_VIA_ALIAS, and provide aliases in the device tree for 
serial0, serial1, etc.


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.


It still should not be necessary.

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.


s/probably/definitely/

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:


Or just use the most recent DTC.

-Scott

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


Re: porting linux 2.6.27 to embedded powerpc board

2008-08-21 Thread Laxmikant Rashinkar
Just wanted to thank all of you for the detailed feedback and suggestions.
I am going to try them out now and keep my fingers crossed.

thanks again
LK



- Original Message 
From: Scott Wood [EMAIL PROTECTED]
To: David Jander [EMAIL PROTECTED]
Cc: linuxppc-embedded@ozlabs.org; Laxmikant Rashinkar [EMAIL PROTECTED]
Sent: Thursday, August 21, 2008 9:12:23 AM
Subject: Re: porting linux 2.6.27 to embedded powerpc board

David Jander wrote:
 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)

OF_STDOUT_PATH is deprecated; you should enable 
CONFIG_OF_SERIAL_VIA_ALIAS, and provide aliases in the device tree for 
serial0, serial1, etc.

 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.

It still should not be necessary.

 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.

s/probably/definitely/

 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:

Or just use the most recent DTC.

-Scott


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

porting linux 2.6.27 to embedded powerpc board

2008-08-20 Thread Laxmikant Rashinkar
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.

Things have changed drastically since 2.6.15 and the porting methodology used 
back then is obsolete now. Progress is a good thing :-) I have googled for info 
on how to accomplish this port but have found nothing so far. In particular, 
the fact that I am using uboot instead of open firmware makes the task a bit 
more daunting.

The file Documentation/powerpc/booting-without-of.txt gives some info on the 
flattened device tree and and at the end of the board support section it 
states I will describe later the boot process and various callbacks that your 
platform should implement. but that description is not  part of the document.

I am wondering where I can find more info that will help me accomplish this 
port.

thanks a lot for your help.
L.K


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