BIT(NL80211_IFTYPE_MESH_POINT);
 
        wcn->hw->wiphy->bands[NL80211_BAND_2GHZ] = &wcn_band_2ghz;
-       wcn->hw->wiphy->bands[NL80211_BAND_5GHZ] = &wcn_band_5ghz;
+       if (wcn->rf_id != RF_IRIS_WCN3620)
+               wcn->hw->wiphy->bands[NL80211_BAND_5GHZ] = &wcn_band_5ghz;
 
        wcn->hw->wiphy->max_scan_ssids = WCN36XX_MAX_SCAN_SSIDS;
        wcn->hw->wiphy->max_scan_ie_len = WCN36XX_MAX_SCAN_IE_LEN;
                                          struct platform_device *pdev)
 {
        struct device_node *mmio_node;
+       struct device_node *iris_node;
        struct resource *res;
        int index;
        int ret;
                goto unmap_ccu;
        }
 
+       /* External RF module */
+       iris_node = of_find_node_by_name(mmio_node, "iris");
+       if (iris_node) {
+               if (of_device_is_compatible(iris_node, "qcom,wcn3620"))
+                       wcn->rf_id = RF_IRIS_WCN3620;
+               of_node_put(iris_node);
+       }
+
        of_node_put(mmio_node);
        return 0;
 
 
 #define WCN36XX_FLAGS(__wcn) (__wcn->hw->flags)
 #define WCN36XX_MAX_POWER(__wcn) (__wcn->hw->conf.chandef.chan->max_power)
 
+#define RF_UNKNOWN     0x0000
+#define RF_IRIS_WCN3620        0x3620
+
 static inline void buff_to_be(u32 *buf, size_t len)
 {
        int i;
 
        struct sk_buff          *tx_ack_skb;
 
+       /* RF module */
+       unsigned                rf_id;
+
 #ifdef CONFIG_WCN36XX_DEBUGFS
        /* Debug file system entry */
        struct wcn36xx_dfs_entry    dfs;