The CAN FD IP found on RZ/G2L SoC has some HW features different to that of R-Car. For example, it has multiple resets and multiple IRQs for global and channel interrupts. Also, it does not have ECC error flag registers and clk post divider present on R-Car. Similarly, R-Car V3U has 8 channels whereas other SoCs has only 2 channels. Currently all the differences are taken by comparing chip_id enum. This patch series aims to replace chip_id with struct rcar_canfd_hw_info to take care of the HW feature differences and driver data present on both IPs. The changes are trivial and tested on RZ/G2L SMARC EVK. This patch series depend upon[1] [1] https://lore.kernel.org/linux-renesas-soc/20221022081503.1051257-1-biju.das.jz@xxxxxxxxxxxxxx/T/#t Biju Das (6): can: rcar_canfd: rcar_canfd_probe: Add struct rcar_canfd_hw_info to driver data can: rcar_canfd: Add max_channels to struct rcar_canfd_hw_info can: rcar_canfd: Add multi_global_irqs to struct rcar_canfd_hw_info can: rcar_canfd: Add clk_postdiv to struct rcar_canfd_hw_info can: rcar_canfd: Add multi_channel_irqs to struct rcar_canfd_hw_info can: rcar_canfd: Add has_gerfl_eef to struct rcar_canfd_hw_info drivers/net/can/rcar/rcar_canfd.c | 89 +++++++++++++++++++------------ 1 file changed, 54 insertions(+), 35 deletions(-) -- 2.25.1