@@ -558,6 +558,7 @@ struct rcar_canfd_hw_info {
unsigned multi_channel_irqs:1; /* Has multiple channel irqs */
unsigned ch_interface_mode:1; /* Has channel interface mode */
unsigned shared_can_reg:1; /* Has shared classical can registers */
+ unsigned only_internal_clks:1; /* Has only internal clocks */
};
/* Channel priv data */
@@ -2055,7 +2056,7 @@ static int rcar_canfd_probe(struct platform_device *pdev)
fcan_freq = clk_get_rate(gpriv->can_clk) / info->postdiv;
} else {
fcan_freq = clk_get_rate(gpriv->can_clk);
- gpriv->extclk = true;
+ gpriv->extclk = !gpriv->info->only_internal_clks;
}
addr = devm_platform_ioremap_resource(pdev, 0);
All SoCs supports extenal clock, but RZ/G3E has only internal clocks. Add only_internal_clks to struct rcar_canfd_hw_info to handle this difference. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- v2->v3: * No change v1->v2: * No change. --- drivers/net/can/rcar/rcar_canfd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)