summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2014-01-13 12:12:50 +0000
committerJonas Gorski <jogo@openwrt.org>2014-01-13 12:12:50 +0000
commitd9a20b6f461c3be0278ab8e05c2338f7b232482f (patch)
treeb489dea244d759115b021ee70ad04a82017990b0
parentaf7e570c3b63d414533aaf179ef0cbc5b620ec6f (diff)
downloadmtk-20170518-d9a20b6f461c3be0278ab8e05c2338f7b232482f.zip
mtk-20170518-d9a20b6f461c3be0278ab8e05c2338f7b232482f.tar.gz
mtk-20170518-d9a20b6f461c3be0278ab8e05c2338f7b232482f.tar.bz2
brcm63xx: spi flash on legacy spi controller needs the workaround
Fixes generic SPI flash accesses on BCM6358/BCM6368. BCM6338 still needs additional fixes for M25P80, so it remains broken for now. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 39266
-rw-r--r--target/linux/brcm63xx/patches-3.10/411-MIPS-BCM63XX-Register-SPI-flash-if-present.patch5
-rw-r--r--target/linux/brcm63xx/patches-3.10/415-MIPS-BCM63XX-store-the-flash-type-in-global-variable.patch2
2 files changed, 5 insertions, 2 deletions
diff --git a/target/linux/brcm63xx/patches-3.10/411-MIPS-BCM63XX-Register-SPI-flash-if-present.patch b/target/linux/brcm63xx/patches-3.10/411-MIPS-BCM63XX-Register-SPI-flash-if-present.patch
index 9f4e25d..516becd 100644
--- a/target/linux/brcm63xx/patches-3.10/411-MIPS-BCM63XX-Register-SPI-flash-if-present.patch
+++ b/target/linux/brcm63xx/patches-3.10/411-MIPS-BCM63XX-Register-SPI-flash-if-present.patch
@@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
switch (val & STRAPBUS_6368_BOOT_SEL_MASK) {
case STRAPBUS_6368_BOOT_SEL_NAND:
return BCM63XX_FLASH_TYPE_NAND;
-@@ -117,8 +143,11 @@ int __init bcm63xx_flash_register(void)
+@@ -117,8 +143,14 @@ int __init bcm63xx_flash_register(void)
return platform_device_register(&mtd_dev);
case BCM63XX_FLASH_TYPE_SERIAL:
@@ -77,6 +77,9 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+ if (BCMCPU_IS_6328() || BCMCPU_IS_6362())
+ bcm63xx_spi_flash_info[0].bus_num = 1;
+
++ if (BCMCPU_IS_6358() || BCMCPU_IS_6368())
++ bcm63xx_flash_data.max_transfer_len = SPI_6358_MSG_DATA_SIZE;
++
+ return spi_register_board_info(bcm63xx_spi_flash_info,
+ ARRAY_SIZE(bcm63xx_spi_flash_info));
case BCM63XX_FLASH_TYPE_NAND:
diff --git a/target/linux/brcm63xx/patches-3.10/415-MIPS-BCM63XX-store-the-flash-type-in-global-variable.patch b/target/linux/brcm63xx/patches-3.10/415-MIPS-BCM63XX-store-the-flash-type-in-global-variable.patch
index a6cc6a1..e7f8bf0 100644
--- a/target/linux/brcm63xx/patches-3.10/415-MIPS-BCM63XX-store-the-flash-type-in-global-variable.patch
+++ b/target/linux/brcm63xx/patches-3.10/415-MIPS-BCM63XX-store-the-flash-type-in-global-variable.patch
@@ -97,7 +97,7 @@ Subject: [PATCH 38/59] MIPS: BCM63XX: store the flash type in global variable
case BCM63XX_FLASH_TYPE_PARALLEL:
/* read base address of boot chip select (0) */
val = bcm_mpi_readl(MPI_CSBASE_REG(0));
-@@ -153,7 +166,7 @@ int __init bcm63xx_flash_register(void)
+@@ -156,7 +169,7 @@ int __init bcm63xx_flash_register(void)
return -ENODEV;
default:
pr_err("flash detection failed for BCM%x: %d\n",