* Re: bug in arch/ppc/kernel/misc.S: __ashrdi3?
From: Andreas Schwab @ 2005-07-16 18:02 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
In-Reply-To: <1121535588.14393.18.camel@gaston>
Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
> On Fri, 2005-07-15 at 18:01 +0200, Frank van Maarseveen wrote:
>> I don't really grok the code but an operand seems to be missing and the
>> assembler makes something out of it I don't trust:
>>
>> _GLOBAL(__ashrdi3)
>> ...
>> rlwinm r8,r7,0,32 # t3 = (count < 32) ? 32 : 0
>
> This is equivalent to r8 = r7 & 32. It will definitely not do what the
> comment says though. If (count < 64), however, it will do something
> like r8 = (r7 < 32) ? 0 : 32. Paul, maybe we should dbl check what's
> going in there ?
r7 is count + 32, and ((count + 32) & 32) is equivalent to the expression
above if count < 64.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply
* Re: bug in arch/ppc/kernel/misc.S: __ashrdi3?
From: Benjamin Herrenschmidt @ 2005-07-16 17:39 UTC (permalink / raw)
To: Frank van Maarseveen; +Cc: linuxppc-dev
In-Reply-To: <20050715160115.GA22990@janus>
On Fri, 2005-07-15 at 18:01 +0200, Frank van Maarseveen wrote:
> I don't really grok the code but an operand seems to be missing and the
> assembler makes something out of it I don't trust:
>
> _GLOBAL(__ashrdi3)
> ...
> rlwinm r8,r7,0,32 # t3 = (count < 32) ? 32 : 0
This is equivalent to r8 = r7 & 32. It will definitely not do what the
comment says though. If (count < 64), however, it will do something
like r8 = (r7 < 32) ? 0 : 32. Paul, maybe we should dbl check what's
going in there ?
> 0: 54 e8 06 b4 rlwinm r8,r7,0,26,26
This is the same.
The assembler, when provided with only one argument after the shift
count, will generate ME and MB to represent the mask whose value is
given in argument. (If you give an argument which doesn't contain a
single contiguous range of 1 bits, I suppose it will error out).
Ben.
^ permalink raw reply
* 827x/8x Linux USB Host driver
From: Russell McGuire @ 2005-07-16 15:55 UTC (permalink / raw)
To: linuxppc-embedded
Does anyone know of the existence of an open source USB host driver for the
827x/8x PowerQUIC II processors for Linux 2.4.2x?
This CPU introduced a USB host controller inside the CPU vs the 8260, which
doesn't have one.
Thanks,
-Russ
^ permalink raw reply
* [PATCH] make a few functions static in pmac_setup.c
From: Olaf Hering @ 2005-07-15 21:23 UTC (permalink / raw)
To: Andrew Morton, linuxppc-dev
Making a few functions static saves a few bytes, but only on ppc32.
text data bss dec hex filename
3752421 1605208 345608 5703237 570645 ../O-ppc64_iSeries_defconfig/vmlinux
3709411 2042552 339992 6091955 5cf4b3 ../O-ppc64_maple_defconfig/vmlinux
5397329 3054824 679856 9132009 8b57e9 ../O-ppc64_pSeries_defconfig/vmlinux
-3882695 417552 197760 4498007 44a257 ../O-ppc_common_defconfig/vmlinux
-3414510 574500 241440 4230450 408d32 ../O-ppc_pmac_defconfig/vmlinux
+3882627 417168 197760 4497555 44a093 ../O-ppc_common_defconfig/vmlinux
+3414442 575428 241440 4231310 40908e ../O-ppc_pmac_defconfig/vmlinux
Signed-off-by: Olaf Hering <olh@suse.de>
arch/ppc/platforms/pmac_setup.c | 16 ++++++++--------
arch/ppc64/kernel/pmac_setup.c | 12 ++++++------
2 files changed, 14 insertions(+), 14 deletions(-)
Index: linux-2.6.13-rc3-olh/arch/ppc/platforms/pmac_setup.c
===================================================================
--- linux-2.6.13-rc3-olh.orig/arch/ppc/platforms/pmac_setup.c
+++ linux-2.6.13-rc3-olh/arch/ppc/platforms/pmac_setup.c
@@ -113,7 +113,7 @@ extern int pmac_newworld;
extern void zs_kgdb_hook(int tty_num);
static void ohare_init(void);
#ifdef CONFIG_BOOTX_TEXT
-void pmac_progress(char *s, unsigned short hex);
+static void pmac_progress(char *s, unsigned short hex);
#endif
sys_ctrler_t sys_ctrler = SYS_CTRLER_UNKNOWN;
@@ -123,7 +123,7 @@ extern struct smp_ops_t psurge_smp_ops;
extern struct smp_ops_t core99_smp_ops;
#endif /* CONFIG_SMP */
-int __pmac
+static int __pmac
pmac_show_cpuinfo(struct seq_file *m)
{
struct device_node *np;
@@ -227,7 +227,7 @@ pmac_show_cpuinfo(struct seq_file *m)
return 0;
}
-int __openfirmware
+static int __openfirmware
pmac_show_percpuinfo(struct seq_file *m, int i)
{
#ifdef CONFIG_CPU_FREQ_PMAC
@@ -415,7 +415,7 @@ find_ide_boot(void)
}
#endif /* CONFIG_BLK_DEV_IDE && CONFIG_BLK_DEV_IDE_PMAC */
-void __init
+static void __init
find_boot_device(void)
{
#if defined(CONFIG_BLK_DEV_IDE) && defined(CONFIG_BLK_DEV_IDE_PMAC)
@@ -512,7 +512,7 @@ note_bootable_part(dev_t dev, int part,
}
}
-void __pmac
+static void __pmac
pmac_restart(char *cmd)
{
#ifdef CONFIG_ADB_CUDA
@@ -537,7 +537,7 @@ pmac_restart(char *cmd)
}
}
-void __pmac
+static void __pmac
pmac_power_off(void)
{
#ifdef CONFIG_ADB_CUDA
@@ -562,7 +562,7 @@ pmac_power_off(void)
}
}
-void __pmac
+static void __pmac
pmac_halt(void)
{
pmac_power_off();
@@ -715,7 +715,7 @@ pmac_init(unsigned long r3, unsigned lon
}
#ifdef CONFIG_BOOTX_TEXT
-void __init
+static void __init
pmac_progress(char *s, unsigned short hex)
{
if (boot_text_mapped) {
Index: linux-2.6.13-rc3-olh/arch/ppc64/kernel/pmac_setup.c
===================================================================
--- linux-2.6.13-rc3-olh.orig/arch/ppc64/kernel/pmac_setup.c
+++ linux-2.6.13-rc3-olh/arch/ppc64/kernel/pmac_setup.c
@@ -97,7 +97,7 @@ EXPORT_SYMBOL(smu_cmdbuf_abs);
extern void udbg_init_scc(struct device_node *np);
-void __pmac pmac_show_cpuinfo(struct seq_file *m)
+static void __pmac pmac_show_cpuinfo(struct seq_file *m)
{
struct device_node *np;
char *pp;
@@ -144,7 +144,7 @@ void __pmac pmac_show_cpuinfo(struct seq
}
-void __init pmac_setup_arch(void)
+static void __init pmac_setup_arch(void)
{
/* init to some ~sane value until calibrate_delay() runs */
loops_per_jiffy = 50000000;
@@ -230,7 +230,7 @@ void __pmac note_bootable_part(dev_t dev
}
}
-void __pmac pmac_restart(char *cmd)
+static void __pmac pmac_restart(char *cmd)
{
switch(sys_ctrler) {
#ifdef CONFIG_ADB_PMU
@@ -249,7 +249,7 @@ void __pmac pmac_restart(char *cmd)
}
}
-void __pmac pmac_power_off(void)
+static void __pmac pmac_power_off(void)
{
switch(sys_ctrler) {
#ifdef CONFIG_ADB_PMU
@@ -267,7 +267,7 @@ void __pmac pmac_power_off(void)
}
}
-void __pmac pmac_halt(void)
+static void __pmac pmac_halt(void)
{
pmac_power_off();
}
@@ -327,7 +327,7 @@ static void __init init_boot_display(voi
/*
* Early initialization.
*/
-void __init pmac_init_early(void)
+static void __init pmac_init_early(void)
{
DBG(" -> pmac_init_early\n");
^ permalink raw reply
* OLS 2005 attendees
From: Hollis Blanchard @ 2005-07-15 18:43 UTC (permalink / raw)
To: PPC64-dev List, Linux PPC Dev, linuxppc-embedded
As Ottawa Linux Symposium 2005 approaches, I've made a wiki page
listing some of the PowerPC people attending, preseeding it with some
people I already know will be there:
http://oss.gonicus.de/openpower/index.php/LinuxSymposium2005
If you're going, you can add your info to the list and maybe we can all
get together...
-Hollis
^ permalink raw reply
* OLS 2005 attendees
From: Hollis Blanchard @ 2005-07-15 18:42 UTC (permalink / raw)
To: PPC64-dev List, Linux PPC Dev, linuxppc-embedded
As Ottawa Linux Symposium 2005 approaches, I've made a wiki page
listing some of the PowerPC people attending, preseeding it with some
people I already know will be there:
http://oss.gonicus.de/openpower/index.php/LinuxSymposium2005
If you're going, you can add your info to the list and maybe we can all
get together...
-Hollis
^ permalink raw reply
* Re: bug in arch/ppc/kernel/misc.S: __ashrdi3?
From: Andreas Schwab @ 2005-07-15 18:22 UTC (permalink / raw)
To: Frank van Maarseveen; +Cc: linuxppc-dev
In-Reply-To: <20050715160115.GA22990@janus>
Frank van Maarseveen <frankvm@frankvm.com> writes:
> I don't really grok the code but an operand seems to be missing and the
> assembler makes something out of it I don't trust:
>
> _GLOBAL(__ashrdi3)
> ...
> rlwinm r8,r7,0,32 # t3 = (count < 32) ? 32 : 0
32 == 0x80000000 >> 26
> 00000000 <f>:
> f():
> 0: 54 e8 06 b4 rlwinm r8,r7,0,26,26
The mask begins at bit 26 and ends at bit 26 (counted from the left).
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply
* Re: arch/ppc/kernel/misc.S: .align 5?
From: Andreas Schwab @ 2005-07-15 18:11 UTC (permalink / raw)
To: Frank van Maarseveen; +Cc: linuxppc-dev
In-Reply-To: <20050715162741.GA23228@janus>
Frank van Maarseveen <frankvm@frankvm.com> writes:
> At least in 2.6.12.2 I see this in arch/ppc/kernel/misc.S:
>
> .text
>
> .align 5
.align == .p2align on ppc.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply
* Re: boot failure help needed
From: Wolfgang Denk @ 2005-07-15 16:54 UTC (permalink / raw)
To: Susheel Raj; +Cc: linuxppc-embedded
In-Reply-To: <20050715122030.13663.qmail@web8506.mail.in.yahoo.com>
In message <20050715122030.13663.qmail@web8506.mail.in.yahoo.com> you wrote:
>
> now the problem is that if i use MPC5200 Rev A then
> the kernel boots without any problem and gets into the
> command
>
> but when i am using MPC5200 Rev B it shows like this
You need BAPI v2.2 for the Rev. B processors.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
God runs electromagnetics by wave theory on Monday, Wednesday, and
Friday, and the Devil runs them by quantum theory on Tuesday, Thurs-
day, and Saturday. -- William Bragg
^ permalink raw reply
* arch/ppc/kernel/misc.S: .align 5?
From: Frank van Maarseveen @ 2005-07-15 16:27 UTC (permalink / raw)
To: linuxppc-dev
At least in 2.6.12.2 I see this in arch/ppc/kernel/misc.S:
.text
.align 5
_GLOBAL(__delay)
cmpwi 0,r3,0
--
Frank
^ permalink raw reply
* bug in arch/ppc/kernel/misc.S: __ashrdi3?
From: Frank van Maarseveen @ 2005-07-15 16:01 UTC (permalink / raw)
To: linuxppc-dev
I don't really grok the code but an operand seems to be missing and the
assembler makes something out of it I don't trust:
_GLOBAL(__ashrdi3)
...
rlwinm r8,r7,0,32 # t3 = (count < 32) ? 32 : 0
Trying it out:
$ cat a.c
void f(void)
{
__asm("rlwinm 8,7,0,32");
}
$ ppc_4xx-gcc -O2 -c a.c
$ ppc-linux-objdump -S a.o
a.o: file format elf32-powerpc
Disassembly of section .text:
00000000 <f>:
f():
0: 54 e8 06 b4 rlwinm r8,r7,0,26,26
4: 4e 80 00 20 blr
--
Frank
^ permalink raw reply
* Re: 8272ADS and Linux 2.6.12
From: Allen Curtis @ 2005-07-15 15:29 UTC (permalink / raw)
To: SIP COP 009; +Cc: linuxppc-embedded
In-Reply-To: <5a4792c00507150714243238da@mail.gmail.com>
> Here's my serial config..., also these dont show up if i just
> run "make ads8272_defconfig". I have to explicitly go and enable the
> serial options.
>
> #
> # Serial drivers
> #
> CONFIG_SERIAL_8250=y
> CONFIG_SERIAL_8250_CONSOLE=y
> CONFIG_SERIAL_8250_NR_UARTS=4
> # CONFIG_SERIAL_8250_EXTENDED is not set
>
> #
> # Non-8250 serial port support
> #
> CONFIG_SERIAL_CORE=y
> CONFIG_SERIAL_CORE_CONSOLE=y
> # CONFIG_SERIAL_CPM is not set
> # CONFIG_SERIAL_JSM is not set
> CONFIG_UNIX98_PTYS=y
> CONFIG_LEGACY_PTYS=y
> CONFIG_LEGACY_PTY_COUNT=256
Unless something has changed recently, the 8272 is configured like a
8260 and uses arch/ppc/8260_io/uart.c. CONFIG_SERIAL_CONSOLE should be
defined. By default, SMC1 will be your console port. I will very later
but you may want to have a look for yourself.
Regards
^ permalink raw reply
* Re: MPC5200B boot failure help needed
From: David Wolfe @ 2005-07-15 15:17 UTC (permalink / raw)
To: linuxppc-embedded
In-Reply-To: <20050715122030.13663.qmail@web8506.mail.in.yahoo.com>
[ Susheel Raj writes: ]
> now the problem is that if i use MPC5200 Rev A then
> the kernel boots without any problem and gets into the
> command
>
> but when i am using MPC5200 Rev B it shows like this
If you're using rev.B1 silicon (mask M08A), you'll need to set the as
of yet undocumented TXW_MASK bit (13 in PPC bit ordering) in the Rx
FIFO control register (MBAR + 0x318c). Thus, set &fec->rfifo_cntrl to
0x0f040000 in mpc5xxx_fec_setup().
Rev.B2 (mask M62C) forces TXW_MASK to zero, but also masks the TXW
interrupt (0x40000000) in the status register resulting in no change
from rev.A (L25R) silicon.
If you're still having problems with Ethernet, I would suggest debugging
it with a root file system on something other than NFS. E.g. ramdisk,
MTD or ATA.
--
David Wolfe
Infotainment, Multimedia and Telematics Division
Freescale Semiconductor
^ permalink raw reply
* Re: ELDK 3.1.1 and E500
From: Kumar Gala @ 2005-07-15 15:01 UTC (permalink / raw)
To: Klemen Porenta; +Cc: linuxppc-embedded
In-Reply-To: <20050715133409.GTCT2352.mta1.siol.net@[10.10.10.170]>
If you add a -mno-string to the compile line that should help
- kumar
On Jul 15, 2005, at 8:34 AM, Klemen Porenta wrote:
>
> Hi folks,I have one problem regarding gcc compiler for e500.
>
> I have compiled u-boot 1.1.2 for my target board ADS8560 with ELDK
> 3.1.1. If I am correct it is using gcc version 3.3.3.
>
> Everything is compiled ok and if I start u-boot on my target I get
> program exception (illegal instruction) on stswi instruction. This
> instruction is defined in Book E bot not implemented in e500 as I
> read in Freescale documentation.
>
> This is my gcc call for compiling console.c where I get illegal
> instruction:
> ppc_85xx-gcc -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -
> DTEXT_BASE=0xfff80000 -I/users/rdhw/kpor/sw/linux/u-boot-1.1.2/
> include -fno-builtin -ffreestanding -nostdinc -isystem /opt/
> eldk3.1.1/usr/bin/../lib/gcc-lib/ppc-linux/3.3.3/include -pipe -
> DCONFIG_PPC -D__powerpc__ -DCONFIG_MPC85xx -DCONFIG_E500 -ffixed-r2
> -ffixed-r29 -Wa,-me500 -msoft-float -DCONFIG_MPC85xx=1 -
> DCONFIG_MPC8560=1 -DCONFIG_E500=1 -Wall -Wstrict-prototypes -c -o
> console.o console.c
>
> What am I doing wrong or is this gcc problem?
>
> Thanks in advance, Klemen
>
>
>
^ permalink raw reply
* MPC8540 DMA routines (channel 0 broken?)
From: Clemens Koller @ 2005-07-15 15:01 UTC (permalink / raw)
To: linuxppc-embedded
Hello,
I am about to bring Jason McMullan's DMA routines up to linux-2.6
Currently I am in the process of getting the things started step
by step.
Until today I had a pretty hard time for some basic direct dma
transfers because it seems that dma channel 0 doesn't work at all
on my hardware (PPC8540PX833LB 2L71V MSIA QEAD0412).
The status register always stays 0x0 (means everything is happy and
okay) but it doesn't copy any data. I cannot even trigger a
programming error by a wrong configuration!
But when I let ch 1,2,3 do the work, everything
seems to work fine!
I havent found anything in the errata sheets or in the web.
Can a DMA machine crash that it stays completely unusable?
Have anybody seen similar things like that?
Some other questions:
I would also suggest to put my revised and almost
complete immap_85xx.h and the mpc85xx_dma module into the
current linux tree (Kumar?) to get things like that
started more easily.
Why is Jason's work not in the Kernel?
If you are fine with that, I can offer some patches.
But I first need to strip tons of the debug stuff from
the last two weeks. :-/
Best greets,
Clemens Koller
_______________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Str. 45/1
81379 Muenchen
Germany
http://www.anagramm.de
Phone: +49-89-741518-50
Fax: +49-89-741518-19
^ permalink raw reply
* ELDK 3.1.1 and E500
From: Klemen Porenta @ 2005-07-15 13:34 UTC (permalink / raw)
To: linuxppc-embedded
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=8859_2, Size: 1031 bytes --]
Hi folks,I have one problem regarding gcc compiler for e500.
I have compiled u-boot 1.1.2 for my target board ADS8560 with ELDK 3.1.1. If I am correct it is using gcc version 3.3.3.
Everything is compiled ok and if I start u-boot on my target I get program exception (illegal instruction) on stswi instruction. This instruction is defined in Book E bot not implemented in e500 as I read in Freescale documentation.
This is my gcc call for compiling console.c where I get illegal instruction:
ppc_85xx-gcc -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -DTEXT_BASE=0xfff80000 -I/users/rdhw/kpor/sw/linux/u-boot-1.1.2/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/eldk3.1.1/usr/bin/../lib/gcc-lib/ppc-linux/3.3.3/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_MPC85xx -DCONFIG_E500 -ffixed-r2 -ffixed-r29 -Wa,-me500 -msoft-float -DCONFIG_MPC85xx=1 -DCONFIG_MPC8560=1 -DCONFIG_E500=1 -Wall -Wstrict-prototypes -c -o console.o console.c
What am I doing wrong or is this gcc problem?
Thanks in advance, Klemen
^ permalink raw reply
* Re: PATCH: Add memreserve to DTC
From: Jon Loeliger @ 2005-07-15 14:30 UTC (permalink / raw)
To: David Gibson; +Cc: linuxppc64-dev, linuxppc-dev@ozlabs.org
In-Reply-To: <20050715071924.GA16797@localhost.localdomain>
On Fri, 2005-07-15 at 02:19, David Gibson wrote:
>
> Ok, I've merged this,
Excellent, thanks!
> although I've tweaked things substantially in the process.
No problem.
> I did rename "header_tree" to "boot_info", moved some
Oh, good!
> things around, and changed the syntax. Reserve ranges can now be
> specified either as an address and length:
>
> /memreserve/ 10000000 00002000;
>
> or as an (inclusive) address range:
>
> /memreserve/ 10000000-10001fff;
>
> I am a bit worried that those two forms may be hard to distinguish at
> a glance. Any sugggestions for changes to the syntax soon please, I'd
> really like to keep the source syntax as stable as possible.
Oh man. With syntax you can demystify those in any number
of ways. Just a matter of what you are wanting. You can
always add sugar:
/memreserve_block/ 10000000 00002000;
/memreserve_range/ 10000000 10001fff;
/memreserve/ 10000000 /for/ 2000; // or /size/ ?
/memreserve/ 10000000 /through/ 10001fff;
/memreserve/ 10000000 00002000;
/memreserve/ [10000000, 10001fff]; // or [10000000, 10002000)?
Stuff like that maybe?
jdl
^ permalink raw reply
* Re: 8272ADS and Linux 2.6.12
From: SIP COP 009 @ 2005-07-15 14:14 UTC (permalink / raw)
To: Allen Curtis; +Cc: linuxppc-embedded
In-Reply-To: <ef81e8ced15bf8004ec0cd927d7cff8e@onz.com>
Here's my serial config..., also these dont show up if i just=20
run "make ads8272_defconfig". I have to explicitly go and enable the
serial options.
#
# Serial drivers
#
CONFIG_SERIAL_8250=3Dy
CONFIG_SERIAL_8250_CONSOLE=3Dy
CONFIG_SERIAL_8250_NR_UARTS=3D4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=3Dy
CONFIG_SERIAL_CORE_CONSOLE=3Dy
# CONFIG_SERIAL_CPM is not set
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=3Dy
CONFIG_LEGACY_PTYS=3Dy
CONFIG_LEGACY_PTY_COUNT=3D256
Thanks!
ashutosh
On 7/14/05, Allen Curtis <acurtis@onz.com> wrote:
> > =3D> setenv bootargs console=3DttyCPM0,115200 root=3D/dev/ram
> > =3D> bootm fe600000
> > ## Booting image at fe600000 ...
> > Image Name: 2.6.12 for 8272
> > Image Type: PowerPC Linux Kernel Image (gzip compressed)
> > Data Size: 875845 Bytes =3D 855.3 kB
> > Load Address: 00000000
> > Entry Point: 00000000
> > Verifying Checksum ... OK
> > Uncompressing Kernel Image ... OK
> >
>=20
> Can you provide your kernel configuration information regarding the
> serial ports. Which serial port is your console port? Check the
> following configuration options:
> CONFIG_SERIAL_CONSOLE
> CONFIG_SCC_CONSOLE
> CONFIG_SERIAL_CORE
> CONFIG_SERIAL_CORE_CONSOLE
>=20
> Another observation is that you are trying to boot with a RAM disk but
> you have not provided the RAM disk address to the bootm command. This
> is not your current problem since you don't get that far.
>=20
> - Allen
>=20
>
^ permalink raw reply
* boot failure help needed
From: Susheel Raj @ 2005-07-15 12:20 UTC (permalink / raw)
To: linuxppc-embedded
Hi all,
I am using freescale mpc5200B on the board. I have a
tftp-server on my machine and connect to the board
through this server.
the Kernel and the root file system are ion my
desktop PC in the directory /tftpboot/
kernel ---> /tftpboot/pImage
root fs ---> /tftpboot/rootfs/
We have U_Boot for booting system and it fetches the
kernel from the server (that is my esktop PC) through
the ETHERNET connection. rootfile systems stays here
in the server ,
ls command shows like this in /tftpboot/rootfs/
[root@localhost rootfs]# ls
bin build_dir deep_sleep dev etc lib mnt opt
proc sbin tmp usr var
console interface is console=ttyS0 on to the board
now the problem is that if i use MPC5200 Rev A then
the kernel boots without any problem and gets into the
command
but when i am using MPC5200 Rev B it shows like this
U-Boot 1.1.1 (Jul 8 2005 - 16:18:22)
CPU: MPC5200 (JTAG ID 1001101d) at 396 MHz
Bus 132 MHz, IPB 66 MHz, PCI 33 MHz
Board: Mitron MCT3
DRAM: 64 MB
FLASH: 4 MB
FPGA: OK
SPI: MPC5200_spi,mki_ad initialised
Backlight: (channel 2, dutycycle 50, freq 500)
initialised
Video: SMI720 @ 640x480x8 28kHz 53Hz
In: serial
Out: serial
Err: serial
NAND: Flash chip found:
Manufacturer ID: 0x20, Chip ID: 0x79 (NAND
128MiB 3,3V 8-bit)
1 flash chips found. Total nand_chip size:
128 MB
128 MB at 0x28001000
Net: FEC ETHERNET
IDE: no card
## Booting image at 00800000 ...
Image Name: Linux-2.4.21-rc1
Image Type: PowerPC Linux Kernel Image (gzip
compressed)
Data Size: 1004081 Bytes = 980.5 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Mitron CVS tag: mct3_moto1_update
Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
Linux version 2.4.21-rc1 (nuguru@SW-server) (gcc
version 2.95.4 20010319 (prerelease/franzo/20011204))
#67 Fri Jul 15 14:16:36 EEST 2005
Mitron SGVT port (C) 2003 Mitron Oy (mitron@mitron.fi)
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/nfs console=ttyS0
nfsroot=192.168.1.61:/tftpboot/rootfs
ip=192.168.30.130:192.168.1.61:192.168.1.1:255.255.0.0:SGVT_180::off
mgt5100_pic.c/mgt5100_init_irq: using configuration
from FPGA binary file
mgt5100_init_irq: external FPGA interrupt controller
(by Mitron Oy) initialized
Calibrating delay loop... 263.78 BogoMIPS
Memory: 61828k available (1768k kernel code, 576k
data, 76k init, 0k highmem)
Dentry cache hash table entries: 8192 (order: 4, 65536
bytes)
Inode cache hash table entries: 4096 (order: 3, 32768
bytes)
Mount cache hash table entries: 512 (order: 0, 4096
bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384
bytes)
Page-cache hash table entries: 16384 (order: 4, 65536
bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
Memory resource not set for host bridge 0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society
NET3.039
Initializing RT netlink socket
Starting kswapd
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red
H�erial.c->init_chipsels: mfdev->count !=
SGVT_RS_TABLE_SIZE
Serial driver version 5.05c (2001-07-08) with
MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
uart00 at 0xc5078000 (irq = 92) is a TI16750
uart01 at 0xc507a008 (irq = 92) is a TI16750
uart02 at 0xc507c010 (irq = 92) is a TI16750
RAMDISK driver initialized: 16 RAM disks of 4096K size
1024 blocksize
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
Uniform Multi-Platform E-IDE driver Revision:
7.00beta-2.4
ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
SCSI subsystem driver Revision: 1.00
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-ohci-embedded.c: USB OHCI at membase 0xf0001000,
IRQ 44
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik
<vojtech@suse.cz>
hid-core.c: USB HID support drivers
usb.c: registered new driver usblp
printer.c: v0.11: USB Printer Device Class driver
pegasus.c: v0.4.26 (2002/03/21):Pegasus/Pegasus II USB
Ethernet driver
usb.c: registered new driver pegasus
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
eth0: Phy @ 0x0, type LXT971 (0x001378e2)
Mitron multi chip CAN driver 0.4 inited
Mitron SPI core functionality initialized
spi-core.o: adapter SGVT SPI host registered as
adapter 0.
spi_add_driver: driver MKI driver registered.
kb_probe_func: MKI keyboard 0 found. Versions: hw:3.1
sw:2.2
spi_attach_client: client [SGVT SPI keyboard]
registered to adapter [SGVT SPI host](pos. 0).
MKI initialized succesfully
SGVT_WDT: Software Watchdog Timer version 0.1, timeout
60 sec.
SGVT Bank 0: Found 1 x16 devices at 0x0 in 8-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
SGVT Bank 0: Swapping erase regions for broken CFI
table.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due
to code brokenness.
Creating 3 MTD partitions on "SGVT Bank 0":
0x00000000-0x00200000 : "kernel"
0x00200000-0x00280000 : "logo1"
0x00280000-0x00300000 : "logo2"
No NAND device found!!!
sgvt_nand_init: unable to find NAND device
Initialised PWM buzzer, v. 0.1
Nov. I/O 0.1 succesfully initialized
spi_add_driver: driver A/D driver registered.
spi_attach_client: client [SGVT SPI A/D converter]
registered to adapter [SGVT SPI host](pos. 5).
SPI A/D initialized succesfully
ppcpmw 0.8 initialized
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind
4096)
eth0: config: auto-negotiation off, 100HDX, 10HDX.
IP-Config: Complete:
device=eth0, addr=192.168.30.130,
mask=255.255.0.0, gw=192.168.1.1,
host=SGVT_180, domain=, nis-domain=(none),
bootserver=192.168.1.61, rootserver=192.168.1.61,
rootpath=
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Looking up port of RPC 100003/2 on 192.168.1.61
Looking up port of RPC 100005/1 on 192.168.1.61
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 76k init
U-Boot 1.1.1 (Jul 8 2005 - 16:18:22)
CPU: MPC5200 (JTAG ID 1001101d) at 396 MHz
Bus 132 MHz, IPB 66 MHz, PCI 33 MHz
Board: Mitron MCT3
DRAM: 64 MB
FLASH: 4 MB
FPGA: OK
SPI: MPC5200_spi,mki_ad initialised
Backlight: (channel 2, dutycycle 50, freq 500)
initialised
Video: SMI720 @ 640x480x8 28kHz 53Hz
In: serial
Out: serial
Err: serial
NAND: Flash chip found:
Manufacturer ID: 0x20, Chip ID: 0x79 (NAND
128MiB 3,3V 8-bit)
1 flash chips found. Total nand_chip size:
128 MB
and it gooooooes on ...
i think it is not able to search for the INIT task ..
what could be the problem .. please help
Susheel
More Smiles Per Hour
____________________________________________________
Start your day with Yahoo! - make it your home page
http://www.yahoo.com/r/hs
^ permalink raw reply
* Re: ptrace on linux 2.6.12 causes oops
From: Anton Wöllert @ 2005-07-15 9:42 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: linux-ppc-embedded
In-Reply-To: <20050714111941.GC5179@dmt.cnet>
[-- Attachment #1: Type: text/plain, Size: 1460 bytes --]
>
> Yep, just that now its the ptraceing process which is faulting in the
> page,
> instead of the (ptraced) process itself.
>
> So Anton, can you move the _tlbie() call up to
>
> && !test_bit(PG_arch_1, &page->flags)) {
> <---------- HERE
> if (vma->vm_mm == current->active_mm)
> __flush_dcache_icache((void *) address);
> else
> flush_dcache_icache_page(page);
> set_bit(PG_arch_1, &page->flags);
>
> So that it covers both cases instead of just (vma->vm_mm ==
> current->active_mm) ?
>
> Its safe to do it because the address space ID is ignored by tlbie
> accordingly
> to the manual page:
>
> The ASID value in the entry is ignored for the purpose of
> matching an invalidate address, thus multiple entries can be invalidated
> if they have the same effective address and different ASID values.
Well, unfortunately, that doesn't work :(. If i'm right, the
__flush_dcache_icache((void *) address) should avoid that the cache says
faulting address again.
The flush_dcache_icache_page(page) should flush the cache, where stands,
page not mapped. but the flush_dcache_icache_page(page) oopses on my system.
but instead of this call, the call __flush_dcache_icache(page_address(page))
works. for me, that also makes more sence. and also, the
flush_dcache_icache_page(page) calls the flush_dcache_icache_phys, which
turns off the data virtual address mapping. i found that a bit strange. any
comments?
[-- Attachment #2: Type: text/html, Size: 2985 bytes --]
^ permalink raw reply
* Re: PATCH: Add memreserve to DTC
From: David Gibson @ 2005-07-15 7:19 UTC (permalink / raw)
To: Jon Loeliger; +Cc: linuxppc64-dev, linuxppc-dev@ozlabs.org
In-Reply-To: <1121371427.24467.34.camel@cashmere.sps.mot.com>
On Thu, Jul 14, 2005 at 03:03:47PM -0500, Jon Loeliger wrote:
> On Mon, 2005-07-11 at 23:06, David Gibson wrote:
> > On Mon, Jul 11, 2005 at 04:22:30PM -0500, Jon Loeliger wrote:
> > > On Sun, 2005-07-10 at 23:55, David Gibson wrote:
> > > > On Fri, Jul 08, 2005 at 04:44:58PM -0500, Jon Loeliger wrote:
> > [snip]
> > > > Biggest thing is that rather than passing the tree itself and the
> > > > memreserve info about as two parameters all over the place, I'd rather
> > > > create a new structure which has both (and later can have anything
> > > > else that might be needed).
> > >
> > > If you'd like, I'll do this work.
> >
> > That would be helpful. You'll need to rediff, though, I merged a
> > couple of bugfixes from your patch that weren't directly related to
> > the memreserve stuff.
>
> David,
>
> Here is an updated version of the patch that obsoletes
> the previous one I submitted. I have incorporated all
> of your syntactic suggestions except not using the
> split-64 values (ie, this still uses 'struct data').
> It primarily merges in the changes that you adopted
> from earlier and implements a new structure at the
> base of the parse tree to hold both the device tree
> and the header information. I called that new stucuture
> 'struct header_tree'. Feel free to dream up something
> better. :-)
Ok, I've merged this, although I've tweaked things substantially in
the process. I did rename "header_tree" to "boot_info", moved some
things around, and changed the syntax. Reserve ranges can now be
specified either as an address and length:
/memreserve/ 10000000 00002000;
or as an (inclusive) address range:
/memreserve/ 10000000-10001fff;
I am a bit worried that those two forms may be hard to distinguish at
a glance. Any sugggestions for changes to the syntax soon please, I'd
really like to keep the source syntax as stable as possible.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/people/dgibson
^ permalink raw reply
* [PATCH] ppc32: Make the UARTs on MPC824x individual platform devices
From: Kumar Gala @ 2005-07-15 3:21 UTC (permalink / raw)
To: Andrew Morton; +Cc: linuxppc-embedded
The UARTs on the MPC824x are unique devices and really shouldn't be
thought of as a DUART. In addition, if both UARTs are in use we need
to configure the part to enable the 2nd UART since the pins for the
UARTs are multiplexed. Adds support to run the 824x Sandpoint with
both UARTs if desired.
Signed-off-by: Matt McClintock <msm@freescale.com>
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
---
commit fe6f929c51bca1f8a2c8f645fc6cb63b86200cf8
tree c10a1ef20ad36bca6324ea9438815f70c0e9b20a
parent 06c8f2c3113bf5cba59adbdc60949b76b0943316
author Kumar K. Gala <kumar.gala@freescale.com> Thu, 14 Jul 2005 22:20:25 -0500
committer Kumar K. Gala <kumar.gala@freescale.com> Thu, 14 Jul 2005 22:20:25 -0500
arch/ppc/Kconfig | 7 ++++
arch/ppc/configs/sandpoint_defconfig | 2 +
arch/ppc/platforms/sandpoint.c | 17 ++++++----
arch/ppc/syslib/mpc10x_common.c | 57 +++++++++++++++++++++++++++-------
include/asm-ppc/mpc10x.h | 3 +-
5 files changed, 65 insertions(+), 21 deletions(-)
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -878,6 +878,13 @@ config MPC10X_STORE_GATHERING
bool "Enable MPC10x store gathering"
depends on MPC10X_BRIDGE
+config SANDPOINT_ENABLE_UART1
+ bool "Enable DUART mode on Sandpoint"
+ depends on SANDPOINT
+ help
+ If this option is enabled then the MPC824x processor will run
+ in DUART mode instead of UART mode.
+
config CPC710_DATA_GATHERING
bool "Enable CPC710 data gathering"
depends on K2
diff --git a/arch/ppc/configs/sandpoint_defconfig b/arch/ppc/configs/sandpoint_defconfig
--- a/arch/ppc/configs/sandpoint_defconfig
+++ b/arch/ppc/configs/sandpoint_defconfig
@@ -437,7 +437,7 @@ CONFIG_SOUND_GAMEPORT=y
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
diff --git a/arch/ppc/platforms/sandpoint.c b/arch/ppc/platforms/sandpoint.c
--- a/arch/ppc/platforms/sandpoint.c
+++ b/arch/ppc/platforms/sandpoint.c
@@ -311,19 +311,22 @@ sandpoint_setup_arch(void)
{
bd_t *bp = (bd_t *)__res;
struct plat_serial8250_port *pdata;
- pdata = (struct plat_serial8250_port *) ppc_sys_get_pdata(MPC10X_DUART);
+ pdata = (struct plat_serial8250_port *) ppc_sys_get_pdata(MPC10X_UART0);
if (pdata)
{
pdata[0].uartclk = bp->bi_busfreq;
- pdata[0].membase = ioremap(pdata[0].mapbase, 0x100);
+ }
- /* this disables the 2nd serial port on the DUART
- * since the sandpoint does not have it connected */
- pdata[1].uartclk = 0;
- pdata[1].irq = 0;
- pdata[1].mapbase = 0;
+#ifdef CONFIG_SANDPOINT_ENABLE_UART1
+ pdata = (struct plat_serial8250_port *) ppc_sys_get_pdata(MPC10X_UART1);
+ if (pdata)
+ {
+ pdata[0].uartclk = bp->bi_busfreq;
}
+#else
+ ppc_sys_device_remove(MPC10X_UART1);
+#endif
}
printk(KERN_INFO "Motorola SPS Sandpoint Test Platform\n");
diff --git a/arch/ppc/syslib/mpc10x_common.c b/arch/ppc/syslib/mpc10x_common.c
--- a/arch/ppc/syslib/mpc10x_common.c
+++ b/arch/ppc/syslib/mpc10x_common.c
@@ -45,24 +45,29 @@
#define MPC10X_DMA0_IRQ (EPIC_IRQ_BASE + 1 + NUM_8259_INTERRUPTS)
#define MPC10X_DMA1_IRQ (EPIC_IRQ_BASE + 2 + NUM_8259_INTERRUPTS)
#define MPC10X_UART0_IRQ (EPIC_IRQ_BASE + 4 + NUM_8259_INTERRUPTS)
+#define MPC10X_UART1_IRQ (EPIC_IRQ_BASE + 5 + NUM_8259_INTERRUPTS)
#else
#define MPC10X_I2C_IRQ -1
#define MPC10X_DMA0_IRQ -1
#define MPC10X_DMA1_IRQ -1
#define MPC10X_UART0_IRQ -1
+#define MPC10X_UART1_IRQ -1
#endif
static struct fsl_i2c_platform_data mpc10x_i2c_pdata = {
.device_flags = 0,
};
-static struct plat_serial8250_port serial_platform_data[] = {
+static struct plat_serial8250_port serial_plat_uart0[] = {
[0] = {
.mapbase = 0x4500,
.iotype = UPIO_MEM,
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
},
- [1] = {
+ { },
+};
+static struct plat_serial8250_port serial_plat_uart1[] = {
+ [0] = {
.mapbase = 0x4600,
.iotype = UPIO_MEM,
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
@@ -133,11 +138,17 @@ struct platform_device ppc_sys_platform_
},
},
},
- [MPC10X_DUART] = {
+ [MPC10X_UART0] = {
.name = "serial8250",
.id = 0,
- .dev.platform_data = serial_platform_data,
+ .dev.platform_data = serial_plat_uart0,
},
+ [MPC10X_UART1] = {
+ .name = "serial8250",
+ .id = 1,
+ .dev.platform_data = serial_plat_uart1,
+ },
+
};
/* We use the PCI ID to match on */
@@ -147,10 +158,10 @@ struct ppc_sys_spec ppc_sys_specs[] = {
.ppc_sys_name = "8245",
.mask = 0xFFFFFFFF,
.value = MPC10X_BRIDGE_8245,
- .num_devices = 4,
+ .num_devices = 5,
.device_list = (enum ppc_sys_devices[])
{
- MPC10X_IIC1, MPC10X_DMA0, MPC10X_DMA1, MPC10X_DUART,
+ MPC10X_IIC1, MPC10X_DMA0, MPC10X_DMA1, MPC10X_UART0, MPC10X_UART1,
},
},
{
@@ -180,6 +191,25 @@ struct ppc_sys_spec ppc_sys_specs[] = {
},
};
+/*
+ * mach_mpc10x_fixup: This function enables DUART mode if it detects
+ * if it detects two UARTS in the platform device entries.
+ */
+static int __init mach_mpc10x_fixup(struct platform_device *pdev)
+{
+ if (strncmp (pdev->name, "serial8250", 10) == 0 && pdev->id == 1)
+ writeb(readb(serial_plat_uart1[0].membase + 0x11) | 0x1,
+ serial_plat_uart1[0].membase + 0x11);
+ return 0;
+}
+
+static int __init mach_mpc10x_init(void)
+{
+ ppc_sys_device_fixup = mach_mpc10x_fixup;
+ return 0;
+}
+postcore_initcall(mach_mpc10x_init);
+
/* Set resources to match bridge memory map */
void __init
mpc10x_bridge_set_resources(int map, struct pci_controller *hose)
@@ -219,6 +249,7 @@ mpc10x_bridge_set_resources(int map, str
ppc_md.progress("mpc10x:exit1", 0x100);
}
}
+
/*
* Do some initialization and put the EUMB registers at the specified address
* (also map the EPIC registers into virtual space--OpenPIC_Addr will be set).
@@ -411,12 +442,14 @@ mpc10x_bridge_init(struct pci_controller
ppc_sys_platform_devices[MPC10X_DMA1].resource[1].start = MPC10X_DMA1_IRQ;
ppc_sys_platform_devices[MPC10X_DMA1].resource[1].end = MPC10X_DMA1_IRQ;
- serial_platform_data[0].mapbase += phys_eumb_base;
- serial_platform_data[0].irq = MPC10X_UART0_IRQ;
-
- serial_platform_data[1].mapbase += phys_eumb_base;
- serial_platform_data[1].irq = MPC10X_UART0_IRQ + 1;
-
+ serial_plat_uart0[0].mapbase += phys_eumb_base;
+ serial_plat_uart0[0].irq = MPC10X_UART0_IRQ;
+ serial_plat_uart0[0].membase = ioremap(serial_plat_uart0[0].mapbase, 0x100);
+
+ serial_plat_uart1[0].mapbase += phys_eumb_base;
+ serial_plat_uart1[0].irq = MPC10X_UART1_IRQ;
+ serial_plat_uart1[0].membase = ioremap(serial_plat_uart1[0].mapbase, 0x100);
+
/*
* 8240 erratum 26, 8241/8245 erratum 29, 107 erratum 23: speculative
* PCI reads may return stale data so turn off.
diff --git a/include/asm-ppc/mpc10x.h b/include/asm-ppc/mpc10x.h
--- a/include/asm-ppc/mpc10x.h
+++ b/include/asm-ppc/mpc10x.h
@@ -163,7 +163,8 @@ enum ppc_sys_devices {
MPC10X_IIC1,
MPC10X_DMA0,
MPC10X_DMA1,
- MPC10X_DUART,
+ MPC10X_UART0,
+ MPC10X_UART1,
};
int mpc10x_bridge_init(struct pci_controller *hose,
^ permalink raw reply
* [PATCH] ppc32: Add proper prototype for cpm2_reset()
From: Kumar Gala @ 2005-07-15 3:13 UTC (permalink / raw)
To: Andrew Morton; +Cc: linuxppc-embedded
Added a proper prototype for cpm2_reset() which gets ride of a build
warning.
Signed-off-by: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
---
commit d2a144648ecfe8652d19dd9019141e88a3a2a974
tree a047dc753c56ae50ed5a20beeb893654b08aca18
parent 0a224850142b1169b5a67735e51268057d24b833
author Kumar K. Gala <kumar.gala@freescale.com> Thu, 14 Jul 2005 22:10:13 -0500
committer Kumar K. Gala <kumar.gala@freescale.com> Thu, 14 Jul 2005 22:10:13 -0500
arch/ppc/platforms/85xx/mpc8560_ads.c | 1 -
arch/ppc/platforms/85xx/mpc85xx_cds_common.c | 2 +-
arch/ppc/platforms/85xx/stx_gp3.c | 3 +--
arch/ppc/syslib/cpm2_common.c | 1 -
arch/ppc/syslib/m8260_setup.c | 3 +--
include/asm-ppc/cpm2.h | 5 +++--
6 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/arch/ppc/platforms/85xx/mpc8560_ads.c b/arch/ppc/platforms/85xx/mpc8560_ads.c
--- a/arch/ppc/platforms/85xx/mpc8560_ads.c
+++ b/arch/ppc/platforms/85xx/mpc8560_ads.c
@@ -56,7 +56,6 @@
#include <syslib/ppc85xx_common.h>
#include <syslib/ppc85xx_setup.h>
-extern void cpm2_reset(void);
/* ************************************************************************
*
diff --git a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
--- a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
+++ b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
@@ -49,7 +49,7 @@
#include <asm/mpc85xx.h>
#include <asm/irq.h>
#include <asm/immap_85xx.h>
-#include <asm/immap_cpm2.h>
+#include <asm/cpm2.h>
#include <asm/ppc_sys.h>
#include <asm/kgdb.h>
diff --git a/arch/ppc/platforms/85xx/stx_gp3.c b/arch/ppc/platforms/85xx/stx_gp3.c
--- a/arch/ppc/platforms/85xx/stx_gp3.c
+++ b/arch/ppc/platforms/85xx/stx_gp3.c
@@ -52,14 +52,13 @@
#include <asm/mpc85xx.h>
#include <asm/irq.h>
#include <asm/immap_85xx.h>
-#include <asm/immap_cpm2.h>
+#include <asm/cpm2.h>
#include <asm/mpc85xx.h>
#include <asm/ppc_sys.h>
#include <syslib/cpm2_pic.h>
#include <syslib/ppc85xx_common.h>
-extern void cpm2_reset(void);
unsigned char __res[sizeof(bd_t)];
diff --git a/arch/ppc/syslib/cpm2_common.c b/arch/ppc/syslib/cpm2_common.c
--- a/arch/ppc/syslib/cpm2_common.c
+++ b/arch/ppc/syslib/cpm2_common.c
@@ -27,7 +27,6 @@
#include <asm/mpc8260.h>
#include <asm/page.h>
#include <asm/pgtable.h>
-#include <asm/immap_cpm2.h>
#include <asm/cpm2.h>
#include <asm/rheap.h>
diff --git a/arch/ppc/syslib/m8260_setup.c b/arch/ppc/syslib/m8260_setup.c
--- a/arch/ppc/syslib/m8260_setup.c
+++ b/arch/ppc/syslib/m8260_setup.c
@@ -24,7 +24,7 @@
#include <asm/io.h>
#include <asm/pgtable.h>
#include <asm/mpc8260.h>
-#include <asm/immap_cpm2.h>
+#include <asm/cpm2.h>
#include <asm/machdep.h>
#include <asm/bootinfo.h>
#include <asm/time.h>
@@ -33,7 +33,6 @@
unsigned char __res[sizeof(bd_t)];
-extern void cpm2_reset(void);
extern void pq2_find_bridges(void);
extern void pq2pci_init_irq(void);
extern void idma_pci9_init(void);
diff --git a/include/asm-ppc/cpm2.h b/include/asm-ppc/cpm2.h
--- a/include/asm-ppc/cpm2.h
+++ b/include/asm-ppc/cpm2.h
@@ -109,6 +109,7 @@ static inline long IS_DPERR(const uint o
* and dual port ram.
*/
extern cpm_cpm2_t *cpmp; /* Pointer to comm processor */
+
extern uint cpm_dpalloc(uint size, uint align);
extern int cpm_dpfree(uint offset);
extern uint cpm_dpalloc_fixed(uint offset, uint size, uint align);
@@ -116,6 +117,8 @@ extern void cpm_dpdump(void);
extern void *cpm_dpram_addr(uint offset);
extern void cpm_setbrg(uint brg, uint rate);
extern void cpm2_fastbrg(uint brg, uint rate, int div16);
+extern void cpm2_reset(void);
+
/* Buffer descriptors used by many of the CPM protocols.
*/
@@ -1087,5 +1090,3 @@ typedef struct im_idma {
#endif /* __CPM2__ */
#endif /* __KERNEL__ */
-
-
^ permalink raw reply
* Re: 8272ADS and Linux 2.6.12
From: Allen Curtis @ 2005-07-15 3:11 UTC (permalink / raw)
To: Allen Curtis; +Cc: SIP COP 009, linuxppc-embedded
In-Reply-To: <ef81e8ced15bf8004ec0cd927d7cff8e@onz.com>
It would also be beneficial if you turned on CONFIG_DEBUG_KERNEL. You
will get lots more messages early in the boot.
>> => setenv bootargs console=ttyCPM0,115200 root=/dev/ram
>> => bootm fe600000
>> ## Booting image at fe600000 ...
>> Image Name: 2.6.12 for 8272
>> Image Type: PowerPC Linux Kernel Image (gzip compressed)
>> Data Size: 875845 Bytes = 855.3 kB
>> Load Address: 00000000
>> Entry Point: 00000000
>> Verifying Checksum ... OK
>> Uncompressing Kernel Image ... OK
>>
>
> Can you provide your kernel configuration information regarding the
> serial ports. Which serial port is your console port? Check the
> following configuration options:
> CONFIG_SERIAL_CONSOLE
> CONFIG_SCC_CONSOLE
> CONFIG_SERIAL_CORE
> CONFIG_SERIAL_CORE_CONSOLE
>
> Another observation is that you are trying to boot with a RAM disk but
> you have not provided the RAM disk address to the bootm command. This
> is not your current problem since you don't get that far.
>
> - Allen
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
^ permalink raw reply
* Re: 8272ADS and Linux 2.6.12
From: Allen Curtis @ 2005-07-15 3:05 UTC (permalink / raw)
To: SIP COP 009; +Cc: linuxppc-embedded
In-Reply-To: <5a4792c0050714120571fff071@mail.gmail.com>
> => setenv bootargs console=ttyCPM0,115200 root=/dev/ram
> => bootm fe600000
> ## Booting image at fe600000 ...
> Image Name: 2.6.12 for 8272
> Image Type: PowerPC Linux Kernel Image (gzip compressed)
> Data Size: 875845 Bytes = 855.3 kB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> Uncompressing Kernel Image ... OK
>
Can you provide your kernel configuration information regarding the
serial ports. Which serial port is your console port? Check the
following configuration options:
CONFIG_SERIAL_CONSOLE
CONFIG_SCC_CONSOLE
CONFIG_SERIAL_CORE
CONFIG_SERIAL_CORE_CONSOLE
Another observation is that you are trying to boot with a RAM disk but
you have not provided the RAM disk address to the bootm command. This
is not your current problem since you don't get that far.
- Allen
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox