> + if (rx_dly_config & PRG_ETH0_ADJ_ENABLE) { > + /* The timing adjustment logic is driven by a separate clock */ > + ret = meson8b_devm_clk_prepare_enable(dwmac, > + dwmac->timing_adj_clk); > + if (ret) { > + dev_err(dwmac->dev, > + "Failed to enable the timing-adjustment clock\n"); > + return ret; > + } > + } Hi Martin It is a while since i used the clk API. I thought the get_optional() call returned a NULL pointer if the clock does not exist. clk_prepare_enable() passed a NULL pointer is a NOP, but it also does not return an error. So if the clock does not exist, you won't get this error, the code keeps going, configures the hardware, but it does not work. I think you need to check dwmac->timing_adj_clk != NULL here, and error out if DT has properties which require it. Andrew