Changeset 42447


Ignore:
Timestamp:
2014-09-08T21:50:11+02:00 (3 years ago)
Author:
hauke
Message:

kernel: update bcma to the version from wireless-testing master-2014-09-04 tag

Signed-off-by: Rafał Miłecki <zajec5@…>

Location:
trunk/target/linux
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/generic/patches-3.10/025-bcma_backport.patch

    r42221 r42447  
    10861086                                /* pr_debug("erom: master wrapper %d " 
    10871087                                 * has %d descriptors\n", i, j); */ 
     1088@@ -407,10 +421,13 @@ static int bcma_get_next_core(struct bcm 
     1089                core->io_addr = ioremap_nocache(core->addr, BCMA_CORE_SIZE); 
     1090                if (!core->io_addr) 
     1091                        return -ENOMEM; 
     1092-               core->io_wrap = ioremap_nocache(core->wrap, BCMA_CORE_SIZE); 
     1093-               if (!core->io_wrap) { 
     1094-                       iounmap(core->io_addr); 
     1095-                       return -ENOMEM; 
     1096+               if (core->wrap) { 
     1097+                       core->io_wrap = ioremap_nocache(core->wrap, 
     1098+                                                       BCMA_CORE_SIZE); 
     1099+                       if (!core->io_wrap) { 
     1100+                               iounmap(core->io_addr); 
     1101+                               return -ENOMEM; 
     1102+                       } 
     1103                } 
     1104        } 
     1105        return 0; 
    10881106--- a/drivers/bcma/sprom.c 
    10891107+++ b/drivers/bcma/sprom.c 
     
    17671785                } 
    17681786        } 
     1787--- a/drivers/bcma/driver_mips.c 
     1788+++ b/drivers/bcma/driver_mips.c 
     1789@@ -21,6 +21,14 @@ 
     1790 #include <linux/serial_reg.h> 
     1791 #include <linux/time.h> 
     1792  
     1793+enum bcma_boot_dev { 
     1794+       BCMA_BOOT_DEV_UNK = 0, 
     1795+       BCMA_BOOT_DEV_ROM, 
     1796+       BCMA_BOOT_DEV_PARALLEL, 
     1797+       BCMA_BOOT_DEV_SERIAL, 
     1798+       BCMA_BOOT_DEV_NAND, 
     1799+}; 
     1800+ 
     1801 static const char * const part_probes[] = { "bcm47xxpart", NULL }; 
     1802  
     1803 static struct physmap_flash_data bcma_pflash_data = { 
     1804@@ -229,11 +237,51 @@ u32 bcma_cpu_clock(struct bcma_drv_mips 
     1805 } 
     1806 EXPORT_SYMBOL(bcma_cpu_clock); 
     1807  
     1808+static enum bcma_boot_dev bcma_boot_dev(struct bcma_bus *bus) 
     1809+{ 
     1810+       struct bcma_drv_cc *cc = &bus->drv_cc; 
     1811+       u8 cc_rev = cc->core->id.rev; 
     1812+ 
     1813+       if (cc_rev == 42) { 
     1814+               struct bcma_device *core; 
     1815+ 
     1816+               core = bcma_find_core(bus, BCMA_CORE_NS_ROM); 
     1817+               if (core) { 
     1818+                       switch (bcma_aread32(core, BCMA_IOST) & 
     1819+                               BCMA_NS_ROM_IOST_BOOT_DEV_MASK) { 
     1820+                       case BCMA_NS_ROM_IOST_BOOT_DEV_NOR: 
     1821+                               return BCMA_BOOT_DEV_SERIAL; 
     1822+                       case BCMA_NS_ROM_IOST_BOOT_DEV_NAND: 
     1823+                               return BCMA_BOOT_DEV_NAND; 
     1824+                       case BCMA_NS_ROM_IOST_BOOT_DEV_ROM: 
     1825+                       default: 
     1826+                               return BCMA_BOOT_DEV_ROM; 
     1827+                       } 
     1828+               } 
     1829+       } else { 
     1830+               if (cc_rev == 38) { 
     1831+                       if (cc->status & BCMA_CC_CHIPST_5357_NAND_BOOT) 
     1832+                               return BCMA_BOOT_DEV_NAND; 
     1833+                       else if (cc->status & BIT(5)) 
     1834+                               return BCMA_BOOT_DEV_ROM; 
     1835+               } 
     1836+ 
     1837+               if ((cc->capabilities & BCMA_CC_CAP_FLASHT) == 
     1838+                   BCMA_CC_FLASHT_PARA) 
     1839+                       return BCMA_BOOT_DEV_PARALLEL; 
     1840+               else 
     1841+                       return BCMA_BOOT_DEV_SERIAL; 
     1842+       } 
     1843+ 
     1844+       return BCMA_BOOT_DEV_SERIAL; 
     1845+} 
     1846+ 
     1847 static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore) 
     1848 { 
     1849        struct bcma_bus *bus = mcore->core->bus; 
     1850        struct bcma_drv_cc *cc = &bus->drv_cc; 
     1851        struct bcma_pflash *pflash = &cc->pflash; 
     1852+       enum bcma_boot_dev boot_dev; 
     1853  
     1854        switch (cc->capabilities & BCMA_CC_CAP_FLASHT) { 
     1855        case BCMA_CC_FLASHT_STSER: 
     1856@@ -269,6 +317,20 @@ static void bcma_core_mips_flash_detect( 
     1857                        bcma_nflash_init(cc); 
     1858                } 
     1859        } 
     1860+ 
     1861+       /* Determine flash type this SoC boots from */ 
     1862+       boot_dev = bcma_boot_dev(bus); 
     1863+       switch (boot_dev) { 
     1864+       case BCMA_BOOT_DEV_PARALLEL: 
     1865+       case BCMA_BOOT_DEV_SERIAL: 
     1866+               /* TODO: Init NVRAM using BCMA_SOC_FLASH2 window */ 
     1867+               break; 
     1868+       case BCMA_BOOT_DEV_NAND: 
     1869+               /* TODO: Init NVRAM using BCMA_SOC_FLASH1 window */ 
     1870+               break; 
     1871+       default: 
     1872+               break; 
     1873+       } 
     1874 } 
     1875  
     1876 void bcma_core_mips_early_init(struct bcma_drv_mips *mcore) 
     1877--- a/drivers/bcma/host_soc.c 
     1878+++ b/drivers/bcma/host_soc.c 
     1879@@ -134,12 +134,16 @@ static void bcma_host_soc_block_write(st 
     1880  
     1881 static u32 bcma_host_soc_aread32(struct bcma_device *core, u16 offset) 
     1882 { 
     1883+       if (WARN_ONCE(!core->io_wrap, "Accessed core has no wrapper/agent\n")) 
     1884+               return ~0; 
     1885        return readl(core->io_wrap + offset); 
     1886 } 
     1887  
     1888 static void bcma_host_soc_awrite32(struct bcma_device *core, u16 offset, 
     1889                                  u32 value) 
     1890 { 
     1891+       if (WARN_ONCE(!core->io_wrap, "Accessed core has no wrapper/agent\n")) 
     1892+               return; 
     1893        writel(value, core->io_wrap + offset); 
     1894 } 
     1895  
     1896--- a/include/linux/bcma/bcma_regs.h 
     1897+++ b/include/linux/bcma/bcma_regs.h 
     1898@@ -39,6 +39,11 @@ 
     1899 #define  BCMA_RESET_CTL_RESET          0x0001 
     1900 #define BCMA_RESET_ST                  0x0804 
     1901  
     1902+#define BCMA_NS_ROM_IOST_BOOT_DEV_MASK 0x0003 
     1903+#define BCMA_NS_ROM_IOST_BOOT_DEV_NOR  0x0000 
     1904+#define BCMA_NS_ROM_IOST_BOOT_DEV_NAND 0x0001 
     1905+#define BCMA_NS_ROM_IOST_BOOT_DEV_ROM  0x0002 
     1906+ 
     1907 /* BCMA PCI config space registers. */ 
     1908 #define BCMA_PCI_PMCSR                 0x44 
     1909 #define  BCMA_PCI_PE                   0x100 
  • trunk/target/linux/generic/patches-3.14/025-bcma_backport.patch

    r42221 r42447  
    567567        { BCMA_CORE_AMEMC, "AMEMC (DDR)" }, 
    568568        { BCMA_CORE_ALTA, "ALTA (I2S)" }, 
     569@@ -421,10 +421,13 @@ static int bcma_get_next_core(struct bcm 
     570                core->io_addr = ioremap_nocache(core->addr, BCMA_CORE_SIZE); 
     571                if (!core->io_addr) 
     572                        return -ENOMEM; 
     573-               core->io_wrap = ioremap_nocache(core->wrap, BCMA_CORE_SIZE); 
     574-               if (!core->io_wrap) { 
     575-                       iounmap(core->io_addr); 
     576-                       return -ENOMEM; 
     577+               if (core->wrap) { 
     578+                       core->io_wrap = ioremap_nocache(core->wrap, 
     579+                                                       BCMA_CORE_SIZE); 
     580+                       if (!core->io_wrap) { 
     581+                               iounmap(core->io_addr); 
     582+                               return -ENOMEM; 
     583+                       } 
     584                } 
     585        } 
     586        return 0; 
     587--- a/drivers/bcma/host_soc.c 
     588+++ b/drivers/bcma/host_soc.c 
     589@@ -134,12 +134,16 @@ static void bcma_host_soc_block_write(st 
     590  
     591 static u32 bcma_host_soc_aread32(struct bcma_device *core, u16 offset) 
     592 { 
     593+       if (WARN_ONCE(!core->io_wrap, "Accessed core has no wrapper/agent\n")) 
     594+               return ~0; 
     595        return readl(core->io_wrap + offset); 
     596 } 
     597  
     598 static void bcma_host_soc_awrite32(struct bcma_device *core, u16 offset, 
     599                                  u32 value) 
     600 { 
     601+       if (WARN_ONCE(!core->io_wrap, "Accessed core has no wrapper/agent\n")) 
     602+               return; 
     603        writel(value, core->io_wrap + offset); 
     604 } 
     605  
     606--- a/drivers/bcma/driver_mips.c 
     607+++ b/drivers/bcma/driver_mips.c 
     608@@ -21,6 +21,14 @@ 
     609 #include <linux/serial_reg.h> 
     610 #include <linux/time.h> 
     611  
     612+enum bcma_boot_dev { 
     613+       BCMA_BOOT_DEV_UNK = 0, 
     614+       BCMA_BOOT_DEV_ROM, 
     615+       BCMA_BOOT_DEV_PARALLEL, 
     616+       BCMA_BOOT_DEV_SERIAL, 
     617+       BCMA_BOOT_DEV_NAND, 
     618+}; 
     619+ 
     620 static const char * const part_probes[] = { "bcm47xxpart", NULL }; 
     621  
     622 static struct physmap_flash_data bcma_pflash_data = { 
     623@@ -229,11 +237,51 @@ u32 bcma_cpu_clock(struct bcma_drv_mips 
     624 } 
     625 EXPORT_SYMBOL(bcma_cpu_clock); 
     626  
     627+static enum bcma_boot_dev bcma_boot_dev(struct bcma_bus *bus) 
     628+{ 
     629+       struct bcma_drv_cc *cc = &bus->drv_cc; 
     630+       u8 cc_rev = cc->core->id.rev; 
     631+ 
     632+       if (cc_rev == 42) { 
     633+               struct bcma_device *core; 
     634+ 
     635+               core = bcma_find_core(bus, BCMA_CORE_NS_ROM); 
     636+               if (core) { 
     637+                       switch (bcma_aread32(core, BCMA_IOST) & 
     638+                               BCMA_NS_ROM_IOST_BOOT_DEV_MASK) { 
     639+                       case BCMA_NS_ROM_IOST_BOOT_DEV_NOR: 
     640+                               return BCMA_BOOT_DEV_SERIAL; 
     641+                       case BCMA_NS_ROM_IOST_BOOT_DEV_NAND: 
     642+                               return BCMA_BOOT_DEV_NAND; 
     643+                       case BCMA_NS_ROM_IOST_BOOT_DEV_ROM: 
     644+                       default: 
     645+                               return BCMA_BOOT_DEV_ROM; 
     646+                       } 
     647+               } 
     648+       } else { 
     649+               if (cc_rev == 38) { 
     650+                       if (cc->status & BCMA_CC_CHIPST_5357_NAND_BOOT) 
     651+                               return BCMA_BOOT_DEV_NAND; 
     652+                       else if (cc->status & BIT(5)) 
     653+                               return BCMA_BOOT_DEV_ROM; 
     654+               } 
     655+ 
     656+               if ((cc->capabilities & BCMA_CC_CAP_FLASHT) == 
     657+                   BCMA_CC_FLASHT_PARA) 
     658+                       return BCMA_BOOT_DEV_PARALLEL; 
     659+               else 
     660+                       return BCMA_BOOT_DEV_SERIAL; 
     661+       } 
     662+ 
     663+       return BCMA_BOOT_DEV_SERIAL; 
     664+} 
     665+ 
     666 static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore) 
     667 { 
     668        struct bcma_bus *bus = mcore->core->bus; 
     669        struct bcma_drv_cc *cc = &bus->drv_cc; 
     670        struct bcma_pflash *pflash = &cc->pflash; 
     671+       enum bcma_boot_dev boot_dev; 
     672  
     673        switch (cc->capabilities & BCMA_CC_CAP_FLASHT) { 
     674        case BCMA_CC_FLASHT_STSER: 
     675@@ -269,6 +317,20 @@ static void bcma_core_mips_flash_detect( 
     676                        bcma_nflash_init(cc); 
     677                } 
     678        } 
     679+ 
     680+       /* Determine flash type this SoC boots from */ 
     681+       boot_dev = bcma_boot_dev(bus); 
     682+       switch (boot_dev) { 
     683+       case BCMA_BOOT_DEV_PARALLEL: 
     684+       case BCMA_BOOT_DEV_SERIAL: 
     685+               /* TODO: Init NVRAM using BCMA_SOC_FLASH2 window */ 
     686+               break; 
     687+       case BCMA_BOOT_DEV_NAND: 
     688+               /* TODO: Init NVRAM using BCMA_SOC_FLASH1 window */ 
     689+               break; 
     690+       default: 
     691+               break; 
     692+       } 
     693 } 
     694  
     695 void bcma_core_mips_early_init(struct bcma_drv_mips *mcore) 
     696--- a/include/linux/bcma/bcma_regs.h 
     697+++ b/include/linux/bcma/bcma_regs.h 
     698@@ -39,6 +39,11 @@ 
     699 #define  BCMA_RESET_CTL_RESET          0x0001 
     700 #define BCMA_RESET_ST                  0x0804 
     701  
     702+#define BCMA_NS_ROM_IOST_BOOT_DEV_MASK 0x0003 
     703+#define BCMA_NS_ROM_IOST_BOOT_DEV_NOR  0x0000 
     704+#define BCMA_NS_ROM_IOST_BOOT_DEV_NAND 0x0001 
     705+#define BCMA_NS_ROM_IOST_BOOT_DEV_ROM  0x0002 
     706+ 
     707 /* BCMA PCI config space registers. */ 
     708 #define BCMA_PCI_PMCSR                 0x44 
     709 #define  BCMA_PCI_PE                   0x100 
Note: See TracChangeset for help on using the changeset viewer.