1: da16cb2e47ec = 1: a6088292acf9 bcma: core: clear only FORCEHT for BCMA_CLKMODE_DYNAMIC 2: 62a383171a16 = 2: 796f7c359d0a bcma: pmu: init PLL and resources on BCM4352/BCM4360 3: a02df96f62a1 = 3: b68912a53b32 bcma: pcie2: request HT on BCM4352/BCM4360 4: 57c4563a1817 ! 4: 1efec9261d87 bcma: chipcommon: set corecontrol bits 5:2 on BCM4352/BCM4360 @@ Metadata Author: Alessio Ferri   ## Commit message ## - bcma: chipcommon: set corecontrol bits 5:2 on BCM4352/BCM4360 + bcma: chipcommon: enable asynchronous GPIO interrupts  - Set them in chipcommon init, as Broadcom's driver does. + Set CORECTL_ASYNCGPIO on chipcommon rev 21 and later, as Broadcom's + driver does at attach, so that GPIO interrupts are generated without the + backplane clock.  Signed-off-by: Alessio Ferri   @@ drivers/bcma/driver_chipcommon.c: void bcma_core_chipcommon_init(struct bcma_drv (leddc_off << BCMA_CC_GPIOTIMER_OFFTIME_SHIFT))); }  + -+ /* Corecontrol bits 5:2: bit 3 is UARTCLKEN, the rest undocumented. */ -+ if (cc->core->bus->chipinfo.id == BCMA_CHIP_ID_BCM4352 || -+ cc->core->bus->chipinfo.id == BCMA_CHIP_ID_BCM4360) -+ bcma_cc_set32(cc, BCMA_CC_CORECTL, 0x3c); ++ if (cc->core->id.rev >= 21) ++ bcma_cc_set32(cc, BCMA_CC_CORECTL, BCMA_CC_CORECTL_ASYNCGPIO); cc->ticks_per_ms = bcma_chipco_watchdog_ticks_per_ms(cc);  cc->setup_done = true; + + ## include/linux/bcma/bcma_driver_chipcommon.h ## +@@ + #define BCMA_CC_CORECTL 0x0008 + #define BCMA_CC_CORECTL_UARTCLK0 0x00000001 /* Drive UART with internal clock */ + #define BCMA_CC_CORECTL_SE 0x00000002 /* sync clk out enable (corerev >= 3) */ ++#define BCMA_CC_CORECTL_ASYNCGPIO 0x00000004 /* GPIO IRQs without backplane clock */ + #define BCMA_CC_CORECTL_UARTCLKEN 0x00000008 /* UART clock enable (rev >= 21) */ + #define BCMA_CC_BIST 0x000C + #define BCMA_CC_OTPS 0x0010 /* OTP status */ 5: 247bb8843b4b = 5: ace78e47aa23 bcma: extract SPROM revision 11 6: c362977aaac7 = 6: a03d620da9d5 firmware: bcm47xx_sprom: read ledbh4..ledbh15 from NVRAM 7: 7a4046610965 = 7: 62b3cd290824 firmware: bcm47xx_sprom: read boardflags3 and AvVmid_c0..2 from NVRAM 8: 4d3da32385b2 = 8: 027005b86b3a bcma: add the BCM4352 PCI ID