<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div>Hi,<br><br>my .dts file is called mpc834x_mds.dts. (My processor is MPC8347)<br>Here are its contents.<br><br>/*<br> * MPC8349E MDS Device Tree Source<br> *<br> * Copyright 2005, 2006 Freescale Semiconductor Inc.<br> *<br> * This program is free software; you can redistribute it and/or modify it<br> * under the terms of the GNU General Public License as published by the<br> * Free Software Foundation; either version 2 of the License, or (at your<br> * option) any later version.<br> */<br><br>/dts-v1/;<br><br>/ {<br> model = "MPC8349EMDS";<br> compatible = "MPC8349EMDS", "MPC834xMDS",
"MPC83xxMDS";<br> #address-cells = <1>;<br> #size-cells = <1>;<br><br> aliases {<br> ethernet0 = &enet0;<br> ethernet1 = &enet1;<br> serial0 = &serial0;<br> serial1 = &serial1;<br> pci0 = &pci0;<br> pci1 = &pci1;<br>
};<br><br> cpus {<br> #address-cells = <1>;<br> #size-cells = <0>;<br><br> PowerPC,8349@0 {<br> device_type = "cpu";<br> reg = <0x0>;<br> d-cache-line-size =
<32>;<br> i-cache-line-size = <32>;<br> d-cache-size = <32768>;<br> i-cache-size = <32768>;<br> timebase-frequency = <0>; // from bootloader<br> bus-frequency =
<0>; // from bootloader<br> clock-frequency = <0>; // from bootloader<br> };<br> };<br><br> memory {<br> device_type = "memory";<br> reg = <0x00000000 0x10000000>; // 256MB at 0<br> };<br><br> bcsr@e2400000
{<br> device_type = "board-control";<br> reg = <0xe2400000 0x8000>;<br> };<br><br> soc8349@e0000000 {<br> #address-cells = <1>;<br> #size-cells = <1>;<br> device_type = "soc";<br> compatible = "simple-bus";<br> ranges = <0x0
0xe0000000 0x00100000>;<br> reg = <0xe0000000 0x00000200>;<br> bus-frequency = <0>;<br><br> wdt@200 {<br> device_type = "watchdog";<br> compatible = "mpc83xx_wdt";<br> reg = <0x200
0x100>;<br> };<br><br> i2c@3000 {<br> #address-cells = <1>;<br> #size-cells = <0>;<br> cell-index = <0>;<br> compatible =
"fsl-i2c";<br> reg = <0x3000 0x100>;<br> interrupts = <14 0x8>;<br> interrupt-parent = <&ipic>;<br> dfsrr;<br><br> rtc@68
{<br> compatible = "dallas,ds1374";<br> reg = <0x68>;<br> };<br> };<br><br> i2c@3100 {<br> #address-cells =
<1>;<br> #size-cells = <0>;<br> cell-index = <1>;<br> compatible = "fsl-i2c";<br> reg = <0x3100 0x100>;<br> interrupts = <15
0x8>;<br> interrupt-parent = <&ipic>;<br> dfsrr;<br> };<br><br> spi@7000 {<br> cell-index = <0>;<br> compatible =
"fsl,spi";<br> reg = <0x7000 0x1000>;<br> interrupts = <16 0x8>;<br> interrupt-parent = <&ipic>;<br> mode = "cpu";<br> };<br><br> dma@82a8
{<br> #address-cells = <1>;<br> #size-cells = <1>;<br> compatible = "fsl,mpc8349-dma", "fsl,elo-dma";<br> reg = <0x82a8 4>;<br> ranges = <0 0x8100
0x1a8>;<br> interrupt-parent = <&ipic>;<br> interrupts = <71 8>;<br> cell-index = <0>;<br> dma-channel@0 {<br> compatible = "fsl,mpc8349-dma-channel",
"fsl,elo-dma-channel";<br> reg = <0 0x80>;<br> interrupt-parent = <&ipic>;<br> interrupts = <71 8>;<br> };<br>
dma-channel@80 {<br> compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";<br> reg = <0x80 0x80>;<br> interrupt-parent = <&ipic>;<br> interrupts = <71
8>;<br> };<br> dma-channel@100 {<br> compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";<br> reg = <0x100
0x80>;<br> interrupt-parent = <&ipic>;<br> interrupts = <71 8>;<br> };<br> dma-channel@180 {<br> compatible =
"fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";<br> reg = <0x180 0x28>;<br> interrupt-parent = <&ipic>;<br> interrupts = <71 8>;<br> };<br>
};<br><br> /* phy type (ULPI or SERIAL) are only types supported for MPH */<br> /* port = 0 or 1 */<br> usb@22000 {<br> compatible = "fsl-usb2-mph";<br> reg = <0x22000 0x1000>;<br> #address-cells =
<1>;<br> #size-cells = <0>;<br> interrupt-parent = <&ipic>;<br> interrupts = <39 0x8>;<br> phy_type = "ulpi";<br> port1;<br>
};<br> /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */<br> usb@23000 {<br> compatible = "fsl-usb2-dr";<br> reg = <0x23000 0x1000>;<br> #address-cells = <1>;<br> #size-cells =
<0>;<br> interrupt-parent = <&ipic>;<br> interrupts = <38 0x8>;<br> dr_mode = "otg";<br> phy_type = "ulpi";<br> };<br><br> mdio@24520
{<br> #address-cells = <1>;<br> #size-cells = <0>;<br> compatible = "fsl,gianfar-mdio";<br> reg = <0x24520 0x20>;<br><br> phy0: ethernet-phy@0
{<br> interrupt-parent = <&ipic>;<br> interrupts = <17 0x8>;<br> reg = <0x0>;<br> device_type =
"ethernet-phy";<br> };<br> phy1: ethernet-phy@1 {<br> interrupt-parent = <&ipic>;<br> interrupts = <18 0x8>;<br> reg
= <0x1>;<br> device_type = "ethernet-phy";<br> };<br> };<br><br> enet0: ethernet@24000 {<br> cell-index = <0>;<br> device_type =
"network";<br> model = "TSEC";<br> compatible = "gianfar";<br> reg = <0x24000 0x1000>;<br> local-mac-address = [ 00 00 00 00 00 00 ];<br> interrupts = <32 0x8 33 0x8 34
0x8>;<br> interrupt-parent = <&ipic>;<br> phy-handle = <&phy0>;<br> linux,network-index = <0>;<br> };<br><br> enet1: ethernet@25000 {<br> cell-index =
<1>;<br> device_type = "network";<br> model = "TSEC";<br> compatible = "gianfar";<br> reg = <0x25000 0x1000>;<br> local-mac-address = [ 00 00 00 00 00 00
];<br> interrupts = <35 0x8 36 0x8 37 0x8>;<br> interrupt-parent = <&ipic>;<br> phy-handle = <&phy1>;<br> linux,network-index = <1>;<br> };<br><br> serial0: serial@4500
{<br> cell-index = <0>;<br> device_type = "serial";<br> compatible = "ns16550";<br> reg = <0x4500 0x100>;<br> clock-frequency =
<0>;<br> interrupts = <9 0x8>;<br> interrupt-parent = <&ipic>;<br> };<br><br> serial1: serial@4600 {<br> cell-index = <1>;<br> device_type =
"serial";<br> compatible = "ns16550";<br> reg = <0x4600 0x100>;<br> clock-frequency = <0>;<br> interrupts = <10 0x8>;<br> interrupt-parent = <&ipic>;<br>
};<br><br> crypto@30000 {<br> compatible = "fsl,sec2.0";<br> reg = <0x30000 0x10000>;<br> interrupts = <11 0x8>;<br> interrupt-parent = <&ipic>;<br> fsl,num-channels
= <4>;<br> fsl,channel-fifo-len = <24>;<br> fsl,exec-units-mask = <0x7e>;<br> fsl,descriptor-types-mask = <0x01010ebf>;<br> };<br><br> /* IPIC<br> * interrupts cell = <intr #,
sense><br> * sense values match linux IORESOURCE_IRQ_* defines:<br> * sense == 8: Level, low assertion<br> * sense == 2: Edge, high-to-low change<br> */<br> ipic: pic@700 {<br> interrupt-controller;<br>
#address-cells = <0>;<br> #interrupt-cells = <2>;<br> reg = <0x700 0x100>;<br> device_type = "ipic";<br> };<br> };<br><br> pci0: pci@e0008500 {<br> cell-index = <1>;<br>
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;<br> interrupt-map = <<br><br> /* IDSEL 0x11 */<br> 0x8800 0x0 0x0 0x1 &ipic 20 0x8<br> 0x8800 0x0 0x0 0x2 &ipic 21
0x8<br> 0x8800 0x0 0x0 0x3 &ipic 22 0x8<br> 0x8800 0x0 0x0 0x4 &ipic 23 0x8<br><br> /* IDSEL 0x12 */<br> 0x9000 0x0 0x0 0x1 &ipic 22
0x8<br> 0x9000 0x0 0x0 0x2 &ipic 23 0x8<br> 0x9000 0x0 0x0 0x3 &ipic 20 0x8<br> 0x9000 0x0 0x0 0x4 &ipic 21 0x8<br><br> /* IDSEL 0x13
*/<br> 0x9800 0x0 0x0 0x1 &ipic 23 0x8<br> 0x9800 0x0 0x0 0x2 &ipic 20 0x8<br> 0x9800 0x0 0x0 0x3 &ipic 21 0x8<br> 0x9800 0x0 0x0 0x4 &ipic 22
0x8<br><br> /* IDSEL 0x15 */<br> 0xa800 0x0 0x0 0x1 &ipic 20 0x8<br> 0xa800 0x0 0x0 0x2 &ipic 21 0x8<br> 0xa800 0x0 0x0 0x3 &ipic 22
0x8<br> 0xa800 0x0 0x0 0x4 &ipic 23 0x8<br><br> /* IDSEL 0x16 */<br> 0xb000 0x0 0x0 0x1 &ipic 23 0x8<br> 0xb000 0x0 0x0 0x2 &ipic 20
0x8<br> 0xb000 0x0 0x0 0x3 &ipic 21 0x8<br> 0xb000 0x0 0x0 0x4 &ipic 22 0x8<br><br> /* IDSEL 0x17 */<br> 0xb800 0x0 0x0 0x1 &ipic 22
0x8<br> 0xb800 0x0 0x0 0x2 &ipic 23 0x8<br> 0xb800 0x0 0x0 0x3 &ipic 20 0x8<br> 0xb800 0x0 0x0 0x4 &ipic 21 0x8<br><br> /* IDSEL 0x18
*/<br> 0xc000 0x0 0x0 0x1 &ipic 21 0x8<br> 0xc000 0x0 0x0 0x2 &ipic 22 0x8<br> 0xc000 0x0 0x0 0x3 &ipic 23 0x8<br> 0xc000 0x0 0x0 0x4 &ipic 20
0x8>;<br> interrupt-parent = <&ipic>;<br> interrupts = <66 0x8>;<br> bus-range = <0 0>;<br> ranges = <0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000<br> 0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000<br> 0x01000000 0x0 0x00000000 0xe2000000 0x0
0x00100000>;<br> clock-frequency = <66666666>;<br> #interrupt-cells = <1>;<br> #size-cells = <2>;<br> #address-cells = <3>;<br> reg = <0xe0008500 0x100>;<br> compatible = "fsl,mpc8349-pci";<br> device_type = "pci";<br>
};<br><br> pci1: pci@e0008600 {<br> cell-index = <2>;<br> interrupt-map-mask = <0xf800 0x0 0x0 0x7>;<br> interrupt-map = <<br><br> /* IDSEL 0x11 */<br> 0x8800 0x0 0x0 0x1 &ipic 20
0x8<br> 0x8800 0x0 0x0 0x2 &ipic 21 0x8<br> 0x8800 0x0 0x0 0x3 &ipic 22 0x8<br> 0x8800 0x0 0x0 0x4 &ipic 23 0x8<br><br> /* IDSEL 0x12
*/<br> 0x9000 0x0 0x0 0x1 &ipic 22 0x8<br> 0x9000 0x0 0x0 0x2 &ipic 23 0x8<br> 0x9000 0x0 0x0 0x3 &ipic 20 0x8<br> 0x9000 0x0 0x0 0x4 &ipic 21
0x8<br><br> /* IDSEL 0x13 */<br> 0x9800 0x0 0x0 0x1 &ipic 23 0x8<br> 0x9800 0x0 0x0 0x2 &ipic 20 0x8<br> 0x9800 0x0 0x0 0x3 &ipic 21
0x8<br> 0x9800 0x0 0x0 0x4 &ipic 22 0x8<br><br> /* IDSEL 0x15 */<br> 0xa800 0x0 0x0 0x1 &ipic 20 0x8<br> 0xa800 0x0 0x0 0x2 &ipic 21
0x8<br> 0xa800 0x0 0x0 0x3 &ipic 22 0x8<br> 0xa800 0x0 0x0 0x4 &ipic 23 0x8<br><br> /* IDSEL 0x16 */<br> 0xb000 0x0 0x0 0x1 &ipic 23
0x8<br> 0xb000 0x0 0x0 0x2 &ipic 20 0x8<br> 0xb000 0x0 0x0 0x3 &ipic 21 0x8<br> 0xb000 0x0 0x0 0x4 &ipic 22 0x8<br><br> /* IDSEL 0x17
*/<br> 0xb800 0x0 0x0 0x1 &ipic 22 0x8<br> 0xb800 0x0 0x0 0x2 &ipic 23 0x8<br> 0xb800 0x0 0x0 0x3 &ipic 20 0x8<br> 0xb800 0x0 0x0 0x4 &ipic 21
0x8<br><br> /* IDSEL 0x18 */<br> 0xc000 0x0 0x0 0x1 &ipic 21 0x8<br> 0xc000 0x0 0x0 0x2 &ipic 22 0x8<br> 0xc000 0x0 0x0 0x3 &ipic 23
0x8<br> 0xc000 0x0 0x0 0x4 &ipic 20 0x8>;<br> interrupt-parent = <&ipic>;<br> interrupts = <67 0x8>;<br> bus-range = <0 0>;<br> ranges = <0x02000000 0x0 0xb0000000 0xb0000000 0x0 0x10000000<br> 0x42000000 0x0 0xa0000000 0xa0000000
0x0 0x10000000<br> 0x01000000 0x0 0x00000000 0xe2100000 0x0 0x00100000>;<br> clock-frequency = <66666666>;<br> #interrupt-cells = <1>;<br> #size-cells = <2>;<br> #address-cells = <3>;<br> reg = <0xe0008600 0x100>;<br> compatible =
"fsl,mpc8349-pci";<br> device_type = "pci";<br> };<br>};<br><br><br>thanks<br>LK<br><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 12pt;">----- Original Message ----<br>From: Grant Likely <grant.likely@secretlab.ca><br>To: Laxmikant Rashinkar <lk.atwork@yahoo.com><br>Cc: linuxppc-embedded@ozlabs.org<br>Sent: Friday, August 22, 2008 12:45:54 PM<br>Subject: Re: porting linux 2.6.27 to embedded powerpc board<br><br>
On Fri, Aug 22, 2008 at 12:26 PM, Laxmikant Rashinkar<br><<a ymailto="mailto:lk.atwork@yahoo.com" href="mailto:lk.atwork@yahoo.com">lk.atwork@yahoo.com</a>> wrote:<br>> Hi,<br>><br>> I still haven't gotten anything to work :-(<br>><br>> I'm using Uboot 1.1.4 and Linux 2.6.27 but instead of using uImage, I'm<br>> using cuImage.<myboard><br>> The args to dtc are as listed by David Jander<br><br>Please post you .dts file and the filename you are using for it.<br><br>g.<br><br>><br>> My cmd line args are:<br>> setenv bootargs root=/dev/ram0 init=/rescue rw console=ttyS0,9600<br>> ramdisk_size=65536<br>><br>> When I attempt to boot my image it just hangs w/o any output. I dearly wish<br>> I could get some console output.<br>> Here is the actual display from uboot:<br>><br>> ## Booting image at 00800000 ...<br>> Image Name: Linux-2.6.27-rc2<br>> Image
Type: PowerPC Linux Kernel Image (gzip compressed)<br>> Data Size: 1640425 Bytes = 1.6 MB<br>> Load Address: 00400000<br>> Entry Point: 0040055c<br>> Verifying Checksum ... OK<br>> Uncompressing Kernel Image ... OK<br>> ## Loading RAMDisk Image at 01000000 ...<br>> Image Name: flash_root.ext3.gz<br>> Image Type: PowerPC Linux RAMDisk Image (gzip compressed)<br>> Data Size: 13450106 Bytes = 12.8 MB<br>> Load Address: 00000000<br>> Entry Point: 00000000<br>> Verifying Checksum ... OK<br>> Loading Ramdisk to 0f29d000, end 0ff70b7a ... OK<br>><br>> Two questions:<br>><br>> 1) the load address and entry point for the kernel (see above) are non-zero.<br>> When we load via uImage, they are
always zero. Is this normal? dtc has not<br>> options to set the load address and entry point.<br>><br>> 2) When I build my kernel, I get two warnings. Could these be causing a<br>> problem?<br>><br>> WARNING: mm/built-in.o(.data+0x8ec): Section mismatch in reference from the<br>> variable contig_page_data to the variable .init.data:bootmem_node_data<br>> The variable contig_page_data references<br>> the variable __initdata bootmem_node_data<br>> If the reference is valid then annotate the<br>> variable with __init* (see linux/init.h) or name the variable:<br>> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,<br>><br>><br>> MODPOST vmlinux.o<br>> WARNING: vmlinux.o(.data+0xfe74): Section mismatch in reference from the<br>> variable contig_page_data to the variable .init.data:bootmem_node_data<br>> The variable contig_page_data references<br>> the variable
__initdata bootmem_node_data<br>> If the reference is valid then annotate the<br>> variable with __init* (see linux/init.h) or name the variable:<br>> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,<br>><br>> thanks so much for your help.<br>><br>> LK<br>><br>> ----- Original Message ----<br>> From: David Jander <<a ymailto="mailto:david.jander@protonic.nl" href="mailto:david.jander@protonic.nl">david.jander@protonic.nl</a>><br>> To: <a ymailto="mailto:linuxppc-embedded@ozlabs.org" href="mailto:linuxppc-embedded@ozlabs.org">linuxppc-embedded@ozlabs.org</a><br>> Cc: Laxmikant Rashinkar <<a ymailto="mailto:lk.atwork@yahoo.com" href="mailto:lk.atwork@yahoo.com">lk.atwork@yahoo.com</a>><br>> Sent: Thursday, August 21, 2008 2:43:45 AM<br>> Subject: Re: porting linux 2.6.27 to embedded powerpc board<br>><br>> On Thursday 21 August 2008 01:24:46 Laxmikant Rashinkar
wrote:<br>>> Hi,<br>>><br>>> I have an embedded PowerPC (MPC8347) board that works fine with uboot and<br>>> Linux 2.6.15.<br>>><br>>> I am trying to upgrade the kernel so that it runs on the latest release -<br>>> Linux 2.6.27. So far, I have gotten the kernel to compile on my platform,<br>>> but of course it does not boot.<br>><br>> Well, honestly I don't know where to look for information either (other than<br>> the source-code and examples from others), but here is a list with points to<br>> look out for (I have just done the same thing as you for a MPC5200B-based<br>> board):<br>><br>> 1. Upgrade to latest u-boot first (recent git seems to be fine). There have<br>> been a lot of changes in u-boot lately about OF and device-tree related<br>> things. I suspect you need a fairly recent version of u-boot to go well with<br>> the latest kernel. It's also generally a good idea
IMHO.<br>><br>> 2. I assume you are porting to arch/powerpc (the old arch/ppc you used back<br>> in<br>> 2.6.15 is obsolete and broken now).<br>><br>> 3. Look at other platforms that use the same processor, and pick a simple<br>> one<br>> as starting point. Look out for the dts (device-tree-source file in<br>> arch/powerpc/boot/dts), copy and modify one to reflect your hardware.<br>> Recently a lot of changes happend in the kernel, changing device names,<br>> obsoleting "device-type" tags, etc..., so some of the current DTS sources<br>> included in the kernel might not even work (wrong device name, missing<br>> information, wrong use of "device-type", etc...), so watch out for these<br>> kind<br>> of issues too.<br>><br>> 4. Be sure that the device(s) necessary to produce output on your console<br>> are<br>> correctly placed in the DT. Also make sure that u-boot knows about it<br>> (#define
OF_STDOUT_PATH... in your u-boot board config file)<br>><br>> 5. When compiling the device tree, it may be necessary to add some extra<br>> reserved entries to the compiled tree (I am using dtc -p 10240 -R 20, which<br>> might be slightly exaggerated), because u-boot may add something to it, and<br>> if it can't, linux won't boot.<br>><br>> 6. Remember to always specify the "rootfstype=" option on the commandline if<br>> booting from anything other than NFS. This was not necessary back in the<br>> 2.6.15-times AFAICR.<br>><br>> 7. Boot with a device-tree (in u-boot: "bootm $addrofkernel - $addrofdtb",<br>> don't forget the dash if you are not using an initrd). If you don't do this,<br>> u-boot can't fix your DT, and the kernel probably won't find it either.<br>><br>> 8. Be sure to use the correct version of the DTC (DT compiler) for your<br>> kernel<br>> (the sources are included nowadays, somewhere in
arch/powerpc/boot IIRC).<br>> The<br>> command used to compile, should probably be something like this:<br>><br>> $ ./dtc -p 10240 -R 20 -I dts -o myplatform.dtb -O dtb -b 0<br>> dts/myplatform.dts<br>><br>> Load the resulting .dtb file directly with u-boot (don't make an u-image out<br>> of it).<br>><br>> That's all I remember right now... hope it helps.<br>><br>> Regards,<br>><br>> --<br>> David Jander<br>><br>><br>> _______________________________________________<br>> Linuxppc-embedded mailing list<br>> <a ymailto="mailto:Linuxppc-embedded@ozlabs.org" href="mailto:Linuxppc-embedded@ozlabs.org">Linuxppc-embedded@ozlabs.org</a><br>> <a href="https://ozlabs.org/mailman/listinfo/linuxppc-embedded" target="_blank">https://ozlabs.org/mailman/listinfo/linuxppc-embedded</a><br>><br><br><br><br>-- <br>Grant Likely, B.Sc., P.Eng.<br>Secret Lab Technologies Ltd.<br></div></div></div><br>
</body></html>