How to move from /ppc/ to /powerpc/
Fredrik Roubert
roubert at df.lth.se
Fri Sep 22 02:08:08 EST 2006
Hi!
Now I've written an adapted DTS (see attachment) for my custom board,
based on the mpc8349emds.dts from the kernel source. I use Matthew
McClintock's patches to U-Boot to load the kernel with the DTD.
I compile the DTS using the following command line:
dtc -V 16 -I dts -O dtb px5500.dts > px5500.dtb
I've compiled an unmodified 2.6.18 kernel configured for powerpc and the
MPC834x SYS platform. The system boots OK and I can log in using SSH.
However, I have problems with the serial console. During boot, I get the
following printout:
Booting using flat device tree at 0x400000
Using MPC834x SYS machine description
Linux version 2.6.18 (frer at milou) (gcc version 4.1.1) #1 PREEMPT Thu Sep 21 17:31:30 CEST 2006
setup_arch: bootmem
mpc834x_sys_setup_arch()
Found MPC83xx PCI host bridge at 0x00000000ff408500. Firmware bus number: 0->0
arch: exit
Built 1 zonelists. Total pages: 32768
Kernel command line: root=/dev/nfs rw nfsroot=150.158.215.227:/home/rootfs/dev-ds ip=150.158.211.83:150.158.215.227:150.158.212.1:255.255.248.0:dev-ds:eth0:off console=ttyS0,115200 console=ttyS0,115200 rtc-x1205.force=0,0x6f
IPIC (128 IRQ sources) at fdefc700
PID hash table entries: 1024 (order: 10, 4096 bytes)
The serial console stops working after the call to console_init().
Except for the serial console, the system seems to be running fine. Does
anyone have any ideas about what might be wrong and how I could try to
track this problem down?
Cheers // Fredrik Roubert
--
Visserij 192 | +32 473 344527 / +46 708 776974
BE-9000 Gent | http://www.df.lth.se/~roubert/
-------------- next part --------------
/ {
model = "PX5500";
#address-cells = <1>;
#size-cells = <1>;
cpus {
#cpus = <1>;
#address-cells = <1>;
#size-cells = <0>;
PowerPC,8349 at 0 {
device_type = "cpu";
reg = <0>;
d-cache-line-size = <20>; // 32 bytes
i-cache-line-size = <20>; // 32 bytes
d-cache-size = <8000>; // L1, 32K
i-cache-size = <8000>; // L1, 32K
timebase-frequency = <0>; // from bootloader
bus-frequency = <0>; // from bootloader
clock-frequency = <0>; // from bootloader
32-bit;
linux,boot-cpu;
};
};
memory {
device_type = "memory";
reg = <00000000 08000000>; // 128MB at 0
};
chosen {
name = "chosen";
linux,platform = <00000600>;
linux,stdout-path = "/soc8349 at ff400000/serial at 4500";
bootargs = "root=/dev/nfs rw nfsroot=150.158.215.227:/home/rootfs/dev-ds ip=150.158.211.83:150.158.215.227:150.158.212.1:255.255.248.0:dev-ds:eth0:off console=ttyS0,115200 console=ttyS0,115200 rtc-x1205.force=0,0x6f";
};
soc8349 at ff400000 {
#address-cells = <1>;
#size-cells = <1>;
#interrupt-cells = <2>;
device_type = "soc";
ranges = <0 ff400000 00100000>;
reg = <ff400000 00000200>;
bus-frequency = <0>;
i2c at 3000 {
device_type = "i2c";
compatible = "fsl-i2c";
reg = <3000 100>;
interrupts = <e 8>;
interrupt-parent = <700>;
dfsrr;
};
mdio at 24520 {
device_type = "mdio";
compatible = "gianfar";
reg = <24520 20>;
#address-cells = <1>;
#size-cells = <0>;
linux,phandle = <24520>;
ethernet-phy at 0 {
linux,phandle = <2452000>;
interrupt-parent = <700>;
interrupts = <11 2>;
reg = <1>;
device_type = "ethernet-phy";
};
ethernet-phy at 1 {
linux,phandle = <2452001>;
interrupt-parent = <700>;
interrupts = <12 2>;
reg = <3>;
device_type = "ethernet-phy";
};
};
ethernet at 24000 {
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <24000 1000>;
address = [ 00 00 00 00 00 00 ];
local-mac-address = [ 00 11 00 11 ff a1 ];
interrupts = <20 8 21 8 22 8>;
interrupt-parent = <700>;
phy-handle = <2452000>;
};
ethernet at 25000 {
#address-cells = <1>;
#size-cells = <0>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <25000 1000>;
address = [ 00 00 00 00 00 00 ];
local-mac-address = [ 00 11 00 11 ff a2 ];
interrupts = <23 8 24 8 25 8>;
interrupt-parent = <700>;
phy-handle = <2452001>;
};
serial at 4500 {
device_type = "serial";
compatible = "ns16550";
reg = <4500 100>;
clock-frequency = <0>;
interrupts = <9 8>;
interrupt-parent = <700>;
};
serial at 4600 {
device_type = "serial";
compatible = "ns16550";
reg = <4600 100>;
clock-frequency = <0>;
interrupts = <a 8>;
interrupt-parent = <700>;
};
pci at 8500 {
interrupt-map-mask = <f800 0 0 7>;
interrupt-map = <
/* IDSEL 0x0e */
7000 0 0 1 700 17 8
7000 0 0 2 700 00 8
7000 0 0 3 700 00 8
7000 0 0 4 700 00 8>;
interrupt-parent = <700>;
interrupts = <42 8>;
bus-range = <0 0>;
ranges = <02000000 0 a0000000 a0000000 0 10000000
42000000 0 80000000 80000000 0 10000000
01000000 0 00000000 e2000000 0 00100000>;
clock-frequency = <3f940aa>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <8500 100>;
compatible = "83xx";
device_type = "pci";
};
/* IPIC
* interrupts cell = <intr #, sense>
* sense values match linux IORESOURCE_IRQ_* defines:
* sense == 8: Level, low assertion
* sense == 2: Edge, high-to-low change
*/
pic at 700 {
linux,phandle = <700>;
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <2>;
reg = <700 100>;
built-in;
device_type = "ipic";
};
};
};
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 303 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060921/8f4b5b7e/attachment.pgp
More information about the Linuxppc-embedded
mailing list