* Au1550 with kernel linux-2.6.28.1
@ 2009-01-23 19:40 Frank Neuber
2009-01-24 7:57 ` Manuel Lauss
0 siblings, 1 reply; 7+ messages in thread
From: Frank Neuber @ 2009-01-23 19:40 UTC (permalink / raw)
To: linux-mips
Hi List,
at the moment I run a 2.6.16.11 on this core. Because of some trouble
with the USB 2.0 EHCI controller (which is wired on the internal PCI
bus) I am thinking about running a more recent kernel.
It was easy to build linux-2.6.28.1 based on the db1550_defconfig using
the mips_4KCle-gcc (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) toolchain.
But I see nothing on the serial console after starting the kernel. Some
time ago (10 month I think) I was testing the head of the git mips
kernel and the system was booting with some trouble on the pci bus but I
was able so see someting on the serial console.
A quick search on this list show me
http://www.linux-mips.org/archives/linux-mips/2008-11/msg00099.html
the last activity on the alchemy chip.
I just want to ask who is working with the au1550 on a more recent
kernel than 2.6.16.11.
I'll start now with some early printk to solve booting problems and than
we will see .....
Kind regards,
FN
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Au1550 with kernel linux-2.6.28.1
2009-01-23 19:40 Au1550 with kernel linux-2.6.28.1 Frank Neuber
@ 2009-01-24 7:57 ` Manuel Lauss
2009-01-24 8:57 ` Frank Neuber
0 siblings, 1 reply; 7+ messages in thread
From: Manuel Lauss @ 2009-01-24 7:57 UTC (permalink / raw)
To: Frank Neuber; +Cc: linux-mips
Hallo Frank,
On Fri, 23 Jan 2009 20:40:00 +0100
Frank Neuber <linux-mips@kernelport.de> wrote:
> at the moment I run a 2.6.16.11 on this core. Because of some trouble
> with the USB 2.0 EHCI controller (which is wired on the internal PCI
> bus) I am thinking about running a more recent kernel.
> It was easy to build linux-2.6.28.1 based on the db1550_defconfig using
> the mips_4KCle-gcc (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) toolchain.
> But I see nothing on the serial console after starting the kernel. Some
> time ago (10 month I think) I was testing the head of the git mips
> kernel and the system was booting with some trouble on the pci bus but I
> was able so see someting on the serial console.
>
> A quick search on this list show me
> http://www.linux-mips.org/archives/linux-mips/2008-11/msg00099.html
> the last activity on the alchemy chip.
That stuff went in in time for 2.6.29-rc2, so it's unlikely to be the
cause of your problems.
> I just want to ask who is working with the au1550 on a more recent
> kernel than 2.6.16.11.
> I'll start now with some early printk to solve booting problems and than
> we will see .....
I know of at least one person running 2.6.26 or .27 on a Au1550.
You should start by throwing away the defconfig ;-). Create a new
config with only au1x00 serial and serial console enabled and then add
new devices one at a time and see where it breaks.
(Btw, which board? I'd love to get my hands on other alchemy boards to
test on).
Thanks!
Manuel Lauss
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Au1550 with kernel linux-2.6.28.1
2009-01-24 7:57 ` Manuel Lauss
@ 2009-01-24 8:57 ` Frank Neuber
2009-01-24 23:20 ` Frank Neuber
0 siblings, 1 reply; 7+ messages in thread
From: Frank Neuber @ 2009-01-24 8:57 UTC (permalink / raw)
To: Manuel Lauss; +Cc: linux-mips
Hi Manuel,
thank you for your quick response.
Am Samstag, den 24.01.2009, 08:57 +0100 schrieb Manuel Lauss:
> > I just want to ask who is working with the au1550 on a more recent
> > kernel than 2.6.16.11.
> > I'll start now with some early printk to solve booting problems and than
> > we will see .....
>
> I know of at least one person running 2.6.26 or .27 on a Au1550.
> You should start by throwing away the defconfig ;-). Create a new
> config with only au1x00 serial and serial console enabled and then add
> new devices one at a time and see where it breaks.
Yestoday I tested the earlyprintk stuff witout luck :-(
I simply added this CMDLINE earlycon=uart,mmio,0x11100000,115200n8
console=ttyS0,115200n8 panic=1
The drivers/serial/8250_early.o is build in the kernel but without
adding CONFIG_EARLY_PRINTK or CONFIG_SYS_HAS_EARLY_PRINTK. Maybe this is
the problem.
On the running kernel I see this.
Serial: 8250/16550 driver $Revision: 1.90 $ 5 ports, IRQ sharing enabled
serial8250.7: ttyS0 at MMIO 0x11100000 (irq = 0) is a 16550A
serial8250.7: ttyS1 at MMIO 0x11200000 (irq = 8) is a 16550A
serial8250.7: ttyS2 at MMIO 0x11400000 (irq = 9) is a 16550A
The console is console=ttyS0,115200n8 ....
Now I'll go more deep into the kernel.
>
> (Btw, which board? I'd love to get my hands on other alchemy boards to
> test on).
It is a customer board not available on the market.
It is possible for you to connect me to this person. Maybe we can share
some know how. At the moment I work on USB Analog/DVB stuff more deep on
MIPS.
Kind Regards,
Frank
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Au1550 with kernel linux-2.6.28.1
2009-01-24 8:57 ` Frank Neuber
@ 2009-01-24 23:20 ` Frank Neuber
2009-01-25 8:20 ` Au1550 with kernel linux-2.6.28.1 (SOLVED) Frank Neuber
0 siblings, 1 reply; 7+ messages in thread
From: Frank Neuber @ 2009-01-24 23:20 UTC (permalink / raw)
To: Manuel Lauss; +Cc: linux-mips
Hi Manuel,
after trying the standard early printk without luck I implemented my
own:
--- kernel/printk.c.orig 2009-01-24 23:48:08.000000000 +0100
+++ kernel/printk.c 2009-01-24 23:49:42.000000000 +0100
@@ -481,8 +481,30 @@
_call_console_drivers(start_print, end, msg_level);
}
+#include <linux/serial_8250.h>
+#include <asm/mach-au1x00/au1000.h>
+
+void serial_putc (const char c)
+{
+ volatile u32 *uart_lsr = (volatile u32*)(UART0_ADDR+UART_LSR);
+ volatile u32 *uart_tx = (volatile u32*)(UART0_ADDR+UART_TX);
+
+ if (c == '\n') serial_putc ('\r');
+
+ /* Wait for fifo to shift out some bytes */
+ while((*uart_lsr&UART_LSR_THRE)==0);
+
+ *uart_tx = (u32)c;
+}
+
static void emit_log_char(char c)
{
+#if 1
+ if (c == '\n'){
+ serial_putc('\r');
+ }
+ serial_putc(c);
+#endif
LOG_BUF(log_end) = c;
log_end++;
if (log_end - log_start > log_buf_len)
The same result, I see nothing :-(
This means I run into trouble in the very early assembler part of the
kernel. I know the ARM kernel has some debug features implemented (using
the serial port).
Has the mips kernel a comparable debug possebility?
I striped down the defconfig as you sad and start the kernel using
uboot:
tc# bootm 0x80500000
## Booting image at 80500000 ...
Image Name: Linux-2.6.28.1
Created: 2009-01-24 21:39:57 UTC
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 894213 Bytes = 873.3 kB
Load Address: 80100000
Entry Point: 80104690
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel ...
Could the entry point be the problem? He is very close to the load
address. Because I have no JTAG for mips it is not easy to check what is
going on here ....
Now I have no idea what can I do next ...
Kind Regards,
Frank
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: Au1550 with kernel linux-2.6.28.1 (SOLVED)
2009-01-24 23:20 ` Frank Neuber
@ 2009-01-25 8:20 ` Frank Neuber
2009-01-26 10:21 ` Au1550 with kernel linux-2.6.28.1 PCI Cardbus mappings too large Frank Neuber
0 siblings, 1 reply; 7+ messages in thread
From: Frank Neuber @ 2009-01-25 8:20 UTC (permalink / raw)
To: Manuel Lauss; +Cc: linux-mips
Hi List,
after a sleepness nigth I got an idea ....
Because I need an uImage I had to build a Image first.
The buildprocess of the kernel call this wrong line
mips_4KCle-objcopy --remove-section=.reginfo vmlinux arch/mips/boot/Image
if I add this rule in the Makefile
$(obj)/Image: $(VMLINUX) FORCE
$(call if_changed,objcopy)
@echo ' Kernel: $@ is ready'
On older kernelversions this works well!
The rigth one is this:
mips_4KCle-objcopy -O binary -R .note -R .comment -S vmlinux arch/mips/boot/Image
I typed the last steps by hand for now and it works
gzip -f -9 < arch/mips/boot/Image > arch/mips/boot/zImage
/bin/sh /tmp/linux-2.6.28.1/scripts/mkuboot.sh -A mips -O linux -T kernel -C gzip -a 0x80100000 -e 0x80104690 -n 'Linux-2.6.28.1' -d arch/mips/boot/zImage uImage
(keep in mind the -a 0x80100000 -e 0x80104690 parameters are greped from vmlinux with
TEXT_ADDR := $(shell awk '/_text/ { printf "0x%s", $$1 ; exit }' < $(TOPDIR)/System.map)
ENTRY_ADDR := $(shell awk '/kernel_entry/ { printf "0x%s", $$1 ; exit }' < $(TOPDIR)/System.map)
)
Than I can see my first early printk messages :-) huhuuu
Now I can work on.
BTW: why is uImage not supported by the kernel build system for MIPS?
Regards,
Frank
^ permalink raw reply [flat|nested] 7+ messages in thread* Au1550 with kernel linux-2.6.28.1 PCI Cardbus mappings too large
2009-01-25 8:20 ` Au1550 with kernel linux-2.6.28.1 (SOLVED) Frank Neuber
@ 2009-01-26 10:21 ` Frank Neuber
2009-01-28 19:28 ` (SOLVED) Re: Au1550 with kernel linux-2.6.28.1 PCI Cardbus mappings too large (SOLVED) Frank Neuber
0 siblings, 1 reply; 7+ messages in thread
From: Frank Neuber @ 2009-01-26 10:21 UTC (permalink / raw)
To: linux-mips
Hello again,
as I sad I want to use a USB controller wired on the pci bus.
The EHCI Probe (usb_hcd_pci_probe) fails with "controller already in
use" error because the request_mem_region gives an error.
I think the Problem is that the CardBus bridge eat the mem.
As a refence you can compare the CadrBus mem window on 2.6.28.1 with
2.6.16.11.
At the moment I have no idea how can I fix this resource conflict ...
I found a pcibios_fixup_bus fuction that reorganize the dev->resource[i]
values but I'm not sure if this is called during pci init. I'll check
this now.
Is there a PCI guru for mips on the list?
Kind regards,
Frank
Kernel 2.6.28.1 output
pci 0000:00:0c.0: PME# supported from D1 D3hot D3cold
pci 0000:00:0c.0: PME# disabled
pci 0000:00:0c.1: PME# supported from D1 D3hot D3cold
pci 0000:00:0c.1: PME# disabled
pci 0000:00:0c.2: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:00:0c.2: PME# disabled
pci 0000:00:0d.0: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:00:0d.0: PME# disabled
pci 0000:00:0d.1: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:00:0d.1: PME# disabled
pci 0000:00:0c.0: BAR 0: can't allocate mem resource
[0x50000000-0x4fffffff]
pci 0000:00:0c.1: BAR 0: can't allocate mem resource
[0x50000000-0x4fffffff]
pci 0000:00:0d.0: BAR 0: can't allocate mem resource
[0x50000000-0x4fffffff]
pci 0000:00:0d.1: BAR 0: can't allocate mem resource
[0x50000000-0x4fffffff]
pci 0000:00:0c.2: BAR 0: can't allocate mem resource
[0x50000000-0x4fffffff]
pci 0000:00:0d.0: CardBus bridge, secondary bus 0000:01
pci 0000:00:0d.0: IO window: 0x001000-0x0010ff
pci 0000:00:0d.0: IO window: 0x001400-0x0014ff
pci 0000:00:0d.0: PREFETCH window: 0x40000000-0x43ffffff
pci 0000:00:0d.0: MEM window: 0x44000000-0x47ffffff
pci 0000:00:0d.1: CardBus bridge, secondary bus 0000:05
pci 0000:00:0d.1: IO window: 0x001800-0x0018ff
pci 0000:00:0d.1: IO window: 0x001c00-0x001cff
pci 0000:00:0d.1: PREFETCH window: 0x48000000-0x4bffffff
pci 0000:00:0d.1: MEM window: 0x4c000000-0x4fffffff
PCI: Enabling device 0000:00:0d.0 (0000 -> 0003)
PCI: Enabling device 0000:00:0d.1 (0000 -> 0003)
Kernel 2.6.16.11 output
PCI: Bus 1, cardbus bridge: 0000:00:0d.0
IO window: 00001000-000010ff
IO window: 00001400-000014ff
PREFETCH window: 40000000-41ffffff
MEM window: 42000000-43ffffff
PCI: Bus 5, cardbus bridge: 0000:00:0d.1
IO window: 00001800-000018ff
IO window: 00001c00-00001cff
PREFETCH window: 44000000-45ffffff
MEM window: 46000000-47ffffff
PCI: Enabling device 0000:00:0d.0 (0000 -> 0003)
PCI: Setting latency timer of device 0000:00:0d.0 to 64
PCI: Enabling device 0000:00:0d.1 (0000 -> 0003)
PCI: Setting latency timer of device 0000:00:0d.1 to 64
^ permalink raw reply [flat|nested] 7+ messages in thread
* (SOLVED) Re: Au1550 with kernel linux-2.6.28.1 PCI Cardbus mappings too large (SOLVED)
2009-01-26 10:21 ` Au1550 with kernel linux-2.6.28.1 PCI Cardbus mappings too large Frank Neuber
@ 2009-01-28 19:28 ` Frank Neuber
0 siblings, 0 replies; 7+ messages in thread
From: Frank Neuber @ 2009-01-28 19:28 UTC (permalink / raw)
To: linux-mips
Hi,
I found a woking solution to use my pci wired ehci controller on the
au1550 :-)
I did this in drivers/pci/pci.c here is the patch:
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index e491fde..3422ff4 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -29,7 +29,7 @@ int pci_domains_supported = 1;
#endif
#define DEFAULT_CARDBUS_IO_SIZE (256)
-#define DEFAULT_CARDBUS_MEM_SIZE (64*1024*1024)
+#define DEFAULT_CARDBUS_MEM_SIZE (32*1024*1024)
/* pci=cbmemsize=nnM,cbiosize=nn can override this */
unsigned long pci_cardbus_io_size = DEFAULT_CARDBUS_IO_SIZE;
unsigned long pci_cardbus_mem_size = DEFAULT_CARDBUS_MEM_SIZE;
Because this code is working on i386 with 64 bit memsize we need a
au1550 specific solution.
I don't know how is the rigth way.
Kind Regards,
Frank
Am Montag, den 26.01.2009, 11:21 +0100 schrieb Frank Neuber:
> Hello again,
> as I sad I want to use a USB controller wired on the pci bus.
> The EHCI Probe (usb_hcd_pci_probe) fails with "controller already in
> use" error because the request_mem_region gives an error.
>
> I think the Problem is that the CardBus bridge eat the mem.
> As a refence you can compare the CadrBus mem window on 2.6.28.1 with
> 2.6.16.11.
> At the moment I have no idea how can I fix this resource conflict ...
>
> I found a pcibios_fixup_bus fuction that reorganize the dev->resource[i]
> values but I'm not sure if this is called during pci init. I'll check
> this now.
> Is there a PCI guru for mips on the list?
>
> Kind regards,
> Frank
>
> Kernel 2.6.28.1 output
> pci 0000:00:0c.0: PME# supported from D1 D3hot D3cold
> pci 0000:00:0c.0: PME# disabled
> pci 0000:00:0c.1: PME# supported from D1 D3hot D3cold
> pci 0000:00:0c.1: PME# disabled
> pci 0000:00:0c.2: PME# supported from D0 D1 D2 D3hot D3cold
> pci 0000:00:0c.2: PME# disabled
> pci 0000:00:0d.0: PME# supported from D0 D1 D2 D3hot D3cold
> pci 0000:00:0d.0: PME# disabled
> pci 0000:00:0d.1: PME# supported from D0 D1 D2 D3hot D3cold
> pci 0000:00:0d.1: PME# disabled
> pci 0000:00:0c.0: BAR 0: can't allocate mem resource
> [0x50000000-0x4fffffff]
> pci 0000:00:0c.1: BAR 0: can't allocate mem resource
> [0x50000000-0x4fffffff]
> pci 0000:00:0d.0: BAR 0: can't allocate mem resource
> [0x50000000-0x4fffffff]
> pci 0000:00:0d.1: BAR 0: can't allocate mem resource
> [0x50000000-0x4fffffff]
> pci 0000:00:0c.2: BAR 0: can't allocate mem resource
> [0x50000000-0x4fffffff]
> pci 0000:00:0d.0: CardBus bridge, secondary bus 0000:01
> pci 0000:00:0d.0: IO window: 0x001000-0x0010ff
> pci 0000:00:0d.0: IO window: 0x001400-0x0014ff
> pci 0000:00:0d.0: PREFETCH window: 0x40000000-0x43ffffff
> pci 0000:00:0d.0: MEM window: 0x44000000-0x47ffffff
> pci 0000:00:0d.1: CardBus bridge, secondary bus 0000:05
> pci 0000:00:0d.1: IO window: 0x001800-0x0018ff
> pci 0000:00:0d.1: IO window: 0x001c00-0x001cff
> pci 0000:00:0d.1: PREFETCH window: 0x48000000-0x4bffffff
> pci 0000:00:0d.1: MEM window: 0x4c000000-0x4fffffff
> PCI: Enabling device 0000:00:0d.0 (0000 -> 0003)
> PCI: Enabling device 0000:00:0d.1 (0000 -> 0003)
>
>
> Kernel 2.6.16.11 output
> PCI: Bus 1, cardbus bridge: 0000:00:0d.0
> IO window: 00001000-000010ff
> IO window: 00001400-000014ff
> PREFETCH window: 40000000-41ffffff
> MEM window: 42000000-43ffffff
> PCI: Bus 5, cardbus bridge: 0000:00:0d.1
> IO window: 00001800-000018ff
> IO window: 00001c00-00001cff
> PREFETCH window: 44000000-45ffffff
> MEM window: 46000000-47ffffff
> PCI: Enabling device 0000:00:0d.0 (0000 -> 0003)
> PCI: Setting latency timer of device 0000:00:0d.0 to 64
> PCI: Enabling device 0000:00:0d.1 (0000 -> 0003)
> PCI: Setting latency timer of device 0000:00:0d.1 to 64
>
>
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-01-28 19:29 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-23 19:40 Au1550 with kernel linux-2.6.28.1 Frank Neuber
2009-01-24 7:57 ` Manuel Lauss
2009-01-24 8:57 ` Frank Neuber
2009-01-24 23:20 ` Frank Neuber
2009-01-25 8:20 ` Au1550 with kernel linux-2.6.28.1 (SOLVED) Frank Neuber
2009-01-26 10:21 ` Au1550 with kernel linux-2.6.28.1 PCI Cardbus mappings too large Frank Neuber
2009-01-28 19:28 ` (SOLVED) Re: Au1550 with kernel linux-2.6.28.1 PCI Cardbus mappings too large (SOLVED) Frank Neuber
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox