mt76: mt7915: configure soc clocks in mt7986_wmac_init
authorLorenzo Bianconi <lorenzo@kernel.org>
Fri, 29 Apr 2022 11:55:56 +0000 (13:55 +0200)
committerFelix Fietkau <nbd@nbd.name>
Fri, 13 May 2022 07:39:35 +0000 (09:39 +0200)
Configure mt7986 wmac soc clocks in mt7986_wmac_init routine.

Tested-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Co-developed-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/soc.c

index 04e62d5695990bb1182e1a359d487f5132557879..a24bcdcd2f06fb6e1b0751c86f449ee24048ed4b 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/iopoll.h>
 #include <linux/reset.h>
 #include <linux/of_net.h>
+#include <linux/clk.h>
 
 #include "mt7915.h"
 
@@ -1117,6 +1118,19 @@ static int mt7986_wmac_init(struct mt7915_dev *dev)
 {
        struct device *pdev = dev->mt76.dev;
        struct platform_device *pfdev = to_platform_device(pdev);
+       struct clk *mcu_clk, *ap_conn_clk;
+
+       mcu_clk = devm_clk_get(pdev, "mcu");
+       if (IS_ERR(mcu_clk))
+               dev_err(pdev, "mcu clock not found\n");
+       else if (clk_prepare_enable(mcu_clk))
+               dev_err(pdev, "mcu clock configuration failed\n");
+
+       ap_conn_clk = devm_clk_get(pdev, "ap2conn");
+       if (IS_ERR(ap_conn_clk))
+               dev_err(pdev, "ap2conn clock not found\n");
+       else if (clk_prepare_enable(ap_conn_clk))
+               dev_err(pdev, "ap2conn clock configuration failed\n");
 
        dev->dcm = devm_platform_ioremap_resource(pfdev, 1);
        if (IS_ERR(dev->dcm))