brcm63xx: add and enable support for loading an appended dtb
authorJonas Gorski <jogo@openwrt.org>
Mon, 11 Aug 2014 11:36:48 +0000 (11:36 +0000)
committerJonas Gorski <jogo@openwrt.org>
Mon, 11 Aug 2014 11:36:48 +0000 (11:36 +0000)
Allow appending a dtb blob to the binary and use it for identifying the
board. Fall back to nvram based identification in case of no dtb passed.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42119

68 files changed:
target/linux/brcm63xx/config-3.14
target/linux/brcm63xx/patches-3.14/366-MIPS-add-support-for-vmlinux.bin-appended-DTB.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.14/367-MIPS-BCM63XX-add-support-for-loading-DTB.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.14/368-MIPS-BCM63XX-expand-board_info-with-an-of-compatible.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.14/370-bcm63xx-add-of_board_ids-for-all-supported-boards.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.14/403-6358-enet1-external-mii-clk.patch
target/linux/brcm63xx/patches-3.14/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch
target/linux/brcm63xx/patches-3.14/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch
target/linux/brcm63xx/patches-3.14/420-BCM63XX-add-endian-check-for-ath9k.patch
target/linux/brcm63xx/patches-3.14/421-BCM63XX-add-led-pin-for-ath9k.patch
target/linux/brcm63xx/patches-3.14/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
target/linux/brcm63xx/patches-3.14/499-allow_better_context_for_board_patches.patch
target/linux/brcm63xx/patches-3.14/500-board-D4PW.patch
target/linux/brcm63xx/patches-3.14/501-board-NB4.patch
target/linux/brcm63xx/patches-3.14/502-board-96338W2_E7T.patch
target/linux/brcm63xx/patches-3.14/503-board-CPVA642.patch
target/linux/brcm63xx/patches-3.14/504-board_dsl_274xb_rev_c.patch
target/linux/brcm63xx/patches-3.14/505-board_spw500v.patch
target/linux/brcm63xx/patches-3.14/506-board_gw6200_gw6000.patch
target/linux/brcm63xx/patches-3.14/507-board-MAGIC.patch
target/linux/brcm63xx/patches-3.14/508-board_hw553.patch
target/linux/brcm63xx/patches-3.14/509-board_rta1320_16m.patch
target/linux/brcm63xx/patches-3.14/510-board_spw303v.patch
target/linux/brcm63xx/patches-3.14/511-board_V2500V.patch
target/linux/brcm63xx/patches-3.14/512-board_BTV2110.patch
target/linux/brcm63xx/patches-3.14/513-MIPS-BCM63XX-add-inventel-Livebox-support.patch
target/linux/brcm63xx/patches-3.14/514-board_ct536_ct5621.patch
target/linux/brcm63xx/patches-3.14/515-board_DWV-S0_fixes.patch
target/linux/brcm63xx/patches-3.14/516-board_96348A-122.patch
target/linux/brcm63xx/patches-3.14/517-RTA1205W_16_uart_fixes.patch
target/linux/brcm63xx/patches-3.14/519_board_CPVA502plus.patch
target/linux/brcm63xx/patches-3.14/520-bcm63xx-add-support-for-96368MVWG-board.patch
target/linux/brcm63xx/patches-3.14/521-bcm63xx-add-support-for-96368MVNgr-board.patch
target/linux/brcm63xx/patches-3.14/522-MIPS-BCM63XX-add-96328avng-reference-board.patch
target/linux/brcm63xx/patches-3.14/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch
target/linux/brcm63xx/patches-3.14/524-board_dsl_274xb_rev_f.patch
target/linux/brcm63xx/patches-3.14/525-board_96348w3.patch
target/linux/brcm63xx/patches-3.14/526-board_CT6373-1.patch
target/linux/brcm63xx/patches-3.14/527-board_dva-g3810bn-tl-1.patch
target/linux/brcm63xx/patches-3.14/528-board_nb6.patch
target/linux/brcm63xx/patches-3.14/529-board_fast2604.patch
target/linux/brcm63xx/patches-3.14/530-board_A4001N1.patch
target/linux/brcm63xx/patches-3.14/531-board_AR-5387un.patch
target/linux/brcm63xx/patches-3.14/532-board_AR-5381u.patch
target/linux/brcm63xx/patches-3.14/533-board_rta770bw.patch
target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch
target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch
target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch
target/linux/brcm63xx/patches-3.14/550-alice_gate2_leds.patch
target/linux/brcm63xx/patches-3.14/551-96348gw_a_leds.patch
target/linux/brcm63xx/patches-3.14/552-board_96348gw-10_reset_button.patch
target/linux/brcm63xx/patches-3.14/553-boards_probe_switch.patch
target/linux/brcm63xx/patches-3.14/554-board_DWVS0_leds_buttons.patch
target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch
target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch
target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch
target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch
target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch
target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch
target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch
target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch
target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch
target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch
target/linux/brcm63xx/patches-3.14/565-board_hw520.patch
target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch
target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch

index 6846671a700e7cd85ce9d845c793c99e90acfcba..1fee6392bda83b3226e6bf74ff8c8b6f839c804b 100644 (file)
@@ -39,6 +39,7 @@ CONFIG_BCMA_BLOCKIO=y
 CONFIG_BCMA_HOST_PCI=y
 CONFIG_BCMA_HOST_PCI_POSSIBLE=y
 # CONFIG_BCMA_HOST_SOC is not set
+CONFIG_BOARD_BCM63XX_DT=y
 CONFIG_BOARD_BCM963XX=y
 CONFIG_BOARD_LIVEBOX=y
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -61,8 +62,8 @@ CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
 CONFIG_CPU_SUPPORTS_HIGHMEM=y
 CONFIG_CSRC_R4K=y
 CONFIG_DMA_NONCOHERENT=y
+CONFIG_DTC=y
 CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_8250 is not set
 CONFIG_FIRMWARE_IN_KERNEL=y
 CONFIG_GENERIC_ATOMIC64=y
 CONFIG_GENERIC_CLOCKEVENTS=y
@@ -118,20 +119,22 @@ CONFIG_IMAGE_CMDLINE_HACK=y
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_IP_PIMSM_V1=y
 CONFIG_IP_PIMSM_V2=y
+CONFIG_IRQCHIP=y
 CONFIG_IRQ_CPU=y
+CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_FORCED_THREADING=y
 CONFIG_IRQ_WORK=y
 CONFIG_KEXEC=y
 CONFIG_LEDS_GPIO=y
 CONFIG_MDIO_BOARDINFO=y
 CONFIG_MIPS=y
+CONFIG_MIPS_APPENDED_DTB=y
 # CONFIG_MIPS_HUGE_TLB_SUPPORT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=4
 CONFIG_MIPS_L1_CACHE_SHIFT_4=y
 # CONFIG_MIPS_MACHINE is not set
 CONFIG_MIPS_MT_DISABLED=y
 CONFIG_MIPS_O32_FP64_SUPPORT=y
-# CONFIG_MLX5_CORE is not set
 CONFIG_MODULES_USE_ELF_REL=y
 CONFIG_MODULE_FORCE_LOAD=y
 CONFIG_MODULE_FORCE_UNLOAD=y
@@ -150,8 +153,18 @@ CONFIG_MTD_REDBOOT_PARTS=y
 CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_NEED_PER_CPU_KM=y
-CONFIG_NET_RX_BUSY_POLL=y
 CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
+CONFIG_OF=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_GPIO=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_MDIO=y
+CONFIG_OF_MTD=y
+CONFIG_OF_NET=y
+CONFIG_OF_PCI=y
+CONFIG_OF_PCI_IRQ=y
 CONFIG_PAGEFLAGS_EXTENDED=y
 CONFIG_PCI=y
 # CONFIG_PCIEAER is not set
@@ -162,6 +175,7 @@ CONFIG_PHYLIB=y
 CONFIG_POSIX_MQUEUE=y
 CONFIG_POSIX_MQUEUE_SYSCTL=y
 # CONFIG_PREEMPT_RCU is not set
+CONFIG_PROC_DEVICETREE=y
 # CONFIG_RCU_STALL_COMMON is not set
 CONFIG_RELAY=y
 CONFIG_RTL8366_SMI=y
@@ -200,8 +214,8 @@ CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y
 CONFIG_SYS_SUPPORTS_SMP=y
 CONFIG_TICK_CPU_ACCOUNTING=y
 CONFIG_USB_SUPPORT=y
+CONFIG_USE_OF=y
 CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_WATCHDOG_NOWAYOUT=y
 CONFIG_WEAK_ORDERING=y
-# CONFIG_ZBUD is not set
 CONFIG_ZONE_DMA_FLAG=0
diff --git a/target/linux/brcm63xx/patches-3.14/366-MIPS-add-support-for-vmlinux.bin-appended-DTB.patch b/target/linux/brcm63xx/patches-3.14/366-MIPS-add-support-for-vmlinux.bin-appended-DTB.patch
new file mode 100644 (file)
index 0000000..344e78b
--- /dev/null
@@ -0,0 +1,124 @@
+From 318c1fce4aeef298cbb6153416c499c94ad7cda0 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Tue, 24 Jun 2014 10:53:15 +0200
+Subject: [PATCH RFC v3] MIPS: add support for vmlinux.bin appended DTB
+
+Add support for populating initial_boot_params through a dtb
+blob appended to raw vmlinux.bin.
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+Changes RFC v2 -> v3
+
+* fixed !smp kernels (TODO: move it to its own patch
+
+Changes RFC v1 -> v2
+
+* changed all occurences of vmlinux to vmlinux.bin
+* clarified this applies to the raw vmlinux.bin without decompressor
+* s/initial_device_params/initial_boot_params/
+
+Initial comments by me still valid:
+
+Mostly adapted from how ARM is doing it.
+
+Sent as an RFC PATCH because I am not sure if this is the right way to
+it, and whether storing the pointer in initial_boot_params is a good
+idea, or a new variable should be introduced.
+
+The reasoning for initial_boot_params is that there is no common
+MIPS interface yet, so the next best thing was using that. This also
+has the advantage of keeping the original fw_args intact.
+
+This patch works for me on bcm63xx, where the bootloader expects
+an lzma compressed kernel, so I didn't want to double compress using
+the in-kernel compressed kernel support.
+
+Completely untested on anything except MIPS32 / big endian.
+
+ arch/mips/Kconfig              | 18 ++++++++++++++++++
+ arch/mips/kernel/head.S        | 19 +++++++++++++++++++
+ arch/mips/kernel/vmlinux.lds.S |  7 +++++++
+ 3 files changed, 43 insertions(+)
+
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -2519,6 +2519,24 @@ config RAPIDIO
+ source "drivers/rapidio/Kconfig"
++config MIPS_APPENDED_DTB
++      bool "Use appended device tree blob to vmlinux.bin (EXPERIMENTAL)"
++      depends on OF
++      help
++        With this option, the boot code will look for a device tree binary
++        DTB) appended to raw vmlinux.bin (without decompressor).
++        (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb).
++
++        This is meant as a backward compatibility convenience for those
++        systems with a bootloader that can't be upgraded to accommodate
++        the documented boot protocol using a device tree.
++
++        Beware that there is very little in terms of protection against
++        this option being confused by leftover garbage in memory that might
++        look like a DTB header after a reboot if no actual DTB is appended
++        to vmlinux.bin.  Do not leave this option active in a production kernel
++        if you don't intend to always append a DTB.
++
+ endmenu
+ menu "Executable file formats"
+--- a/arch/mips/kernel/head.S
++++ b/arch/mips/kernel/head.S
+@@ -139,6 +139,22 @@ NESTED(kernel_entry, 16, sp)                      # kernel
+       mtc0    t0, CP0_STATUS
+ #endif /* CONFIG_MIPS_MT_SMTC */
++#ifdef CONFIG_MIPS_APPENDED_DTB
++      PTR_LA          t0, __appended_dtb
++      PTR_LI          t3, 0
++
++#ifdef CONFIG_CPU_BIG_ENDIAN
++      PTR_LI          t1, 0xd00dfeed
++#else
++      PTR_LI          t1, 0xedfe0dd0
++#endif
++      LONG_L          t2, (t0)
++      bne             t1, t2, not_found
++
++      PTR_LA          t3, __appended_dtb
++
++not_found:
++#endif
+       PTR_LA          t0, __bss_start         # clear .bss
+       LONG_S          zero, (t0)
+       PTR_LA          t1, __bss_stop - LONGSIZE
+@@ -152,6 +168,10 @@ NESTED(kernel_entry, 16, sp)                      # kernel
+       LONG_S          a2, fw_arg2
+       LONG_S          a3, fw_arg3
++#ifdef CONFIG_MIPS_APPENDED_DTB
++      LONG_S          t3, initial_boot_params
++#endif
++
+       MTC0            zero, CP0_CONTEXT       # clear context register
+       PTR_LA          $28, init_thread_union
+       /* Set the SP after an empty pt_regs.  */
+--- a/arch/mips/kernel/vmlinux.lds.S
++++ b/arch/mips/kernel/vmlinux.lds.S
+@@ -125,8 +125,14 @@ SECTIONS
+       .exit.data : {
+               EXIT_DATA
+       }
+-
++#ifdef CONFIG_SMP
+       PERCPU_SECTION(1 << CONFIG_MIPS_L1_CACHE_SHIFT)
++#endif
++#ifdef CONFIG_MIPS_APPENDED_DTB
++      __appended_dtb = .;
++      /* leave space for appended DTB */
++      . = . + 0x100000;
++#endif
+       /*
+        * Align to 64K in attempt to eliminate holes before the
+        * .bss..swapper_pg_dir section at the start of .bss.  This
diff --git a/target/linux/brcm63xx/patches-3.14/367-MIPS-BCM63XX-add-support-for-loading-DTB.patch b/target/linux/brcm63xx/patches-3.14/367-MIPS-BCM63XX-add-support-for-loading-DTB.patch
new file mode 100644 (file)
index 0000000..577df55
--- /dev/null
@@ -0,0 +1,96 @@
+From db896341299cbcb703821228574ba9b79b6a3565 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Tue, 24 Jun 2014 10:57:51 +0200
+Subject: [PATCH 45/48] MIPS: BCM63XX: add support for loading DTB
+
+---
+ arch/mips/bcm63xx/boards/Kconfig        |  4 ++++
+ arch/mips/bcm63xx/boards/board_common.c | 34 +++++++++++++++++++++++++++++++++
+ 2 files changed, 38 insertions(+)
+
+--- a/arch/mips/bcm63xx/boards/Kconfig
++++ b/arch/mips/bcm63xx/boards/Kconfig
+@@ -1,6 +1,10 @@
+ menu "Board support"
+       depends on BCM63XX
++config BOARD_BCM63XX_DT
++      bool "Device Tree boards (experimential)"
++      select USE_OF
++
+ config BOARD_BCM963XX
+        bool "Generic Broadcom 963xx boards"
+       select SSB
+--- a/arch/mips/bcm63xx/boards/board_common.c
++++ b/arch/mips/bcm63xx/boards/board_common.c
+@@ -10,6 +10,8 @@
+ #include <linux/init.h>
+ #include <linux/kernel.h>
+ #include <linux/string.h>
++#include <linux/of_fdt.h>
++#include <linux/of_platform.h>
+ #include <linux/platform_device.h>
+ #include <linux/ssb/ssb.h>
+ #include <linux/gpio_keys.h>
+@@ -17,6 +19,7 @@
+ #include <asm/addrspace.h>
+ #include <asm/bootinfo.h>
+ #include <asm/fw/cfe/cfe_api.h>
++#include <asm/prom.h>
+ #include <bcm63xx_board.h>
+ #include <bcm63xx_cpu.h>
+ #include <bcm63xx_dev_uart.h>
+@@ -129,8 +132,23 @@ void __init board_setup(void)
+       /* make sure we're running on expected cpu */
+       if (bcm63xx_get_cpu_id() != board.expected_cpu_id)
+               panic("unexpected CPU for bcm963xx board");
++
++#if CONFIG_OF
++      if (initial_boot_params)
++              __dt_setup_arch(initial_boot_params);
++#endif
+ }
++#if CONFIG_OF
++void __init device_tree_init(void)
++{
++      if (!initial_boot_params)
++              return;
++
++      unflatten_and_copy_device_tree();
++}
++#endif
++
+ static struct gpio_led_platform_data bcm63xx_led_data;
+ static struct platform_device bcm63xx_gpio_leds = {
+@@ -149,6 +167,13 @@ static struct platform_device bcm63xx_gp
+       .dev.platform_data = &bcm63xx_gpio_keys_data,
+ };
++#if CONFIG_OF
++static struct of_device_id of_ids[] = {
++      { /* filled at runtime */ },
++      { .compatible = "simple-bus" },
++      { },
++};
++#endif
+ /*
+  * third stage init callback, register all board devices.
+  */
+@@ -158,6 +183,15 @@ int __init board_register_devices(void)
+       int led_count = 0;
+       int usbh_ports = 0;
++#if CONFIG_OF
++      if (of_have_populated_dt()) {
++              snprintf(of_ids[0].compatible, sizeof(of_ids[0].compatible),
++                       "brcm,bcm%x", bcm63xx_get_cpu_id());
++
++              of_platform_populate(NULL, of_ids, NULL, NULL);
++      }
++#endif
++
+       if (board.has_uart0)
+               bcm63xx_uart_register(0);
diff --git a/target/linux/brcm63xx/patches-3.14/368-MIPS-BCM63XX-expand-board_info-with-an-of-compatible.patch b/target/linux/brcm63xx/patches-3.14/368-MIPS-BCM63XX-expand-board_info-with-an-of-compatible.patch
new file mode 100644 (file)
index 0000000..c89873d
--- /dev/null
@@ -0,0 +1,24 @@
+From e8c11c43a9eb8171d150850c498bc75205681ab8 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Thu, 26 Jun 2014 12:49:33 +0200
+Subject: [PATCH 46/48] MIPS: BCM63XX: expand board_info with an of compatible
+ string
+
+It will be used for matching board_info structs to a passed dtb until
+bcm63xx is fully converted.
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+@@ -21,6 +21,7 @@
+  */
+ struct board_info {
+       u8              name[16];
++      u8              of_board_id[32];
+       unsigned int    expected_cpu_id;
+       /* enabled feature/device */
diff --git a/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch b/target/linux/brcm63xx/patches-3.14/369-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch
new file mode 100644 (file)
index 0000000..f9cbd52
--- /dev/null
@@ -0,0 +1,61 @@
+From b9bc4eb19007fd35b57a10c4dfd442dd518ee345 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Thu, 26 Jun 2014 12:51:00 +0200
+Subject: [PATCH 47/48] MIPS: BCM63XX: add support for matching the board_info
+ by dtb
+
+Allow using the passed dtb's compatible property to match board_info
+structs instead of nvram's boardname field, which is not unique anyway.
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c |  4 ++--
+ arch/mips/bcm63xx/boards/board_common.c   | 13 +++++++++++++
+ arch/mips/bcm63xx/boards/board_common.h   |  3 +++
+ 3 files changed, 18 insertions(+), 2 deletions(-)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -817,9 +817,9 @@ void __init board_bcm963xx_init(void)
+               }
+               board_name = bcm63xx_nvram_get_name();
+       }
+-      /* find board by name */
++      /* find board by name/compat */
+       for (i = 0; i < ARRAY_SIZE(bcm963xx_boards); i++) {
+-              if (strncmp(board_name, bcm963xx_boards[i]->name, 16))
++              if (!board_is_compatible(bcm963xx_boards[i], board_name))
+                       continue;
+               /* copy, board desc array is marked initdata */
+               board_early_setup(bcm963xx_boards[i],
+--- a/arch/mips/bcm63xx/boards/board_common.c
++++ b/arch/mips/bcm63xx/boards/board_common.c
+@@ -281,3 +281,16 @@ int __init board_register_devices(void)
+       return 0;
+ }
++
++int __init board_is_compatible(const struct board_info *board,
++                             const char *board_name)
++{
++#ifdef CONFIG_OF
++      if (initial_boot_params) {
++              unsigned long dt_root = of_get_flat_dt_root();
++
++              return of_flat_dt_is_compatible(dt_root, board->of_board_id);
++      }
++#endif
++      return !strncmp(board_name, board->name, 16);
++}
+--- a/arch/mips/bcm63xx/boards/board_common.h
++++ b/arch/mips/bcm63xx/boards/board_common.h
+@@ -6,6 +6,9 @@
+ void board_early_setup(const struct board_info *board,
+                      int (*get_mac_address)(u8 mac[ETH_ALEN]));
++int board_is_compatible(const struct board_info *board,
++                      const char *board_name);
++
+ #if defined(CONFIG_BOARD_BCM963XX)
+ void board_bcm963xx_init(void);
+ #else
diff --git a/target/linux/brcm63xx/patches-3.14/370-bcm63xx-add-of_board_ids-for-all-supported-boards.patch b/target/linux/brcm63xx/patches-3.14/370-bcm63xx-add-of_board_ids-for-all-supported-boards.patch
new file mode 100644 (file)
index 0000000..fd1b77f
--- /dev/null
@@ -0,0 +1,147 @@
+From 020faee6d3cef9b3cdda257a255c4007a4b38720 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Tue, 8 Jul 2014 16:17:32 +0200
+Subject: [PATCH 48/48] MIPS: BCM63XX: add of_board_ids for all supported boards
+
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -41,6 +41,7 @@
+ #ifdef CONFIG_BCM63XX_CPU_3368
+ static struct board_info __initdata board_cvg834g = {
+       .name                           = "CVG834G_E15R3921",
++      .of_board_id                    = "netgear,cvg834g",
+       .expected_cpu_id                = 0x3368,
+       .has_uart0                      = 1,
+@@ -73,6 +74,7 @@ static struct board_info __initdata boar
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ static struct board_info __initdata board_96328avng = {
+       .name                           = "96328avng",
++      .of_board_id                    = "brcm,bcm96328avng",
+       .expected_cpu_id                = 0x6328,
+       .has_uart0                      = 1,
+@@ -122,6 +124,7 @@ static struct board_info __initdata boar
+ #ifdef CONFIG_BCM63XX_CPU_6338
+ static struct board_info __initdata board_96338gw = {
+       .name                           = "96338GW",
++      .of_board_id                    = "brcm,bcm96338gw",
+       .expected_cpu_id                = 0x6338,
+       .has_uart0                      = 1,
+@@ -165,6 +168,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_96338w = {
+       .name                           = "96338W",
++      .of_board_id                    = "brcm,96338w",
+       .expected_cpu_id                = 0x6338,
+       .has_uart0                      = 1,
+@@ -211,6 +215,7 @@ static struct board_info __initdata boar
+ #ifdef CONFIG_BCM63XX_CPU_6345
+ static struct board_info __initdata board_96345gw2 = {
+       .name                           = "96345GW2",
++      .of_board_id                    = "brcm,bcm96345gw2",
+       .expected_cpu_id                = 0x6345,
+       .has_uart0                      = 1,
+@@ -223,6 +228,7 @@ static struct board_info __initdata boar
+ #ifdef CONFIG_BCM63XX_CPU_6348
+ static struct board_info __initdata board_96348r = {
+       .name                           = "96348R",
++      .of_board_id                    = "brcm,bcm96348r",
+       .expected_cpu_id                = 0x6348,
+       .has_uart0                      = 1,
+@@ -268,6 +274,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_96348gw_10 = {
+       .name                           = "96348GW-10",
++      .of_board_id                    = "brcm,bcm96348gw-10",
+       .expected_cpu_id                = 0x6348,
+       .has_uart0                      = 1,
+@@ -329,6 +336,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_96348gw_11 = {
+       .name                           = "96348GW-11",
++      .of_board_id                    = "brcm,bcm96348gw-11",
+       .expected_cpu_id                = 0x6348,
+       .has_uart0                      = 1,
+@@ -394,6 +402,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_96348gw = {
+       .name                           = "96348GW",
++      .of_board_id                    = "brcm,bcm96348gw",
+       .expected_cpu_id                = 0x6348,
+       .has_uart0                      = 1,
+@@ -463,6 +472,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_FAST2404 = {
+       .name                           = "F@ST2404",
++      .of_board_id                    = "sagem,f@st2404",
+       .expected_cpu_id                = 0x6348,
+       .has_uart0                      = 1,
+@@ -488,6 +498,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_rta1025w_16 = {
+       .name                           = "RTA1025W_16",
++      .of_board_id                    = "dynalink,rta1025w",
+       .expected_cpu_id                = 0x6348,
+       .has_enet0                      = 1,
+@@ -508,6 +519,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_DV201AMR = {
+       .name                           = "DV201AMR",
++      .of_board_id                    = "davolink,dv-201amr",
+       .expected_cpu_id                = 0x6348,
+       .has_uart0                      = 1,
+@@ -529,6 +541,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_96348gw_a = {
+       .name                           = "96348GW-A",
++      .of_board_id                    = "brcm,bcm96348gw-a",
+       .expected_cpu_id                = 0x6348,
+       .has_uart0                      = 1,
+@@ -556,6 +569,7 @@ static struct board_info __initdata boar
+ #ifdef CONFIG_BCM63XX_CPU_6358
+ static struct board_info __initdata board_96358vw = {
+       .name                           = "96358VW",
++      .of_board_id                    = "brcm,bcm96358vw",
+       .expected_cpu_id                = 0x6358,
+       .has_uart0                      = 1,
+@@ -609,6 +623,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_96358vw2 = {
+       .name                           = "96358VW2",
++      .of_board_id                    = "brcm,bcm96358vw2",
+       .expected_cpu_id                = 0x6358,
+       .has_uart0                      = 1,
+@@ -659,6 +674,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_AGPFS0 = {
+       .name                           = "AGPF-S0",
++      .of_board_id                    = "pirelli,agpf-s0",
+       .expected_cpu_id                = 0x6358,
+       .has_uart0                      = 1,
+@@ -682,6 +698,7 @@ static struct board_info __initdata boar
+ static struct board_info __initdata board_DWVS0 = {
+       .name                           = "DWV-S0",
++      .of_board_id                    = "pirelli,a226g",
+       .expected_cpu_id                = 0x6358,
+       .has_enet0                      = 1,
index 9f6d04b75d04a1c40c44c64f6e4f739a9d1bce05..f3484b692e8e0bce8be55bee06d5af9b0b3c50e7 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -101,6 +101,8 @@ void __init board_early_setup(const stru
+@@ -104,6 +104,8 @@ void __init board_early_setup(const stru
                if (BCMCPU_IS_6348())
                        val |= GPIO_MODE_6348_G3_EXT_MII |
                                GPIO_MODE_6348_G0_EXT_MII;
index b4ccc267a778f9a0be15e3efefe4f8c9fccea48b..3ef4585590f6df459dbda1f88f591285210e04c1 100644 (file)
@@ -10,7 +10,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
 
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -33,6 +33,7 @@
+@@ -36,6 +36,7 @@
  #include <bcm63xx_dev_usb_ohci.h>
  #include <bcm63xx_dev_usb_usbd.h>
  #include <board_bcm963xx.h>
@@ -18,15 +18,15 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
  
  #include "board_common.h"
  
-@@ -159,6 +160,7 @@ int __init board_register_devices(void)
+@@ -184,6 +185,7 @@ int __init board_register_devices(void)
        int button_count = 0;
        int led_count = 0;
        int usbh_ports = 0;
 +      int i;
  
-       if (board.has_uart0)
-               bcm63xx_uart_register(0);
-@@ -247,5 +249,9 @@ int __init board_register_devices(void)
+ #if CONFIG_OF
+       if (of_have_populated_dt()) {
+@@ -281,6 +283,10 @@ int __init board_register_devices(void)
                platform_device_register(&bcm63xx_gpio_keys_device);
        }
  
@@ -36,6 +36,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
 +
        return 0;
  }
 --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
 +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
 @@ -9,6 +9,7 @@
@@ -58,7 +59,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
  /*
   * board definition
   */
-@@ -36,6 +42,10 @@ struct board_info {
+@@ -37,6 +43,10 @@ struct board_info {
        unsigned int    has_uart0:1;
        unsigned int    has_uart1:1;
        unsigned int    use_fallback_sprom:1;
index 78a2cf58443d6bd7fef3061fde395ea826fd50fd..38f934d8c9995f52451c0d16a64e6d5b29bc6679 100644 (file)
@@ -11,7 +11,7 @@ Subject: [PATCH 69/80] MIPS: BCM63XX: pass caldata info to flash
 
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -221,7 +221,7 @@ int __init board_register_devices(void)
+@@ -255,7 +255,7 @@ int __init board_register_devices(void)
        if (board.num_spis)
                spi_register_board_info(board.spis, board.num_spis);
  
index 75694a0185a6fc0dfe3bfe164f75e9c1c88235ef..7d0c475101c6bb8f7c64aabb5d9167ec30a379c7 100644 (file)
@@ -39,7 +39,7 @@
                return;
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -251,7 +251,8 @@ int __init board_register_devices(void)
+@@ -285,7 +285,8 @@ int __init board_register_devices(void)
  
        /* register any fixups */
        for (i = 0; i < board.has_caldata; i++)
index db0bed22a7dadd772d5b3082a9f89c002e27de02..1a0fe4a377630b4e72707a6f54ffe36267b437f4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -252,7 +252,7 @@ int __init board_register_devices(void)
+@@ -286,7 +286,7 @@ int __init board_register_devices(void)
        /* register any fixups */
        for (i = 0; i < board.has_caldata; i++)
                pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
index 7a3d8cfed2b5e85cd57abdb2196f90ce9d197adb..9dc520a230a0abe8d8e54fefb00ab97c8b6b6cbe 100644 (file)
@@ -28,7 +28,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
  obj-y         += boards/
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -34,6 +34,7 @@
+@@ -37,6 +37,7 @@
  #include <bcm63xx_dev_usb_usbd.h>
  #include <board_bcm963xx.h>
  #include <pci_ath9k_fixup.h>
@@ -36,7 +36,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
  
  #include "board_common.h"
  
-@@ -250,9 +251,19 @@ int __init board_register_devices(void)
+@@ -284,9 +285,19 @@ int __init board_register_devices(void)
        }
  
        /* register any fixups */
@@ -183,7 +183,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
  };
  
  /*
-@@ -47,7 +52,7 @@ struct board_info {
+@@ -48,7 +53,7 @@ struct board_info {
        unsigned int    has_caldata:2;
  
        /* wifi calibration data config */
index ed13fc8595e4cc0ce8b3fef77903c1d3b9377758..3db2168614f07062d55067c3bfc70744c4063f21 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -65,7 +65,7 @@ static struct board_info __initdata boar
+@@ -66,7 +66,7 @@ static struct board_info __initdata boar
        .ephy_reset_gpio                = 36,
        .ephy_reset_gpio_flags          = GPIOF_INIT_HIGH,
  };
@@ -9,7 +9,7 @@
  
  /*
   * known 6328 boards
-@@ -114,7 +114,7 @@ static struct board_info __initdata boar
+@@ -116,7 +116,7 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -18,7 +18,7 @@
  
  /*
   * known 6338 boards
-@@ -203,7 +203,7 @@ static struct board_info __initdata boar
+@@ -207,7 +207,7 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -27,7 +27,7 @@
  
  /*
   * known 6345 boards
-@@ -215,7 +215,7 @@ static struct board_info __initdata boar
+@@ -220,7 +220,7 @@ static struct board_info __initdata boar
  
        .has_uart0                      = 1,
  };
@@ -36,7 +36,7 @@
  
  /*
   * known 6348 boards
-@@ -548,7 +548,7 @@ static struct board_info __initdata boar
+@@ -561,7 +561,7 @@ static struct board_info __initdata boar
  
        .has_ohci0 = 1,
  };
@@ -45,7 +45,7 @@
  
  /*
   * known 6358 boards
-@@ -701,7 +701,7 @@ static struct board_info __initdata boar
+@@ -718,7 +718,7 @@ static struct board_info __initdata boar
  
        .has_ohci0                      = 1,
  };
index af1b59370471c159d03688874690b050cb236174..4baa68c02bd544b9dc0658612d62491fe3c761fe 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -548,6 +548,56 @@ static struct board_info __initdata boar
+@@ -561,6 +561,56 @@ static struct board_info __initdata boar
  
        .has_ohci0 = 1,
  };
@@ -57,7 +57,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6348 */
  
  /*
-@@ -729,6 +779,7 @@ static const struct board_info __initcon
+@@ -746,6 +796,7 @@ static const struct board_info __initcon
        &board_DV201AMR,
        &board_96348gw_a,
        &board_rta1025w_16,
index 50da306d9960dac45a43c8e233f35f1323f49412..d2a337be556aa3f9fc479fa6deb2242a6ace0db2 100644 (file)
@@ -26,7 +26,7 @@
  /*
   * known 3368 boards
   */
-@@ -751,6 +763,605 @@ static struct board_info __initdata boar
+@@ -768,6 +780,605 @@ static struct board_info __initdata boar
  
        .has_ohci0                      = 1,
  };
  #endif /* CONFIG_BCM63XX_CPU_6358 */
  
  /*
-@@ -787,6 +1398,11 @@ static const struct board_info __initcon
+@@ -804,6 +1415,11 @@ static const struct board_info __initcon
        &board_96358vw2,
        &board_AGPFS0,
        &board_DWVS0,
  #endif
  };
  
-@@ -795,6 +1411,16 @@ static void __init boardid_fixup(u8 *boo
+@@ -812,6 +1428,16 @@ static void __init boardid_fixup(u8 *boo
        struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
        char *board_name = (char *)bcm63xx_nvram_get_name();
  
index 0aca645228526203ecd354b604f617493555da5a..834c649001998576e9ac86865c9603a86eea126c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -215,6 +215,40 @@ static struct board_info __initdata boar
+@@ -219,6 +219,40 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -41,7 +41,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6338 */
  
  /*
-@@ -1377,6 +1411,7 @@ static const struct board_info __initcon
+@@ -1394,6 +1428,7 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_6338
        &board_96338gw,
        &board_96338w,
index 6a2977a713120e6b68b3f94e16b121ad9bb53be0..79f603c89ad2e1b112d8f5eb01c8b585a65c6ed5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -753,6 +753,98 @@ static struct board_info __initdata boar
+@@ -768,6 +768,98 @@ static struct board_info __initdata boar
        },
  };
  
@@ -98,8 +98,8 @@
 +
  static struct board_info __initdata board_AGPFS0 = {
        .name                           = "AGPF-S0",
-       .expected_cpu_id                = 0x6358,
-@@ -1432,6 +1524,7 @@ static const struct board_info __initcon
+       .of_board_id                    = "pirelli,agpf-s0",
+@@ -1449,6 +1541,7 @@ static const struct board_info __initcon
        &board_96358vw,
        &board_96358vw2,
        &board_AGPFS0,
index 62a20bbea90dd992bff55d90307de499989fc5f0..c9cb33a01c6739bade8ef3b0d7a0e09bd5a00015 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -890,6 +890,61 @@ static struct board_info __initdata boar
+@@ -907,6 +907,61 @@ static struct board_info __initdata boar
        .has_ohci0                      = 1,
  };
  
@@ -62,7 +62,7 @@
  struct spi_gpio_platform_data nb4_spi_gpio_data = {
        .sck            = NB4_SPI_GPIO_CLK,
        .mosi           = NB4_SPI_GPIO_MOSI,
-@@ -1526,6 +1581,7 @@ static const struct board_info __initcon
+@@ -1543,6 +1598,7 @@ static const struct board_info __initcon
        &board_AGPFS0,
        &board_CPVA642,
        &board_DWVS0,
index 4a4e9c7b7a99f0f2d20dc5fc648c335d73b90fc4..a7e4e5cd1d1497341a7d9dcbb80dc27999943b3f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -644,6 +644,67 @@ static struct board_info __initdata boar
+@@ -657,6 +657,67 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -68,7 +68,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6348 */
  
  /*
-@@ -1573,6 +1634,7 @@ static const struct board_info __initcon
+@@ -1590,6 +1651,7 @@ static const struct board_info __initcon
        &board_96348gw_a,
        &board_rta1025w_16,
        &board_96348_D4PW,
index a55519792b108403fc2eb41a5eb2db4ce986d09a..d69b6f86030c2ae633eb7d09286c6cb5dd455869 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -507,6 +507,112 @@ static struct board_info __initdata boar
+@@ -516,6 +516,112 @@ static struct board_info __initdata boar
        },
  };
  
 +
  static struct board_info __initdata board_FAST2404 = {
        .name                           = "F@ST2404",
-       .expected_cpu_id                = 0x6348,
-@@ -1627,6 +1733,8 @@ static const struct board_info __initcon
+       .of_board_id                    = "sagem,f@st2404",
+@@ -1644,6 +1750,8 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_6348
        &board_96348r,
        &board_96348gw,
index 772d78b3a4260904dcfe383cb7926cb4d86a90c7..5defc012aa91adf699da6663536b57b6a775294d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -811,6 +811,78 @@ static struct board_info __initdata boar
+@@ -824,6 +824,78 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -79,7 +79,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6348 */
  
  /*
-@@ -1743,6 +1815,7 @@ static const struct board_info __initcon
+@@ -1760,6 +1832,7 @@ static const struct board_info __initcon
        &board_rta1025w_16,
        &board_96348_D4PW,
        &board_spw500v,
index f3a1307cc6b5355f9eae0160e4da5723b67d7483..36e9ae9d996f2e73c6332490a0090bc540a85073 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1782,6 +1782,83 @@ static struct board_info __initdata boar
+@@ -1799,6 +1799,83 @@ static struct board_info __initdata boar
        .spis = nb4_spi_devices,
        .num_spis = ARRAY_SIZE(nb4_spi_devices),
  };
@@ -84,7 +84,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6358 */
  
  /*
-@@ -1830,6 +1907,7 @@ static const struct board_info __initcon
+@@ -1847,6 +1924,7 @@ static const struct board_info __initcon
        &board_nb4_ser_r2,
        &board_nb4_fxc_r1,
        &board_nb4_fxc_r2,
index 9ecc36f8b1534f7da29a5bb0dce171805ab735d5..71d546f9226ce8e3012feba0b4ed49d52ffabf5e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -249,6 +249,45 @@ static struct board_info __initdata boar
+@@ -253,6 +253,45 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -46,7 +46,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6338 */
  
  /*
-@@ -1875,6 +1914,7 @@ static const struct board_info __initcon
+@@ -1892,6 +1931,7 @@ static const struct board_info __initcon
        &board_96338gw,
        &board_96338w,
        &board_96338w2_e7t,
index 3e2fad64e670de566decb48e898d06ff8b226e76..222222d7feffd9c836a9b6d9fd6ddca2cd61c5e2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1898,6 +1898,72 @@ static struct board_info __initdata boar
+@@ -1915,6 +1915,72 @@ static struct board_info __initdata boar
                .pci_dev                        = 1,
        },
  };
@@ -73,7 +73,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6358 */
  
  /*
-@@ -1948,6 +2014,7 @@ static const struct board_info __initcon
+@@ -1965,6 +2031,7 @@ static const struct board_info __initcon
        &board_nb4_fxc_r1,
        &board_nb4_fxc_r2,
        &board_HW553,
index bc4409f9f127a5e4370870adcbe942b3c4bcfcac..7990a54f1ee7d2421ee96cc5052a05b01c436d24 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -922,6 +922,65 @@ static struct board_info __initdata boar
+@@ -935,6 +935,65 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -66,7 +66,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6348 */
  
  /*
-@@ -1999,6 +2058,7 @@ static const struct board_info __initcon
+@@ -2016,6 +2075,7 @@ static const struct board_info __initcon
        &board_96348_D4PW,
        &board_spw500v,
        &board_96348sv,
@@ -74,7 +74,7 @@
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -2074,6 +2134,22 @@ void __init board_bcm963xx_init(void)
+@@ -2091,6 +2151,22 @@ void __init board_bcm963xx_init(void)
                val &= MPI_CSBASE_BASE_MASK;
        }
        boot_addr = (u8 *)KSEG1ADDR(val);
index d816dc3cd7e6e126381548df5b4a65dabc3ae6d2..d6594527d1e9dc3dee0a7446ce4733096ad3fa3b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -477,6 +477,64 @@ static struct board_info __initdata boar
+@@ -485,6 +485,64 @@ static struct board_info __initdata boar
        },
  };
  
@@ -64,8 +64,8 @@
 +
  static struct board_info __initdata board_96348gw = {
        .name                           = "96348GW",
-       .expected_cpu_id                = 0x6348,
-@@ -2059,6 +2117,7 @@ static const struct board_info __initcon
+       .of_board_id                    = "brcm,bcm96348gw",
+@@ -2076,6 +2134,7 @@ static const struct board_info __initcon
        &board_spw500v,
        &board_96348sv,
        &board_V2500V_BB,
index e1629a30c2a82b0d3ff1f5027c392ca256ae46e7..464ffdff2dbedea95aec783cfaff2be542bed081 100644 (file)
@@ -14,7 +14,7 @@ Subject: [PATCH 44/44] MIPS: BCM63XX: add inventel Livebox support
 
 --- a/arch/mips/bcm63xx/boards/Kconfig
 +++ b/arch/mips/bcm63xx/boards/Kconfig
-@@ -8,4 +8,10 @@ config BOARD_BCM963XX
+@@ -12,4 +12,10 @@ config BOARD_BCM963XX
        default y
         help
  
@@ -33,7 +33,7 @@ Subject: [PATCH 44/44] MIPS: BCM63XX: add inventel Livebox support
 +obj-$(CONFIG_BOARD_LIVEBOX)           += board_livebox.o
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -58,7 +58,7 @@ void __init board_prom_init(void)
+@@ -61,7 +61,7 @@ void __init board_prom_init(void)
        if (fw_arg3 == CFE_EPTSEAL)
                board_bcm963xx_init();
        else
@@ -44,7 +44,7 @@ Subject: [PATCH 44/44] MIPS: BCM63XX: add inventel Livebox support
  static int (*board_get_mac_address)(u8 mac[ETH_ALEN]);
 --- a/arch/mips/bcm63xx/boards/board_common.h
 +++ b/arch/mips/bcm63xx/boards/board_common.h
-@@ -12,4 +12,10 @@ void board_bcm963xx_init(void);
+@@ -15,4 +15,10 @@ void board_bcm963xx_init(void);
  static inline void board_bcm963xx_init(void) { }
  #endif
  
index 69859751470e619ccfc5a1c8559fcb5cd3e9d4d9..c9d6a57609a4ce116f051c67cf2226c92015a901 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -535,6 +535,58 @@ static struct board_info __initdata boar
+@@ -543,6 +543,58 @@ static struct board_info __initdata boar
  };
  
  
@@ -58,8 +58,8 @@
 +
  static struct board_info __initdata board_96348gw = {
        .name                           = "96348GW",
-       .expected_cpu_id                = 0x6348,
-@@ -2118,6 +2170,7 @@ static const struct board_info __initcon
+       .of_board_id                    = "brcm,bcm96348gw",
+@@ -2135,6 +2187,7 @@ static const struct board_info __initcon
        &board_96348sv,
        &board_V2500V_BB,
        &board_V2110,
index 0d7acdb4d010283fc7f24a4db5a71ac2ee056d3c..5dd96ad84b4d44c604b2044bd1da18fded97a5a8 100644 (file)
@@ -1,7 +1,7 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1319,6 +1319,8 @@ static struct board_info __initdata boar
-       .name                           = "DWV-S0",
+@@ -1336,6 +1336,8 @@ static struct board_info __initdata boar
+       .of_board_id                    = "pirelli,a226g",
        .expected_cpu_id                = 0x6358,
  
 +      .has_uart0                      = 1,
@@ -9,7 +9,7 @@
        .has_enet0                      = 1,
        .has_enet1                      = 1,
        .has_pci                        = 1,
-@@ -1335,6 +1337,7 @@ static struct board_info __initdata boar
+@@ -1352,6 +1354,7 @@ static struct board_info __initdata boar
        },
  
        .has_ohci0                      = 1,
index 0a19ec610a8a3f494c893652caf2b35f332f6cc2..7f9dd4741e46b9d9d12af19029f39c43cd1772f6 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -587,6 +587,76 @@ static struct board_info __initdata boar
+@@ -595,6 +595,76 @@ static struct board_info __initdata boar
        },
  };
  
@@ -76,8 +76,8 @@
 +
  static struct board_info __initdata board_96348gw = {
        .name                           = "96348GW",
-       .expected_cpu_id                = 0x6348,
-@@ -2174,6 +2244,7 @@ static const struct board_info __initcon
+       .of_board_id                    = "brcm,bcm96348gw",
+@@ -2191,6 +2261,7 @@ static const struct board_info __initcon
        &board_V2500V_BB,
        &board_V2110,
        &board_ct536_ct5621,
index adbf0ec670aa0e19d77ad108638fb34a003dee85..1a2dda7222f14c3de36212e70b1aa0c7edae8407 100644 (file)
@@ -1,7 +1,7 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -861,6 +861,7 @@ static struct board_info __initdata boar
-       .name                           = "RTA1025W_16",
+@@ -872,6 +872,7 @@ static struct board_info __initdata boar
+       .of_board_id                    = "dynalink,rta1025w",
        .expected_cpu_id                = 0x6348,
  
 +      .has_uart0                      = 1,
index 762e53c5c4bc0e8a7f658d9e353ddf49690adda8..4fc167b2652da7528e9baf0a452649d94a574531 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -534,6 +534,40 @@ static struct board_info __initdata boar
+@@ -542,6 +542,40 @@ static struct board_info __initdata boar
        },
  };
  
@@ -41,7 +41,7 @@
  
  static struct board_info __initdata board_ct536_ct5621 = {
        .name                           = "CT536_CT5621",
-@@ -2246,6 +2280,7 @@ static const struct board_info __initcon
+@@ -2263,6 +2297,7 @@ static const struct board_info __initcon
        &board_V2110,
        &board_ct536_ct5621,
        &board_96348A_122,
index 83a476967a3849a50aa6ef31235c238e823f568e..5918b85d830fc6be5386eeb1a469f691462caa0d 100644 (file)
@@ -10,7 +10,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
 
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2244,6 +2244,85 @@ static struct board_info __initdata boar
+@@ -2261,6 +2261,85 @@ static struct board_info __initdata boar
  #endif /* CONFIG_BCM63XX_CPU_6358 */
  
  /*
@@ -96,7 +96,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
   * all boards
   */
  static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -2298,6 +2377,10 @@ static const struct board_info __initcon
+@@ -2315,6 +2394,10 @@ static const struct board_info __initcon
        &board_HW553,
        &board_spw303v,
  #endif
@@ -109,7 +109,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
  static void __init boardid_fixup(u8 *boot_addr)
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -85,12 +85,25 @@ void __init board_early_setup(const stru
+@@ -88,12 +88,25 @@ void __init board_early_setup(const stru
                bcm63xx_pci_enabled = 1;
                if (BCMCPU_IS_6348())
                        val |= GPIO_MODE_6348_G2_PCI;
index fc381421609494e9eca5f27bb32e21e1a1fe6e39..457b8ddbc1249f1e0aa58c01d5c0c552ff0a15fc 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
 
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2320,6 +2320,72 @@ static struct board_info __initdata boar
+@@ -2337,6 +2337,72 @@ static struct board_info __initdata boar
        .has_ohci0 = 1,
        .has_ehci0 = 1,
  };
@@ -82,7 +82,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
  #endif /* CONFIG_BCM63XX_CPU_6368 */
  
  /*
-@@ -2380,6 +2446,7 @@ static const struct board_info __initcon
+@@ -2397,6 +2463,7 @@ static const struct board_info __initcon
  
  #ifdef CONFIG_BCM63XX_CPU_6368
        &board_96368mvwg,
index 63f7bd2578ee6b3034462004f002d0055292418f..6073e881f0b24f255d7be44e5881f5e9c132f078 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
 
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -97,13 +97,45 @@ static struct board_info __initdata boar
+@@ -99,13 +99,45 @@ static struct board_info __initdata boar
                .port_no                = 0,
        },
  
@@ -56,7 +56,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
                        .name           = "96328avng::power",
                        .gpio           = 4,
                        .active_low     = 1,
-@@ -120,7 +152,7 @@ static struct board_info __initdata boar
+@@ -122,7 +154,7 @@ static struct board_info __initdata boar
                        .active_low     = 1,
                },
                {
index 0b6a868321aae8b5d1d7f284bc6da6f3a0dcceb4..d5d088a08c5fb8cc6a7fcaf5fec5fa9f1ea83538 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
 
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -158,6 +158,76 @@ static struct board_info __initdata boar
+@@ -160,6 +160,76 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -86,7 +86,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
  #endif /* CONFIG_BCM63XX_CPU_6328 */
  
  /*
-@@ -2429,6 +2499,7 @@ static const struct board_info __initcon
+@@ -2446,6 +2516,7 @@ static const struct board_info __initcon
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
index d0d7bc4c02dbd98c602b5fa37a8bbdf33bb8ddbf..6966e3b2c098dc2b76dbd86559341be18e0679c4 100644 (file)
@@ -10,7 +10,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
 
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -228,6 +228,111 @@ static struct board_info __initdata boar
+@@ -230,6 +230,111 @@ static struct board_info __initdata boar
  
        },
  };
@@ -122,7 +122,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
  #endif /* CONFIG_BCM63XX_CPU_6328 */
  
  /*
-@@ -2500,6 +2605,7 @@ static const struct board_info __initcon
+@@ -2517,6 +2622,7 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
        &board_963281TAN,
index 12941634c54c1314e8ac37a48aa7d0e3097da405..b9d03887e022f8b3141ee359311c5dba1341524e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1162,6 +1162,59 @@ static struct board_info __initdata boar
+@@ -1175,6 +1175,59 @@ static struct board_info __initdata boar
        .has_ohci0 = 1,
  };
  
@@ -60,7 +60,7 @@
  static struct board_info __initdata board_96348_D4PW = {
        .name                           = "D-4P-W",
        .expected_cpu_id                = 0x6348,
-@@ -2635,6 +2688,7 @@ static const struct board_info __initcon
+@@ -2652,6 +2705,7 @@ static const struct board_info __initcon
        &board_ct536_ct5621,
        &board_96348A_122,
        &board_CPVA502plus,
index 713b72f78ba1dae70f4836c5eda07f281d7af461..a8a4841be104a234f72bbdafeab8101ed1713b4c 100644 (file)
@@ -13,7 +13,7 @@
  /*
   * known 3368 boards
   */
-@@ -2359,6 +2365,124 @@ static struct board_info __initdata boar
+@@ -2376,6 +2382,124 @@ static struct board_info __initdata boar
        .num_spis = ARRAY_SIZE(nb4_spi_devices),
  };
  
  static struct board_info __initdata board_HW553 = {
        .name                           = "HW553",
        .expected_cpu_id                = 0x6358,
-@@ -2703,6 +2827,7 @@ static const struct board_info __initcon
+@@ -2720,6 +2844,7 @@ static const struct board_info __initcon
        &board_nb4_ser_r2,
        &board_nb4_fxc_r1,
        &board_nb4_fxc_r2,
index 05c82264c7d71a85567e915012a8405494af1360..0868aaa8a593c85c01c7782aa429f63257d8c5c3 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2625,6 +2625,73 @@ static struct board_info __initdata boar
+@@ -2642,6 +2642,73 @@ static struct board_info __initdata boar
                },
        }
  };
@@ -74,7 +74,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6358 */
  
  /*
-@@ -2830,6 +2897,7 @@ static const struct board_info __initcon
+@@ -2847,6 +2914,7 @@ static const struct board_info __initcon
        &board_ct6373_1,
        &board_HW553,
        &board_spw303v,
index cf69773cb516d1892773fecbbc42e51d2243ddd1..5f2305e67aa2d71636e990b0d4312f2a6fb3dce1 100644 (file)
@@ -17,7 +17,7 @@
  
  #define CT6373_PID_OFFSET             0xff80
  #define CT6373_74X164_GPIO_BASE       64
-@@ -2694,6 +2697,104 @@ static struct board_info __initdata boar
+@@ -2711,6 +2714,104 @@ static struct board_info __initdata boar
  };
  #endif /* CONFIG_BCM63XX_CPU_6358 */
  
  /*
   * known 6368 boards
   */
-@@ -2900,6 +3001,10 @@ static const struct board_info __initcon
+@@ -2917,6 +3018,10 @@ static const struct board_info __initcon
        &board_DVAG3810BN,
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6368
        &board_96368mvwg,
        &board_96368mvngr,
-@@ -2921,6 +3026,11 @@ static void __init boardid_fixup(u8 *boo
+@@ -2938,6 +3043,11 @@ static void __init boardid_fixup(u8 *boo
                }
        }
  
index 3ae1ea25155c9e7cfda0e050db2da12a5078caf0..f41c0fea394006cfddc578974641fbaf3c786cdb 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1107,6 +1107,57 @@ static struct board_info __initdata boar
+@@ -1117,6 +1117,57 @@ static struct board_info __initdata boar
        .has_ehci0                      = 1,
  };
  
@@ -57,8 +57,8 @@
 +
  static struct board_info __initdata board_rta1025w_16 = {
        .name                           = "RTA1025W_16",
-       .expected_cpu_id                = 0x6348,
-@@ -2969,6 +3020,7 @@ static const struct board_info __initcon
+       .of_board_id                    = "dynalink,rta1025w",
+@@ -2986,6 +3037,7 @@ static const struct board_info __initcon
        &board_96348gw_10,
        &board_96348gw_11,
        &board_FAST2404,
index b8adaaa429b54288f2c269e99955c60ed1330ab7..8416e5c6abf528c0a9355b43de9d4850e3a238c8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -238,6 +238,133 @@ static struct board_info __initdata boar
+@@ -240,6 +240,133 @@ static struct board_info __initdata boar
        },
  };
  
  static struct board_info __initdata board_dsl_274xb_f1 = {
        .name                           = "AW4339U",
        .expected_cpu_id                = 0x6328,
-@@ -3001,6 +3128,7 @@ static const struct board_info __initcon
+@@ -3018,6 +3145,7 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
        &board_963281TAN,
index cc8cb76dfcf238bb6f8c3620d668b5248509ea1d..52312f378c27048974d0ab15f59c3f5f29ed617e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -168,6 +168,115 @@ static struct board_info __initdata boar
+@@ -170,6 +170,115 @@ static struct board_info __initdata boar
        },
  };
  
  static struct board_info __initdata board_963281TAN = {
        .name                           = "963281TAN",
        .expected_cpu_id                = 0x6328,
-@@ -3127,6 +3236,7 @@ static const struct board_info __initcon
+@@ -3144,6 +3253,7 @@ static const struct board_info __initcon
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
index d4e428b8366718b9ba4725ee878b580f474a7699..cffb509e8b6fc7207b7afa71418ae651d105034e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -168,6 +168,91 @@ static struct board_info __initdata boar
+@@ -170,6 +170,91 @@ static struct board_info __initdata boar
        },
  };
  
@@ -92,7 +92,7 @@
  static struct sprom_fixup __initdata ar5387un_fixups[] = {
        { .offset = 2, .value = 0x05bb },
        { .offset = 65, .value = 0x1204 },
-@@ -3236,6 +3321,7 @@ static const struct board_info __initcon
+@@ -3253,6 +3338,7 @@ static const struct board_info __initcon
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
index 3a3cc6073ae8552836b29b887cf09e180dccdb14..2a4240fb0ff9abaea6916862ffbdbebbd82dee02 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -837,6 +837,55 @@ static struct board_info __initdata boar
+@@ -842,6 +842,55 @@ static struct board_info __initdata boar
  
        .has_uart0                      = 1,
  };
@@ -56,7 +56,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6345 */
  
  /*
-@@ -3335,6 +3384,7 @@ static const struct board_info __initcon
+@@ -3352,6 +3401,7 @@ static const struct board_info __initcon
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6345
        &board_96345gw2,
index 3473bda4726d9164191bb2393c3cc4907dc84b1a..32b2ad6ad16dd2251004480eab0ecc89b38fc4f7 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/platform_device.h>
  #include <linux/spi/spi.h>
  #include <linux/spi/spi_gpio.h>
-@@ -2984,6 +2985,492 @@ static struct board_info __initdata boar
+@@ -3001,6 +3002,492 @@ static struct board_info __initdata boar
        },
  };
  
   /* T-Home Speedport W 303V Typ B */
  static struct board_info __initdata board_spw303v = {
        .name                   = "96358-502V",
-@@ -3423,6 +3910,10 @@ static const struct board_info __initcon
+@@ -3440,6 +3927,10 @@ static const struct board_info __initcon
        &board_nb4_fxc_r2,
        &board_ct6373_1,
        &board_HW553,
        &board_spw303v,
        &board_DVAG3810BN,
  #endif
-@@ -3442,13 +3933,37 @@ static void __init boardid_fixup(u8 *boo
+@@ -3459,13 +3950,37 @@ static void __init boardid_fixup(u8 *boo
        struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
        char *board_name = (char *)bcm63xx_nvram_get_name();
  
index 1e0cc4b492fbd478f22b6c62066904ca52b7387f..6a71d751e1dbfae10abe6c27039b5d320a80b5a4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -887,6 +887,60 @@ static struct board_info __initdata boar
+@@ -892,6 +892,60 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -61,7 +61,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6345 */
  
  /*
-@@ -3872,6 +3926,7 @@ static const struct board_info __initcon
+@@ -3889,6 +3943,7 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_6345
        &board_96345gw2,
        &board_rta770bw,
index fd3eaca8fbb1da89422f8836992b5fcfc756b493..d385a0a1f947dc3ad7a8de1706c174750f857357 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
 ---
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -664,6 +664,122 @@ static struct board_info __initdata boar
+@@ -666,6 +666,122 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -135,7 +135,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
  #endif /* CONFIG_BCM63XX_CPU_6328 */
  
  /*
-@@ -3916,6 +4032,7 @@ static const struct board_info __initcon
+@@ -3933,6 +4049,7 @@ static const struct board_info __initcon
        &board_963281TAN,
        &board_A4001N1,
        &board_dsl_274xb_f1,
index 05e7187ca442a2d85fcb5cfcb64723500cc6e0d0..16893433186f1aac9fea53a1b8a3dae2697ad013 100644 (file)
@@ -6,7 +6,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
 ---
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3871,6 +3871,96 @@ static struct board_info __initdata boar
+@@ -3888,6 +3888,96 @@ static struct board_info __initdata boar
        .devs = nb6_devices,
        .num_devs = ARRAY_SIZE(nb6_devices),
  };
@@ -103,7 +103,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org>
  #endif /* CONFIG_BCM63XX_CPU_6362 */
  
  /*
-@@ -4092,6 +4182,7 @@ static const struct board_info __initcon
+@@ -4109,6 +4199,7 @@ static const struct board_info __initcon
  
  #ifdef CONFIG_BCM63XX_CPU_6362
        &board_nb6,
index b5d18747ad285eb3458d4b07bd448888e150f906..4714ba4fff0c03c5158c0d634844657bbf150dd1 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2279,6 +2279,99 @@ static struct board_info __initdata boar
+@@ -2295,6 +2295,99 @@ static struct board_info __initdata boar
  
        .has_ohci0 = 1,
        .has_ehci0 = 1,
index 7761c62c1bf998e7d75e95b843dfb8d152740c80..43a841e1d14abb02ab2bd718dd8ea2f18edcfcdf 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1761,6 +1761,19 @@ static struct board_info __initdata boar
+@@ -1774,6 +1774,19 @@ static struct board_info __initdata boar
        },
  
        .has_ohci0 = 1,
index b934fd55714088688fb6fb9114247859b31cd2d0..25c99f8088f78b0ee3fc13d47fd20cf5b9295950 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1167,6 +1167,17 @@ static struct board_info __initdata boar
+@@ -1174,6 +1174,17 @@ static struct board_info __initdata boar
                        .active_low     = 1,
                },
        },
index edd73f560aaf9455f16a8b25bef141781dbb6645..3a92171166fb25f735aa6c470349d31b3c9be860 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -793,6 +793,8 @@ static struct board_info __initdata boar
+@@ -796,6 +796,8 @@ static struct board_info __initdata boar
        .has_uart0                      = 1,
        .has_enet0                      = 1,
        .enet0 = {
@@ -9,7 +9,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -836,6 +838,8 @@ static struct board_info __initdata boar
+@@ -840,6 +842,8 @@ static struct board_info __initdata boar
        .has_uart0                      = 1,
        .has_enet0                      = 1,
        .enet0 = {
@@ -18,7 +18,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1123,6 +1127,8 @@ static struct board_info __initdata boar
+@@ -1130,6 +1134,8 @@ static struct board_info __initdata boar
                .use_internal_phy       = 1,
        },
        .enet1 = {
@@ -27,7 +27,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1196,6 +1202,8 @@ static struct board_info __initdata boar
+@@ -1204,6 +1210,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
@@ -36,7 +36,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1474,6 +1482,8 @@ static struct board_info __initdata boar
+@@ -1483,6 +1491,8 @@ static struct board_info __initdata boar
                .use_internal_phy       = 1,
        },
        .enet1 = {
@@ -45,7 +45,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1650,6 +1660,8 @@ static struct board_info __initdata boar
+@@ -1660,6 +1670,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
@@ -54,7 +54,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1725,6 +1737,8 @@ static struct board_info __initdata boar
+@@ -1736,6 +1748,8 @@ static struct board_info __initdata boar
                .use_internal_phy       = 1,
        },
        .enet1 = {
@@ -63,7 +63,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1747,6 +1761,8 @@ static struct board_info __initdata boar
+@@ -1759,6 +1773,8 @@ static struct board_info __initdata boar
                .use_internal_phy       = 1,
        },
        .enet1 = {
@@ -72,7 +72,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -1767,6 +1783,8 @@ static struct board_info __initdata boar
+@@ -1780,6 +1796,8 @@ static struct board_info __initdata boar
                .use_internal_phy       = 1,
        },
        .enet1 = {
@@ -81,7 +81,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -2103,6 +2121,8 @@ static struct board_info __initdata boar
+@@ -2117,6 +2135,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
@@ -90,7 +90,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -2156,6 +2176,8 @@ static struct board_info __initdata boar
+@@ -2171,6 +2191,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
@@ -99,7 +99,7 @@
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -2297,6 +2319,8 @@ static struct board_info __initdata boar
+@@ -2313,6 +2335,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
-@@ -2415,6 +2439,8 @@ static struct board_info __initdata boar
+@@ -2432,6 +2456,8 @@ static struct board_info __initdata boar
        },
  
        .enet1 = {
index 444f2ffab317143745ef0f9ff433150a3b93729d..c8aa53f8056b716f01ae978887f8b1523aaa8bbe 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2447,6 +2447,94 @@ static struct board_info __initdata boar
+@@ -2464,6 +2464,94 @@ static struct board_info __initdata boar
  
        .has_ohci0                      = 1,
        .has_ehci0                      = 1,
index 8c750a1ee73e86de3a0068b0319bc2c797b1121d..75c4425677e9fa9e270d9b91fce5edfe7c1d5395 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -90,6 +90,93 @@ static struct board_info __initdata boar
+@@ -91,6 +91,93 @@ static struct board_info __initdata boar
  #endif /* CONFIG_BCM63XX_CPU_3368 */
  
  /*
@@ -94,7 +94,7 @@
   * known 6328 boards
   */
  #ifdef CONFIG_BCM63XX_CPU_6328
-@@ -4346,6 +4433,9 @@ static const struct board_info __initcon
+@@ -4363,6 +4450,9 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_3368
        &board_cvg834g,
  #endif
index bd43772265602faf8048ce58e6b55caec0208b5b..0e710621d15301cf0b1350c6d0d12368020bca6f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -174,6 +174,94 @@ static struct board_info __initdata boar
+@@ -175,6 +175,94 @@ static struct board_info __initdata boar
                },
        },
  };
@@ -95,7 +95,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6318 */
  
  /*
-@@ -4435,6 +4523,7 @@ static const struct board_info __initcon
+@@ -4452,6 +4540,7 @@ static const struct board_info __initcon
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6318
        &board_96318ref,
index 59494a7a76773e1adb507c92d0f6c2e2b406451c..f5d4554d437c2058cc266be999b39f8e70ea5ff3 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4515,6 +4515,75 @@ static struct board_info __initdata boar
+@@ -4532,6 +4532,75 @@ static struct board_info __initdata boar
  #endif /* CONFIG_BCM63XX_CPU_6368 */
  
  /*
@@ -76,7 +76,7 @@
   * all boards
   */
  static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4599,6 +4668,9 @@ static const struct board_info __initcon
+@@ -4616,6 +4685,9 @@ static const struct board_info __initcon
        &board_96368mvwg,
        &board_96368mvngr,
  #endif
index 79cf7e2a6053dce006b2147e963e84da87f64c81..da937a2b32ed06b95025e72b836f552e5dd82b5f 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
 ---
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1428,6 +1428,51 @@ static struct board_info __initdata boar
+@@ -1436,6 +1436,51 @@ static struct board_info __initdata boar
        },
  };
  
@@ -60,7 +60,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl>
  
  /* BT Voyager 2110 */
  static struct board_info __initdata board_V2110 = {
-@@ -4635,6 +4680,7 @@ static const struct board_info __initcon
+@@ -4652,6 +4697,7 @@ static const struct board_info __initcon
        &board_96348A_122,
        &board_CPVA502plus,
        &board_96348W3,
index 60855df187b369238db2add809782d2acef40707..9f076f480716460054d88eddb2471b5a15fc4272 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4626,6 +4626,108 @@ static struct board_info __initdata boar
+@@ -4643,6 +4643,108 @@ static struct board_info __initdata boar
                },
        },
  };
  #endif /* CONFIG_BCM63XX_CPU_63268 */
  
  /*
-@@ -4716,6 +4818,7 @@ static const struct board_info __initcon
+@@ -4733,6 +4835,7 @@ static const struct board_info __initcon
  #endif
  #ifdef CONFIG_BCM63XX_CPU_63268
        &board_963269bhr,
index 89e6fc62d0798ad7c28992db2491615751f6471a..255b16c4268475d5dc4db36e78e18f9f7c6190a1 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4563,6 +4563,131 @@ static struct board_info __initdata boar
+@@ -4580,6 +4580,131 @@ static struct board_info __initdata boar
   * known 63268/63269 boards
   */
  #ifdef CONFIG_BCM63XX_CPU_63268
  static struct board_info __initdata board_963269bhr = {
        .name                           = "963269BHR",
        .expected_cpu_id                = 0x63268,
-@@ -4817,6 +4942,7 @@ static const struct board_info __initcon
+@@ -4834,6 +4959,7 @@ static const struct board_info __initcon
        &board_96368mvngr,
  #endif
  #ifdef CONFIG_BCM63XX_CPU_63268
index a12f91532379bc306c2f4922a81e6a43c9198bba..78a14c044dcf08522e0aafc885172641dd1ebfcd 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/platform_device.h>
  #include <linux/spi/spi.h>
  #include <linux/spi/spi_gpio.h>
-@@ -4557,6 +4558,117 @@ static struct board_info __initdata boar
+@@ -4574,6 +4575,117 @@ static struct board_info __initdata boar
        .has_ohci0 = 1,
        .has_ehci0 = 1,
  };
  #endif /* CONFIG_BCM63XX_CPU_6368 */
  
  /*
-@@ -4940,6 +5052,7 @@ static const struct board_info __initcon
+@@ -4957,6 +5069,7 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_6368
        &board_96368mvwg,
        &board_96368mvngr,
index 9bd864f7bdd7798be041c7dcd0ccf774853e71f4..c213e88cf884064c82004c214d19ddfeb2a0be20 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4559,6 +4559,116 @@ static struct board_info __initdata boar
+@@ -4576,6 +4576,116 @@ static struct board_info __initdata boar
        .has_ehci0 = 1,
  };
  
  static struct b53_platform_data WAP5813n_b53_pdata = {
        .alias = "eth0",
  };
-@@ -5052,6 +5162,7 @@ static const struct board_info __initcon
+@@ -5069,6 +5179,7 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_6368
        &board_96368mvwg,
        &board_96368mvngr,
index 7cadfb2947719ba2d9d8b2d037e2fff076faa42c..6a13b7d896198f2ec8e2ee04a7cfe40ff5923c43 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4669,6 +4669,116 @@ static struct board_info __initdata boar
+@@ -4686,6 +4686,116 @@ static struct board_info __initdata boar
        },
  };
  
  static struct b53_platform_data WAP5813n_b53_pdata = {
        .alias = "eth0",
  };
-@@ -5163,6 +5273,7 @@ static const struct board_info __initcon
+@@ -5180,6 +5290,7 @@ static const struct board_info __initcon
        &board_96368mvwg,
        &board_96368mvngr,
        &board_VR3025u,
index b89ddeaf938a6af2739c9c258824ff09c5cf137f..c68725731be841f3edf834ce1350a8e5720ad32d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4568,6 +4568,96 @@ static struct sprom_fixup __initdata vr3
+@@ -4585,6 +4585,96 @@ static struct sprom_fixup __initdata vr3
        { .offset = 115, .value = 0xfad9 },
  };
  
@@ -97,7 +97,7 @@
  static struct board_info __initdata board_VR3025u = {
        .name                                   = "96368M-1541N",
        .expected_cpu_id                = 0x6368,
-@@ -5272,6 +5362,7 @@ static const struct board_info __initcon
+@@ -5289,6 +5379,7 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_6368
        &board_96368mvwg,
        &board_96368mvngr,
index f2dfabc43e873e52314b50722b0fcd841ec810ee..da2faf9aab0915ac58801dbfaf6c4b349cb9733a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3530,6 +3530,56 @@ static struct board_info __initdata boar
+@@ -3547,6 +3547,56 @@ static struct board_info __initdata boar
        .num_spis = ARRAY_SIZE(ct6373_spi_devices),
  };
  
@@ -57,7 +57,7 @@
  static struct board_info __initdata board_HW553 = {
        .name                           = "HW553",
        .expected_cpu_id                = 0x6358,
-@@ -5345,6 +5395,7 @@ static const struct board_info __initcon
+@@ -5362,6 +5412,7 @@ static const struct board_info __initcon
        &board_nb4_fxc_r1,
        &board_nb4_fxc_r2,
        &board_ct6373_1,
index ac441e2444b6d4d9fe05374cc8f7459e4fac9578..daa198edb1a0a43fd5a12b3593fca71171df95fc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -609,6 +609,95 @@ static struct board_info __initdata boar
+@@ -611,6 +611,95 @@ static struct board_info __initdata boar
        },
  };
  
@@ -96,7 +96,7 @@
  static struct board_info __initdata board_A4001N1 = {
        .name                                   = "963281T_TEF",
        .expected_cpu_id                        = 0x6328,
-@@ -5343,6 +5432,7 @@ static const struct board_info __initcon
+@@ -5360,6 +5449,7 @@ static const struct board_info __initcon
        &board_AR5381u,
        &board_AR5387un,
        &board_963281TAN,
index 8ee6e98c3f425479068f665154da1e0105367cbc..acbf602a541b8bc80549cd36e5edf50a7f31b68f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -263,6 +263,141 @@ static struct board_info __initdata boar
+@@ -264,6 +264,141 @@ static struct board_info __initdata boar
                },
        },
  };
  #endif /* CONFIG_BCM63XX_CPU_6318 */
  
  /*
-@@ -5426,6 +5561,7 @@ static const struct board_info __initcon
+@@ -5443,6 +5578,7 @@ static const struct board_info __initcon
  #ifdef CONFIG_BCM63XX_CPU_6318
        &board_96318ref,
        &board_96318ref_p300,