aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2021-05-20 16:48:10 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2021-06-05 16:16:29 +0000
commit57af163c8e7ecdefbac00ab7354122c1225e2c70 (patch)
treeaef1eed8ddcd6d700c975066ee03ea6c616af920
parent65a226b41d8ff12c6b9d0b0133a099253767d7c1 (diff)
downloadsrc-57af163c8e7ecdefbac00ab7354122c1225e2c70.tar.gz
src-57af163c8e7ecdefbac00ab7354122c1225e2c70.zip
arm64/rk_pcie_phy: handle assigned-clock*
Nanopi4 based SoCs (NanoPC-T4, NanoPi M4*, and NanoPi Neo4) have assigned-clock* in the pcie_phy node. Handle them but only fail in case clk_set_assigned() returns an error other than "no assigned-clock*" (as it would for all other SoCs). Reviewed by: manu MFC After: 2 weeks Differential Revision: https://reviews.freebsd.org/D30363
-rw-r--r--sys/arm64/rockchip/rk_pcie_phy.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/arm64/rockchip/rk_pcie_phy.c b/sys/arm64/rockchip/rk_pcie_phy.c
index 75bd213bfd23..eaa7619e15c3 100644
--- a/sys/arm64/rockchip/rk_pcie_phy.c
+++ b/sys/arm64/rockchip/rk_pcie_phy.c
@@ -297,6 +297,13 @@ static int
goto fail;
}
+ rv = clk_set_assigned(dev, ofw_bus_get_node(dev));
+ if (rv != 0 && rv != ENOENT) {
+ device_printf(dev, "clk_set_assigned failed: %d\n", rv);
+ rv = ENXIO;
+ goto fail;
+ }
+
rv = clk_get_by_ofw_name(sc->dev, 0, "refclk", &sc->clk_ref);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'refclk' clock\n");