Skip to content

Driver sc16is7xx is not enabling IRQ in sc16is752 chip? #3231

@kaamil1984

Description

@kaamil1984

I'm trying to use sc16is752 chip connected to spi1 (and INT to gpio24) and it looks like chip does not generate IRQ when it receives some data.

I have checked this with logic analyzer. SC16IS752 INT pin is always HIGH (pulled up to Vdd by 1kOhm resistor).

I'm using screen /dev/ttySC0 9600 to check if port works. It does not receive data until I "manually" generate falling edge on gpio24 (by shorting it to GND for a moment). When I do that - looks like whole buffer is being read, so interrupt mechanism is working fine.

I also tried to disconnect INT pin from Raspberry to be sure, that Raspberry is not holding this pin in HIGH state somehow.

I saw driver source here: sc16is7xx.c line 1042, it looks that it should enable interrupts in chip, but it doesn't.

static int sc16is7xx_startup(struct uart_port *port)
{

        // (...)

	/* Enable RX, TX interrupts */
	val = SC16IS7XX_IER_RDI_BIT | SC16IS7XX_IER_THRI_BIT;
	sc16is7xx_port_write(port, SC16IS7XX_IER_REG, val);

	return 0;
}

I'm using RPi CM3 module (with "Waveshare Compute Module IO Board Plus" development board) and custom board with SC16IS752, RS485 transceivers and a lot of not related stuff.

schematic

System

# cat /etc/rpi-issue

Raspberry Pi reference 2019-04-08
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, e910bf55ac92e27c6e77043e8995bcb5e0a2d742, stage2
# vcgencmd version
Aug 15 2019 12:06:42
Copyright (c) 2012 Broadcom
version 0e6daa5106dd4164474616408e0dc24f997ffcf3 (clean) (release) (start)
# uname -a
Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    Close within 30 daysIssue will be closed within 30 days unless requested to stay openWaiting for external inputWaiting for a comment from the originator of the issue, or a collaborator.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions