brcm63xx: Fixed 96348GW (Tecom Gx00) LED definitions to match reality (vs reference design)

SVN-Revision: 21631
This commit is contained in:
Daniel Dickinson 2010-05-30 02:04:56 +00:00
parent 6a267cfa76
commit f296eeab53
8 changed files with 160 additions and 125 deletions

View file

@ -1,54 +1,48 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -336,24 +336,39 @@ static struct board_info __initdata boar
Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:36:02.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:40:56.000000000 -0400
@@ -331,29 +331,28 @@
.leds = {
{
- .name = "adsl-fail",
- .gpio = 2,
+ .name = "line1",
+ .gpio = 4,
.active_low = 1,
},
{
- .name = "ppp",
- .gpio = 3,
+ .name = "power",
+ .gpio = 0,
+ .name = "line2",
+ .gpio = 5,
.active_low = 1,
+ .default_trigger = "default-on",
},
{
- .name = "ppp-fail",
+ .name = "stop",
+ .gpio = 1,
+ .active_low = 1,
+ },
+ {
+ .name = "line1",
.gpio = 4,
- .gpio = 4,
+ .name = "line3",
+ .gpio = 6,
.active_low = 1,
},
{
- .name = "power",
- .gpio = 0,
+ .name = "line2",
+ .gpio = 5,
+ .name = "tel",
+ .gpio = 7,
.active_low = 1,
- .default_trigger = "default-on",
},
{
- .name = "stop",
- .gpio = 1,
+ .name = "line3",
+ .gpio = 6,
+ .active_low = 1,
+ },
+ {
+ .name = "tel",
+ .gpio = 7,
+ .active_low = 1,
+ },
+ {
+ .name = "eth",
+ .gpio = 35,
.active_low = 1,
},
},
@@ -855,6 +870,7 @@ static struct platform_device bcm63xx_gp
@@ -855,6 +854,7 @@
int __init board_register_devices(void)
{
u32 val;
@ -56,7 +50,7 @@
int button_count = 0;
if (board.has_pccard)
@@ -902,7 +918,11 @@ int __init board_register_devices(void)
@@ -902,7 +902,11 @@
platform_device_register_simple("GPIODEV", 0, &gpiodev_resource, 1);
@ -69,14 +63,3 @@
bcm63xx_led_data.leds = board.leds;
platform_device_register(&bcm63xx_gpio_leds);
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -54,7 +54,7 @@ struct board_info {
struct bcm63xx_dsp_platform_data dsp;
/* GPIO LEDs */
- struct gpio_led leds[5];
+ struct gpio_led leds[8];
/* Buttons */
struct gpio_button buttons[2];

View file

@ -1,6 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -589,6 +589,63 @@ static struct board_info __initdata boar
Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:40:56.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:43:41.000000000 -0400
@@ -573,6 +573,63 @@
.has_ohci0 = 1,
.has_ehci0 = 1,

View file

@ -1,5 +1,7 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:43:41.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:44:19.000000000 -0400
@@ -28,6 +28,7 @@
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_usb_ohci.h>
@ -8,7 +10,7 @@
#include <board_bcm963xx.h>
#define PFX "board_bcm963xx: "
@@ -406,6 +407,7 @@ static struct board_info __initdata boar
@@ -390,6 +391,7 @@
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
@ -16,7 +18,7 @@
};
static struct board_info __initdata board_rta1025w_16 = {
@@ -950,6 +952,9 @@ int __init board_register_devices(void)
@@ -934,6 +936,9 @@
if (board.has_dsp)
bcm63xx_dsp_register(&board.dsp);
@ -26,8 +28,10 @@
/* Generate MAC address for WLAN and
* register our SPROM */
#ifdef CONFIG_SSB_PCIHOST
--- /dev/null
+++ b/arch/mips/bcm63xx/dev-usb-udc.c
Index: linux-2.6.32.13/arch/mips/bcm63xx/dev-usb-udc.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.32.13/arch/mips/bcm63xx/dev-usb-udc.c 2010-05-27 21:44:19.000000000 -0400
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2009 Henk Vergonet <Henk.Vergonet@gmail.com>
@ -87,9 +91,11 @@
+ udc_resources[1].start = bcm63xx_get_irq_number(IRQ_UDC0);
+ return platform_device_register(&bcm63xx_udc_device);
+}
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
@@ -125,7 +125,7 @@ enum bcm63xx_regs_set {
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
===================================================================
--- linux-2.6.32.13.orig/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h 2010-05-27 21:34:56.000000000 -0400
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h 2010-05-27 21:44:19.000000000 -0400
@@ -125,7 +125,7 @@
#define BCM_6338_UART0_BASE (0xfffe0300)
#define BCM_6338_GPIO_BASE (0xfffe0400)
#define BCM_6338_SPI_BASE (0xfffe0c00)
@ -98,7 +104,7 @@
#define BCM_6338_USBDMA_BASE (0xfffe2400)
#define BCM_6338_OHCI0_BASE (0xdeadbeef)
#define BCM_6338_OHCI_PRIV_BASE (0xfffe3000)
@@ -155,7 +155,7 @@ enum bcm63xx_regs_set {
@@ -155,7 +155,7 @@
#define BCM_6345_UART0_BASE (0xfffe0300)
#define BCM_6345_GPIO_BASE (0xfffe0400)
#define BCM_6345_SPI_BASE (0xdeadbeef)
@ -107,7 +113,7 @@
#define BCM_6345_USBDMA_BASE (0xfffe2800)
#define BCM_6345_ENET0_BASE (0xfffe1800)
#define BCM_6345_ENETDMA_BASE (0xfffe2800)
@@ -210,7 +210,7 @@ enum bcm63xx_regs_set {
@@ -210,7 +210,7 @@
#define BCM_6358_UART0_BASE (0xfffe0100)
#define BCM_6358_GPIO_BASE (0xfffe0080)
#define BCM_6358_SPI_BASE (0xdeadbeef)
@ -116,7 +122,7 @@
#define BCM_6358_OHCI0_BASE (0xfffe1400)
#define BCM_6358_OHCI_PRIV_BASE (0xdeadbeef)
#define BCM_6358_USBH_PRIV_BASE (0xfffe1500)
@@ -430,6 +430,7 @@ enum bcm63xx_irq {
@@ -430,6 +430,7 @@
IRQ_TIMER = 0,
IRQ_UART0,
IRQ_DSL,
@ -124,7 +130,7 @@
IRQ_ENET0,
IRQ_ENET1,
IRQ_ENET_PHY,
@@ -472,7 +473,7 @@ enum bcm63xx_irq {
@@ -472,7 +473,7 @@
#define BCM_6345_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
#define BCM_6345_DSL_IRQ (IRQ_INTERNAL_BASE + 3)
#define BCM_6345_ATM_IRQ (IRQ_INTERNAL_BASE + 4)
@ -133,7 +139,7 @@
#define BCM_6345_ENET0_IRQ (IRQ_INTERNAL_BASE + 8)
#define BCM_6345_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12)
#define BCM_6345_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 1)
@@ -494,10 +495,17 @@ enum bcm63xx_irq {
@@ -494,10 +495,17 @@
#define BCM_6348_TIMER_IRQ (IRQ_INTERNAL_BASE + 0)
#define BCM_6348_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
#define BCM_6348_DSL_IRQ (IRQ_INTERNAL_BASE + 4)
@ -151,8 +157,10 @@
#define BCM_6348_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 20)
#define BCM_6348_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 21)
#define BCM_6348_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 22)
--- /dev/null
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_udc.h
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_udc.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_udc.h 2010-05-27 21:44:19.000000000 -0400
@@ -0,0 +1,6 @@
+#ifndef BCM63XX_DEV_USB_UDC_H_
+#define BCM63XX_DEV_USB_UDC_H_
@ -160,9 +168,11 @@
+int bcm63xx_udc_register(void);
+
+#endif /* BCM63XX_DEV_USB_UDC_H_ */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -45,6 +45,7 @@ struct board_info {
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
===================================================================
--- linux-2.6.32.13.orig/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h 2010-05-27 21:42:10.000000000 -0400
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h 2010-05-27 21:44:19.000000000 -0400
@@ -45,6 +45,7 @@
unsigned int has_ohci0:1;
unsigned int has_ehci0:1;
unsigned int has_dsp:1;
@ -170,8 +180,10 @@
/* ethernet config */
struct bcm63xx_enet_platform_data enet0;
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
Index: linux-2.6.32.13/arch/mips/bcm63xx/Makefile
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/Makefile 2010-05-27 21:34:56.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/Makefile 2010-05-27 21:44:19.000000000 -0400
@@ -1,6 +1,6 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o prom.o setup.o timer.o \
dev-dsp.o dev-enet.o dev-pcmcia.o dev-uart.o dev-wdt.o \
@ -180,9 +192,11 @@
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/clk.c
+++ b/arch/mips/bcm63xx/clk.c
@@ -141,6 +141,30 @@ static struct clk clk_usbh = {
Index: linux-2.6.32.13/arch/mips/bcm63xx/clk.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/clk.c 2010-05-27 21:34:56.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/clk.c 2010-05-27 21:44:19.000000000 -0400
@@ -141,6 +141,30 @@
};
/*
@ -213,7 +227,7 @@
* SPI clock
*/
static void spi_set(struct clk *clk, int enable)
@@ -208,6 +232,8 @@ struct clk *clk_get(struct device *dev,
@@ -208,6 +232,8 @@
return &clk_ephy;
if (!strcmp(id, "usbh"))
return &clk_usbh;
@ -222,9 +236,11 @@
if (!strcmp(id, "spi"))
return &clk_spi;
if (!strcmp(id, "periph"))
--- a/arch/mips/bcm63xx/Kconfig
+++ b/arch/mips/bcm63xx/Kconfig
@@ -7,6 +7,7 @@ config BCM63XX_CPU_6338
Index: linux-2.6.32.13/arch/mips/bcm63xx/Kconfig
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/Kconfig 2010-05-27 21:34:56.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/Kconfig 2010-05-27 21:44:19.000000000 -0400
@@ -7,6 +7,7 @@
select USB_ARCH_HAS_OHCI
select USB_OHCI_BIG_ENDIAN_DESC
select USB_OHCI_BIG_ENDIAN_MMIO
@ -232,7 +248,7 @@
config BCM63XX_CPU_6345
bool "support 6345 CPU"
@@ -19,6 +20,7 @@ config BCM63XX_CPU_6348
@@ -19,6 +20,7 @@
select USB_ARCH_HAS_OHCI
select USB_OHCI_BIG_ENDIAN_DESC
select USB_OHCI_BIG_ENDIAN_MMIO

View file

@ -1,6 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1000,6 +1000,10 @@ int __init board_register_devices(void)
Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:44:19.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:44:35.000000000 -0400
@@ -984,6 +984,10 @@
platform_device_register(&bcm63xx_gpio_buttons_device);
}
@ -11,9 +13,11 @@
return 0;
}
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -59,6 +59,10 @@ struct board_info {
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
===================================================================
--- linux-2.6.32.13.orig/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h 2010-05-27 21:44:19.000000000 -0400
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h 2010-05-27 21:44:35.000000000 -0400
@@ -59,6 +59,10 @@
/* Buttons */
struct gpio_button buttons[2];

View file

@ -1,6 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -467,6 +467,49 @@ static struct board_info __initdata boar
Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:44:35.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:45:09.000000000 -0400
@@ -451,6 +451,49 @@
.has_ohci0 = 1,
};
@ -50,7 +52,7 @@
#endif
/*
@@ -692,6 +735,7 @@ static const struct board_info __initdat
@@ -676,6 +719,7 @@
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,

View file

@ -1,5 +1,7 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:45:09.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:46:39.000000000 -0400
@@ -17,6 +17,7 @@
#include <linux/ssb/ssb.h>
#include <linux/gpio_buttons.h>
@ -21,7 +23,7 @@
static struct bcm963xx_nvram nvram;
static unsigned int mac_addr_used;
static struct board_info board;
@@ -713,6 +720,471 @@ static struct board_info __initdata boar
@@ -697,6 +704,471 @@
.has_ohci0 = 1,
};
@ -493,7 +495,7 @@
#endif
/*
@@ -743,9 +1215,30 @@ static const struct board_info __initdat
@@ -727,9 +1199,30 @@
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
@ -524,7 +526,7 @@
/*
* early init callback, read nvram data from flash and checksum it
*/
@@ -793,6 +1286,9 @@ void __init board_prom_init(void)
@@ -777,6 +1270,9 @@
return;
}
@ -534,13 +536,15 @@
/* find board by name */
for (i = 0; i < ARRAY_SIZE(bcm963xx_boards); i++) {
if (strncmp(nvram.name, bcm963xx_boards[i]->name,
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -55,7 +55,7 @@ struct board_info {
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
===================================================================
--- linux-2.6.32.13.orig/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h 2010-05-27 21:44:35.000000000 -0400
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h 2010-05-27 21:47:03.000000000 -0400
@@ -55,7 +55,7 @@
struct bcm63xx_dsp_platform_data dsp;
/* GPIO LEDs */
- struct gpio_led leds[8];
- struct gpio_led leds[5];
+ struct gpio_led leds[9];
/* Buttons */

View file

@ -1,6 +1,8 @@
--- a/arch/mips/bcm63xx/cpu.c
+++ b/arch/mips/bcm63xx/cpu.c
@@ -55,6 +55,7 @@ static const unsigned long bcm96338_regs
Index: linux-2.6.32.13/arch/mips/bcm63xx/cpu.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/cpu.c 2010-05-27 21:34:54.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/cpu.c 2010-05-27 21:48:23.000000000 -0400
@@ -55,6 +55,7 @@
static const int bcm96338_irqs[] = {
[IRQ_TIMER] = BCM_6338_TIMER_IRQ,
@ -8,7 +10,7 @@
[IRQ_UART0] = BCM_6338_UART0_IRQ,
[IRQ_DSL] = BCM_6338_DSL_IRQ,
[IRQ_ENET0] = BCM_6338_ENET0_IRQ,
@@ -127,6 +128,7 @@ static const unsigned long bcm96348_regs
@@ -127,6 +128,7 @@
static const int bcm96348_irqs[] = {
[IRQ_TIMER] = BCM_6348_TIMER_IRQ,
@ -16,7 +18,7 @@
[IRQ_UART0] = BCM_6348_UART0_IRQ,
[IRQ_DSL] = BCM_6348_DSL_IRQ,
[IRQ_ENET0] = BCM_6348_ENET0_IRQ,
@@ -169,6 +171,7 @@ static const unsigned long bcm96358_regs
@@ -169,6 +171,7 @@
static const int bcm96358_irqs[] = {
[IRQ_TIMER] = BCM_6358_TIMER_IRQ,
@ -24,8 +26,10 @@
[IRQ_UART0] = BCM_6358_UART0_IRQ,
[IRQ_DSL] = BCM_6358_DSL_IRQ,
[IRQ_ENET0] = BCM_6358_ENET0_IRQ,
--- /dev/null
+++ b/arch/mips/bcm63xx/dev-spi.c
Index: linux-2.6.32.13/arch/mips/bcm63xx/dev-spi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.32.13/arch/mips/bcm63xx/dev-spi.c 2010-05-27 21:48:23.000000000 -0400
@@ -0,0 +1,60 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@ -87,9 +91,11 @@
+
+ return platform_device_register(&bcm63xx_spi_device);
+}
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
@@ -108,6 +108,7 @@ enum bcm63xx_regs_set {
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h
===================================================================
--- linux-2.6.32.13.orig/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h 2010-05-27 21:44:19.000000000 -0400
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h 2010-05-27 21:48:23.000000000 -0400
@@ -108,6 +108,7 @@
#define RSET_WDT_SIZE 12
#define RSET_ENET_SIZE 2048
#define RSET_ENETDMA_SIZE 2048
@ -97,7 +103,7 @@
#define RSET_UART_SIZE 24
#define RSET_UDC_SIZE 256
#define RSET_OHCI_SIZE 256
@@ -209,7 +210,7 @@ enum bcm63xx_regs_set {
@@ -209,7 +210,7 @@
#define BCM_6358_WDT_BASE (0xfffe005c)
#define BCM_6358_UART0_BASE (0xfffe0100)
#define BCM_6358_GPIO_BASE (0xfffe0080)
@ -106,7 +112,7 @@
#define BCM_6358_UDC0_BASE (0xfffe0400)
#define BCM_6358_OHCI0_BASE (0xfffe1400)
#define BCM_6358_OHCI_PRIV_BASE (0xdeadbeef)
@@ -428,6 +429,7 @@ static inline unsigned long bcm63xx_regs
@@ -428,6 +429,7 @@
*/
enum bcm63xx_irq {
IRQ_TIMER = 0,
@ -114,7 +120,7 @@
IRQ_UART0,
IRQ_DSL,
IRQ_UDC0,
@@ -493,6 +495,7 @@ enum bcm63xx_irq {
@@ -493,6 +495,7 @@
* 6348 irqs
*/
#define BCM_6348_TIMER_IRQ (IRQ_INTERNAL_BASE + 0)
@ -122,7 +128,7 @@
#define BCM_6348_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
#define BCM_6348_DSL_IRQ (IRQ_INTERNAL_BASE + 4)
#define BCM_6348_UDC0_IRQ (IRQ_INTERNAL_BASE + 6)
@@ -517,6 +520,7 @@ enum bcm63xx_irq {
@@ -517,6 +520,7 @@
* 6358 irqs
*/
#define BCM_6358_TIMER_IRQ (IRQ_INTERNAL_BASE + 0)
@ -130,8 +136,10 @@
#define BCM_6358_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
#define BCM_6358_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5)
#define BCM_6358_ENET1_IRQ (IRQ_INTERNAL_BASE + 6)
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
===================================================================
--- linux-2.6.32.13.orig/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h 2010-05-27 21:34:54.000000000 -0400
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h 2010-05-27 21:48:23.000000000 -0400
@@ -769,5 +769,117 @@
#define DMIPSPLLCFG_N2_SHIFT 29
#define DMIPSPLLCFG_N2_MASK (0x7 << DMIPSPLLCFG_N2_SHIFT)
@ -250,8 +258,10 @@
+
#endif /* BCM63XX_REGS_H_ */
--- /dev/null
+++ b/drivers/spi/bcm63xx_spi.c
Index: linux-2.6.32.13/drivers/spi/bcm63xx_spi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.32.13/drivers/spi/bcm63xx_spi.c 2010-05-27 21:48:23.000000000 -0400
@@ -0,0 +1,628 @@
+/*
+ * Broadcom BCM63xx SPI controller support
@ -881,9 +891,11 @@
+MODULE_DESCRIPTION("Broadcom BCM63xx SPI Controller driver");
+MODULE_LICENSE("GPL");
+MODULE_VERSION(DRV_VER);
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -60,6 +60,13 @@ config SPI_ATMEL
Index: linux-2.6.32.13/drivers/spi/Kconfig
===================================================================
--- linux-2.6.32.13.orig/drivers/spi/Kconfig 2010-05-27 21:34:54.000000000 -0400
+++ linux-2.6.32.13/drivers/spi/Kconfig 2010-05-27 21:48:23.000000000 -0400
@@ -60,6 +60,13 @@
This selects a driver for the Atmel SPI Controller, present on
many AT32 (AVR32) and AT91 (ARM) chips.
@ -897,9 +909,11 @@
config SPI_BFIN
tristate "SPI controller driver for ADI Blackfin5xx"
depends on BLACKFIN
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
@@ -34,6 +34,7 @@ obj-$(CONFIG_SPI_TXX9) += spi_txx9.o
Index: linux-2.6.32.13/drivers/spi/Makefile
===================================================================
--- linux-2.6.32.13.orig/drivers/spi/Makefile 2010-05-27 21:34:54.000000000 -0400
+++ linux-2.6.32.13/drivers/spi/Makefile 2010-05-27 21:48:23.000000000 -0400
@@ -34,6 +34,7 @@
obj-$(CONFIG_SPI_XILINX) += xilinx_spi.o
obj-$(CONFIG_SPI_SH_SCI) += spi_sh_sci.o
obj-$(CONFIG_SPI_STMP3XXX) += spi_stmp.o
@ -907,8 +921,10 @@
# ... add above this line ...
# SPI protocol drivers (device/link on bus)
--- /dev/null
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h 2010-05-27 21:48:23.000000000 -0400
@@ -0,0 +1,15 @@
+#ifndef BCM63XX_DEV_SPI_H
+#define BCM63XX_DEV_SPI_H
@ -925,8 +941,10 @@
+};
+
+#endif /* BCM63XX_DEV_SPI_H */
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
Index: linux-2.6.32.13/arch/mips/bcm63xx/Makefile
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/Makefile 2010-05-27 21:44:19.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/Makefile 2010-05-27 21:48:23.000000000 -0400
@@ -1,6 +1,6 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o prom.o setup.o timer.o \
dev-dsp.o dev-enet.o dev-pcmcia.o dev-uart.o dev-wdt.o \
@ -935,8 +953,10 @@
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:46:39.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:48:23.000000000 -0400
@@ -30,6 +30,7 @@
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_ehci.h>
@ -945,7 +965,7 @@
#include <board_bcm963xx.h>
#define PFX "board_bcm963xx: "
@@ -1495,6 +1496,9 @@ int __init board_register_devices(void)
@@ -1479,6 +1480,9 @@
if (board.has_udc0)
bcm63xx_udc_register();

View file

@ -1,6 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1338,6 +1338,8 @@ void __init board_prom_init(void)
Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:48:23.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-05-27 21:48:31.000000000 -0400
@@ -1322,6 +1322,8 @@
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G3_EXT_MII |
GPIO_MODE_6348_G0_EXT_MII;
@ -9,8 +11,10 @@
}
bcm_gpio_writel(val, GPIO_MODE_REG);
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
===================================================================
--- linux-2.6.32.13.orig/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h 2010-05-27 21:48:23.000000000 -0400
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h 2010-05-27 21:48:31.000000000 -0400
@@ -402,6 +402,8 @@
#define GPIO_MODE_6358_EXTRA_SPI_SS (1 << 7)
#define GPIO_MODE_6358_SERIAL_LED (1 << 10)