This patch is no longer needed, since Hauke backported it.
https://dev.openwrt.org/changeset/32580

El 30/06/2012 18:34, Álvaro Fernández Rojas escribió:
> Adds BCM43224 (0xa8d8) detection to BCMA.
> 
> This patch is identical to BCM47XX patch. (which BTW should be generic, not 
> platform specific...)
> https://dev.openwrt.org/browser/trunk/target/linux/brcm47xx/patches-3.3/052-bcma-complete-workaround-for-BCMA43224.patch
> 
> Index: target/linux/brcm63xx/patches-3.3/803-brcm43224_wlan.patch
> ===================================================================
> --- target/linux/brcm63xx/patches-3.3/803-brcm43224_wlan.patch        
> (revisión: 0)
> +++ target/linux/brcm63xx/patches-3.3/803-brcm43224_wlan.patch        
> (revisión: 0)
> @@ -0,0 +1,49 @@
> +--- a/drivers/bcma/driver_chipcommon_pmu.c
> ++++ b/drivers/bcma/driver_chipcommon_pmu.c
> +@@ -142,12 +142,18 @@ void bcma_pmu_workarounds(struct bcma_dr
> +             /* BCM4331 workaround is SPROM-related, we put it in sprom.c */
> +             break;
> +     case 43224:
> ++    case 43421:
> +             if (bus->chipinfo.rev == 0) {
> +-                    pr_err("Workarounds for 43224 rev 0 not fully "
> +-                            "implemented\n");
> +-                    bcma_chipco_chipctl_maskset(cc, 0, ~0, 0x00F000F0);
> ++                    bcma_cc_maskset32(cc, BCMA_CC_CHIPCTL, 
> ++                                            BCMA_CCTRL_43224_GPIO_TOGGLE, 
> ++                                            BCMA_CCTRL_43224_GPIO_TOGGLE); 
> ++                    bcma_chipco_chipctl_maskset(cc, 0, 
> ++                                            
> BCMA_CCTRL_43224A0_12MA_LED_DRIVE, 
> ++                                            
> BCMA_CCTRL_43224A0_12MA_LED_DRIVE); 
> +             } else {
> +-                    bcma_chipco_chipctl_maskset(cc, 0, ~0, 0xF0);
> ++                    bcma_chipco_chipctl_maskset(cc, 0, 
> ++                                            
> BCMA_CCTRL_43224B0_12MA_LED_DRIVE, 
> ++                                            
> BCMA_CCTRL_43224B0_12MA_LED_DRIVE); 
> +             }
> +             break;
> +     case 43225:
> +--- a/drivers/bcma/host_pci.c
> ++++ b/drivers/bcma/host_pci.c
> +@@ -272,6 +272,7 @@ static DEFINE_PCI_DEVICE_TABLE(bcma_pci_
> +     { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4353) },
> +     { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4357) },
> +     { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) },
> ++    { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0xa8d8) },
> +     { 0, },
> + };
> + MODULE_DEVICE_TABLE(pci, bcma_pci_bridge_tbl);
> +--- a/include/linux/bcma/bcma_driver_chipcommon.h
> ++++ b/include/linux/bcma/bcma_driver_chipcommon.h
> +@@ -324,6 +324,11 @@
> + #define BCMA_CHIPCTL_4331_BT_SHD0_ON_GPIO4  BIT(16) /* enable bt_shd0 at 
> gpio4 */
> + #define BCMA_CHIPCTL_4331_BT_SHD1_ON_GPIO5  BIT(17) /* enable bt_shd1 at 
> gpio5 */
> + 
> ++/* 43224 chip-specific ChipControl register bits */ 
> ++#define BCMA_CCTRL_43224_GPIO_TOGGLE                        0x8000          
> /* gpio[3:0] pins as btcoex or s/w gpio */ 
> ++#define BCMA_CCTRL_43224A0_12MA_LED_DRIVE           0x00F000F0      /* 12 
> mA drive strength */ 
> ++#define BCMA_CCTRL_43224B0_12MA_LED_DRIVE           0xF0            /* 12 
> mA drive strength for later 43224s */ 
> ++
> + /* Data for the PMU, if available.
> +  * Check availability with ((struct bcma_chipcommon)->capabilities & 
> BCMA_CC_CAP_PMU)
> +  */
> 


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to