summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/clk/mediatek/clk-mt7622.c12
-rw-r--r--drivers/clk/mediatek/clk-mt7623.c12
-rw-r--r--drivers/clk/mediatek/clk-mt7629.c15
-rw-r--r--drivers/clk/mediatek/clk-mt7981.c6
-rw-r--r--drivers/clk/mediatek/clk-mt7986.c4
-rw-r--r--drivers/clk/mediatek/clk-mt7987.c4
-rw-r--r--drivers/clk/mediatek/clk-mt7988.c12
-rw-r--r--drivers/clk/mediatek/clk-mt8183.c3
-rw-r--r--drivers/clk/mediatek/clk-mt8188.c23
-rw-r--r--drivers/clk/mediatek/clk-mt8365.c6
-rw-r--r--drivers/clk/mediatek/clk-mt8512.c6
-rw-r--r--drivers/clk/mediatek/clk-mt8516.c3
-rw-r--r--drivers/clk/mediatek/clk-mt8518.c3
-rw-r--r--drivers/clk/mediatek/clk-mtk.c3
-rw-r--r--drivers/clk/mediatek/clk-mtk.h3
15 files changed, 74 insertions, 41 deletions
diff --git a/drivers/clk/mediatek/clk-mt7622.c b/drivers/clk/mediatek/clk-mt7622.c
index ccad3820c1b..16c6f024e72 100644
--- a/drivers/clk/mediatek/clk-mt7622.c
+++ b/drivers/clk/mediatek/clk-mt7622.c
@@ -692,7 +692,8 @@ static int mt7622_pericfg_probe(struct udevice *dev)
static int mt7622_pciesys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7622_clk_tree, pcie_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7622_clk_tree, pcie_cgs,
+ ARRAY_SIZE(pcie_cgs));
}
static int mt7622_pciesys_bind(struct udevice *dev)
@@ -710,7 +711,8 @@ static int mt7622_pciesys_bind(struct udevice *dev)
static int mt7622_ethsys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7622_clk_tree, eth_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7622_clk_tree, eth_cgs,
+ ARRAY_SIZE(eth_cgs));
}
static int mt7622_ethsys_bind(struct udevice *dev)
@@ -728,12 +730,14 @@ static int mt7622_ethsys_bind(struct udevice *dev)
static int mt7622_sgmiisys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7622_clk_tree, sgmii_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7622_clk_tree, sgmii_cgs,
+ ARRAY_SIZE(sgmii_cgs));
}
static int mt7622_ssusbsys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7622_clk_tree, ssusb_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7622_clk_tree, ssusb_cgs,
+ ARRAY_SIZE(ssusb_cgs));
}
static const struct udevice_id mt7622_apmixed_compat[] = {
diff --git a/drivers/clk/mediatek/clk-mt7623.c b/drivers/clk/mediatek/clk-mt7623.c
index cfc711ad216..5a60a86233e 100644
--- a/drivers/clk/mediatek/clk-mt7623.c
+++ b/drivers/clk/mediatek/clk-mt7623.c
@@ -1057,8 +1057,8 @@ static const struct mtk_clk_tree mt7623_clk_gate_tree = {
static int mt7623_infracfg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7623_clk_gate_tree,
- infra_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7623_clk_gate_tree, infra_cgs,
+ ARRAY_SIZE(infra_cgs));
}
static const struct mtk_clk_tree mt7623_clk_peri_tree = {
@@ -1079,14 +1079,14 @@ static int mt7623_pericfg_probe(struct udevice *dev)
static int mt7623_hifsys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7623_clk_gate_tree,
- hif_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7623_clk_gate_tree, hif_cgs,
+ ARRAY_SIZE(hif_cgs));
}
static int mt7623_ethsys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7623_clk_gate_tree,
- eth_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7623_clk_gate_tree, eth_cgs,
+ ARRAY_SIZE(eth_cgs));
}
static int mt7623_ethsys_hifsys_bind(struct udevice *dev)
diff --git a/drivers/clk/mediatek/clk-mt7629.c b/drivers/clk/mediatek/clk-mt7629.c
index e0eff01561c..e4132f6195f 100644
--- a/drivers/clk/mediatek/clk-mt7629.c
+++ b/drivers/clk/mediatek/clk-mt7629.c
@@ -634,17 +634,20 @@ static int mt7629_topckgen_probe(struct udevice *dev)
static int mt7629_infracfg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7629_clk_tree, infra_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7629_clk_tree, infra_cgs,
+ ARRAY_SIZE(infra_cgs));
}
static int mt7629_pericfg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7629_peri_clk_tree, peri_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7629_peri_clk_tree, peri_cgs,
+ ARRAY_SIZE(peri_cgs));
}
static int mt7629_ethsys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7629_clk_tree, eth_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7629_clk_tree, eth_cgs,
+ ARRAY_SIZE(eth_cgs));
}
static int mt7629_ethsys_bind(struct udevice *dev)
@@ -662,12 +665,14 @@ static int mt7629_ethsys_bind(struct udevice *dev)
static int mt7629_sgmiisys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7629_clk_tree, sgmii_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7629_clk_tree, sgmii_cgs,
+ ARRAY_SIZE(sgmii_cgs));
}
static int mt7629_ssusbsys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7629_clk_tree, ssusb_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7629_clk_tree, ssusb_cgs,
+ ARRAY_SIZE(ssusb_cgs));
}
static const struct udevice_id mt7629_apmixed_compat[] = {
diff --git a/drivers/clk/mediatek/clk-mt7981.c b/drivers/clk/mediatek/clk-mt7981.c
index f854f079c67..c8090688df0 100644
--- a/drivers/clk/mediatek/clk-mt7981.c
+++ b/drivers/clk/mediatek/clk-mt7981.c
@@ -631,7 +631,7 @@ static const struct mtk_gate sgmii0_cgs[] = {
static int mt7981_sgmii0sys_probe(struct udevice *dev)
{
return mtk_common_clk_gate_init(dev, &mt7981_topckgen_clk_tree,
- sgmii0_cgs);
+ sgmii0_cgs, ARRAY_SIZE(sgmii0_cgs));
}
static const struct udevice_id mt7981_sgmii0sys_compat[] = {
@@ -658,7 +658,7 @@ static const struct mtk_gate sgmii1_cgs[] = {
static int mt7981_sgmii1sys_probe(struct udevice *dev)
{
return mtk_common_clk_gate_init(dev, &mt7981_topckgen_clk_tree,
- sgmii1_cgs);
+ sgmii1_cgs, ARRAY_SIZE(sgmii1_cgs));
}
static const struct udevice_id mt7981_sgmii1sys_compat[] = {
@@ -699,7 +699,7 @@ static const struct mtk_gate eth_cgs[] = {
static int mt7981_ethsys_probe(struct udevice *dev)
{
return mtk_common_clk_gate_init(dev, &mt7981_topckgen_clk_tree,
- eth_cgs);
+ eth_cgs, ARRAY_SIZE(eth_cgs));
}
static int mt7981_ethsys_bind(struct udevice *dev)
diff --git a/drivers/clk/mediatek/clk-mt7986.c b/drivers/clk/mediatek/clk-mt7986.c
index 257f89b7daa..735e824c874 100644
--- a/drivers/clk/mediatek/clk-mt7986.c
+++ b/drivers/clk/mediatek/clk-mt7986.c
@@ -636,8 +636,8 @@ static const struct mtk_gate eth_cgs[] = {
static int mt7986_ethsys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7986_topckgen_clk_tree,
- eth_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7986_topckgen_clk_tree, eth_cgs,
+ ARRAY_SIZE(eth_cgs));
}
static int mt7986_ethsys_bind(struct udevice *dev)
diff --git a/drivers/clk/mediatek/clk-mt7987.c b/drivers/clk/mediatek/clk-mt7987.c
index b559152c045..99ff57c5dc5 100644
--- a/drivers/clk/mediatek/clk-mt7987.c
+++ b/drivers/clk/mediatek/clk-mt7987.c
@@ -818,8 +818,8 @@ static const struct mtk_gate eth_cgs[] = {
static int mt7987_ethsys_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt7987_topckgen_clk_tree,
- eth_cgs);
+ return mtk_common_clk_gate_init(dev, &mt7987_topckgen_clk_tree, eth_cgs,
+ ARRAY_SIZE(eth_cgs));
}
static int mt7987_ethsys_bind(struct udevice *dev)
diff --git a/drivers/clk/mediatek/clk-mt7988.c b/drivers/clk/mediatek/clk-mt7988.c
index 56f3e5ebdff..da1d2e89d61 100644
--- a/drivers/clk/mediatek/clk-mt7988.c
+++ b/drivers/clk/mediatek/clk-mt7988.c
@@ -892,7 +892,8 @@ static const struct mtk_gate ethdma_mtk_gate[] = {
static int mt7988_ethdma_probe(struct udevice *dev)
{
return mtk_common_clk_gate_init(dev, &mt7988_topckgen_clk_tree,
- ethdma_mtk_gate);
+ ethdma_mtk_gate,
+ ARRAY_SIZE(ethdma_mtk_gate));
}
static int mt7988_ethdma_bind(struct udevice *dev)
@@ -950,7 +951,8 @@ static const struct mtk_gate sgmiisys_0_mtk_gate[] = {
static int mt7988_sgmiisys_0_probe(struct udevice *dev)
{
return mtk_common_clk_gate_init(dev, &mt7988_topckgen_clk_tree,
- sgmiisys_0_mtk_gate);
+ sgmiisys_0_mtk_gate,
+ ARRAY_SIZE(sgmiisys_0_mtk_gate));
}
static const struct udevice_id mt7988_sgmiisys_0_compat[] = {
@@ -994,7 +996,8 @@ static const struct mtk_gate sgmiisys_1_mtk_gate[] = {
static int mt7988_sgmiisys_1_probe(struct udevice *dev)
{
return mtk_common_clk_gate_init(dev, &mt7988_topckgen_clk_tree,
- sgmiisys_1_mtk_gate);
+ sgmiisys_1_mtk_gate,
+ ARRAY_SIZE(sgmiisys_1_mtk_gate));
}
static const struct udevice_id mt7988_sgmiisys_1_compat[] = {
@@ -1040,7 +1043,8 @@ static const struct mtk_gate ethwarp_mtk_gate[] = {
static int mt7988_ethwarp_probe(struct udevice *dev)
{
return mtk_common_clk_gate_init(dev, &mt7988_topckgen_clk_tree,
- ethwarp_mtk_gate);
+ ethwarp_mtk_gate,
+ ARRAY_SIZE(ethwarp_mtk_gate));
}
static int mt7988_ethwarp_bind(struct udevice *dev)
diff --git a/drivers/clk/mediatek/clk-mt8183.c b/drivers/clk/mediatek/clk-mt8183.c
index 7a1953ef6fd..5b41cf4b88c 100644
--- a/drivers/clk/mediatek/clk-mt8183.c
+++ b/drivers/clk/mediatek/clk-mt8183.c
@@ -777,7 +777,8 @@ static int mt8183_topckgen_probe(struct udevice *dev)
static int mt8183_infracfg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8183_clk_tree, infra_clks);
+ return mtk_common_clk_gate_init(dev, &mt8183_clk_tree, infra_clks,
+ ARRAY_SIZE(infra_clks));
}
static const struct udevice_id mt8183_apmixed_compat[] = {
diff --git a/drivers/clk/mediatek/clk-mt8188.c b/drivers/clk/mediatek/clk-mt8188.c
index 186638fcb66..f7c04047f4d 100644
--- a/drivers/clk/mediatek/clk-mt8188.c
+++ b/drivers/clk/mediatek/clk-mt8188.c
@@ -1694,33 +1694,44 @@ static int mt8188_topckgen_probe(struct udevice *dev)
static int mt8188_topckgen_cg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8188_topckgen_cg_clk_tree, topckgen_cg_clks);
+ return mtk_common_clk_gate_init(dev, &mt8188_topckgen_cg_clk_tree,
+ topckgen_cg_clks,
+ ARRAY_SIZE(topckgen_cg_clks));
}
static int mt8188_infracfg_ao_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8188_infracfg_ao_clk_tree, infracfg_ao_clks);
+ return mtk_common_clk_gate_init(dev, &mt8188_infracfg_ao_clk_tree,
+ infracfg_ao_clks,
+ ARRAY_SIZE(infracfg_ao_clks));
}
static int mt8188_pericfg_ao_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8188_pericfg_ao_clk_tree, pericfg_ao_clks);
+ return mtk_common_clk_gate_init(dev, &mt8188_pericfg_ao_clk_tree,
+ pericfg_ao_clks,
+ ARRAY_SIZE(pericfg_ao_clks));
}
static int mt8188_imp_iic_wrap_c_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8188_imp_iic_wrap_c_clk_tree, imp_iic_wrap_c_clks);
+ return mtk_common_clk_gate_init(dev, &mt8188_imp_iic_wrap_c_clk_tree,
+ imp_iic_wrap_c_clks,
+ ARRAY_SIZE(imp_iic_wrap_c_clks));
}
static int mt8188_imp_iic_wrap_w_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8188_imp_iic_wrap_w_clk_tree, imp_iic_wrap_w_clks);
+ return mtk_common_clk_gate_init(dev, &mt8188_imp_iic_wrap_w_clk_tree,
+ imp_iic_wrap_w_clks,
+ ARRAY_SIZE(imp_iic_wrap_w_clks));
}
static int mt8188_imp_iic_wrap_en_probe(struct udevice *dev)
{
return mtk_common_clk_gate_init(dev, &mt8188_imp_iic_wrap_en_clk_tree,
- imp_iic_wrap_en_clks);
+ imp_iic_wrap_en_clks,
+ ARRAY_SIZE(imp_iic_wrap_en_clks));
}
static const struct udevice_id mt8188_apmixed_compat[] = {
diff --git a/drivers/clk/mediatek/clk-mt8365.c b/drivers/clk/mediatek/clk-mt8365.c
index 7897044e1ad..c88545fc7cf 100644
--- a/drivers/clk/mediatek/clk-mt8365.c
+++ b/drivers/clk/mediatek/clk-mt8365.c
@@ -705,12 +705,14 @@ static int mt8365_topckgen_probe(struct udevice *dev)
static int mt8365_topckgen_cg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8365_clk_tree, top_clk_gates);
+ return mtk_common_clk_gate_init(dev, &mt8365_clk_tree, top_clk_gates,
+ ARRAY_SIZE(top_clk_gates));
}
static int mt8365_infracfg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8365_clk_tree, ifr_clks);
+ return mtk_common_clk_gate_init(dev, &mt8365_clk_tree, ifr_clks,
+ ARRAY_SIZE(ifr_clks));
}
static const struct udevice_id mt8365_apmixed_compat[] = {
diff --git a/drivers/clk/mediatek/clk-mt8512.c b/drivers/clk/mediatek/clk-mt8512.c
index 6d98403bc45..d4f6604c160 100644
--- a/drivers/clk/mediatek/clk-mt8512.c
+++ b/drivers/clk/mediatek/clk-mt8512.c
@@ -808,12 +808,14 @@ static int mt8512_topckgen_probe(struct udevice *dev)
static int mt8512_topckgen_cg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8512_clk_tree, top_clks);
+ return mtk_common_clk_gate_init(dev, &mt8512_clk_tree, top_clks,
+ ARRAY_SIZE(top_clks));
}
static int mt8512_infracfg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8512_clk_tree, infra_clks);
+ return mtk_common_clk_gate_init(dev, &mt8512_clk_tree, infra_clks,
+ ARRAY_SIZE(infra_clks));
}
static const struct udevice_id mt8512_apmixed_compat[] = {
diff --git a/drivers/clk/mediatek/clk-mt8516.c b/drivers/clk/mediatek/clk-mt8516.c
index c21b9894ad6..d5f922886a3 100644
--- a/drivers/clk/mediatek/clk-mt8516.c
+++ b/drivers/clk/mediatek/clk-mt8516.c
@@ -757,7 +757,8 @@ static int mt8516_topckgen_probe(struct udevice *dev)
static int mt8516_topckgen_cg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8516_clk_tree, top_clks);
+ return mtk_common_clk_gate_init(dev, &mt8516_clk_tree, top_clks,
+ ARRAY_SIZE(top_clks));
}
static const struct udevice_id mt8516_apmixed_compat[] = {
diff --git a/drivers/clk/mediatek/clk-mt8518.c b/drivers/clk/mediatek/clk-mt8518.c
index 48ef209ebbd..92730f3f06c 100644
--- a/drivers/clk/mediatek/clk-mt8518.c
+++ b/drivers/clk/mediatek/clk-mt8518.c
@@ -1513,7 +1513,8 @@ static int mt8518_topckgen_probe(struct udevice *dev)
static int mt8518_topckgen_cg_probe(struct udevice *dev)
{
- return mtk_common_clk_gate_init(dev, &mt8518_clk_tree, top_clks);
+ return mtk_common_clk_gate_init(dev, &mt8518_clk_tree, top_clks,
+ ARRAY_SIZE(top_clks));
}
static const struct udevice_id mt8518_apmixed_compat[] = {
diff --git a/drivers/clk/mediatek/clk-mtk.c b/drivers/clk/mediatek/clk-mtk.c
index f91777e968a..ffaecbfd306 100644
--- a/drivers/clk/mediatek/clk-mtk.c
+++ b/drivers/clk/mediatek/clk-mtk.c
@@ -824,7 +824,7 @@ int mtk_common_clk_infrasys_init(struct udevice *dev,
int mtk_common_clk_gate_init(struct udevice *dev,
const struct mtk_clk_tree *tree,
- const struct mtk_gate *gates)
+ const struct mtk_gate *gates, int num_gates)
{
struct mtk_cg_priv *priv = dev_get_priv(dev);
struct udevice *parent;
@@ -845,6 +845,7 @@ int mtk_common_clk_gate_init(struct udevice *dev,
priv->parent = parent;
priv->tree = tree;
priv->gates = gates;
+ priv->num_gates = num_gates;
return 0;
}
diff --git a/drivers/clk/mediatek/clk-mtk.h b/drivers/clk/mediatek/clk-mtk.h
index a4a3307e576..7bd432cb93d 100644
--- a/drivers/clk/mediatek/clk-mtk.h
+++ b/drivers/clk/mediatek/clk-mtk.h
@@ -279,6 +279,7 @@ struct mtk_cg_priv {
void __iomem *base;
const struct mtk_clk_tree *tree;
const struct mtk_gate *gates;
+ int num_gates;
};
extern const struct clk_ops mtk_clk_apmixedsys_ops;
@@ -293,6 +294,6 @@ int mtk_common_clk_infrasys_init(struct udevice *dev,
const struct mtk_clk_tree *tree);
int mtk_common_clk_gate_init(struct udevice *dev,
const struct mtk_clk_tree *tree,
- const struct mtk_gate *gates);
+ const struct mtk_gate *gates, int num_gates);
#endif /* __DRV_CLK_MTK_H */