|
47 | 47 | #define CY_4339_MES_WATERMARK 80
|
48 | 48 | #define CY_4339_MESBUSYCTRL (CY_4339_MES_WATERMARK | \
|
49 | 49 | SBSDIO_MESBUSYCTRL_ENAB)
|
| 50 | +#define CY_43455_F2_WATERMARK 0x60 |
| 51 | +#define CY_43455_MES_WATERMARK 0x50 |
| 52 | +#define CY_43455_MESBUSYCTRL (CY_43455_MES_WATERMARK | \ |
| 53 | + SBSDIO_MESBUSYCTRL_ENAB) |
50 | 54 | #define CY_435X_F2_WATERMARK 0x40
|
51 | 55 | #define CY_435X_F1_MESBUSYCTRL (CY_435X_F2_WATERMARK | \
|
52 | 56 | SBSDIO_MESBUSYCTRL_ENAB)
|
| 57 | + |
53 | 58 | #ifdef DEBUG
|
54 | 59 |
|
55 | 60 | #define BRCMF_TRAP_INFO_SIZE 80
|
@@ -4226,6 +4231,19 @@ static void brcmf_sdio_firmware_callback(struct device *dev, int err,
|
4226 | 4231 | brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_MESBUSYCTRL,
|
4227 | 4232 | CY_4339_MESBUSYCTRL, &err);
|
4228 | 4233 | break;
|
| 4234 | + case SDIO_DEVICE_ID_BROADCOM_43455: |
| 4235 | + brcmf_dbg(INFO, "set F2 watermark to 0x%x*4 bytes for 43455\n", |
| 4236 | + CY_43455_F2_WATERMARK); |
| 4237 | + brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK, |
| 4238 | + CY_43455_F2_WATERMARK, &err); |
| 4239 | + devctl = brcmf_sdiod_readb(sdiod, SBSDIO_DEVICE_CTL, |
| 4240 | + &err); |
| 4241 | + devctl |= SBSDIO_DEVCTL_F2WM_ENAB; |
| 4242 | + brcmf_sdiod_writeb(sdiod, SBSDIO_DEVICE_CTL, devctl, |
| 4243 | + &err); |
| 4244 | + brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_MESBUSYCTRL, |
| 4245 | + CY_43455_MESBUSYCTRL, &err); |
| 4246 | + break; |
4229 | 4247 | case SDIO_DEVICE_ID_BROADCOM_4359:
|
4230 | 4248 | /* fallthrough */
|
4231 | 4249 | case SDIO_DEVICE_ID_BROADCOM_4354:
|
|
0 commit comments