iommu/rockchip: make compatible to extra sclk

Change-Id: Ia9821eb74effd0b61a42c5cb19ca12f9cf036b78
Signed-off-by: Simon Xue <xxm@rock-chips.com>
This commit is contained in:
Simon Xue
2021-04-06 16:47:54 +08:00
committed by Tao Huang
parent 7fafd907ae
commit d9cf598162

View File

@@ -1221,16 +1221,26 @@ static int rk_iommu_probe(struct platform_device *pdev)
if (!iommu->clocks)
return -ENOMEM;
/* RK1808 isp iommu has an extra sclk */
err = of_property_match_string(dev->of_node, "clock-names", "sclk");
if (err >= 0)
iommu->num_clocks++;
for (i = 0; i < iommu->num_clocks; ++i) {
err = of_property_match_string(dev->of_node, "clock-names",
rk_iommu_clocks[i]);
if (err < 0) {
if (!strcmp(rk_iommu_clocks[i], "iface")) {
iommu->clocks[i].id = "hclk";
dev_warn(dev, "iommu hclk need to update to iface\n");
}
if (i == 2) {
iommu->clocks[i].id = "sclk";
} else {
iommu->clocks[i].id = rk_iommu_clocks[i];
err = of_property_match_string(dev->of_node,
"clock-names",
rk_iommu_clocks[i]);
if (err < 0) {
if (!strcmp(rk_iommu_clocks[i], "iface")) {
iommu->clocks[i].id = "hclk";
dev_warn(dev, "iommu hclk need to update to iface\n");
}
} else {
iommu->clocks[i].id = rk_iommu_clocks[i];
}
}
}