[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221027082158.95895-1-biju.das.jz@bp.renesas.com>
Date: Thu, 27 Oct 2022 09:21:52 +0100
From: Biju Das <biju.das.jz@...renesas.com>
To: Wolfgang Grandegger <wg@...ndegger.com>,
Marc Kleine-Budde <mkl@...gutronix.de>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: Biju Das <biju.das.jz@...renesas.com>,
Vincent Mailhol <mailhol.vincent@...adoo.fr>,
Stefan Mätje <stefan.maetje@....eu>,
Ulrich Hecht <uli+renesas@...nd.eu>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>,
Christophe JAILLET <christophe.jaillet@...adoo.fr>,
linux-can@...r.kernel.org, netdev@...r.kernel.org,
Geert Uytterhoeven <geert+renesas@...der.be>,
Fabrizio Castro <fabrizio.castro.jz@...esas.com>,
Chris Paterson <Chris.Paterson2@...esas.com>,
linux-renesas-soc@...r.kernel.org
Subject: [PATCH v3 0/6] R-Car CAN FD driver enhancements
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@bp.renesas.com/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
Powered by blists - more mailing lists