Author: hauke Date: 2015-06-25 23:33:53 +0200 (Thu, 25 Jun 2015) New Revision: 46128
Added: trunk/target/linux/bcm53xx/config-4.1 trunk/target/linux/bcm53xx/patches-4.1/ Removed: trunk/target/linux/bcm53xx/patches-4.1/003-mtd-spi-nor-from-3.19.patch trunk/target/linux/bcm53xx/patches-4.1/004-mtd-spi-nor-from-3.20.patch trunk/target/linux/bcm53xx/patches-4.1/043-ARM-BCM5301X-fix-early-serial-console.patch trunk/target/linux/bcm53xx/patches-4.1/044-ARM-BCM5301X-Add-Broadcom-s-bus-axi-to-the-DTS-file.patch trunk/target/linux/bcm53xx/patches-4.1/045-ARM-BCM5301X-Add-LEDs-for-Netgear-R6250-V1.patch trunk/target/linux/bcm53xx/patches-4.1/046-ARM-BCM5301X-Add-IRQs-to-Broadcom-s-bus-axi-in-DTS-f.patch trunk/target/linux/bcm53xx/patches-4.1/047-ARM-BCM5301X-Add-buttons-for-Netgear-R6250.patch trunk/target/linux/bcm53xx/patches-4.1/048-ARM-BCM5301X-Add-DT-for-Netgear-R6300-V2.patch trunk/target/linux/bcm53xx/patches-4.1/049-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-1750DHP.patch trunk/target/linux/bcm53xx/patches-4.1/050-ARM-BCM5301X-Add-DT-for-Asus-RT-N18U.patch trunk/target/linux/bcm53xx/patches-4.1/051-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-600DHP2.patch trunk/target/linux/bcm53xx/patches-4.1/052-ARM-BCM5301X-Add-DT-for-Luxul-XWC-1000.patch trunk/target/linux/bcm53xx/patches-4.1/053-ARM-BCM5301X-Drop-unused-poll-interval-from-gpio-key.patch trunk/target/linux/bcm53xx/patches-4.1/054-ARM-BCM5301X-Add-LEDs-for-Buffalo-devices.patch trunk/target/linux/bcm53xx/patches-4.1/055-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-900DHP.patch trunk/target/linux/bcm53xx/patches-4.1/056-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch trunk/target/linux/bcm53xx/patches-4.1/057-ARM-BCM5301X-Fix-default-state-of-power-LEDs-on-Netg.patch trunk/target/linux/bcm53xx/patches-4.1/080-watchdog-bcm47xx_wdt.c-add-restart-handler-support.patch trunk/target/linux/bcm53xx/patches-4.1/081-watchdog-bcm47xx_wdt.c-allow-enabling-on-BCM5301X-ar.patch trunk/target/linux/bcm53xx/patches-4.1/150-pci-do-not-probe-too-early.patch Modified: trunk/target/linux/bcm53xx/patches-4.1/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch trunk/target/linux/bcm53xx/patches-4.1/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch trunk/target/linux/bcm53xx/patches-4.1/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch trunk/target/linux/bcm53xx/patches-4.1/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch trunk/target/linux/bcm53xx/patches-4.1/066-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch trunk/target/linux/bcm53xx/patches-4.1/110-firmware-backport-NVRAM-driver.patch trunk/target/linux/bcm53xx/patches-4.1/131-ARM-BCM5301X-Implement-SMP-support.patch trunk/target/linux/bcm53xx/patches-4.1/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch trunk/target/linux/bcm53xx/patches-4.1/184-USB-bcma-add-bcm53xx-support.patch trunk/target/linux/bcm53xx/patches-4.1/300-ARM-BCM5301X-Disable-MMU-and-Dcache-for-decompression.patch trunk/target/linux/bcm53xx/patches-4.1/321-ARM-BCM5301X-Set-vcc-gpio-for-USB-controllers.patch trunk/target/linux/bcm53xx/patches-4.1/420-mtd-bcm5301x_nand.patch trunk/target/linux/bcm53xx/patches-4.1/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch trunk/target/linux/bcm53xx/patches-4.1/810-USB-bcma-make-helper-creating-platform-dev-more-gene.patch trunk/target/linux/bcm53xx/patches-4.1/811-USB-bcma-use-separated-function-for-USB-2.0-initiali.patch trunk/target/linux/bcm53xx/patches-4.1/812-USB-bcma-add-USB-3.0-support.patch trunk/target/linux/bcm53xx/patches-4.1/813-USB-bcma-fix-setting-VCC-GPIO-value.patch trunk/target/linux/bcm53xx/patches-4.1/820-xhci-add-Broadcom-specific-fake-doorbell.patch Log: bcm53xx: add support for kernel 4.1 This only removes the patches already applied upstream and makes the rest apply cleanly. Signed-off-by: Hauke Mehrtens <[email protected]> Copied: trunk/target/linux/bcm53xx/config-4.1 (from rev 46127, trunk/target/linux/bcm53xx/config-3.18) =================================================================== --- trunk/target/linux/bcm53xx/config-4.1 (rev 0) +++ trunk/target/linux/bcm53xx/config-4.1 2015-06-25 21:33:53 UTC (rev 46128) @@ -0,0 +1,312 @@ +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_ARCH_ALPINE is not set +CONFIG_ARCH_BCM=y +# CONFIG_ARCH_BCM_21664 is not set +# CONFIG_ARCH_BCM_281XX is not set +CONFIG_ARCH_BCM_5301X=y +# CONFIG_ARCH_BCM_63XX is not set +# CONFIG_ARCH_BCM_CYGNUS is not set +CONFIG_ARCH_BCM_IPROC=y +# CONFIG_ARCH_BRCMSTB is not set +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_MULTI_CPU_AUTO is not set +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_NR_GPIO=0 +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_ARM=y +CONFIG_ARM_AMBA=y +CONFIG_ARM_APPENDED_DTB=y +# CONFIG_ARM_ATAG_DTB_COMPAT is not set +# CONFIG_ARM_CPU_SUSPEND is not set +# CONFIG_ARM_CRYPTO is not set +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_798181=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GLOBAL_TIMER=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_PATCH_PHYS_VIRT=y +# CONFIG_ARM_SP805_WATCHDOG is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +CONFIG_ATAGS=y +CONFIG_AUTO_ZRELADDR=y +CONFIG_B53=y +# CONFIG_B53_MMAP_DRIVER is not set +# CONFIG_B53_PHY_DRIVER is not set +CONFIG_B53_SRAB_DRIVER=y +CONFIG_BCM47XX_NVRAM=y +CONFIG_BCM47XX_SPROM=y +CONFIG_BCM47XX_WDT=y +CONFIG_BCMA=y +CONFIG_BCMA_BLOCKIO=y +CONFIG_BCMA_DEBUG=y +CONFIG_BCMA_DRIVER_GMAC_CMN=y +CONFIG_BCMA_DRIVER_GPIO=y +CONFIG_BCMA_DRIVER_PCI=y +CONFIG_BCMA_HOST_PCI=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_HOST_SOC=y +CONFIG_BGMAC=y +CONFIG_BOUNCE=y +CONFIG_CACHE_L2X0=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLKSRC_OF=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_COMMON_CLK=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_HAS_ASID=y +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y +CONFIG_CRC16=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_XZ=y +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DEBUG_BCM_5301X=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_LL_INCLUDE="debug/8250.S" +CONFIG_DEBUG_UART_8250=y +# CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set +CONFIG_DEBUG_UART_8250_SHIFT=0 +CONFIG_DEBUG_UART_PHYS=0x18000300 +CONFIG_DEBUG_UART_VIRT=0xf1000300 +CONFIG_DEBUG_UNCOMPRESS=y +CONFIG_DEBUG_USER=y +CONFIG_DTC=y +CONFIG_EARLY_PRINTK=y +CONFIG_FIXED_PHY=y +CONFIG_FRAME_POINTER=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_GENERIC_IO=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_74X164=y +CONFIG_GPIO_DEVRES=y +CONFIG_GPIO_SYSFS=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ARM_SCU=y +CONFIG_HAVE_ARM_TWD=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_HAVE_BPF_JIT=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_SMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UID16=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_HZ_FIXED=0 +CONFIG_HZ_PERIODIC=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IOMMU_HELPER=y +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_WORK=y +CONFIG_LIBFDT=y +CONFIG_LOCK_SPIN_ON_OWNER=y +# CONFIG_LZ4_COMPRESS is not set +# CONFIG_LZ4_DECOMPRESS is not set +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MDIO_BOARDINFO=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MTD_BCM47XX_PARTS=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_BCM=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_PHYSMAP_OF is not set +CONFIG_MTD_SPI_BCM53XXSPIFLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +# CONFIG_MULTIUSER is not set +CONFIG_MULTI_IRQ_HANDLER=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NO_BOOTMEM=y +CONFIG_NR_CPUS=4 +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=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_OF_RESERVED_MEM=y +CONFIG_OLD_SIGACTION=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PCI=y +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_IPROC_PLATFORM is not set +CONFIG_PCI_BCM5301X=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PL310_ERRATA_588369 is not set +CONFIG_PL310_ERRATA_727915=y +CONFIG_PL310_ERRATA_753970=y +CONFIG_PL310_ERRATA_769419=y +# CONFIG_RCU_EXPEDITE_BOOT is not set +CONFIG_RCU_STALL_COMMON=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_SCHED_HRTICK=y +# CONFIG_SCSI_DMA is not set +# CONFIG_SERIAL_AMBA_PL010 is not set +# CONFIG_SERIAL_AMBA_PL011 is not set +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPI=y +CONFIG_SPI_BCM53XX=y +CONFIG_SPI_BITBANG=y +CONFIG_SPI_GPIO=y +CONFIG_SPI_MASTER=y +CONFIG_SRCU=y +CONFIG_STOP_MACHINE=y +CONFIG_SWCONFIG=y +CONFIG_SWIOTLB=y +CONFIG_SWP_EMULATE=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TREE_RCU=y +CONFIG_UBIFS_FS=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_XZ=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_USB_SUPPORT=y +CONFIG_USE_OF=y +# CONFIG_VDSO is not set +CONFIG_VECTORS_BASE=0xffff0000 +# CONFIG_VFP is not set +CONFIG_WATCHDOG_CORE=y +# CONFIG_XEN is not set +CONFIG_XPS=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZONE_DMA_FLAG=0 Deleted: trunk/target/linux/bcm53xx/patches-4.1/003-mtd-spi-nor-from-3.19.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/003-mtd-spi-nor-from-3.19.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/003-mtd-spi-nor-from-3.19.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,662 +0,0 @@ ---- a/drivers/mtd/spi-nor/spi-nor.c -+++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -26,7 +26,38 @@ - /* Define max times to check status register before we give up. */ - #define MAX_READY_WAIT_JIFFIES (40 * HZ) /* M25P16 specs 40s max chip erase */ - --#define JEDEC_MFR(_jedec_id) ((_jedec_id) >> 16) -+#define SPI_NOR_MAX_ID_LEN 6 -+ -+struct flash_info { -+ /* -+ * This array stores the ID bytes. -+ * The first three bytes are the JEDIC ID. -+ * JEDEC ID zero means "no ID" (mostly older chips). -+ */ -+ u8 id[SPI_NOR_MAX_ID_LEN]; -+ u8 id_len; -+ -+ /* The size listed here is what works with SPINOR_OP_SE, which isn't -+ * necessarily called a "sector" by the vendor. -+ */ -+ unsigned sector_size; -+ u16 n_sectors; -+ -+ u16 page_size; -+ u16 addr_width; -+ -+ u16 flags; -+#define SECT_4K 0x01 /* SPINOR_OP_BE_4K works uniformly */ -+#define SPI_NOR_NO_ERASE 0x02 /* No erase command needed */ -+#define SST_WRITE 0x04 /* use SST byte programming */ -+#define SPI_NOR_NO_FR 0x08 /* Can't do fastread */ -+#define SECT_4K_PMC 0x10 /* SPINOR_OP_BE_4K_PMC works uniformly */ -+#define SPI_NOR_DUAL_READ 0x20 /* Flash supports Dual Read */ -+#define SPI_NOR_QUAD_READ 0x40 /* Flash supports Quad Read */ -+#define USE_FSR 0x80 /* use flag status register */ -+}; -+ -+#define JEDEC_MFR(info) ((info)->id[0]) - - static const struct spi_device_id *spi_nor_match_id(const char *name); - -@@ -98,7 +129,7 @@ static inline int spi_nor_read_dummy_cyc - case SPI_NOR_FAST: - case SPI_NOR_DUAL: - case SPI_NOR_QUAD: -- return 1; -+ return 8; - case SPI_NOR_NORMAL: - return 0; - } -@@ -138,13 +169,14 @@ static inline struct spi_nor *mtd_to_spi - } - - /* Enable/disable 4-byte addressing mode. */ --static inline int set_4byte(struct spi_nor *nor, u32 jedec_id, int enable) -+static inline int set_4byte(struct spi_nor *nor, struct flash_info *info, -+ int enable) - { - int status; - bool need_wren = false; - u8 cmd; - -- switch (JEDEC_MFR(jedec_id)) { -+ switch (JEDEC_MFR(info)) { - case CFI_MFR_ST: /* Micron, actually */ - /* Some Micron need WREN command; all will accept it */ - need_wren = true; -@@ -165,81 +197,74 @@ static inline int set_4byte(struct spi_n - return nor->write_reg(nor, SPINOR_OP_BRWR, nor->cmd_buf, 1, 0); - } - } -- --static int spi_nor_wait_till_ready(struct spi_nor *nor) -+static inline int spi_nor_sr_ready(struct spi_nor *nor) - { -- unsigned long deadline; -- int sr; -- -- deadline = jiffies + MAX_READY_WAIT_JIFFIES; -- -- do { -- cond_resched(); -+ int sr = read_sr(nor); -+ if (sr < 0) -+ return sr; -+ else -+ return !(sr & SR_WIP); -+} - -- sr = read_sr(nor); -- if (sr < 0) -- break; -- else if (!(sr & SR_WIP)) -- return 0; -- } while (!time_after_eq(jiffies, deadline)); -+static inline int spi_nor_fsr_ready(struct spi_nor *nor) -+{ -+ int fsr = read_fsr(nor); -+ if (fsr < 0) -+ return fsr; -+ else -+ return fsr & FSR_READY; -+} - -- return -ETIMEDOUT; -+static int spi_nor_ready(struct spi_nor *nor) -+{ -+ int sr, fsr; -+ sr = spi_nor_sr_ready(nor); -+ if (sr < 0) -+ return sr; -+ fsr = nor->flags & SNOR_F_USE_FSR ? spi_nor_fsr_ready(nor) : 1; -+ if (fsr < 0) -+ return fsr; -+ return sr && fsr; - } - --static int spi_nor_wait_till_fsr_ready(struct spi_nor *nor) -+/* -+ * Service routine to read status register until ready, or timeout occurs. -+ * Returns non-zero if error. -+ */ -+static int spi_nor_wait_till_ready(struct spi_nor *nor) - { - unsigned long deadline; -- int sr; -- int fsr; -+ int timeout = 0, ret; - - deadline = jiffies + MAX_READY_WAIT_JIFFIES; - -- do { -+ while (!timeout) { -+ if (time_after_eq(jiffies, deadline)) -+ timeout = 1; -+ -+ ret = spi_nor_ready(nor); -+ if (ret < 0) -+ return ret; -+ if (ret) -+ return 0; -+ - cond_resched(); -+ } - -- sr = read_sr(nor); -- if (sr < 0) { -- break; -- } else if (!(sr & SR_WIP)) { -- fsr = read_fsr(nor); -- if (fsr < 0) -- break; -- if (fsr & FSR_READY) -- return 0; -- } -- } while (!time_after_eq(jiffies, deadline)); -+ dev_err(nor->dev, "flash operation timed out\n"); - - return -ETIMEDOUT; - } - - /* -- * Service routine to read status register until ready, or timeout occurs. -- * Returns non-zero if error. -- */ --static int wait_till_ready(struct spi_nor *nor) --{ -- return nor->wait_till_ready(nor); --} -- --/* - * Erase the whole flash memory - * - * Returns 0 if successful, non-zero otherwise. - */ - static int erase_chip(struct spi_nor *nor) - { -- int ret; -- - dev_dbg(nor->dev, " %lldKiB\n", (long long)(nor->mtd->size >> 10)); - -- /* Wait until finished previous write command. */ -- ret = wait_till_ready(nor); -- if (ret) -- return ret; -- -- /* Send write enable, then erase commands. */ -- write_enable(nor); -- - return nor->write_reg(nor, SPINOR_OP_CHIP_ERASE, NULL, 0, 0); - } - -@@ -294,11 +319,17 @@ static int spi_nor_erase(struct mtd_info - - /* whole-chip erase? */ - if (len == mtd->size) { -+ write_enable(nor); -+ - if (erase_chip(nor)) { - ret = -EIO; - goto erase_err; - } - -+ ret = spi_nor_wait_till_ready(nor); -+ if (ret) -+ goto erase_err; -+ - /* REVISIT in some cases we could speed up erasing large regions - * by using SPINOR_OP_SE instead of SPINOR_OP_BE_4K. We may have set up - * to use "small sector erase", but that's not always optimal. -@@ -307,6 +338,8 @@ static int spi_nor_erase(struct mtd_info - /* "sector"-at-a-time erase */ - } else { - while (len) { -+ write_enable(nor); -+ - if (nor->erase(nor, addr)) { - ret = -EIO; - goto erase_err; -@@ -314,9 +347,15 @@ static int spi_nor_erase(struct mtd_info - - addr += mtd->erasesize; - len -= mtd->erasesize; -+ -+ ret = spi_nor_wait_till_ready(nor); -+ if (ret) -+ goto erase_err; - } - } - -+ write_disable(nor); -+ - spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_ERASE); - - instr->state = MTD_ERASE_DONE; -@@ -341,11 +380,6 @@ static int spi_nor_lock(struct mtd_info - if (ret) - return ret; - -- /* Wait until finished previous command */ -- ret = wait_till_ready(nor); -- if (ret) -- goto err; -- - status_old = read_sr(nor); - - if (offset < mtd->size - (mtd->size / 2)) -@@ -388,11 +422,6 @@ static int spi_nor_unlock(struct mtd_inf - if (ret) - return ret; - -- /* Wait until finished previous command */ -- ret = wait_till_ready(nor); -- if (ret) -- goto err; -- - status_old = read_sr(nor); - - if (offset+len > mtd->size - (mtd->size / 64)) -@@ -424,38 +453,34 @@ err: - return ret; - } - --struct flash_info { -- /* JEDEC id zero means "no ID" (most older chips); otherwise it has -- * a high byte of zero plus three data bytes: the manufacturer id, -- * then a two byte device id. -- */ -- u32 jedec_id; -- u16 ext_id; -- -- /* The size listed here is what works with SPINOR_OP_SE, which isn't -- * necessarily called a "sector" by the vendor. -- */ -- unsigned sector_size; -- u16 n_sectors; -- -- u16 page_size; -- u16 addr_width; -- -- u16 flags; --#define SECT_4K 0x01 /* SPINOR_OP_BE_4K works uniformly */ --#define SPI_NOR_NO_ERASE 0x02 /* No erase command needed */ --#define SST_WRITE 0x04 /* use SST byte programming */ --#define SPI_NOR_NO_FR 0x08 /* Can't do fastread */ --#define SECT_4K_PMC 0x10 /* SPINOR_OP_BE_4K_PMC works uniformly */ --#define SPI_NOR_DUAL_READ 0x20 /* Flash supports Dual Read */ --#define SPI_NOR_QUAD_READ 0x40 /* Flash supports Quad Read */ --#define USE_FSR 0x80 /* use flag status register */ --}; -- -+/* Used when the "_ext_id" is two bytes at most */ - #define INFO(_jedec_id, _ext_id, _sector_size, _n_sectors, _flags) \ - ((kernel_ulong_t)&(struct flash_info) { \ -- .jedec_id = (_jedec_id), \ -- .ext_id = (_ext_id), \ -+ .id = { \ -+ ((_jedec_id) >> 16) & 0xff, \ -+ ((_jedec_id) >> 8) & 0xff, \ -+ (_jedec_id) & 0xff, \ -+ ((_ext_id) >> 8) & 0xff, \ -+ (_ext_id) & 0xff, \ -+ }, \ -+ .id_len = (!(_jedec_id) ? 0 : (3 + ((_ext_id) ? 2 : 0))), \ -+ .sector_size = (_sector_size), \ -+ .n_sectors = (_n_sectors), \ -+ .page_size = 256, \ -+ .flags = (_flags), \ -+ }) -+ -+#define INFO6(_jedec_id, _ext_id, _sector_size, _n_sectors, _flags) \ -+ ((kernel_ulong_t)&(struct flash_info) { \ -+ .id = { \ -+ ((_jedec_id) >> 16) & 0xff, \ -+ ((_jedec_id) >> 8) & 0xff, \ -+ (_jedec_id) & 0xff, \ -+ ((_ext_id) >> 16) & 0xff, \ -+ ((_ext_id) >> 8) & 0xff, \ -+ (_ext_id) & 0xff, \ -+ }, \ -+ .id_len = 6, \ - .sector_size = (_sector_size), \ - .n_sectors = (_n_sectors), \ - .page_size = 256, \ -@@ -507,6 +532,9 @@ static const struct spi_device_id spi_no - { "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) }, - { "mr25h10", CAT25_INFO(128 * 1024, 1, 256, 3, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) }, - -+ /* Fujitsu */ -+ { "mb85rs1mt", INFO(0x047f27, 0, 128 * 1024, 1, SPI_NOR_NO_ERASE) }, -+ - /* GigaDevice */ - { "gd25q32", INFO(0xc84016, 0, 64 * 1024, 64, SECT_4K) }, - { "gd25q64", INFO(0xc84017, 0, 64 * 1024, 128, SECT_4K) }, -@@ -536,6 +564,7 @@ static const struct spi_device_id spi_no - { "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) }, - - /* Micron */ -+ { "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64, 0) }, - { "n25q064", INFO(0x20ba17, 0, 64 * 1024, 128, 0) }, - { "n25q128a11", INFO(0x20bb18, 0, 64 * 1024, 256, 0) }, - { "n25q128a13", INFO(0x20ba18, 0, 64 * 1024, 256, 0) }, -@@ -560,6 +589,7 @@ static const struct spi_device_id spi_no - { "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) }, - { "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) }, - { "s25sl12801", INFO(0x012018, 0x0301, 64 * 1024, 256, 0) }, -+ { "s25fl128s", INFO6(0x012018, 0x4d0180, 64 * 1024, 256, SPI_NOR_QUAD_READ) }, - { "s25fl129p0", INFO(0x012018, 0x4d00, 256 * 1024, 64, 0) }, - { "s25fl129p1", INFO(0x012018, 0x4d01, 64 * 1024, 256, 0) }, - { "s25sl004a", INFO(0x010212, 0, 64 * 1024, 8, 0) }, -@@ -581,6 +611,7 @@ static const struct spi_device_id spi_no - { "sst25wf010", INFO(0xbf2502, 0, 64 * 1024, 2, SECT_4K | SST_WRITE) }, - { "sst25wf020", INFO(0xbf2503, 0, 64 * 1024, 4, SECT_4K | SST_WRITE) }, - { "sst25wf040", INFO(0xbf2504, 0, 64 * 1024, 8, SECT_4K | SST_WRITE) }, -+ { "sst25wf080", INFO(0xbf2505, 0, 64 * 1024, 16, SECT_4K | SST_WRITE) }, - - /* ST Microelectronics -- newer production may have feature updates */ - { "m25p05", INFO(0x202010, 0, 32 * 1024, 2, 0) }, -@@ -592,7 +623,6 @@ static const struct spi_device_id spi_no - { "m25p32", INFO(0x202016, 0, 64 * 1024, 64, 0) }, - { "m25p64", INFO(0x202017, 0, 64 * 1024, 128, 0) }, - { "m25p128", INFO(0x202018, 0, 256 * 1024, 64, 0) }, -- { "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64, 0) }, - - { "m25p05-nonjedec", INFO(0, 0, 32 * 1024, 2, 0) }, - { "m25p10-nonjedec", INFO(0, 0, 32 * 1024, 4, 0) }, -@@ -648,32 +678,24 @@ static const struct spi_device_id spi_no - static const struct spi_device_id *spi_nor_read_id(struct spi_nor *nor) - { - int tmp; -- u8 id[5]; -- u32 jedec; -- u16 ext_jedec; -+ u8 id[SPI_NOR_MAX_ID_LEN]; - struct flash_info *info; - -- tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, 5); -+ tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN); - if (tmp < 0) { - dev_dbg(nor->dev, " error %d reading JEDEC ID\n", tmp); - return ERR_PTR(tmp); - } -- jedec = id[0]; -- jedec = jedec << 8; -- jedec |= id[1]; -- jedec = jedec << 8; -- jedec |= id[2]; -- -- ext_jedec = id[3] << 8 | id[4]; - - for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) { - info = (void *)spi_nor_ids[tmp].driver_data; -- if (info->jedec_id == jedec) { -- if (info->ext_id == 0 || info->ext_id == ext_jedec) -+ if (info->id_len) { -+ if (!memcmp(info->id, id, info->id_len)) - return &spi_nor_ids[tmp]; - } - } -- dev_err(nor->dev, "unrecognized JEDEC id %06x\n", jedec); -+ dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %2x, %2x\n", -+ id[0], id[1], id[2]); - return ERR_PTR(-ENODEV); - } - -@@ -708,11 +730,6 @@ static int sst_write(struct mtd_info *mt - if (ret) - return ret; - -- /* Wait until finished previous write command. */ -- ret = wait_till_ready(nor); -- if (ret) -- goto time_out; -- - write_enable(nor); - - nor->sst_write_second = false; -@@ -724,7 +741,7 @@ static int sst_write(struct mtd_info *mt - - /* write one byte. */ - nor->write(nor, to, 1, retlen, buf); -- ret = wait_till_ready(nor); -+ ret = spi_nor_wait_till_ready(nor); - if (ret) - goto time_out; - } -@@ -736,7 +753,7 @@ static int sst_write(struct mtd_info *mt - - /* write two bytes. */ - nor->write(nor, to, 2, retlen, buf + actual); -- ret = wait_till_ready(nor); -+ ret = spi_nor_wait_till_ready(nor); - if (ret) - goto time_out; - to += 2; -@@ -745,7 +762,7 @@ static int sst_write(struct mtd_info *mt - nor->sst_write_second = false; - - write_disable(nor); -- ret = wait_till_ready(nor); -+ ret = spi_nor_wait_till_ready(nor); - if (ret) - goto time_out; - -@@ -756,7 +773,7 @@ static int sst_write(struct mtd_info *mt - nor->program_opcode = SPINOR_OP_BP; - nor->write(nor, to, 1, retlen, buf + actual); - -- ret = wait_till_ready(nor); -+ ret = spi_nor_wait_till_ready(nor); - if (ret) - goto time_out; - write_disable(nor); -@@ -784,11 +801,6 @@ static int spi_nor_write(struct mtd_info - if (ret) - return ret; - -- /* Wait until finished previous write command. */ -- ret = wait_till_ready(nor); -- if (ret) -- goto write_err; -- - write_enable(nor); - - page_offset = to & (nor->page_size - 1); -@@ -807,16 +819,20 @@ static int spi_nor_write(struct mtd_info - if (page_size > nor->page_size) - page_size = nor->page_size; - -- wait_till_ready(nor); -+ ret = spi_nor_wait_till_ready(nor); -+ if (ret) -+ goto write_err; -+ - write_enable(nor); - - nor->write(nor, to + i, page_size, retlen, buf + i); - } - } - -+ ret = spi_nor_wait_till_ready(nor); - write_err: - spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_WRITE); -- return 0; -+ return ret; - } - - static int macronix_quad_enable(struct spi_nor *nor) -@@ -829,7 +845,7 @@ static int macronix_quad_enable(struct s - nor->cmd_buf[0] = val | SR_QUAD_EN_MX; - nor->write_reg(nor, SPINOR_OP_WRSR, nor->cmd_buf, 1, 0); - -- if (wait_till_ready(nor)) -+ if (spi_nor_wait_till_ready(nor)) - return 1; - - ret = read_sr(nor); -@@ -879,11 +895,11 @@ static int spansion_quad_enable(struct s - return 0; - } - --static int set_quad_mode(struct spi_nor *nor, u32 jedec_id) -+static int set_quad_mode(struct spi_nor *nor, struct flash_info *info) - { - int status; - -- switch (JEDEC_MFR(jedec_id)) { -+ switch (JEDEC_MFR(info)) { - case CFI_MFR_MACRONIX: - status = macronix_quad_enable(nor); - if (status) { -@@ -909,11 +925,6 @@ static int spi_nor_check(struct spi_nor - return -EINVAL; - } - -- if (!nor->read_id) -- nor->read_id = spi_nor_read_id; -- if (!nor->wait_till_ready) -- nor->wait_till_ready = spi_nor_wait_till_ready; -- - return 0; - } - -@@ -931,16 +942,24 @@ int spi_nor_scan(struct spi_nor *nor, co - if (ret) - return ret; - -- id = spi_nor_match_id(name); -- if (!id) -+ /* Try to auto-detect if chip name wasn't specified */ -+ if (!name) -+ id = spi_nor_read_id(nor); -+ else -+ id = spi_nor_match_id(name); -+ if (IS_ERR_OR_NULL(id)) - return -ENOENT; - - info = (void *)id->driver_data; - -- if (info->jedec_id) { -+ /* -+ * If caller has specified name of flash model that can normally be -+ * detected using JEDEC, let's verify it. -+ */ -+ if (name && info->id_len) { - const struct spi_device_id *jid; - -- jid = nor->read_id(nor); -+ jid = spi_nor_read_id(nor); - if (IS_ERR(jid)) { - return PTR_ERR(jid); - } else if (jid != id) { -@@ -965,9 +984,9 @@ int spi_nor_scan(struct spi_nor *nor, co - * up with the software protection bits set - */ - -- if (JEDEC_MFR(info->jedec_id) == CFI_MFR_ATMEL || -- JEDEC_MFR(info->jedec_id) == CFI_MFR_INTEL || -- JEDEC_MFR(info->jedec_id) == CFI_MFR_SST) { -+ if (JEDEC_MFR(info) == CFI_MFR_ATMEL || -+ JEDEC_MFR(info) == CFI_MFR_INTEL || -+ JEDEC_MFR(info) == CFI_MFR_SST) { - write_enable(nor); - write_sr(nor, 0); - } -@@ -982,7 +1001,7 @@ int spi_nor_scan(struct spi_nor *nor, co - mtd->_read = spi_nor_read; - - /* nor protection support for STmicro chips */ -- if (JEDEC_MFR(info->jedec_id) == CFI_MFR_ST) { -+ if (JEDEC_MFR(info) == CFI_MFR_ST) { - mtd->_lock = spi_nor_lock; - mtd->_unlock = spi_nor_unlock; - } -@@ -993,9 +1012,8 @@ int spi_nor_scan(struct spi_nor *nor, co - else - mtd->_write = spi_nor_write; - -- if ((info->flags & USE_FSR) && -- nor->wait_till_ready == spi_nor_wait_till_ready) -- nor->wait_till_ready = spi_nor_wait_till_fsr_ready; -+ if (info->flags & USE_FSR) -+ nor->flags |= SNOR_F_USE_FSR; - - #ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS - /* prefer "small sector" erase if possible */ -@@ -1036,7 +1054,7 @@ int spi_nor_scan(struct spi_nor *nor, co - - /* Quad/Dual-read mode takes precedence over fast/normal */ - if (mode == SPI_NOR_QUAD && info->flags & SPI_NOR_QUAD_READ) { -- ret = set_quad_mode(nor, info->jedec_id); -+ ret = set_quad_mode(nor, info); - if (ret) { - dev_err(dev, "quad mode not supported\n"); - return ret; -@@ -1072,7 +1090,7 @@ int spi_nor_scan(struct spi_nor *nor, co - else if (mtd->size > 0x1000000) { - /* enable 4-byte addressing if the device exceeds 16MiB */ - nor->addr_width = 4; -- if (JEDEC_MFR(info->jedec_id) == CFI_MFR_AMD) { -+ if (JEDEC_MFR(info) == CFI_MFR_AMD) { - /* Dedicated 4-byte command set */ - switch (nor->flash_read) { - case SPI_NOR_QUAD: -@@ -1093,7 +1111,7 @@ int spi_nor_scan(struct spi_nor *nor, co - nor->erase_opcode = SPINOR_OP_SE_4B; - mtd->erasesize = info->sector_size; - } else -- set_4byte(nor, info->jedec_id, 1); -+ set_4byte(nor, info, 1); - } else { - nor->addr_width = 3; - } ---- a/include/linux/mtd/spi-nor.h -+++ b/include/linux/mtd/spi-nor.h -@@ -116,6 +116,10 @@ enum spi_nor_ops { - SPI_NOR_OPS_UNLOCK, - }; - -+enum spi_nor_option_flags { -+ SNOR_F_USE_FSR = BIT(0), -+}; -+ - /** - * struct spi_nor - Structure for defining a the SPI NOR layer - * @mtd: point to a mtd_info structure -@@ -129,6 +133,7 @@ enum spi_nor_ops { - * @program_opcode: the program opcode - * @flash_read: the mode of the read - * @sst_write_second: used by the SST write operation -+ * @flags: flag options for the current SPI-NOR (SNOR_F_*) - * @cfg: used by the read_xfer/write_xfer - * @cmd_buf: used by the write_reg - * @prepare: [OPTIONAL] do some preparations for the -@@ -139,9 +144,6 @@ enum spi_nor_ops { - * @write_xfer: [OPTIONAL] the writefundamental primitive - * @read_reg: [DRIVER-SPECIFIC] read out the register - * @write_reg: [DRIVER-SPECIFIC] write data to the register -- * @read_id: [REPLACEABLE] read out the ID data, and find -- * the proper spi_device_id -- * @wait_till_ready: [REPLACEABLE] wait till the NOR becomes ready - * @read: [DRIVER-SPECIFIC] read data from the SPI NOR - * @write: [DRIVER-SPECIFIC] write data to the SPI NOR - * @erase: [DRIVER-SPECIFIC] erase a sector of the SPI NOR -@@ -160,6 +162,7 @@ struct spi_nor { - u8 program_opcode; - enum read_mode flash_read; - bool sst_write_second; -+ u32 flags; - struct spi_nor_xfer_cfg cfg; - u8 cmd_buf[SPI_NOR_MAX_CMD_SIZE]; - -@@ -172,8 +175,6 @@ struct spi_nor { - int (*read_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len); - int (*write_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len, - int write_enable); -- const struct spi_device_id *(*read_id)(struct spi_nor *nor); -- int (*wait_till_ready)(struct spi_nor *nor); - - int (*read)(struct spi_nor *nor, loff_t from, - size_t len, size_t *retlen, u_char *read_buf); Deleted: trunk/target/linux/bcm53xx/patches-4.1/004-mtd-spi-nor-from-3.20.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/004-mtd-spi-nor-from-3.20.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,116 +0,0 @@ ---- a/drivers/mtd/spi-nor/spi-nor.c -+++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -538,6 +538,7 @@ static const struct spi_device_id spi_no - /* GigaDevice */ - { "gd25q32", INFO(0xc84016, 0, 64 * 1024, 64, SECT_4K) }, - { "gd25q64", INFO(0xc84017, 0, 64 * 1024, 128, SECT_4K) }, -+ { "gd25q128", INFO(0xc84018, 0, 64 * 1024, 256, SECT_4K) }, - - /* Intel/Numonyx -- xxxs33b */ - { "160s33b", INFO(0x898911, 0, 64 * 1024, 32, 0) }, -@@ -564,14 +565,14 @@ static const struct spi_device_id spi_no - { "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) }, - - /* Micron */ -- { "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64, 0) }, -- { "n25q064", INFO(0x20ba17, 0, 64 * 1024, 128, 0) }, -- { "n25q128a11", INFO(0x20bb18, 0, 64 * 1024, 256, 0) }, -- { "n25q128a13", INFO(0x20ba18, 0, 64 * 1024, 256, 0) }, -- { "n25q256a", INFO(0x20ba19, 0, 64 * 1024, 512, SECT_4K) }, -- { "n25q512a", INFO(0x20bb20, 0, 64 * 1024, 1024, SECT_4K) }, -- { "n25q512ax3", INFO(0x20ba20, 0, 64 * 1024, 1024, USE_FSR) }, -- { "n25q00", INFO(0x20ba21, 0, 64 * 1024, 2048, USE_FSR) }, -+ { "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ) }, -+ { "n25q064", INFO(0x20ba17, 0, 64 * 1024, 128, SPI_NOR_QUAD_READ) }, -+ { "n25q128a11", INFO(0x20bb18, 0, 64 * 1024, 256, SPI_NOR_QUAD_READ) }, -+ { "n25q128a13", INFO(0x20ba18, 0, 64 * 1024, 256, SPI_NOR_QUAD_READ) }, -+ { "n25q256a", INFO(0x20ba19, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_QUAD_READ) }, -+ { "n25q512a", INFO(0x20bb20, 0, 64 * 1024, 1024, SECT_4K | USE_FSR | SPI_NOR_QUAD_READ) }, -+ { "n25q512ax3", INFO(0x20ba20, 0, 64 * 1024, 1024, SECT_4K | USE_FSR | SPI_NOR_QUAD_READ) }, -+ { "n25q00", INFO(0x20ba21, 0, 64 * 1024, 2048, SECT_4K | USE_FSR | SPI_NOR_QUAD_READ) }, - - /* PMC */ - { "pm25lv512", INFO(0, 0, 32 * 1024, 2, SECT_4K_PMC) }, -@@ -895,6 +896,45 @@ static int spansion_quad_enable(struct s - return 0; - } - -+static int micron_quad_enable(struct spi_nor *nor) -+{ -+ int ret; -+ u8 val; -+ -+ ret = nor->read_reg(nor, SPINOR_OP_RD_EVCR, &val, 1); -+ if (ret < 0) { -+ dev_err(nor->dev, "error %d reading EVCR\n", ret); -+ return ret; -+ } -+ -+ write_enable(nor); -+ -+ /* set EVCR, enable quad I/O */ -+ nor->cmd_buf[0] = val & ~EVCR_QUAD_EN_MICRON; -+ ret = nor->write_reg(nor, SPINOR_OP_WD_EVCR, nor->cmd_buf, 1, 0); -+ if (ret < 0) { -+ dev_err(nor->dev, "error while writing EVCR register\n"); -+ return ret; -+ } -+ -+ ret = spi_nor_wait_till_ready(nor); -+ if (ret) -+ return ret; -+ -+ /* read EVCR and check it */ -+ ret = nor->read_reg(nor, SPINOR_OP_RD_EVCR, &val, 1); -+ if (ret < 0) { -+ dev_err(nor->dev, "error %d reading EVCR\n", ret); -+ return ret; -+ } -+ if (val & EVCR_QUAD_EN_MICRON) { -+ dev_err(nor->dev, "Micron EVCR Quad bit not clear\n"); -+ return -EINVAL; -+ } -+ -+ return 0; -+} -+ - static int set_quad_mode(struct spi_nor *nor, struct flash_info *info) - { - int status; -@@ -907,6 +947,13 @@ static int set_quad_mode(struct spi_nor - return -EINVAL; - } - return status; -+ case CFI_MFR_ST: -+ status = micron_quad_enable(nor); -+ if (status) { -+ dev_err(nor->dev, "Micron quad-read not enabled\n"); -+ return -EINVAL; -+ } -+ return status; - default: - status = spansion_quad_enable(nor); - if (status) { ---- a/include/linux/mtd/spi-nor.h -+++ b/include/linux/mtd/spi-nor.h -@@ -56,6 +56,10 @@ - /* Used for Spansion flashes only. */ - #define SPINOR_OP_BRWR 0x17 /* Bank register write */ - -+/* Used for Micron flashes only. */ -+#define SPINOR_OP_RD_EVCR 0x65 /* Read EVCR register */ -+#define SPINOR_OP_WD_EVCR 0x61 /* Write EVCR register */ -+ - /* Status Register bits. */ - #define SR_WIP 1 /* Write in progress */ - #define SR_WEL 2 /* Write enable latch */ -@@ -67,6 +71,9 @@ - - #define SR_QUAD_EN_MX 0x40 /* Macronix Quad I/O */ - -+/* Enhanced Volatile Configuration Register bits */ -+#define EVCR_QUAD_EN_MICRON 0x80 /* Micron Quad I/O */ -+ - /* Flag Status Register bits */ - #define FSR_READY 0x80 - Deleted: trunk/target/linux/bcm53xx/patches-4.1/043-ARM-BCM5301X-fix-early-serial-console.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/043-ARM-BCM5301X-fix-early-serial-console.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/043-ARM-BCM5301X-fix-early-serial-console.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,34 +0,0 @@ -From 140bd60383309e82b5cae3294a907c11a0a12b90 Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens <[email protected]> -Date: Sun, 14 Sep 2014 21:43:40 +0200 -Subject: [PATCH] ARM: BCM5301X: fix early serial console - -This device actually has a 8250 serial with a shift of 0. -Tested this on a BCM4708. - -Signed-off-by: Hauke Mehrtens <[email protected]> -Signed-off-by: Arnd Bergmann <[email protected]> ---- - arch/arm/Kconfig.debug | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/arch/arm/Kconfig.debug -+++ b/arch/arm/Kconfig.debug -@@ -113,7 +113,7 @@ choice - config DEBUG_BCM_5301X - bool "Kernel low-level debugging on BCM5301X UART1" - depends on ARCH_BCM_5301X -- select DEBUG_UART_PL01X -+ select DEBUG_UART_8250 - - config DEBUG_BCM_KONA_UART - bool "Kernel low-level debugging messages via BCM KONA UART" -@@ -1249,7 +1249,7 @@ config DEBUG_UART_VIRT - config DEBUG_UART_8250_SHIFT - int "Register offset shift for the 8250 debug UART" - depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250 -- default 0 if FOOTBRIDGE || ARCH_IOP32X -+ default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X - default 2 - - config DEBUG_UART_8250_WORD Deleted: trunk/target/linux/bcm53xx/patches-4.1/044-ARM-BCM5301X-Add-Broadcom-s-bus-axi-to-the-DTS-file.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/044-ARM-BCM5301X-Add-Broadcom-s-bus-axi-to-the-DTS-file.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/044-ARM-BCM5301X-Add-Broadcom-s-bus-axi-to-the-DTS-file.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,43 +0,0 @@ -From a2533caee935fff97e3e8dbfad5cc159e6bf6034 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Wed, 1 Oct 2014 09:21:07 +0200 -Subject: [PATCH 1/2] ARM: BCM5301X: Add Broadcom's bus-axi to the DTS file -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> ---- - arch/arm/boot/dts/bcm5301x.dtsi | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - ---- a/arch/arm/boot/dts/bcm5301x.dtsi -+++ b/arch/arm/boot/dts/bcm5301x.dtsi -@@ -8,6 +8,7 @@ - * Licensed under the GNU/GPL. See COPYING for details. - */ - -+#include <dt-bindings/gpio/gpio.h> - #include <dt-bindings/interrupt-controller/irq.h> - #include <dt-bindings/interrupt-controller/arm-gic.h> - #include "skeleton.dtsi" -@@ -92,4 +93,19 @@ - clock-frequency = <400000000>; - }; - }; -+ -+ axi@18000000 { -+ compatible = "brcm,bus-axi"; -+ reg = <0x18000000 0x1000>; -+ ranges = <0x00000000 0x18000000 0x00100000>; -+ #address-cells = <1>; -+ #size-cells = <1>; -+ -+ chipcommon: chipcommon@0 { -+ reg = <0x00000000 0x1000>; -+ -+ gpio-controller; -+ #gpio-cells = <2>; -+ }; -+ }; - }; Deleted: trunk/target/linux/bcm53xx/patches-4.1/045-ARM-BCM5301X-Add-LEDs-for-Netgear-R6250-V1.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/045-ARM-BCM5301X-Add-LEDs-for-Netgear-R6250-V1.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/045-ARM-BCM5301X-Add-LEDs-for-Netgear-R6250-V1.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,54 +0,0 @@ -From b7e4d148906685882a081e7e50692313c5a8724e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Wed, 1 Oct 2014 09:23:09 +0200 -Subject: [PATCH 2/2] ARM: BCM5301X: Add LEDs for Netgear R6250 V1 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> ---- - arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 34 +++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - ---- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts -+++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts -@@ -32,4 +32,38 @@ - status = "okay"; - }; - }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ logo { -+ label = "bcm53xx:white:logo"; -+ gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ power0 { -+ label = "bcm53xx:green:power"; -+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ power1 { -+ label = "bcm53xx:amber:power"; -+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ usb { -+ label = "bcm53xx:blue:usb"; -+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ wireless { -+ label = "bcm53xx:blue:wireless"; -+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ }; - }; Deleted: trunk/target/linux/bcm53xx/patches-4.1/046-ARM-BCM5301X-Add-IRQs-to-Broadcom-s-bus-axi-in-DTS-f.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/046-ARM-BCM5301X-Add-IRQs-to-Broadcom-s-bus-axi-in-DTS-f.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/046-ARM-BCM5301X-Add-IRQs-to-Broadcom-s-bus-axi-in-DTS-f.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,58 +0,0 @@ -From dec378827c4aaab6c46ecdd5fc2c3b3155d68743 Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens <[email protected]> -Date: Wed, 24 Sep 2014 23:50:07 +0200 -Subject: [PATCH] ARM: BCM5301X: Add IRQs to Broadcom's bus-axi in DTS file - -IRQ support for Broadcom's bus-axi driver bcma was merged into John -Linville's wireless tree and will show up in 3.19. This patch makes use -of this feature in the DTS file for the the BCM5301X SoCs. I left the -PCIe controller out, because this still needs some discussion. - -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/bcm5301x.dtsi | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - ---- a/arch/arm/boot/dts/bcm5301x.dtsi -+++ b/arch/arm/boot/dts/bcm5301x.dtsi -@@ -101,6 +101,40 @@ - #address-cells = <1>; - #size-cells = <1>; - -+ #interrupt-cells = <1>; -+ interrupt-map-mask = <0x000fffff 0xffff>; -+ interrupt-map = -+ /* ChipCommon */ -+ <0x00000000 0 &gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, -+ -+ /* USB 2.0 Controller */ -+ <0x00021000 0 &gic GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>, -+ -+ /* USB 3.0 Controller */ -+ <0x00023000 0 &gic GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>, -+ -+ /* Ethernet Controller 0 */ -+ <0x00024000 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, -+ -+ /* Ethernet Controller 1 */ -+ <0x00025000 0 &gic GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, -+ -+ /* Ethernet Controller 2 */ -+ <0x00026000 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, -+ -+ /* Ethernet Controller 3 */ -+ <0x00027000 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, -+ -+ /* NAND Controller */ -+ <0x00028000 0 &gic GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, -+ <0x00028000 1 &gic GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, -+ <0x00028000 2 &gic GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, -+ <0x00028000 3 &gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, -+ <0x00028000 4 &gic GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, -+ <0x00028000 5 &gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, -+ <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, -+ <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; -+ - chipcommon: chipcommon@0 { - reg = <0x00000000 0x1000>; - Deleted: trunk/target/linux/bcm53xx/patches-4.1/047-ARM-BCM5301X-Add-buttons-for-Netgear-R6250.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/047-ARM-BCM5301X-Add-buttons-for-Netgear-R6250.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/047-ARM-BCM5301X-Add-buttons-for-Netgear-R6250.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,57 +0,0 @@ -From f6f8234439737171e571a41264280e844a429699 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Sun, 30 Nov 2014 18:28:29 +0100 -Subject: [PATCH] ARM: BCM5301X: Add buttons for Netgear R6250 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 25 +++++++++++++++++++++++++ - arch/arm/boot/dts/bcm5301x.dtsi | 1 + - 2 files changed, 26 insertions(+) - ---- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts -+++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts -@@ -66,4 +66,29 @@ - linux,default-trigger = "default-off"; - }; - }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <200>; -+ -+ wps { -+ label = "WPS"; -+ linux,code = <KEY_WPS_BUTTON>; -+ gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>; -+ }; -+ -+ rfkill { -+ label = "WiFi"; -+ linux,code = <KEY_RFKILL>; -+ gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>; -+ }; -+ -+ restart { -+ label = "Reset"; -+ linux,code = <KEY_RESTART>; -+ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; -+ }; -+ }; - }; ---- a/arch/arm/boot/dts/bcm5301x.dtsi -+++ b/arch/arm/boot/dts/bcm5301x.dtsi -@@ -9,6 +9,7 @@ - */ - - #include <dt-bindings/gpio/gpio.h> -+#include <dt-bindings/input/input.h> - #include <dt-bindings/interrupt-controller/irq.h> - #include <dt-bindings/interrupt-controller/arm-gic.h> - #include "skeleton.dtsi" Deleted: trunk/target/linux/bcm53xx/patches-4.1/048-ARM-BCM5301X-Add-DT-for-Netgear-R6300-V2.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/048-ARM-BCM5301X-Add-DT-for-Netgear-R6300-V2.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/048-ARM-BCM5301X-Add-DT-for-Netgear-R6300-V2.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,116 +0,0 @@ -From 302a5ef29d497449280422576a1b55c72fc0ba4c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Thu, 4 Dec 2014 10:22:02 +0100 -Subject: [PATCH] ARM: BCM5301X: Add DT for Netgear R6300 V2 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/Makefile | 4 +- - arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts | 84 ++++++++++++++++++++++++++ - 2 files changed, 87 insertions(+), 1 deletion(-) - create mode 100644 arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -54,7 +54,9 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4e - dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb - dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb - dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb --dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb -+dtb-$(CONFIG_ARCH_BCM_5301X) += \ -+ bcm4708-netgear-r6250.dtb \ -+ bcm4708-netgear-r6300-v2.dtb - dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb - dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ - bcm21664-garnet.dtb ---- /dev/null -+++ b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts -@@ -0,0 +1,84 @@ -+/* -+ * Broadcom BCM470X / BCM5301X ARM platform code. -+ * DTS for Netgear R6300 V2 -+ * -+ * Copyright (C) 2014 Rafał Miłecki <[email protected]> -+ * -+ * Licensed under the GNU/GPL. See COPYING for details. -+ */ -+ -+/dts-v1/; -+ -+#include "bcm4708.dtsi" -+ -+/ { -+ compatible = "netgear,r6300v2", "brcm,bcm4708"; -+ model = "Netgear R6300 V2 (BCM4708)"; -+ -+ chosen { -+ bootargs = "console=ttyS0,115200"; -+ }; -+ -+ memory { -+ reg = <0x00000000 0x08000000>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ logo { -+ label = "bcm53xx:white:logo"; -+ gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ power0 { -+ label = "bcm53xx:green:power"; -+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ power1 { -+ label = "bcm53xx:amber:power"; -+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ usb { -+ label = "bcm53xx:blue:usb"; -+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ wireless { -+ label = "bcm53xx:blue:wireless"; -+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <200>; -+ -+ wps { -+ label = "WPS"; -+ linux,code = <KEY_WPS_BUTTON>; -+ gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>; -+ }; -+ -+ rfkill { -+ label = "WiFi"; -+ linux,code = <KEY_RFKILL>; -+ gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>; -+ }; -+ -+ restart { -+ label = "Reset"; -+ linux,code = <KEY_RESTART>; -+ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; Deleted: trunk/target/linux/bcm53xx/patches-4.1/049-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-1750DHP.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/049-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-1750DHP.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/049-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-1750DHP.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,93 +0,0 @@ -From e336a14d2a2aa4431a8acc9eb3305b37f26fb696 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Thu, 4 Dec 2014 10:22:58 +0100 -Subject: [PATCH] ARM: BCM5301X: Add DT for Buffalo WZR-1750DHP -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 64 +++++++++++++++++++++++ - 2 files changed, 65 insertions(+) - create mode 100644 arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb. - dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb - dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb - dtb-$(CONFIG_ARCH_BCM_5301X) += \ -+ bcm4708-buffalo-wzr-1750dhp.dtb \ - bcm4708-netgear-r6250.dtb \ - bcm4708-netgear-r6300-v2.dtb - dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb ---- /dev/null -+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts -@@ -0,0 +1,64 @@ -+/* -+ * Broadcom BCM470X / BCM5301X ARM platform code. -+ * DTS for Buffalo WZR-1750DHP -+ * -+ * Copyright (C) 2014 Rafał Miłecki <[email protected]> -+ * -+ * Licensed under the GNU/GPL. See COPYING for details. -+ */ -+ -+/dts-v1/; -+ -+#include "bcm4708.dtsi" -+ -+/ { -+ compatible = "buffalo,wzr-1750dhp", "brcm,bcm4708"; -+ model = "Buffalo WZR-1750DHP (BCM4708)"; -+ -+ chosen { -+ bootargs = "console=ttyS0,115200"; -+ }; -+ -+ memory { -+ reg = <0x00000000 0x08000000>; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <200>; -+ -+ restart { -+ label = "Reset"; -+ linux,code = <KEY_RESTART>; -+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; -+ }; -+ -+ aoss { -+ label = "AOSS"; -+ linux,code = <KEY_WPS_BUTTON>; -+ gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>; -+ }; -+ -+ /* Commit mode set by switch? */ -+ mode { -+ label = "Mode"; -+ linux,code = <KEY_SETUP>; -+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>; -+ }; -+ -+ /* Switch: AP mode */ -+ sw_ap { -+ label = "AP"; -+ linux,code = <BTN_0>; -+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>; -+ }; -+ -+ eject { -+ label = "USB eject"; -+ linux,code = <KEY_EJECTCD>; -+ gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; Deleted: trunk/target/linux/bcm53xx/patches-4.1/050-ARM-BCM5301X-Add-DT-for-Asus-RT-N18U.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/050-ARM-BCM5301X-Add-DT-for-Asus-RT-N18U.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/050-ARM-BCM5301X-Add-DT-for-Asus-RT-N18U.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,140 +0,0 @@ -From ae2ed35a40007bf737da452df7081a453bf89ce3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Thu, 4 Dec 2014 10:23:33 +0100 -Subject: [PATCH] ARM: BCM5301X: Add DT for Asus RT-N18U -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/Makefile | 3 +- - arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts | 78 +++++++++++++++++++++++++++++ - arch/arm/boot/dts/bcm47081.dtsi | 26 ++++++++++ - 3 files changed, 106 insertions(+), 1 deletion(-) - create mode 100644 arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts - create mode 100644 arch/arm/boot/dts/bcm47081.dtsi - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -57,7 +57,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rp - dtb-$(CONFIG_ARCH_BCM_5301X) += \ - bcm4708-buffalo-wzr-1750dhp.dtb \ - bcm4708-netgear-r6250.dtb \ -- bcm4708-netgear-r6300-v2.dtb -+ bcm4708-netgear-r6300-v2.dtb \ -+ bcm47081-asus-rt-n18u.dtb - dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb - dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ - bcm21664-garnet.dtb ---- /dev/null -+++ b/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts -@@ -0,0 +1,78 @@ -+/* -+ * Broadcom BCM470X / BCM5301X ARM platform code. -+ * DTS for Asus RT-N18U -+ * -+ * Copyright (C) 2014 Rafał Miłecki <[email protected]> -+ * -+ * Licensed under the GNU/GPL. See COPYING for details. -+ */ -+ -+/dts-v1/; -+ -+#include "bcm47081.dtsi" -+ -+/ { -+ compatible = "asus,rt-n18u", "brcm,bcm47081", "brcm,bcm4708"; -+ model = "Asus RT-N18U (BCM47081)"; -+ -+ chosen { -+ bootargs = "console=ttyS0,115200"; -+ }; -+ -+ memory { -+ reg = <0x00000000 0x08000000>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ power { -+ label = "bcm53xx:blue:power"; -+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ usb2 { -+ label = "bcm53xx:blue:usb2"; -+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ wan { -+ label = "bcm53xx:blue:wan"; -+ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ lan { -+ label = "bcm53xx:blue:lan"; -+ gpios = <&chipcommon 9 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ usb3 { -+ label = "bcm53xx:blue:usb3"; -+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <200>; -+ -+ restart { -+ label = "Reset"; -+ linux,code = <KEY_RESTART>; -+ gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>; -+ }; -+ -+ wps { -+ label = "WPS"; -+ linux,code = <KEY_WPS_BUTTON>; -+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; ---- /dev/null -+++ b/arch/arm/boot/dts/bcm47081.dtsi -@@ -0,0 +1,26 @@ -+/* -+ * Broadcom BCM470X / BCM5301X ARM platform code. -+ * DTS for BCM47081 SoC. -+ * -+ * Copyright © 2014 Rafał Miłecki <[email protected]> -+ * -+ * Licensed under the GNU/GPL. See COPYING for details. -+ */ -+ -+#include "bcm5301x.dtsi" -+ -+/ { -+ compatible = "brcm,bcm47081"; -+ -+ cpus { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ cpu@0 { -+ device_type = "cpu"; -+ compatible = "arm,cortex-a9"; -+ next-level-cache = <&L2>; -+ reg = <0x0>; -+ }; -+ }; -+}; Deleted: trunk/target/linux/bcm53xx/patches-4.1/051-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-600DHP2.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/051-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-600DHP2.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/051-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-600DHP2.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,88 +0,0 @@ -From dd7733da69f198f576d7f52f6bc5a860fe24930d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Thu, 4 Dec 2014 10:24:02 +0100 -Subject: [PATCH] ARM: BCM5301X: Add DT for Buffalo WZR-600DHP2 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/Makefile | 3 +- - arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts | 57 ++++++++++++++++++++++ - 2 files changed, 59 insertions(+), 1 deletion(-) - create mode 100644 arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -58,7 +58,8 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ - bcm4708-buffalo-wzr-1750dhp.dtb \ - bcm4708-netgear-r6250.dtb \ - bcm4708-netgear-r6300-v2.dtb \ -- bcm47081-asus-rt-n18u.dtb -+ bcm47081-asus-rt-n18u.dtb \ -+ bcm47081-buffalo-wzr-600dhp2.dtb - dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb - dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ - bcm21664-garnet.dtb ---- /dev/null -+++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts -@@ -0,0 +1,57 @@ -+/* -+ * Broadcom BCM470X / BCM5301X ARM platform code. -+ * DTS for Buffalo WZR-600DHP2 -+ * -+ * Copyright (C) 2014 Rafał Miłecki <[email protected]> -+ * -+ * Licensed under the GNU/GPL. See COPYING for details. -+ */ -+ -+/dts-v1/; -+ -+#include "bcm47081.dtsi" -+ -+/ { -+ compatible = "buffalo,wzr-600dhp2", "brcm,bcm47081", "brcm,bcm4708"; -+ model = "Buffalo WZR-600DHP2 (BCM47081)"; -+ -+ chosen { -+ bootargs = "console=ttyS0,115200"; -+ }; -+ -+ memory { -+ reg = <0x00000000 0x08000000>; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <200>; -+ -+ aoss { -+ label = "AOSS"; -+ linux,code = <KEY_WPS_BUTTON>; -+ gpios = <&chipcommon 9 GPIO_ACTIVE_LOW>; -+ }; -+ -+ restart { -+ label = "Reset"; -+ linux,code = <KEY_RESTART>; -+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; -+ }; -+ -+ /* Switch device mode? */ -+ mode { -+ label = "Mode"; -+ linux,code = <KEY_SETUP>; -+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>; -+ }; -+ -+ eject { -+ label = "USB eject"; -+ linux,code = <KEY_EJECTCD>; -+ gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; Deleted: trunk/target/linux/bcm53xx/patches-4.1/052-ARM-BCM5301X-Add-DT-for-Luxul-XWC-1000.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/052-ARM-BCM5301X-Add-DT-for-Luxul-XWC-1000.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/052-ARM-BCM5301X-Add-DT-for-Luxul-XWC-1000.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,89 +0,0 @@ -From e27a09ae9369e10bc589ef4d720ecf4abcbcec50 Mon Sep 17 00:00:00 2001 -From: Dan Haab <[email protected]> -Date: Mon, 19 Jan 2015 12:45:37 -0700 -Subject: [PATCH] ARM: BCM5301X: Add DT for Luxul XWC-1000 - -Luxul XWC-1000 is a controller device based on BCM4708 SoC. The only -unusual thing in its DTS file is "ubi" partition on NAND flash. - -Signed-off-by: Dan Haab <[email protected]> -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts | 60 ++++++++++++++++++++++++++++ - 2 files changed, 61 insertions(+) - create mode 100644 arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -56,6 +56,7 @@ dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amar - dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb - dtb-$(CONFIG_ARCH_BCM_5301X) += \ - bcm4708-buffalo-wzr-1750dhp.dtb \ -+ bcm4708-luxul-xwc-1000.dtb \ - bcm4708-netgear-r6250.dtb \ - bcm4708-netgear-r6300-v2.dtb \ - bcm47081-asus-rt-n18u.dtb \ ---- /dev/null -+++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts -@@ -0,0 +1,60 @@ -+/* -+ * Broadcom BCM470X / BCM5301X ARM platform code. -+ * DTS for Luxul XWC-1000 -+ * -+ * Copyright 2014 Luxul Inc. -+ * -+ * Licensed under the GNU/GPL. See COPYING for details. -+ */ -+ -+/dts-v1/; -+ -+#include "bcm4708.dtsi" -+ -+/ { -+ compatible = "luxul,xwc-1000", "brcm,bcm4708"; -+ model = "Luxul XWC-1000 (BCM4708)"; -+ -+ chosen { -+ bootargs = "console=ttyS0,115200"; -+ }; -+ -+ memory { -+ reg = <0x00000000 0x08000000>; -+ }; -+ -+ axi@18000000 { -+ nand@28000 { -+ reg = <0x00028000 0x1000>; -+ #address-cells = <1>; -+ #size-cells = <1>; -+ -+ partition@0 { -+ label = "ubi"; -+ reg = <0x00000000 0x08000000>; -+ }; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ status { -+ label = "bcm53xx:green:status"; -+ gpios = <&chipcommon 0 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "timer"; -+ }; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ restart { -+ label = "Reset"; -+ linux,code = <KEY_RESTART>; -+ gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; Deleted: trunk/target/linux/bcm53xx/patches-4.1/053-ARM-BCM5301X-Drop-unused-poll-interval-from-gpio-key.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/053-ARM-BCM5301X-Drop-unused-poll-interval-from-gpio-key.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/053-ARM-BCM5301X-Drop-unused-poll-interval-from-gpio-key.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,71 +0,0 @@ -From 78b745a4b05c920beaa66dfb140af134b5fc2425 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Wed, 14 Jan 2015 08:20:48 +0100 -Subject: [PATCH] ARM: BCM5301X: Drop unused poll-interval from gpio-keys -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It was accidentally left (& copied & pasted all around) from our -experiments with gpio-keys-polled. - -Signed-off-by: Rafał Miłecki <[email protected]> -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 1 - - arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 1 - - arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts | 1 - - arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts | 1 - - arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts | 1 - - 5 files changed, 5 deletions(-) - ---- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts -+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts -@@ -27,7 +27,6 @@ - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; -- poll-interval = <200>; - - restart { - label = "Reset"; ---- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts -+++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts -@@ -71,7 +71,6 @@ - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; -- poll-interval = <200>; - - wps { - label = "WPS"; ---- a/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts -+++ b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts -@@ -61,7 +61,6 @@ - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; -- poll-interval = <200>; - - wps { - label = "WPS"; ---- a/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts -+++ b/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts -@@ -61,7 +61,6 @@ - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; -- poll-interval = <200>; - - restart { - label = "Reset"; ---- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts -+++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts -@@ -27,7 +27,6 @@ - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; -- poll-interval = <200>; - - aoss { - label = "AOSS"; Deleted: trunk/target/linux/bcm53xx/patches-4.1/054-ARM-BCM5301X-Add-LEDs-for-Buffalo-devices.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/054-ARM-BCM5301X-Add-LEDs-for-Buffalo-devices.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/054-ARM-BCM5301X-Add-LEDs-for-Buffalo-devices.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,167 +0,0 @@ -From 8115a4e8d687427fbc1aa3774f50551563bf87f9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Wed, 14 Jan 2015 08:20:49 +0100 -Subject: [PATCH] ARM: BCM5301X: Add LEDs for Buffalo devices -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 67 ++++++++++++++++++++++ - arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts | 67 ++++++++++++++++++++++ - 2 files changed, 134 insertions(+) - ---- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts -+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts -@@ -23,6 +23,73 @@ - reg = <0x00000000 0x08000000>; - }; - -+ spi { -+ compatible = "spi-gpio"; -+ num-chipselects = <1>; -+ gpio-sck = <&chipcommon 7 0>; -+ gpio-mosi = <&chipcommon 4 0>; -+ cs-gpios = <&chipcommon 6 0>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ hc595: gpio_spi@0 { -+ compatible = "fairchild,74hc595"; -+ reg = <0>; -+ registers-number = <1>; -+ spi-max-frequency = <100000>; -+ -+ gpio-controller; -+ #gpio-cells = <2>; -+ -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ power0 { -+ label = "bcm53xx:red:power"; -+ gpios = <&hc595 1 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ power1 { -+ label = "bcm53xx:white:power"; -+ gpios = <&hc595 2 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ router0 { -+ label = "bcm53xx:blue:router"; -+ gpios = <&hc595 3 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ router1 { -+ label = "bcm53xx:amber:router"; -+ gpios = <&hc595 4 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ wan { -+ label = "bcm53xx:blue:wan"; -+ gpios = <&hc595 5 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ wireless0 { -+ label = "bcm53xx:blue:wireless"; -+ gpios = <&hc595 6 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ wireless1 { -+ label = "bcm53xx:amber:wireless"; -+ gpios = <&hc595 7 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-off"; -+ }; -+ }; -+ - gpio-keys { - compatible = "gpio-keys"; - #address-cells = <1>; ---- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts -+++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts -@@ -23,6 +23,73 @@ - reg = <0x00000000 0x08000000>; - }; - -+ spi { -+ compatible = "spi-gpio"; -+ num-chipselects = <1>; -+ gpio-sck = <&chipcommon 7 0>; -+ gpio-mosi = <&chipcommon 4 0>; -+ cs-gpios = <&chipcommon 6 0>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ hc595: gpio_spi@0 { -+ compatible = "fairchild,74hc595"; -+ reg = <0>; -+ registers-number = <1>; -+ spi-max-frequency = <100000>; -+ -+ gpio-controller; -+ #gpio-cells = <2>; -+ -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ power0 { -+ label = "bcm53xx:green:power"; -+ gpios = <&hc595 1 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ power1 { -+ label = "bcm53xx:red:power"; -+ gpios = <&hc595 2 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ router0 { -+ label = "bcm53xx:green:router"; -+ gpios = <&hc595 3 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ router1 { -+ label = "bcm53xx:amber:router"; -+ gpios = <&hc595 4 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ wan { -+ label = "bcm53xx:green:wan"; -+ gpios = <&hc595 5 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ wireless0 { -+ label = "bcm53xx:green:wireless"; -+ gpios = <&hc595 6 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ wireless1 { -+ label = "bcm53xx:amber:wireless"; -+ gpios = <&hc595 7 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "default-off"; -+ }; -+ }; -+ - gpio-keys { - compatible = "gpio-keys"; - #address-cells = <1>; Deleted: trunk/target/linux/bcm53xx/patches-4.1/055-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-900DHP.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/055-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-900DHP.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/055-ARM-BCM5301X-Add-DT-for-Buffalo-WZR-900DHP.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,68 +0,0 @@ -From 5b1864b899d2b591402704dd0f6528c8661f1817 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Tue, 20 Jan 2015 22:42:16 +0100 -Subject: [PATCH] ARM: BCM5301X: Add DT for Buffalo WZR-900DHP -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - arch/arm/boot/dts/Makefile | 3 +- - arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts | 37 +++++++++++++++++++++++ - 2 files changed, 39 insertions(+), 1 deletion(-) - create mode 100644 arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -60,7 +60,8 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ - bcm4708-netgear-r6250.dtb \ - bcm4708-netgear-r6300-v2.dtb \ - bcm47081-asus-rt-n18u.dtb \ -- bcm47081-buffalo-wzr-600dhp2.dtb -+ bcm47081-buffalo-wzr-600dhp2.dtb \ -+ bcm47081-buffalo-wzr-900dhp.dtb - dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb - dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ - bcm21664-garnet.dtb ---- /dev/null -+++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts -@@ -0,0 +1,37 @@ -+/* -+ * Broadcom BCM470X / BCM5301X ARM platform code. -+ * DTS for Buffalo WZR-900DHP -+ * -+ * Copyright (C) 2015 Rafał Miłecki <[email protected]> -+ * -+ * Licensed under the GNU/GPL. See COPYING for details. -+ */ -+ -+/dts-v1/; -+ -+#include "bcm47081.dtsi" -+ -+/ { -+ compatible = "buffalo,wzr-900dhp", "brcm,bcm47081", "brcm,bcm4708"; -+ model = "Buffalo WZR-900DHP (BCM47081)"; -+ -+ chosen { -+ bootargs = "console=ttyS0,115200"; -+ }; -+ -+ memory { -+ reg = <0x00000000 0x08000000>; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ restart { -+ label = "Reset"; -+ linux,code = <KEY_RESTART>; -+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; Deleted: trunk/target/linux/bcm53xx/patches-4.1/056-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/056-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/056-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,109 +0,0 @@ -From 4076b521cb50c411467c4ba65f82ef0079823357 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Wed, 18 Feb 2015 12:25:42 +0100 -Subject: [PATCH] ARM: BCM5301X: Add DT for Netgear R8000 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <[email protected]> -Reported-by: Ian Kent <[email protected]> -Signed-off-by: Florian Fainelli <[email protected]> ---- - arch/arm/boot/dts/Makefile | 3 +- - arch/arm/boot/dts/bcm4709-netgear-r8000.dts | 77 +++++++++++++++++++++++++++++ - 2 files changed, 79 insertions(+), 1 deletion(-) - create mode 100644 arch/arm/boot/dts/bcm4709-netgear-r8000.dts - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -61,7 +61,8 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ - bcm4708-netgear-r6300-v2.dtb \ - bcm47081-asus-rt-n18u.dtb \ - bcm47081-buffalo-wzr-600dhp2.dtb \ -- bcm47081-buffalo-wzr-900dhp.dtb -+ bcm47081-buffalo-wzr-900dhp.dtb \ -+ bcm4709-netgear-r8000.dtb - dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb - dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ - bcm21664-garnet.dtb ---- /dev/null -+++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts -@@ -0,0 +1,77 @@ -+/* -+ * Broadcom BCM470X / BCM5301X ARM platform code. -+ * DTS for Netgear R8000 -+ * -+ * Copyright (C) 2015 Rafał Miłecki <[email protected]> -+ * -+ * Licensed under the GNU/GPL. See COPYING for details. -+ */ -+ -+/dts-v1/; -+ -+#include "bcm4708.dtsi" -+ -+/ { -+ compatible = "netgear,r8000", "brcm,bcm4709", "brcm,bcm4708"; -+ model = "Netgear R8000 (BCM4709)"; -+ -+ chosen { -+ bootargs = "console=ttyS0,115200"; -+ }; -+ -+ memory { -+ reg = <0x00000000 0x08000000>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ power0 { -+ label = "bcm53xx:white:power"; -+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-on"; -+ }; -+ -+ power1 { -+ label = "bcm53xx:amber:power"; -+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ 5ghz-1 { -+ label = "bcm53xx:white:5ghz-1"; -+ gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ -+ 2ghz { -+ label = "bcm53xx:white:2ghz"; -+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "default-off"; -+ }; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ rfkill { -+ label = "WiFi"; -+ linux,code = <KEY_RFKILL>; -+ gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>; -+ }; -+ -+ wps { -+ label = "WPS"; -+ linux,code = <KEY_WPS_BUTTON>; -+ gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>; -+ }; -+ -+ restart { -+ label = "Reset"; -+ linux,code = <KEY_RESTART>; -+ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+}; Deleted: trunk/target/linux/bcm53xx/patches-4.1/057-ARM-BCM5301X-Fix-default-state-of-power-LEDs-on-Netg.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/057-ARM-BCM5301X-Fix-default-state-of-power-LEDs-on-Netg.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/057-ARM-BCM5301X-Fix-default-state-of-power-LEDs-on-Netg.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,35 +0,0 @@ -From 7875b470c9d80dff2d58ae9692adb3a2b5814a89 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Fri, 20 Feb 2015 11:22:05 +0100 -Subject: [PATCH] ARM: BCM5301X: Fix default state of power LEDs on Netgear - R6250 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We want green LED to be enabled by default. - -Signed-off-by: Rafał Miłecki <[email protected]> -Signed-off-by: Florian Fainelli <[email protected]> ---- - arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts -+++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts -@@ -45,13 +45,13 @@ - power0 { - label = "bcm53xx:green:power"; - gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>; -- linux,default-trigger = "default-off"; -+ linux,default-trigger = "default-on"; - }; - - power1 { - label = "bcm53xx:amber:power"; - gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; -- linux,default-trigger = "default-on"; -+ linux,default-trigger = "default-off"; - }; - - usb { Modified: trunk/target/linux/bcm53xx/patches-4.1/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -17,14 +17,14 @@ --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -62,6 +62,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ +@@ -63,6 +63,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ bcm47081-asus-rt-n18u.dtb \ bcm47081-buffalo-wzr-600dhp2.dtb \ bcm47081-buffalo-wzr-900dhp.dtb \ + bcm4709-buffalo-wxr-1900dhp.dtb \ bcm4709-netgear-r8000.dtb - dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb - dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ + dtb-$(CONFIG_ARCH_BCM_63XX) += \ + bcm963138dvt.dtb --- /dev/null +++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts @@ -0,0 +1,127 @@ Modified: trunk/target/linux/bcm53xx/patches-4.1/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -16,7 +16,7 @@ --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ +@@ -60,6 +60,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ bcm4708-luxul-xwc-1000.dtb \ bcm4708-netgear-r6250.dtb \ bcm4708-netgear-r6300-v2.dtb \ Modified: trunk/target/linux/bcm53xx/patches-4.1/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -16,9 +16,9 @@ --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb. - dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb - dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb +@@ -56,6 +56,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ + bcm2835-rpi-b.dtb \ + bcm2835-rpi-b-plus.dtb dtb-$(CONFIG_ARCH_BCM_5301X) += \ + bcm4708-asus-rt-ac68u.dtb \ bcm4708-buffalo-wzr-1750dhp.dtb \ Modified: trunk/target/linux/bcm53xx/patches-4.1/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -16,9 +16,9 @@ --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb. - dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb - dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb +@@ -56,6 +56,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ + bcm2835-rpi-b.dtb \ + bcm2835-rpi-b-plus.dtb dtb-$(CONFIG_ARCH_BCM_5301X) += \ + bcm4708-asus-rt-ac56u.dtb \ bcm4708-asus-rt-ac68u.dtb \ Modified: trunk/target/linux/bcm53xx/patches-4.1/066-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/066-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/066-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -17,14 +17,14 @@ --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -65,6 +65,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ +@@ -66,6 +66,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ bcm47081-asus-rt-n18u.dtb \ bcm47081-buffalo-wzr-600dhp2.dtb \ bcm47081-buffalo-wzr-900dhp.dtb \ + bcm4709-asus-rt-ac87u.dtb \ bcm4709-buffalo-wxr-1900dhp.dtb \ bcm4709-netgear-r8000.dtb - dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb + dtb-$(CONFIG_ARCH_BCM_63XX) += \ --- /dev/null +++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts @@ -0,0 +1,65 @@ Deleted: trunk/target/linux/bcm53xx/patches-4.1/080-watchdog-bcm47xx_wdt.c-add-restart-handler-support.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/080-watchdog-bcm47xx_wdt.c-add-restart-handler-support.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/080-watchdog-bcm47xx_wdt.c-add-restart-handler-support.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,74 +0,0 @@ -From 823769d2e6622a48276bee35b2dad5ba77cbdc25 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Sun, 25 Jan 2015 11:40:57 +0100 -Subject: [PATCH] watchdog: bcm47xx_wdt.c: add restart handler support -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Just like in case of other watchdog drivers, use the new kernel core -API to provide restart support. - -Signed-off-by: Rafał Miłecki <[email protected]> -Reviewed-by: Guenter Roeck <[email protected]> -Signed-off-by: Wim Van Sebroeck <[email protected]> ---- - drivers/watchdog/bcm47xx_wdt.c | 21 ++++++++++++++++++++- - include/linux/bcm47xx_wdt.h | 1 + - 2 files changed, 21 insertions(+), 1 deletion(-) - ---- a/drivers/watchdog/bcm47xx_wdt.c -+++ b/drivers/watchdog/bcm47xx_wdt.c -@@ -169,6 +169,17 @@ static int bcm47xx_wdt_notify_sys(struct - return NOTIFY_DONE; - } - -+static int bcm47xx_wdt_restart(struct notifier_block *this, unsigned long mode, -+ void *cmd) -+{ -+ struct bcm47xx_wdt *wdt; -+ -+ wdt = container_of(this, struct bcm47xx_wdt, restart_handler); -+ wdt->timer_set(wdt, 1); -+ -+ return NOTIFY_DONE; -+} -+ - static struct watchdog_ops bcm47xx_wdt_soft_ops = { - .owner = THIS_MODULE, - .start = bcm47xx_wdt_soft_start, -@@ -209,15 +220,23 @@ static int bcm47xx_wdt_probe(struct plat - if (ret) - goto err_timer; - -- ret = watchdog_register_device(&wdt->wdd); -+ wdt->restart_handler.notifier_call = &bcm47xx_wdt_restart; -+ wdt->restart_handler.priority = 64; -+ ret = register_restart_handler(&wdt->restart_handler); - if (ret) - goto err_notifier; - -+ ret = watchdog_register_device(&wdt->wdd); -+ if (ret) -+ goto err_handler; -+ - dev_info(&pdev->dev, "BCM47xx Watchdog Timer enabled (%d seconds%s%s)\n", - timeout, nowayout ? ", nowayout" : "", - soft ? ", Software Timer" : ""); - return 0; - -+err_handler: -+ unregister_restart_handler(&wdt->restart_handler); - err_notifier: - unregister_reboot_notifier(&wdt->notifier); - err_timer: ---- a/include/linux/bcm47xx_wdt.h -+++ b/include/linux/bcm47xx_wdt.h -@@ -16,6 +16,7 @@ struct bcm47xx_wdt { - - struct watchdog_device wdd; - struct notifier_block notifier; -+ struct notifier_block restart_handler; - - struct timer_list soft_timer; - atomic_t soft_ticks; Deleted: trunk/target/linux/bcm53xx/patches-4.1/081-watchdog-bcm47xx_wdt.c-allow-enabling-on-BCM5301X-ar.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/081-watchdog-bcm47xx_wdt.c-allow-enabling-on-BCM5301X-ar.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/081-watchdog-bcm47xx_wdt.c-allow-enabling-on-BCM5301X-ar.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,29 +0,0 @@ -From b08c144e3a1089cdb725e393fa4f68f83a73e31b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> -Date: Sat, 7 Feb 2015 18:04:10 +0100 -Subject: [PATCH] watchdog: bcm47xx_wdt.c: allow enabling on BCM5301X arch -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -BCM5301X (ARCH_BCM_5301X) is a new Broadcom architecture using the same -SoC bus driver (bcma) as BCM47XX but based on ARM instead of MIPS. - -Signed-off-by: Rafał Miłecki <[email protected]> -Reviewed-by: Guenter Roeck <[email protected]> -Signed-off-by: Wim Van Sebroeck <[email protected]> ---- - drivers/watchdog/Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -1101,7 +1101,7 @@ config ATH79_WDT - - config BCM47XX_WDT - tristate "Broadcom BCM47xx Watchdog Timer" -- depends on BCM47XX -+ depends on BCM47XX || ARCH_BCM_5301X - select WATCHDOG_CORE - help - Hardware driver for the Broadcom BCM47xx Watchdog Timer. Modified: trunk/target/linux/bcm53xx/patches-4.1/110-firmware-backport-NVRAM-driver.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/110-firmware-backport-NVRAM-driver.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/110-firmware-backport-NVRAM-driver.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -18,9 +18,9 @@ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -2166,6 +2166,8 @@ source "net/Kconfig" +@@ -2105,6 +2105,8 @@ source "drivers/Kconfig" - source "drivers/Kconfig" + source "drivers/firmware/Kconfig" +source "drivers/firmware/Kconfig" + @@ -29,9 +29,9 @@ source "arch/arm/Kconfig.debug" --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig -@@ -132,6 +132,7 @@ config ISCSI_IBFT - detect iSCSI boot parameters dynamically during system boot, say Y. - Otherwise, say N. +@@ -136,6 +136,7 @@ config QCOM_SCM + bool + depends on ARM || ARM64 +source "drivers/firmware/broadcom/Kconfig" source "drivers/firmware/google/Kconfig" @@ -39,44 +39,11 @@ --- a/drivers/firmware/Makefile +++ b/drivers/firmware/Makefile -@@ -12,6 +12,7 @@ obj-$(CONFIG_ISCSI_IBFT_FIND) += iscsi_i - obj-$(CONFIG_ISCSI_IBFT) += iscsi_ibft.o - obj-$(CONFIG_FIRMWARE_MEMMAP) += memmap.o +@@ -14,6 +14,7 @@ obj-$(CONFIG_FIRMWARE_MEMMAP) += memmap. + obj-$(CONFIG_QCOM_SCM) += qcom_scm.o + CFLAGS_qcom_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) +obj-y += broadcom/ obj-$(CONFIG_GOOGLE_FIRMWARE) += google/ obj-$(CONFIG_EFI) += efi/ obj-$(CONFIG_UEFI_CPER) += efi/ ---- a/drivers/net/ethernet/broadcom/b44.c -+++ b/drivers/net/ethernet/broadcom/b44.c -@@ -400,7 +400,7 @@ static void b44_set_flow_ctrl(struct b44 - } - - #ifdef CONFIG_BCM47XX --#include <bcm47xx_nvram.h> -+#include <linux/bcm47xx_nvram.h> - static void b44_wap54g10_workaround(struct b44 *bp) - { - char buf[20]; ---- a/drivers/net/ethernet/broadcom/bgmac.c -+++ b/drivers/net/ethernet/broadcom/bgmac.c -@@ -18,7 +18,7 @@ - #include <linux/interrupt.h> - #include <linux/dma-mapping.h> - #include <linux/platform_data/b53.h> --#include <bcm47xx_nvram.h> -+#include <linux/bcm47xx_nvram.h> - - static const struct bcma_device_id bgmac_bcma_tbl[] = { - BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_4706_MAC_GBIT, BCMA_ANY_REV, BCMA_ANY_CLASS), ---- a/drivers/ssb/driver_chipcommon_pmu.c -+++ b/drivers/ssb/driver_chipcommon_pmu.c -@@ -14,7 +14,7 @@ - #include <linux/delay.h> - #include <linux/export.h> - #ifdef CONFIG_BCM47XX --#include <bcm47xx_nvram.h> -+#include <linux/bcm47xx_nvram.h> - #endif - - #include "ssb_private.h" Modified: trunk/target/linux/bcm53xx/patches-4.1/131-ARM-BCM5301X-Implement-SMP-support.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/131-ARM-BCM5301X-Implement-SMP-support.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/131-ARM-BCM5301X-Implement-SMP-support.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -24,8 +24,8 @@ create mode 100644 arch/arm/mach-bcm/bcm5301x_headsmp.S create mode 100644 arch/arm/mach-bcm/bcm5301x_smp.c ---- a/Documentation/devicetree/bindings/arm/bcm4708.txt -+++ b/Documentation/devicetree/bindings/arm/bcm4708.txt +--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.txt ++++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.txt @@ -6,3 +6,27 @@ Boards with the BCM4708 SoC shall have t Required root node property: @@ -56,7 +56,7 @@ + }; --- a/Documentation/devicetree/bindings/arm/cpus.txt +++ b/Documentation/devicetree/bindings/arm/cpus.txt -@@ -188,6 +188,7 @@ nodes to be present and contain the prop +@@ -189,6 +189,7 @@ nodes to be present and contain the prop can be one of: "allwinner,sun6i-a31" "arm,psci" @@ -93,7 +93,7 @@ }; --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile -@@ -33,6 +33,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2 +@@ -36,6 +36,9 @@ obj-$(CONFIG_ARCH_BCM2835) += board_bcm2 # BCM5301X obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o Deleted: trunk/target/linux/bcm53xx/patches-4.1/150-pci-do-not-probe-too-early.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/150-pci-do-not-probe-too-early.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/150-pci-do-not-probe-too-early.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,29 +0,0 @@ -From cf72936c001056de1cfcb27dd9a232f5484ec59c Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens <[email protected]> -Date: Thu, 29 May 2014 20:54:15 +0200 -Subject: [PATCH 12/17] pci: do not probe too early - -Probing is done before the PCIe bridge is fully activated and the -address spaces does not get assigned to the PCIe devices. Without the -address space the driver can not register to this device. With this -patch the driver reregistration is done later. - -Signed-off-by: Hauke Mehrtens <[email protected]> ---- - drivers/pci/probe.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/drivers/pci/probe.c -+++ b/drivers/pci/probe.c -@@ -2100,7 +2100,10 @@ struct pci_bus *pci_scan_root_bus(struct - if (!found) - pci_bus_update_busn_res_end(b, max); - -- pci_bus_add_devices(b); -+ /* this should be done in arch/arm/kernel/bios32.c, because the -+ resources for the PCI devices are initilized later and doing -+ it here will fail. */ -+ /* pci_bus_add_devices(b); */ - return b; - } - EXPORT_SYMBOL(pci_scan_root_bus); Modified: trunk/target/linux/bcm53xx/patches-4.1/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -41,19 +41,19 @@ --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -86,6 +86,7 @@ config ARCH_BCM_5301X - select HAVE_ARM_TWD if SMP - select ARM_GLOBAL_TIMER - select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK +@@ -38,6 +38,7 @@ config ARCH_BCM_CYGNUS + config ARCH_BCM_5301X + bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7 + select ARCH_BCM_IPROC + select PCI_DOMAINS if PCI help Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. --- a/drivers/pci/host/Kconfig +++ b/drivers/pci/host/Kconfig -@@ -91,4 +91,11 @@ config PCI_XGENE - There are 5 internal PCIe ports available. Each port is GEN3 capable - and have varied lanes from x1 to x8. +@@ -125,4 +125,11 @@ config PCIE_IPROC_PLATFORM + Say Y here if you want to use the Broadcom iProc PCIe controller + through the generic platform bus interface +config PCI_BCM5301X + bool "BCM5301X PCIe2 host controller" @@ -65,14 +65,14 @@ endmenu --- a/drivers/pci/host/Makefile +++ b/drivers/pci/host/Makefile -@@ -11,3 +11,4 @@ obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spe - obj-$(CONFIG_PCI_KEYSTONE) += pci-keystone-dw.o pci-keystone.o - obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o - obj-$(CONFIG_PCI_XGENE) += pci-xgene.o +@@ -15,3 +15,4 @@ obj-$(CONFIG_PCI_LAYERSCAPE) += pci-laye + obj-$(CONFIG_PCI_VERSATILE) += pci-versatile.o + obj-$(CONFIG_PCIE_IPROC) += pcie-iproc.o + obj-$(CONFIG_PCIE_IPROC_PLATFORM) += pcie-iproc-platform.o +obj-$(CONFIG_PCI_BCM5301X) += pci-host-bcm5301x.o --- /dev/null +++ b/drivers/pci/host/pci-host-bcm5301x.c -@@ -0,0 +1,460 @@ +@@ -0,0 +1,459 @@ +/* + * Northstar PCI-Express driver + * Only supports Root-Complex (RC) mode @@ -485,7 +485,6 @@ +{ + struct hw_pci hw = { + .nr_controllers = 1, -+ .domain = bdev->core_unit, + .private_data = (void **)&bdev, + .setup = bcma_pcie2_setup, + .map_irq = bcma_pcie2_map_irq, @@ -508,7 +507,7 @@ + +static const struct bcma_device_id bcma_pcie2_table[] = { + BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_NS_PCIEG2, BCMA_ANY_REV, BCMA_ANY_CLASS), -+ BCMA_CORETABLE_END ++ {}, +}; +MODULE_DEVICE_TABLE(bcma, bcma_pcie2_table); + Modified: trunk/target/linux/bcm53xx/patches-4.1/184-USB-bcma-add-bcm53xx-support.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/184-USB-bcma-add-bcm53xx-support.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/184-USB-bcma-add-bcm53xx-support.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -128,6 +128,6 @@ static const struct bcma_device_id bcma_hcd_table[] = { BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_USB20_HOST, BCMA_ANY_REV, BCMA_ANY_CLASS), + BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_NS_USB20, BCMA_ANY_REV, BCMA_ANY_CLASS), - BCMA_CORETABLE_END + {}, }; MODULE_DEVICE_TABLE(bcma, bcma_hcd_table); Modified: trunk/target/linux/bcm53xx/patches-4.1/300-ARM-BCM5301X-Disable-MMU-and-Dcache-for-decompression.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/300-ARM-BCM5301X-Disable-MMU-and-Dcache-for-decompression.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/300-ARM-BCM5301X-Disable-MMU-and-Dcache-for-decompression.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -20,7 +20,7 @@ --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile -@@ -46,6 +46,11 @@ ifeq ($(CONFIG_ARCH_ACORN),y) +@@ -31,6 +31,11 @@ ifeq ($(CONFIG_ARCH_ACORN),y) OBJS += ll_char_wr.o font.o endif Modified: trunk/target/linux/bcm53xx/patches-4.1/321-ARM-BCM5301X-Set-vcc-gpio-for-USB-controllers.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/321-ARM-BCM5301X-Set-vcc-gpio-for-USB-controllers.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/321-ARM-BCM5301X-Set-vcc-gpio-for-USB-controllers.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -12,8 +12,6 @@ arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 11 +++++++++++ 2 files changed, 31 insertions(+) -diff --git a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts -index 0b76a07..d0bb118 100644 --- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts +++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts @@ -25,6 +25,26 @@ @@ -43,8 +41,6 @@ spi { compatible = "spi-gpio"; num-chipselects = <1>; -diff --git a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts -index d8ccc70..a05b8c2 100644 --- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts +++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts @@ -35,6 +35,17 @@ @@ -65,6 +61,3 @@ leds { compatible = "gpio-leds"; --- -1.8.4.5 - Modified: trunk/target/linux/bcm53xx/patches-4.1/420-mtd-bcm5301x_nand.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/420-mtd-bcm5301x_nand.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/420-mtd-bcm5301x_nand.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -1,8 +1,8 @@ --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig -@@ -516,4 +516,10 @@ config MTD_NAND_XWAY - Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached - to the External Bus Unit (EBU). +@@ -530,4 +530,10 @@ config MTD_NAND_HISI504 + help + Enables support for NAND controller on Hisilicon SoC Hip04. +config MTD_NAND_BCM + tristate "Support for NAND on some Broadcom SoC" @@ -13,10 +13,10 @@ endif # MTD_NAND --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile -@@ -50,5 +50,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740 - obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi-nand/ - obj-$(CONFIG_MTD_NAND_XWAY) += xway_nand.o +@@ -52,5 +52,6 @@ obj-$(CONFIG_MTD_NAND_XWAY) += xway_nan obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash/ + obj-$(CONFIG_MTD_NAND_SUNXI) += sunxi_nand.o + obj-$(CONFIG_MTD_NAND_HISI504) += hisi504_nand.o +obj-$(CONFIG_MTD_NAND_BCM) += bcm_nand.o nand-objs := nand_base.o nand_bbt.o nand_timings.o @@ -1579,7 +1579,7 @@ + +static const struct bcma_device_id bcmnand_bcma_tbl[] = { + BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_NS_NAND, BCMA_ANY_REV, BCMA_ANY_CLASS), -+ BCMA_CORETABLE_END ++ {}, +}; +MODULE_DEVICE_TABLE(bcma, bgmac_bcma_tbl); + Modified: trunk/target/linux/bcm53xx/patches-4.1/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -25,7 +25,7 @@ /** * add_to_list - add physical eraseblock to a list. * @ai: attaching information -@@ -1418,6 +1421,8 @@ int ubi_attach(struct ubi_device *ubi, i +@@ -1427,6 +1430,8 @@ int ubi_attach(struct ubi_device *ubi, i if (!ai) return -ENOMEM; @@ -36,7 +36,7 @@ if ((int)mtd_div_by_eb(ubi->mtd->size, ubi->mtd) <= UBI_FM_MAX_START) { --- a/drivers/mtd/ubi/io.c +++ b/drivers/mtd/ubi/io.c -@@ -753,6 +753,10 @@ int ubi_io_read_ec_hdr(struct ubi_device +@@ -755,6 +755,10 @@ int ubi_io_read_ec_hdr(struct ubi_device } magic = be32_to_cpu(ec_hdr->magic); @@ -49,7 +49,7 @@ return UBI_IO_BAD_HDR_EBADMSG; --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h -@@ -743,6 +743,7 @@ extern struct mutex ubi_devices_mutex; +@@ -781,6 +781,7 @@ extern struct mutex ubi_devices_mutex; extern struct blocking_notifier_head ubi_notifiers; /* attach.c */ Modified: trunk/target/linux/bcm53xx/patches-4.1/810-USB-bcma-make-helper-creating-platform-dev-more-gene.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/810-USB-bcma-make-helper-creating-platform-dev-more-gene.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/810-USB-bcma-make-helper-creating-platform-dev-more-gene.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -14,11 +14,9 @@ drivers/usb/host/bcma-hcd.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) -diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c -index 5398e3d..d347282 100644 --- a/drivers/usb/host/bcma-hcd.c +++ b/drivers/usb/host/bcma-hcd.c -@@ -249,7 +249,10 @@ static const struct usb_ehci_pdata ehci_pdata = { +@@ -249,7 +249,10 @@ static const struct usb_ehci_pdata ehci_ static const struct usb_ohci_pdata ohci_pdata = { }; @@ -30,7 +28,7 @@ { struct platform_device *hci_dev; struct resource hci_res[2]; -@@ -264,8 +267,7 @@ static struct platform_device *bcma_hcd_create_pdev(struct bcma_device *dev, boo +@@ -264,8 +267,7 @@ static struct platform_device *bcma_hcd_ hci_res[1].start = dev->irq; hci_res[1].flags = IORESOURCE_IRQ; @@ -40,7 +38,7 @@ if (!hci_dev) return ERR_PTR(-ENOMEM); -@@ -276,12 +278,8 @@ static struct platform_device *bcma_hcd_create_pdev(struct bcma_device *dev, boo +@@ -276,12 +278,8 @@ static struct platform_device *bcma_hcd_ ARRAY_SIZE(hci_res)); if (ret) goto err_alloc; @@ -55,7 +53,7 @@ if (ret) goto err_alloc; ret = platform_device_add(hci_dev); -@@ -334,11 +332,15 @@ static int bcma_hcd_probe(struct bcma_device *dev) +@@ -334,11 +332,15 @@ static int bcma_hcd_probe(struct bcma_de && chipinfo->rev == 0) ohci_addr = 0x18009000; @@ -73,6 +71,3 @@ if (IS_ERR(usb_dev->ehci_dev)) { err = PTR_ERR(usb_dev->ehci_dev); goto err_unregister_ohci_dev; --- -1.8.4.5 - Modified: trunk/target/linux/bcm53xx/patches-4.1/811-USB-bcma-use-separated-function-for-USB-2.0-initiali.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/811-USB-bcma-use-separated-function-for-USB-2.0-initiali.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/811-USB-bcma-use-separated-function-for-USB-2.0-initiali.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -13,11 +13,9 @@ drivers/usb/host/bcma-hcd.c | 51 +++++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 16 deletions(-) -diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c -index d347282..0b4d0e8 100644 --- a/drivers/usb/host/bcma-hcd.c +++ b/drivers/usb/host/bcma-hcd.c -@@ -34,6 +34,7 @@ MODULE_DESCRIPTION("Common USB driver for BCMA Bus"); +@@ -34,6 +34,7 @@ MODULE_DESCRIPTION("Common USB driver fo MODULE_LICENSE("GPL"); struct bcma_hcd_device { @@ -57,7 +55,7 @@ switch (dev->id.id) { case BCMA_CORE_NS_USB20: bcma_hcd_init_chip_arm(dev); -@@ -346,7 +336,6 @@ static int bcma_hcd_probe(struct bcma_device *dev) +@@ -346,7 +336,6 @@ static int bcma_hcd_probe(struct bcma_de goto err_unregister_ohci_dev; } @@ -102,6 +100,3 @@ static void bcma_hcd_remove(struct bcma_device *dev) { struct bcma_hcd_device *usb_dev = bcma_get_drvdata(dev); --- -1.8.4.5 - Modified: trunk/target/linux/bcm53xx/patches-4.1/812-USB-bcma-add-USB-3.0-support.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/812-USB-bcma-add-USB-3.0-support.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/812-USB-bcma-add-USB-3.0-support.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -11,8 +11,6 @@ drivers/usb/host/bcma-hcd.c | 219 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 219 insertions(+) -diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c -index 0b4d0e8..ebcda25 100644 --- a/drivers/usb/host/bcma-hcd.c +++ b/drivers/usb/host/bcma-hcd.c @@ -37,6 +37,7 @@ struct bcma_hcd_device { @@ -239,7 +237,7 @@ static int bcma_hcd_probe(struct bcma_device *dev) { int err; -@@ -365,6 +575,11 @@ static int bcma_hcd_probe(struct bcma_device *dev) +@@ -365,6 +575,11 @@ static int bcma_hcd_probe(struct bcma_de if (err) return err; break; @@ -251,7 +249,7 @@ default: return -ENODEV; } -@@ -378,11 +593,14 @@ static void bcma_hcd_remove(struct bcma_device *dev) +@@ -378,11 +593,14 @@ static void bcma_hcd_remove(struct bcma_ struct bcma_hcd_device *usb_dev = bcma_get_drvdata(dev); struct platform_device *ohci_dev = usb_dev->ohci_dev; struct platform_device *ehci_dev = usb_dev->ehci_dev; @@ -266,14 +264,11 @@ bcma_core_disable(dev, 0); } -@@ -419,6 +637,7 @@ static int bcma_hcd_resume(struct bcma_device *dev) +@@ -419,6 +637,7 @@ static int bcma_hcd_resume(struct bcma_d static const struct bcma_device_id bcma_hcd_table[] = { BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_USB20_HOST, BCMA_ANY_REV, BCMA_ANY_CLASS), BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_NS_USB20, BCMA_ANY_REV, BCMA_ANY_CLASS), + BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_NS_USB30, BCMA_ANY_REV, BCMA_ANY_CLASS), - BCMA_CORETABLE_END + {}, }; MODULE_DEVICE_TABLE(bcma, bcma_hcd_table); --- -1.8.4.5 - Modified: trunk/target/linux/bcm53xx/patches-4.1/813-USB-bcma-fix-setting-VCC-GPIO-value.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/813-USB-bcma-fix-setting-VCC-GPIO-value.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/813-USB-bcma-fix-setting-VCC-GPIO-value.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -14,11 +14,9 @@ drivers/usb/host/bcma-hcd.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) -diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c -index 8853ef7..d18ffdc 100644 --- a/drivers/usb/host/bcma-hcd.c +++ b/drivers/usb/host/bcma-hcd.c -@@ -230,17 +230,22 @@ static void bcma_hcd_init_chip_arm(struct bcma_device *dev) +@@ -230,17 +230,22 @@ static void bcma_hcd_init_chip_arm(struc static void bcma_hci_platform_power_gpio(struct bcma_device *dev, bool val) { @@ -45,6 +43,3 @@ gpio_free(gpio); } } --- -1.8.4.5 - Modified: trunk/target/linux/bcm53xx/patches-4.1/820-xhci-add-Broadcom-specific-fake-doorbell.patch =================================================================== --- trunk/target/linux/bcm53xx/patches-3.18/820-xhci-add-Broadcom-specific-fake-doorbell.patch 2015-06-25 12:13:57 UTC (rev 46127) +++ trunk/target/linux/bcm53xx/patches-4.1/820-xhci-add-Broadcom-specific-fake-doorbell.patch 2015-06-25 21:33:53 UTC (rev 46128) @@ -14,11 +14,9 @@ drivers/usb/host/xhci.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) -diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c -index 3bceabe..0737ab2 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -122,6 +122,64 @@ int xhci_halt(struct xhci_hcd *xhci) +@@ -121,6 +121,64 @@ int xhci_halt(struct xhci_hcd *xhci) return ret; } @@ -83,7 +81,7 @@ /* * Set the run bit and wait for the host to be running. */ -@@ -146,6 +204,10 @@ static int xhci_start(struct xhci_hcd *xhci) +@@ -145,6 +203,10 @@ static int xhci_start(struct xhci_hcd *x xhci_err(xhci, "Host took too long to start, " "waited %u microseconds.\n", XHCI_MAX_HALT_USEC); @@ -94,6 +92,3 @@ if (!ret) xhci->xhc_state &= ~XHCI_STATE_HALTED; return ret; --- -1.8.4.5 - _______________________________________________ openwrt-commits mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits
