mbox series

[v4,0/5] Renesas SCI fixes

Message ID 20230321114753.75038-1-biju.das.jz@bp.renesas.com
Headers show
Series Renesas SCI fixes | expand

Message

Biju Das March 21, 2023, 11:47 a.m. UTC
RZ/G2UL SMARC EVK has sci pins exposed through PMOD1 interface.
On testing, found that irq handler, tx and rx is broken.

This series fixes these issues.

v3->v4:
 * Updated the fixes tag for patch#2 and patch#3
 * Replaced sci_port->is_rz_sci with dev->dev.of_node as regshift are only needed
   for sh770x/sh7750/sh7760, which don't use DT yet.
 * Dropped is_rz_sci variable from struct sci_port.
 * Removed fixes tag from patch#4, as it is a feature enhancement to make tx
   fully functional on RZ/G2L alike SOCs. With previous patch#3, eventhough
   we get tx interrupts, still it is broken as characters entered on
   uart terminal is not visible except for the first character.
 * Updated commit header sci0 nodes->sci0 node for patch#5 
 * Removed PMOD USBUART reference and connection details as user can connect
   anything on that PMOD1 pins.
 * Renamed r9a07g043-smarc.dtso->r9a07g043-smarc-pmod.dtso
 * Dropped unused header file dt-bindings/gpio/gpio.h
v2->v3:
 * Cced stable@vger.kernel.org
 * Added Rx, Tx and Tx end interrupt handler patch.
v1->v2:
 * Replaced the wrong fixes tag
 * Added a simpler check in sci_init_single() and added a check in
   probe to catch invalid interrupt count.
Tested the SCI0 interface on RZ/G2UL by connecting to PMOD USBUART.
 39:          0     GICv3 437 Level     1004d000.serial:rx err
 40:         12     GICv3 438 Edge      1004d000.serial:rx full
 41:         70     GICv3 439 Edge      1004d000.serial:tx empty
 42:         18     GICv3 440 Level     1004d000.serial:tx end

Biju Das (5):
  tty: serial: sh-sci: Fix transmit end interrupt handler
  tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
  tty: serial: sh-sci: Fix Tx on SCI IP
  tty: serial: sh-sci: Add support for tx end interrupt handling
  arm64: dts: renesas: r9a07g044: Enable sci0 node using dt overlay

 arch/arm64/boot/dts/renesas/Makefile          |  1 +
 .../dts/renesas/r9a07g043-smarc-pmod.dtso     | 42 ++++++++++++
 drivers/tty/serial/sh-sci.c                   | 66 +++++++++++++++++--
 drivers/tty/serial/sh-sci.h                   |  3 +
 4 files changed, 106 insertions(+), 6 deletions(-)
 create mode 100644 arch/arm64/boot/dts/renesas/r9a07g043-smarc-pmod.dtso

Comments

Geert Uytterhoeven March 27, 2023, 9:12 a.m. UTC | #1
On Tue, Mar 21, 2023 at 12:48 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> The fourth interrupt on SCI port is transmit end interrupt compared to
> the break interrupt on other port types. So, shuffle the interrupts to fix
> the transmit end interrupt handler.
>
> Fixes: e1d0be616186 ("sh-sci: Add h8300 SCI")
> Cc: stable@vger.kernel.org
> Suggested-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v3->v4:
>  * No change.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert