GPIO interrupt on AMCC 460EX
From: Felix Radensky <hidden>
Date: 2008-08-28 15:07:08
11 messages, 5 authors, 2008-09-03 · open the first message on its own page
From: Felix Radensky <hidden>
Date: 2008-08-28 15:07:08
Hi, I'm writing a Linux driver for CPLD access on custom 460EX based board. CPLD generates interrupt, which is connected to GPIO pin 45. According to 460EX user manual, this pin, if configured as alternate function 3, will generate external interrupt 12, which is mapped into irq 20 on UIC3. My question is - how do I get irq number suitable for passing to request_irq(). Thanks a lot. Felix Radensky Embedded Solutions Ltd. http://www.embedded-sol.com
From: Stefan Roese <sr@denx.de>
Date: 2008-08-28 15:25:28
Felix, On Thursday 28 August 2008, Felix Radensky wrote:
I'm writing a Linux driver for CPLD access on custom 460EX based board. CPLD generates interrupt, which is connected to GPIO pin 45. According to 460EX user manual, this pin, if configured as alternate function 3, will generate external interrupt 12, which is mapped into irq 20 on UIC3. My question is - how do I get irq number suitable for passing to request_irq().
arch/powerpc now used virtual interrupts. You need to include this hardware
interrupt number into your device-tree (create a new node for your CPLD) and
extract the virtual irq number from there by calling irq_of_parse_and_map().
Best regards,
Stefan
From: Felix Radensky <hidden>
Date: 2008-08-28 21:48:13
Hi, Stefan Stefan Roese wrote:
arch/powerpc now used virtual interrupts. You need to include this hardware interrupt number into your device-tree (create a new node for your CPLD) and extract the virtual irq number from there by calling irq_of_parse_and_map().
That works fine, thank you. Felix.
From: SETTE AGOSTINO - technolabs <hidden>
Date: 2008-08-29 15:43:26
Hi all,
I am trying to port a RAMDISK Filesystem on the MPC8568MDS board but I
have the following problem:
U-Boot 1.3.0-rc3 (Nov 23 2007 - 18:17:06)
CPU: 8568_E, Version: 1.1, (0x807d0011)
Core: E500, Version: 2.2, (0x80210022)
Clock Configuration:
CPU:1320 MHz, CCB: 528 MHz,
DDR: 264 MHz, LBC: 132 MHz
L1: D-cache 32 kB enabled
I-cache 32 kB enabled
Board: 8568 MDS
I2C: ready
DRAM: Initializing
SDRAM: 64 MB
DDR: 512 MB
FLASH: 32 MB
L2 cache 512KB: enabled
PCI: 32 bit, 66 MHz, async, host, arbiter
Scanning PCI bus 00
PCI on bus 00 - 00
PCIE connected to slot as Root Complex (base address e000a000)
PCIE on bus 01 - 01
In: serial
Out: serial
Err: serial
Net: UEC: PHY is Marvell 88E11x1 (1410cc2)
UEC: PHY is Marvell 88E11x1 (1410cc2)
eTSEC0, eTSEC1, FSL UEC0, FSL UEC1
Hit any key to stop autoboot: 0
## Checking Image at 02000100 ...
Image Name: Linux-2.6.25.5
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1325906 Bytes =3D 1.3 MB
Load Address: 00000000
Entry Point: 00000000quoted
cat kernel/linux/arch/powerpc/configs/mpc8568mds_defconfig
# # Automatically generated make config: don't edit # Linux kernel version: 2.6.25.5 # Fri Aug 29 16:33:50 2008 # # CONFIG_PPC64 is not set # # Processor support # # CONFIG_6xx is not set CONFIG_PPC_85xx=3Dy # CONFIG_PPC_8xx is not set # CONFIG_40x is not set # CONFIG_44x is not set # CONFIG_E200 is not set CONFIG_E500=3Dy CONFIG_BOOKE=3Dy CONFIG_FSL_BOOKE=3Dy CONFIG_FSL_EMB_PERFMON=3Dy # CONFIG_PHYS_64BIT is not set CONFIG_SPE=3Dy # CONFIG_PPC_MM_SLICES is not set CONFIG_PPC32=3Dy CONFIG_WORD_SIZE=3D32 CONFIG_PPC_MERGE=3Dy CONFIG_MMU=3Dy CONFIG_GENERIC_CMOS_UPDATE=3Dy CONFIG_GENERIC_TIME=3Dy CONFIG_GENERIC_TIME_VSYSCALL=3Dy CONFIG_GENERIC_CLOCKEVENTS=3Dy CONFIG_GENERIC_HARDIRQS=3Dy # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set CONFIG_IRQ_PER_CPU=3Dy CONFIG_RWSEM_XCHGADD_ALGORITHM=3Dy CONFIG_ARCH_HAS_ILOG2_U32=3Dy CONFIG_GENERIC_HWEIGHT=3Dy CONFIG_GENERIC_CALIBRATE_DELAY=3Dy CONFIG_GENERIC_FIND_NEXT_BIT=3Dy # CONFIG_ARCH_NO_VIRT_TO_BUS is not set
From: Bhupender Saharan <hidden>
Date: 2008-08-29 18:03:28
Hi COuple of pthings bwhich i saw wrong: Your compressed image size is 3.5 MByte and you have provoided the ramdisk sizes as 5MByte. That is not correct. Uncompress ramdisk size would be more than 5MByte for sure. But from the log looks like kernel is not tring to find the ramdisk itself....? Need to check if Kernel is looking at correct address what boot loader has passed when checking for the ramdisk.... Bhupi www.e-coninfotech.com On 8/29/08, SETTE AGOSTINO - technolabs [off-list ref] wrote:
Hi all,
I am trying to port a RAMDISK Filesystem on the MPC8568MDS board but I
have the following problem:
U-Boot 1.3.0-rc3 (Nov 23 2007 - 18:17:06)
CPU: 8568_E, Version: 1.1, (0x807d0011)
Core: E500, Version: 2.2, (0x80210022)
Clock Configuration:
CPU:1320 MHz, CCB: 528 MHz,
DDR: 264 MHz, LBC: 132 MHz
L1: D-cache 32 kB enabled
I-cache 32 kB enabled
Board: 8568 MDS
I2C: ready
DRAM: Initializing
SDRAM: 64 MB
DDR: 512 MB
FLASH: 32 MB
L2 cache 512KB: enabled
PCI: 32 bit, 66 MHz, async, host, arbiter
Scanning PCI bus 00
PCI on bus 00 - 00
PCIE connected to slot as Root Complex (base address e000a000)
PCIE on bus 01 - 01
In: serial
Out: serial
Err: serial
Net: UEC: PHY is Marvell 88E11x1 (1410cc2)
UEC: PHY is Marvell 88E11x1 (1410cc2)
eTSEC0, eTSEC1, FSL UEC0, FSL UEC1
Hit any key to stop autoboot: 0
## Checking Image at 02000100 ...
Image Name: Linux-2.6.25.5
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1325906 Bytes = 1.3 MB
Load Address: 00000000
From: Anatolij Gustschin <agust@denx.de>
Date: 2008-08-29 21:45:32
SETTE AGOSTINO - technolabs wrote:
Hi all, I am trying to port a RAMDISK Filesystem on the MPC8568MDS board but I have the following problem:
<snip>
# # General setup # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y # CONFIG_POSIX_MQUEUE is not set # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=14 # CONFIG_CGROUPS is not set CONFIG_GROUP_SCHED=y # CONFIG_FAIR_GROUP_SCHED is not set # CONFIG_RT_GROUP_SCHED is not set CONFIG_USER_SCHED=y # CONFIG_CGROUP_SCHED is not set CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y # CONFIG_RELAY is not set # CONFIG_NAMESPACES is not set # CONFIG_BLK_DEV_INITRD is not set
------------------>^^^^^^^^^^^^^^^^^ Your kernel doesn't include RAM disk support. Enable "Initial RAM filesystem and RAM disk" and try again. Best regards, Anatolij
From: SETTE AGOSTINO - technolabs <hidden>
Date: 2008-09-01 09:02:58
Hi Anatolij, First of all thanks for your help. I modified the mpc8568mds_defconfig
quoted
cat kernel/linux/arch/powerpc/configs/mpc8568mds_defconfig
# # Automatically generated make config: don't edit # Linux kernel version: 2.6.25.5 # Mon Sep 1 10:01:48 2008 # # CONFIG_PPC64 is not set # # Processor support # # CONFIG_6xx is not set CONFIG_PPC_85xx=3Dy # CONFIG_PPC_8xx is not set # CONFIG_40x is not set # CONFIG_44x is not set # CONFIG_E200 is not set CONFIG_E500=3Dy CONFIG_BOOKE=3Dy CONFIG_FSL_BOOKE=3Dy CONFIG_FSL_EMB_PERFMON=3Dy # CONFIG_PHYS_64BIT is not set CONFIG_SPE=3Dy # CONFIG_PPC_MM_SLICES is not set CONFIG_PPC32=3Dy CONFIG_WORD_SIZE=3D32 CONFIG_PPC_MERGE=3Dy CONFIG_MMU=3Dy CONFIG_GENERIC_CMOS_UPDATE=3Dy CONFIG_GENERIC_TIME=3Dy CONFIG_GENERIC_TIME_VSYSCALL=3Dy CONFIG_GENERIC_CLOCKEVENTS=3Dy CONFIG_GENERIC_HARDIRQS=3Dy # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set CONFIG_IRQ_PER_CPU=3Dy CONFIG_RWSEM_XCHGADD_ALGORITHM=3Dy CONFIG_ARCH_HAS_ILOG2_U32=3Dy CONFIG_GENERIC_HWEIGHT=3Dy CONFIG_GENERIC_CALIBRATE_DELAY=3Dy CONFIG_GENERIC_FIND_NEXT_BIT=3Dy # CONFIG_ARCH_NO_VIRT_TO_BUS is not set
-----Original Message----- From: Anatolij Gustschin [mailto:agust@denx.de]=20 Sent: venerd=EC 29 agosto 2008 23.45 To: SETTE AGOSTINO - technolabs Cc: <redacted> Subject: Re: MPC8568MDS RAMDISK Problem =20 SETTE AGOSTINO - technolabs wrote:quoted
Hi all, =20 I am trying to port a RAMDISK Filesystem on the MPC8568MDS=20board but Iquoted
have the following problem:=20 <snip> =20quoted
# # General setup # CONFIG_EXPERIMENTAL=3Dy CONFIG_BROKEN_ON_SMP=3Dy CONFIG_INIT_ENV_ARG_LIMIT=3D32 CONFIG_LOCALVERSION=3D"" CONFIG_LOCALVERSION_AUTO=3Dy CONFIG_SWAP=3Dy CONFIG_SYSVIPC=3Dy CONFIG_SYSVIPC_SYSCTL=3Dy # CONFIG_POSIX_MQUEUE is not set # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=3D14 # CONFIG_CGROUPS is not set CONFIG_GROUP_SCHED=3Dy # CONFIG_FAIR_GROUP_SCHED is not set # CONFIG_RT_GROUP_SCHED is not set CONFIG_USER_SCHED=3Dy # CONFIG_CGROUP_SCHED is not set CONFIG_SYSFS_DEPRECATED=3Dy
From: Anatolij Gustschin <agust@denx.de>
Date: 2008-09-02 10:11:01
Hi Agostino, SETTE AGOSTINO - technolabs wrote:
First of all thanks for your help. I modified the mpc8568mds_defconfigquoted
quoted
cat kernel/linux/arch/powerpc/configs/mpc8568mds_defconfig#
<snip>
But now I face this problem ## Checking Image at 02000100 ... Image Name: Linux-2.6.25.5 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1354578 Bytes = 1.3 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Booting image at 02000100 ... Image Name: Linux-2.6.25.5 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1354578 Bytes = 1.3 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Loading RAMDisk Image at 02200100 ... Image Name: initrd Image Type: PowerPC Linux RAMDisk Image (gzip compressed) Data Size: 3658110 Bytes = 3.5 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Booting using the fdt at 0x21f0100 Loading Ramdisk to 00482000, end 007ff17e ... OK Loading Device Tree to 007fa000, end 007fcfff ... OK
Ramdisk image is partially overwritten while loading the
Device Tree: Ramdisk ends at 0x007ff17e, Device Tree starts
at 0x007fa000. You probably need to update U-Boot to recent
version to solve this issue.
Using MPC85xx MDS machine description Memory CAM mapping: CAM0=16Mb, CAM1=16Mb, CAM2=16Mb residual: 15Mb Linux version 2.6.25.5 (ity10223@aqlbl05x) (gcc version 4.2.2) #1 Mon Sep 1 10:44:44 CEST 2008 Found initrd at 0xc0482000:0xc07ff17e
<snip>
RAMDISK: Compressed image found at block 0 invalid compressed format (err=1)
Ramdisk decompression failed, it's expected as ramdisk was
overwritten by DTB while booting.
Try to update U-Boot to v1.3.4.
Best regards,
Anatolij
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de
From: SETTE AGOSTINO - technolabs <hidden>
Date: 2008-09-02 13:18:49
Hi Anatolij,
I updated my u-boot
U-Boot 1.3.4-00253-g33aa4ea (Sep 2 2008 - 13:04:22)
CPU: 8568E, Version: 1.1, (0x807d0011)
Core: E500, Version: 2.2, (0x80210022)
Clock Configuration:
CPU:1320 MHz, CCB: 528 MHz,
DDR: 264 MHz (528 MT/s data rate), LBC: 132 MHz
L1: D-cache 32 kB enabled
I-cache 32 kB enabled
Board: 8568 MDS
I2C: ready
DRAM: Initializing
SDRAM: 64 MB
DDR: 512 MB
FLASH: 32 MB
L2: 512 KB enabled
PCI: 32 bit, 66 MHz, async, host, arbiter
Scanning PCI bus 00
PCI on bus 00 - 00
PCIE connected to slot as Root Complex (base address e000a000)
PCIE on bus 01 - 01
In: serial
Out: serial
Err: serial
Net: eTSEC0, eTSEC1, FSL UEC0, FSL UEC1
But now I have the following problem:
## Checking Image at 02000100 ...
Legacy image found
Image Name: Linux-2.6.25.5
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1354587 Bytes =3D 1.3 MB
Load Address: 00000000
Entry Point: 00000000-----Original Message----- From: Anatolij Gustschin [mailto:agust@denx.de]=20 Sent: marted=EC 2 settembre 2008 12.11 To: SETTE AGOSTINO - technolabs Cc: <redacted> Subject: Re: MPC8568MDS RAMDISK Problem =20 Hi Agostino, =20 SETTE AGOSTINO - technolabs wrote: =20quoted
First of all thanks for your help. I modified the=20mpc8568mds_defconfigquoted
=20quoted
quoted
cat kernel/linux/arch/powerpc/configs/mpc8568mds_defconfig#=20 <snip> =20quoted
=20 But now I face this problem =20 ## Checking Image at 02000100 ... Image Name: Linux-2.6.25.5 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1354578 Bytes =3D 1.3 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Booting image at 02000100 ... Image Name: Linux-2.6.25.5 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1354578 Bytes =3D 1.3 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Loading RAMDisk Image at 02200100 ... Image Name: initrd Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
15Mb
quoted
Linux version 2.6.25.5 (ity10223@aqlbl05x) (gcc version=204.2.2) #1 Mon Sep 1 10:44:44 CEST 2008quoted
Found initrd at 0xc0482000:0xc07ff17e=20 <snip> =20quoted
RAMDISK: Compressed image found at block 0 invalid compressed format (err=3D1)=20 Ramdisk decompression failed, it's expected as ramdisk was overwritten by DTB while booting. =20 Try to update U-Boot to v1.3.4. =20 Best regards, Anatolij =20 --=20 DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =20
From: Anatolij Gustschin <agust@denx.de>
Date: 2008-09-02 21:27:54
Hi Agostino, SETTE AGOSTINO - technolabs wrote:
I updated my u-boot
U-Boot 1.3.4-00253-g33aa4ea (Sep 2 2008 - 13:04:22)
CPU: 8568E, Version: 1.1, (0x807d0011)
Core: E500, Version: 2.2, (0x80210022)
Clock Configuration:
CPU:1320 MHz, CCB: 528 MHz,
DDR: 264 MHz (528 MT/s data rate), LBC: 132 MHz
L1: D-cache 32 kB enabled
I-cache 32 kB enabled
Board: 8568 MDS
I2C: ready
DRAM: Initializing
SDRAM: 64 MB
DDR: 512 MB
FLASH: 32 MB
L2: 512 KB enabled
PCI: 32 bit, 66 MHz, async, host, arbiter
Scanning PCI bus 00
PCI on bus 00 - 00
PCIE connected to slot as Root Complex (base address e000a000)
PCIE on bus 01 - 01
In: serial
Out: serial
Err: serial
Net: eTSEC0, eTSEC1, FSL UEC0, FSL UEC1
But now I have the following problem:
## Checking Image at 02000100 ...
Legacy image found
Image Name: Linux-2.6.25.5
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1354587 Bytes = 1.3 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Booting kernel from Legacy Image at 02000100 ...Does your "arch/powerpc/boot/dts/mpc8568mds.dts" file contain aliases node with "serial0 = &serial0;" in it? How do you compile your mpc8568mds.dtb DTB and which dtc version are you using to compile it?
Do I need to add some environment variables or set some fdt commands before booting the board?
The mpc8568mds.dts from 2.6.25.5 kernel seems to be Ok. Booting
should work if you use this mpc8568mds.dts file. The problem
could also be somewhere in U-Boot environment setup.
Here are the env variables => printenv ramboot=run ramargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;bootm $loadaddr $ramdiskaddr nfsboot=run nfsargs;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr bootdelay=10 baudrate=115200 loads_echo=1 ethaddr=00:E0:0C:00:00:FD eth1addr=00:E0:0C:00:01:FD eth2addr=00:E0:0C:00:02:FD eth3addr=00:E0:0C:00:03:FD rootpath=/nfsroot gatewayip=192.168.1.1 netmask=255.255.255.0 bootfile=your.uImage netdev=eth0 consoledev=ttyS0 ramdiskaddr=600000 ramdiskfile=your.ramdisk.u-boot fdtaddr=400000 fdtfile=your.fdt.dtb nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$bau drate $othbootargs ramargs=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs ethact=eTSEC0 serverip=192.168.0.33 ipaddr=192.168.0.126 bootcmdFREE=run ramargs;cp.b fff00000 400000 3500;bootm ff800000 ffa00000 400000 myaps=MPC8568MDS/aps mtdargs=mtdparts=physmap-flash.0:1M(boot),7M(aps0),7M(aps1),1M(optusr) pram=0x100000 mem=0x3f00000 pram_start=0x3f00000 loadaddr=0x2000000 aps0_fl_start=0xfe100000 aps0_fl_size=0x00700000 aps1_fl_start=0xfe800000 aps1_fl_end=0xfeefffff aps1_fl_size=0x00700000
What commands do you use to load kernel, ramdisk and dtb files? It is
not obvious from the environment above.
Best regargs,
Anatolij
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de
From: SETTE AGOSTINO - technolabs <hidden>
Date: 2008-09-03 09:31:02
=20
-----Original Message----- From: Anatolij Gustschin [mailto:agust@denx.de]=20 Sent: marted=EC 2 settembre 2008 23.28 To: SETTE AGOSTINO - technolabs Cc: <redacted> Subject: Re: MPC8568MDS RAMDISK Problem =20 Hi Agostino, =20 SETTE AGOSTINO - technolabs wrote: =20quoted
I updated my u-boot =20 U-Boot 1.3.4-00253-g33aa4ea (Sep 2 2008 - 13:04:22) =20 CPU: 8568E, Version: 1.1, (0x807d0011) Core: E500, Version: 2.2, (0x80210022) Clock Configuration: CPU:1320 MHz, CCB: 528 MHz, DDR: 264 MHz (528 MT/s data rate), LBC: 132 MHz L1: D-cache 32 kB enabled I-cache 32 kB enabled Board: 8568 MDS I2C: ready DRAM: Initializing SDRAM: 64 MB DDR: 512 MB FLASH: 32 MB L2: 512 KB enabled PCI: 32 bit, 66 MHz, async, host, arbiter Scanning PCI bus 00 PCI on bus 00 - 00 =20 PCIE connected to slot as Root Complex (base address e000a000) PCIE on bus 01 - 01 In: serial Out: serial Err: serial Net: eTSEC0, eTSEC1, FSL UEC0, FSL UEC1 =20
Yes, it does:
aliases {
ethernet0 =3D &enet0;
ethernet1 =3D &enet1;
ethernet2 =3D &enet2;
ethernet3 =3D &enet3;
serial0 =3D &serial0;
serial1 =3D &serial1;
pci0 =3D &pci0;
pci1 =3D &pci1;
};
serial0: serial@4500 {
cell-index =3D <0>;
device_type =3D "serial";
compatible =3D "ns16550";
reg =3D <4500 100>;
clock-frequency =3D <0>;
interrupts =3D <2a 2>;
interrupt-parent =3D <&mpic>;
};
serial1: serial@4600 {
cell-index =3D <1>;
device_type =3D "serial";
compatible =3D "ns16550";
reg =3D <4600 100>;
clock-frequency =3D <0>;
interrupts =3D <2a 2>;
interrupt-parent =3D <&mpic>;
};How do you compile your mpc8568mds.dtb DTB and which dtc version are you using to compile it?
./dtc -o results/mpc8568mds.dtb -O dtb = linux/arch/powerpc/boot/dts/mpc8568mds.dts -S 0x2000 -R 4 Version: DTC 1.0.0-gd6f9b62f
=20quoted
Do I need to add some environment variables or set some fdt=20commands before booting the board? =20 The mpc8568mds.dts from 2.6.25.5 kernel seems to be Ok. Booting should work if you use this mpc8568mds.dts file. The problem could also be somewhere in U-Boot environment setup. =20quoted
Here are the env variables =20 =3D> printenv ramboot=3Drun ramargs;tftp $ramdiskaddr $ramdiskfile;tftp=20$loadaddr $bootfile;bootm $loadaddr $ramdiskaddrquoted
nfsboot=3Drun nfsargs;tftp $loadaddr $bootfile;tftp $fdtaddr=20$fdtfile;bootm $loadaddr - $fdtaddrquoted
bootdelay=3D10 baudrate=3D115200 loads_echo=3D1 ethaddr=3D00:E0:0C:00:00:FD eth1addr=3D00:E0:0C:00:01:FD eth2addr=3D00:E0:0C:00:02:FD eth3addr=3D00:E0:0C:00:03:FD rootpath=3D/nfsroot gatewayip=3D192.168.1.1 netmask=3D255.255.255.0 bootfile=3Dyour.uImage netdev=3Deth0 consoledev=3DttyS0 ramdiskaddr=3D600000 ramdiskfile=3Dyour.ramdisk.u-boot fdtaddr=3D400000 fdtfile=3Dyour.fdt.dtb nfsargs=3Dsetenv bootargs root=3D/dev/nfs rw=20nfsroot=3D$serverip:$rootpath=20 ip=3D$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=3D$consoledev,$bauquoted
drate $othbootargs ramargs=3Dsetenv bootargs root=3D/dev/ram rw=20console=3D$consoledev,$baudrate $othbootargsquoted
ethact=3DeTSEC0
mtdargs=3Dmtdparts=3Dphysmap-flash.0:1M(boot),7M(aps0),7M(aps1),1M(optusr= )
quoted
pram=3D0x100000 mem=3D0x3f00000 pram_start=3D0x3f00000 loadaddr=3D0x2000000 aps0_fl_start=3D0xfe100000 aps0_fl_size=3D0x00700000 aps1_fl_start=3D0xfe800000 aps1_fl_end=3D0xfeefffff aps1_fl_size=3D0x00700000 aps_ram_start=3D0x2000000 aps_ram_kernel_start=3D0x2000100 aps_ram_dtb_start=3D0x21f0100 aps_ram_rootfs_start=3D0x2200100 aps=3D0 dl_boot=3Dtftp ${aps_ram_start} "u-boot.bin" && protect off=200xfe000000 0xfe07ffff && cp.b ${aps_ram_start} 0xfe000000=20 ${filesize} && protect on 0xfe000000 0xfquoted
e07ffff && saveenv bootcmd=3Dif itest ${aps} =3D=3D 0; then run dl_ram0; else run =
dl_ram1;fi
quoted
altbootcmd=3Dmw.b ${pram_start} 0 ${pram} && if itest ${aps}=20=3D=3D 0; then setenv aps 1; else setenv aps 0; fi; saveenv; run =
bootcmd
quoted
dl_ram0=3Dcp.b ${aps0_fl_start} ${aps_ram_start}=20${aps0_fl_size};if imi ${aps_ram_kernel_start}; then run=20 bargs;bootm ${aps_ram_kernel_start} ${aps_ram_rootfsquoted
_start} ${aps_ram_dtb_start}; else reset; fi dl_ram1=3Dcp.b ${aps1_fl_start} ${aps_ram_start}=20${aps1_fl_size};if imi ${aps_ram_kernel_start}; then run=20 bargs;bootm ${aps_ram_kernel_start} ${aps_ram_rootfsquoted
_start} ${aps_ram_dtb_start}; else reset; fi bootlimit=3D5 initrd_high=3Dno hostname=3DMPC8568MDS aps0_fl_end=3D0xfe7fffff dl_aps0=3Dtftp ${aps_ram_start} ${myaps};erase=20${aps0_fl_start} ${aps0_fl_end};cp.b ${aps_ram_start}=20 ${aps0_fl_start} ${filesize};bootquoted
dl_aps1=3Dtftp ${aps_ram_start} ${myaps};erase=20${aps1_fl_start} ${aps1_fl_end};cp.b ${aps_ram_start}=20 ${aps1_fl_start} ${filesize};bootquoted
bargs=3Dsetenv bootargs ${mtdargs} console=3DttyS0,$baudrate=20root=3D/dev/ram ramdisk_size=3D500000 rw=20 ip=3D${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:equoted
th0:off panic=3D1 mem=3D${mem} aps=3D${aps} ${misc} ${slram} dl_mykernel=3Dtftp 1000000 MPC8568MDS/uImage; erase ff800000=20ff9fffff; cp.b 1000000 ff800000 ${filesize}quoted
dl_myrootfs=3Dtftp 2000000 MPC8568MDS/RamDisk.ext2; erase=20ffa00000 ffefffff; cp.b 2000000 ffa00000 ${filesize}quoted
dl_mydtb=3Dtftp 400000 MPC8568MDS/mpc8568mds.dtb; erase=20fff00000 fff7ffff; cp.b 400000 fff00000 ${filesize}quoted
fdt_file=3DMPC8568MDS/mpc8568mds.dtb fdt_addr_r=3D0x21f0100 stdin=3Dserial stdout=3Dserial stderr=3Dserial =20 With previous u-boot I was able to load the images=20separately, with this u-boot I have the error. =20 What commands do you use to load kernel, ramdisk and dtb files?=20
run dl_aps0 But to load the images separately I do the following run dl_mykernel run dl_myrootfs run dl_mydtb run ramargs bootm ff800000 ffa00000 400000
It is not obvious from the environment above. =20 Best regargs, Anatolij
I am taking a look at the U-Boot files and I made the following = modification (at the moment I am using U-Boot received by Freescale = U-Boot 1.3.0-rc3, quite old) on the file common/cmd.bootm.c diff Mycmd_bootm.c u-boot-1.3.0-rc3/common/cmd_bootm.c 955c955 < of_start =3D (ulong)kbd - of_len; ---
of_start =3D (ulong)kbd - of_len - len;
1017c1017 < of_start =3D (ulong)kbd - of_len - 8192; ---
of_start =3D (ulong)kbd - of_len - len - 8192;
I added len to avoid that Ramdisk area is overwritten when loading the =
Device Tree. With this modification I am now able to load kernel, rootfs =
and dtb correctly and all as one image file
Best Regards
Agostino
=20 --=20 DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =20