[PATCH v3 0/6] R-Car CAN FD driver enhancements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, dedicated channel tx
and error interrupts, separate global rx and error interrupts compared
to shared irq for R-Car. it does not s 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 HW differences are handled by comparing
with chip_id enum.

This patch series aims to replace chip_id with struct rcar_canfd_hw_info
to handle 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/20221025155657.1426948-1-biju.das.jz@xxxxxxxxxxxxxx/T/#t

v2->v3:
 * Replaced data type of max_channels from unsigned int->u8 to save memory.
 * Replaced data type of postdiv from unsigned int->u8 to save memory.
v1->v2:
 * Updated commit description for R-Car V3U SoC detection using
   driver data.
 * Replaced data type of max_channels from u32->unsigned int.
 * Replaced multi_global_irqs->shared_global_irqs to make it
   positive checks.
 * Replaced clk_postdiv->postdiv driver data variable.
 * Simplified the calcualtion for fcan_freq.
 * Replaced info->has_gerfl to gpriv->info->has_gerfl and wrapped
   the ECC error flag checks inside a single if statement.
 * Added Rb tag from Geert patch#1,#2,#3 and #5

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 shared_global_irqs to struct rcar_canfd_hw_info
  can: rcar_canfd: Add 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 | 104 ++++++++++++++++++------------
 1 file changed, 63 insertions(+), 41 deletions(-)

-- 
2.25.1




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux