Hello. Vitaly Wool wrote:
please find the patch that adds support for STB810 below.
[...]
Signed-off-by: Vitaly Wool <vitalywool@xxxxxxxxx>
Index: linux-mips.git/arch/mips/philips/pnx8550/stb810/board_setup.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ linux-mips.git/arch/mips/philips/pnx8550/stb810/board_setup.c 2006-12-07 18:21:04.000000000 +0300 @@ -0,0 +1,56 @@
[...]
+/* CP0 hazard avoidance. */ +#define BARRIER __asm__ __volatile__(".set noreorder\n\t" \ + "nop; nop; nop; nop; nop; nop;\n\t" \ + ".set reorder\n\t") +
Erm, barrier code have been reworked, IIRC. Is there really a need for the 6-nop custom barrier here?
+void __init board_setup(void) +{ + unsigned long config0, configpr; + + config0 = read_c0_config(); + + /* clear all three cache coherency fields */ + config0 &= ~(0x7 | (7<<25) | (7<<28)); + config0 |= (CONF_CM_DEFAULT | (CONF_CM_DEFAULT<<25) | + (CONF_CM_DEFAULT<<28)); + write_c0_config(config0); + BARRIER; + + configpr = read_c0_config7(); + configpr |= (1<<19); /* enable tlb */ + write_c0_config7(configpr); + BARRIER; +} Index: linux-mips.git/arch/mips/philips/pnx8550/stb810/irqmap.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ linux-mips.git/arch/mips/philips/pnx8550/stb810/irqmap.c 2006-12-07 18:21:04.000000000 +0300 @@ -0,0 +1,23 @@
[...]
+char irq_tab_jbs[][5] __initdata = { + [8] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff}, + [9] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff}, + [10] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff}, +};
This is somewhat unusual PCI interrupt rounting...
Index: linux-mips.git/arch/mips/kernel/head.S Index: linux-mips.git/arch/mips/configs/pnx8550-stb810_defconfig =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ linux-mips.git/arch/mips/configs/pnx8550-stb810_defconfig 2006-12-07 18:21:04.000000000 +0300 @@ -0,0 +1,1777 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.19-rc5 +# Wed Nov 8 13:46:57 2006 +# +CONFIG_ARM=y
ARM?! Are you sure it's a correct defconfig? ;-) WBR, Sergei