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

SVN-Revision: 21631
owl
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 Index: linux-2.6.32.13/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 --- 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, .active_low = 1,
}, },
{ {
- .name = "ppp", - .name = "ppp",
- .gpio = 3, - .gpio = 3,
+ .name = "power", + .name = "line2",
+ .gpio = 0, + .gpio = 5,
.active_low = 1, .active_low = 1,
+ .default_trigger = "default-on",
}, },
{ {
- .name = "ppp-fail", - .name = "ppp-fail",
+ .name = "stop", - .gpio = 4,
+ .gpio = 1, + .name = "line3",
+ .active_low = 1, + .gpio = 6,
+ },
+ {
+ .name = "line1",
.gpio = 4,
.active_low = 1, .active_low = 1,
}, },
{ {
- .name = "power", - .name = "power",
- .gpio = 0, - .gpio = 0,
+ .name = "line2", + .name = "tel",
+ .gpio = 5, + .gpio = 7,
.active_low = 1, .active_low = 1,
- .default_trigger = "default-on", - .default_trigger = "default-on",
}, },
{ {
- .name = "stop", - .name = "stop",
- .gpio = 1, - .gpio = 1,
+ .name = "line3",
+ .gpio = 6,
+ .active_low = 1,
+ },
+ {
+ .name = "tel",
+ .gpio = 7,
+ .active_low = 1,
+ },
+ {
+ .name = "eth", + .name = "eth",
+ .gpio = 35, + .gpio = 35,
.active_low = 1, .active_low = 1,
}, },
}, },
@@ -855,6 +870,7 @@ static struct platform_device bcm63xx_gp @@ -855,6 +854,7 @@
int __init board_register_devices(void) int __init board_register_devices(void)
{ {
u32 val; u32 val;
@ -56,7 +50,7 @@
int button_count = 0; int button_count = 0;
if (board.has_pccard) 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); platform_device_register_simple("GPIODEV", 0, &gpiodev_resource, 1);
@ -69,14 +63,3 @@
bcm63xx_led_data.leds = board.leds; bcm63xx_led_data.leds = board.leds;
platform_device_register(&bcm63xx_gpio_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 Index: linux-2.6.32.13/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 --- 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_ohci0 = 1,
.has_ehci0 = 1, .has_ehci0 = 1,

View File

@ -1,5 +1,7 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/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 @@ @@ -28,6 +28,7 @@
#include <bcm63xx_dev_pcmcia.h> #include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_usb_ohci.h> #include <bcm63xx_dev_usb_ohci.h>
@ -8,7 +10,7 @@
#include <board_bcm963xx.h> #include <board_bcm963xx.h>
#define PFX "board_bcm963xx: " #define PFX "board_bcm963xx: "
@@ -406,6 +407,7 @@ static struct board_info __initdata boar @@ -390,6 +391,7 @@
.has_ohci0 = 1, .has_ohci0 = 1,
.has_pccard = 1, .has_pccard = 1,
.has_ehci0 = 1, .has_ehci0 = 1,
@ -16,7 +18,7 @@
}; };
static struct board_info __initdata board_rta1025w_16 = { 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) if (board.has_dsp)
bcm63xx_dsp_register(&board.dsp); bcm63xx_dsp_register(&board.dsp);
@ -26,8 +28,10 @@
/* Generate MAC address for WLAN and /* Generate MAC address for WLAN and
* register our SPROM */ * register our SPROM */
#ifdef CONFIG_SSB_PCIHOST #ifdef CONFIG_SSB_PCIHOST
--- /dev/null Index: linux-2.6.32.13/arch/mips/bcm63xx/dev-usb-udc.c
+++ b/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 @@ @@ -0,0 +1,58 @@
+/* +/*
+ * Copyright (C) 2009 Henk Vergonet <Henk.Vergonet@gmail.com> + * Copyright (C) 2009 Henk Vergonet <Henk.Vergonet@gmail.com>
@ -87,9 +91,11 @@
+ udc_resources[1].start = bcm63xx_get_irq_number(IRQ_UDC0); + udc_resources[1].start = bcm63xx_get_irq_number(IRQ_UDC0);
+ return platform_device_register(&bcm63xx_udc_device); + return platform_device_register(&bcm63xx_udc_device);
+} +}
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h Index: linux-2.6.32.13/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 { --- 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_UART0_BASE (0xfffe0300)
#define BCM_6338_GPIO_BASE (0xfffe0400) #define BCM_6338_GPIO_BASE (0xfffe0400)
#define BCM_6338_SPI_BASE (0xfffe0c00) #define BCM_6338_SPI_BASE (0xfffe0c00)
@ -98,7 +104,7 @@
#define BCM_6338_USBDMA_BASE (0xfffe2400) #define BCM_6338_USBDMA_BASE (0xfffe2400)
#define BCM_6338_OHCI0_BASE (0xdeadbeef) #define BCM_6338_OHCI0_BASE (0xdeadbeef)
#define BCM_6338_OHCI_PRIV_BASE (0xfffe3000) #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_UART0_BASE (0xfffe0300)
#define BCM_6345_GPIO_BASE (0xfffe0400) #define BCM_6345_GPIO_BASE (0xfffe0400)
#define BCM_6345_SPI_BASE (0xdeadbeef) #define BCM_6345_SPI_BASE (0xdeadbeef)
@ -107,7 +113,7 @@
#define BCM_6345_USBDMA_BASE (0xfffe2800) #define BCM_6345_USBDMA_BASE (0xfffe2800)
#define BCM_6345_ENET0_BASE (0xfffe1800) #define BCM_6345_ENET0_BASE (0xfffe1800)
#define BCM_6345_ENETDMA_BASE (0xfffe2800) #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_UART0_BASE (0xfffe0100)
#define BCM_6358_GPIO_BASE (0xfffe0080) #define BCM_6358_GPIO_BASE (0xfffe0080)
#define BCM_6358_SPI_BASE (0xdeadbeef) #define BCM_6358_SPI_BASE (0xdeadbeef)
@ -116,7 +122,7 @@
#define BCM_6358_OHCI0_BASE (0xfffe1400) #define BCM_6358_OHCI0_BASE (0xfffe1400)
#define BCM_6358_OHCI_PRIV_BASE (0xdeadbeef) #define BCM_6358_OHCI_PRIV_BASE (0xdeadbeef)
#define BCM_6358_USBH_PRIV_BASE (0xfffe1500) #define BCM_6358_USBH_PRIV_BASE (0xfffe1500)
@@ -430,6 +430,7 @@ enum bcm63xx_irq { @@ -430,6 +430,7 @@
IRQ_TIMER = 0, IRQ_TIMER = 0,
IRQ_UART0, IRQ_UART0,
IRQ_DSL, IRQ_DSL,
@ -124,7 +130,7 @@
IRQ_ENET0, IRQ_ENET0,
IRQ_ENET1, IRQ_ENET1,
IRQ_ENET_PHY, 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_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
#define BCM_6345_DSL_IRQ (IRQ_INTERNAL_BASE + 3) #define BCM_6345_DSL_IRQ (IRQ_INTERNAL_BASE + 3)
#define BCM_6345_ATM_IRQ (IRQ_INTERNAL_BASE + 4) #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_ENET0_IRQ (IRQ_INTERNAL_BASE + 8)
#define BCM_6345_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12) #define BCM_6345_ENET_PHY_IRQ (IRQ_INTERNAL_BASE + 12)
#define BCM_6345_ENET0_RXDMA_IRQ (IRQ_INTERNAL_BASE + 13 + 1) #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_TIMER_IRQ (IRQ_INTERNAL_BASE + 0)
#define BCM_6348_UART0_IRQ (IRQ_INTERNAL_BASE + 2) #define BCM_6348_UART0_IRQ (IRQ_INTERNAL_BASE + 2)
#define BCM_6348_DSL_IRQ (IRQ_INTERNAL_BASE + 4) #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_RXDMA_IRQ (IRQ_INTERNAL_BASE + 20)
#define BCM_6348_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 21) #define BCM_6348_ENET0_TXDMA_IRQ (IRQ_INTERNAL_BASE + 21)
#define BCM_6348_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 22) #define BCM_6348_ENET1_RXDMA_IRQ (IRQ_INTERNAL_BASE + 22)
--- /dev/null Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_udc.h
+++ b/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 @@ @@ -0,0 +1,6 @@
+#ifndef BCM63XX_DEV_USB_UDC_H_ +#ifndef BCM63XX_DEV_USB_UDC_H_
+#define BCM63XX_DEV_USB_UDC_H_ +#define BCM63XX_DEV_USB_UDC_H_
@ -160,9 +168,11 @@
+int bcm63xx_udc_register(void); +int bcm63xx_udc_register(void);
+ +
+#endif /* BCM63XX_DEV_USB_UDC_H_ */ +#endif /* BCM63XX_DEV_USB_UDC_H_ */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h Index: linux-2.6.32.13/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 { --- 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_ohci0:1;
unsigned int has_ehci0:1; unsigned int has_ehci0:1;
unsigned int has_dsp:1; unsigned int has_dsp:1;
@ -170,8 +180,10 @@
/* ethernet config */ /* ethernet config */
struct bcm63xx_enet_platform_data enet0; struct bcm63xx_enet_platform_data enet0;
--- a/arch/mips/bcm63xx/Makefile Index: linux-2.6.32.13/arch/mips/bcm63xx/Makefile
+++ b/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 @@ @@ -1,6 +1,6 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o prom.o setup.o timer.o \ 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 \ 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-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/ obj-y += boards/
--- a/arch/mips/bcm63xx/clk.c Index: linux-2.6.32.13/arch/mips/bcm63xx/clk.c
+++ b/arch/mips/bcm63xx/clk.c ===================================================================
@@ -141,6 +141,30 @@ static struct clk clk_usbh = { --- 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 * SPI clock
*/ */
static void spi_set(struct clk *clk, int enable) 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; return &clk_ephy;
if (!strcmp(id, "usbh")) if (!strcmp(id, "usbh"))
return &clk_usbh; return &clk_usbh;
@ -222,9 +236,11 @@
if (!strcmp(id, "spi")) if (!strcmp(id, "spi"))
return &clk_spi; return &clk_spi;
if (!strcmp(id, "periph")) if (!strcmp(id, "periph"))
--- a/arch/mips/bcm63xx/Kconfig Index: linux-2.6.32.13/arch/mips/bcm63xx/Kconfig
+++ b/arch/mips/bcm63xx/Kconfig ===================================================================
@@ -7,6 +7,7 @@ config BCM63XX_CPU_6338 --- 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_ARCH_HAS_OHCI
select USB_OHCI_BIG_ENDIAN_DESC select USB_OHCI_BIG_ENDIAN_DESC
select USB_OHCI_BIG_ENDIAN_MMIO select USB_OHCI_BIG_ENDIAN_MMIO
@ -232,7 +248,7 @@
config BCM63XX_CPU_6345 config BCM63XX_CPU_6345
bool "support 6345 CPU" bool "support 6345 CPU"
@@ -19,6 +20,7 @@ config BCM63XX_CPU_6348 @@ -19,6 +20,7 @@
select USB_ARCH_HAS_OHCI select USB_ARCH_HAS_OHCI
select USB_OHCI_BIG_ENDIAN_DESC select USB_OHCI_BIG_ENDIAN_DESC
select USB_OHCI_BIG_ENDIAN_MMIO select USB_OHCI_BIG_ENDIAN_MMIO

View File

@ -1,6 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c Index: linux-2.6.32.13/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) --- 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); platform_device_register(&bcm63xx_gpio_buttons_device);
} }
@ -11,9 +13,11 @@
return 0; return 0;
} }
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h Index: linux-2.6.32.13/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 { --- 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 */ /* Buttons */
struct gpio_button buttons[2]; struct gpio_button buttons[2];

View File

@ -1,6 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c Index: linux-2.6.32.13/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 --- 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, .has_ohci0 = 1,
}; };
@ -50,7 +52,7 @@
#endif #endif
/* /*
@@ -692,6 +735,7 @@ static const struct board_info __initdat @@ -676,6 +719,7 @@
&board_DV201AMR, &board_DV201AMR,
&board_96348gw_a, &board_96348gw_a,
&board_rta1025w_16, &board_rta1025w_16,

View File

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

View File

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

View File

@ -1,6 +1,8 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c Index: linux-2.6.32.13/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) --- 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()) if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G3_EXT_MII | val |= GPIO_MODE_6348_G3_EXT_MII |
GPIO_MODE_6348_G0_EXT_MII; GPIO_MODE_6348_G0_EXT_MII;
@ -9,8 +11,10 @@
} }
bcm_gpio_writel(val, GPIO_MODE_REG); bcm_gpio_writel(val, GPIO_MODE_REG);
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
+++ b/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 @@ @@ -402,6 +402,8 @@
#define GPIO_MODE_6358_EXTRA_SPI_SS (1 << 7) #define GPIO_MODE_6358_EXTRA_SPI_SS (1 << 7)
#define GPIO_MODE_6358_SERIAL_LED (1 << 10) #define GPIO_MODE_6358_SERIAL_LED (1 << 10)