wcn36xx: Add support for 3680
[deliverable/linux.git] / drivers / net / wireless / ath / wcn36xx / dxe.c
index ee25786b44478fd094df1c3b165c9caf0d0bc73b..73f12f196f14ec6ee14368dee20673f67b8045a3 100644 (file)
@@ -44,6 +44,14 @@ static void wcn36xx_dxe_write_register(struct wcn36xx *wcn, int addr, int data)
        writel(data, wcn->mmio + addr);
 }
 
+#define wcn36xx_dxe_write_register_x(wcn, reg, reg_data)                \
+do {                                                                    \
+       if (wcn->chip_version == WCN36XX_CHIP_3680)                      \
+               wcn36xx_dxe_write_register(wcn, reg ## _3680, reg_data); \
+       else                                                             \
+               wcn36xx_dxe_write_register(wcn, reg ## _3660, reg_data); \
+} while (0)                                                             \
+
 static void wcn36xx_dxe_read_register(struct wcn36xx *wcn, int addr, int *data)
 {
        *data = readl(wcn->mmio + addr);
@@ -680,7 +688,7 @@ int wcn36xx_dxe_init(struct wcn36xx *wcn)
 
        /* Setting interrupt path */
        reg_data = WCN36XX_DXE_CCU_INT;
-       wcn36xx_dxe_write_register(wcn, WCN36XX_DXE_REG_CCU_INT, reg_data);
+       wcn36xx_dxe_write_register_x(wcn, WCN36XX_DXE_REG_CCU_INT, reg_data);
 
        /***************************************/
        /* Init descriptors for TX LOW channel */
This page took 0.027413 seconds and 5 git commands to generate.