-
Notifications
You must be signed in to change notification settings - Fork 5.2k
SC16is752 ttySCx device not longer availible #3765
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
To be clear, you are saying that the kernel driver is outputing:
and the output from
but that there is no |
yes, exactly |
Try this:
|
KERNEL[96.856680] add /devices/platform/soc/fe804000.i2c/i2c-1/1-004c (i2c) KERNEL[96.884522] add /module/regmap_i2c (module) KERNEL[96.887343] add /module/regmap_spi (module) UDEV [96.892598] add /module/regmap_i2c (module) UDEV [96.892770] add /module/regmap_spi (module) KERNEL[96.893584] add /module/sc16is7xx (module) KERNEL[96.894100] add /bus/i2c/drivers/sc16is7xx (drivers) KERNEL[96.894241] add /bus/spi/drivers/sc16is7xx (drivers) UDEV [96.897778] add /devices/platform/soc/fe804000.i2c/i2c-1/1-004c (i2c) UDEV [96.898261] add /bus/spi/drivers/sc16is7xx (drivers) UDEV [96.898925] add /bus/i2c/drivers/sc16is7xx (drivers) UDEV [96.899796] add /module/sc16is7xx (module) => No ttySCx available |
A kernel configuration change in our 5.4 tree ( |
See #3682 for some context. |
[ Issue moved to the linux repo ] |
Without this config option, In our case, I see that Unfortunately, I have no knowledge of what this device is, so I don't know if this clk device is needed or not. It looks like it's some auxiliary device needed by the serial port that doesn't actually interfere with it. We need to understand if it's needed, because I think the clk device wasn't probed before |
The sc16is75x overlays are a bit odd, the fixed-clock node should probably be moved to / (or /clocks?), as it's probably an external oscillator, not a clock output provided by the device. |
Yes the clock can define by an external oscillator. Typicly xtal=14745600 |
As far as I understand the clock frequency is required or else the chip will not function [1, page 16f., 7.8 Programmable baud rate generator]. |
The reason the fixed clock (an expensive way to wrap an integer) is embedded within the sc16is75x node is to guarantee that it is unique. The firmware doesn't automatically uniquify node names that clash, resulting in phandles getting overwritten and the ensuing mayhem, but there are other options that I'm exploring. |
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Bleeugh (or however you spell that):
The overlay parameter mechanism allows a node's address to be changed by writing to the Anyway, there's a new patch in rpi-5.4.y that moves the clock nodes to the root to stop them looking like serdev nodes. reviewing them has revealed a number of errors, so it was a worthwhile exercise. |
Running with:
results in:
so we're back in business. |
See: raspberrypi/linux#3765 kernel: overlays: Delete spi0-hw-cs See: raspberrypi/linux#3355 kernel: backlight: gpio: Explicitly set the direction of the GPIO See: raspberrypi/linux#3767 kernel: overlays: Add maxtherm overlay for MAX6675/31855 See: raspberrypi/linux#3763 firmware: arm_loader: Knock 1.7 seconds off boot time See: #1375 firmware: Imx477 external sync signals
See: raspberrypi/linux#3765 kernel: overlays: Delete spi0-hw-cs See: raspberrypi/linux#3355 kernel: backlight: gpio: Explicitly set the direction of the GPIO See: raspberrypi/linux#3767 kernel: overlays: Add maxtherm overlay for MAX6675/31855 See: raspberrypi/linux#3763 firmware: arm_loader: Knock 1.7 seconds off boot time See: raspberrypi/firmware#1375 firmware: Imx477 external sync signals
This should be resolved in latest rpi-update kernel. |
Have tested with this raspberrypi/firmware@bd816db firmware commit and seems to work fine. Tested with 3x sc16is752 |
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Enabling serdev support in rpi-5.4.y had the unintended consequence of making any UART device node with a subnode look like a "serdev" node, which prevents it from having the usual /dev/ttyXXX character device. Solve the problem by moving the subnode (a static clock declaration) into the root node. At the same time, regularise (and sometimes correct) the overlays. See: #3765 Signed-off-by: Phil Elwell <[email protected]>
Hi there, [ 7.778335] serial serial0: tty port ttySC0 registered As i understand for some of you the Problem got solved but i cant figure out how ? |
You say you aren't into overlays, but are you using one? If you read through the above comments carefully you find that there were two significant changes:
These changes have been present in all kernels released since the end of August. |
thanks pelwell for the quick answer. Yes im using one but i made it copying together stuff that i dont quite understand enough to debug it myself. I added aditional aditional spi channels and the sc16 to my dt: I understand i have to change something about my fixed-clock but i dont know what to do about it ? Here is my overlay: `/dts-v1/; / {
}; |
Move it to the top level - this is one of the official overlays: https://github.com/raspberrypi/linux/blob/rpi-5.4.y/arch/arm/boot/dts/overlays/sc16is752-spi0-overlay.dts You can just copy fragment 2:
|
Thanks a million times :) |
Hi I have problem with my custom board, I tried write dts for my board
I think device init correcty
But any SPI device don't work, and cs is set to low level
|
Same issue here, after the new verion of Raspbian from May or October. In the past i used this in config : |
Describe the bug
I used several SC16IS752 on a Pi 4.
After the Last Update, the ttySCx devices are not longer available. After downgrading, the devices are available again. (4.19)
Seems the devices are recognized correct, but the device in /dev/ are not created.
Any Idears?
System
Copy and paste the results of the raspinfo command in to this section. Alternatively, copy and paste a pastebin link, or add answers to the following questions:
PI4
cat /etc/rpi-issue
)?Raspberry Pi reference 2019-07-10
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 175dfb027ffabd4b8d5080097af0e51ed9a4a56c, stage5
vcgencmd version
)?Jul 17 2020 10:59:17
Copyright (c) 2012 Broadcom
version 21a15cb094f41c7506ad65d2cb9b29c550693057 (clean) (release) (start)
uname -a
)?Linux marine-control-server 5.4.51-v8+ 4.19.97 Booting RPi 4 with rootfs on SSD on USB 3 hub fails firmware#1329 SMP PREEMPT Wed Jul 29 10:33:36 BST 2020 aarch64 GNU/Linux
Logs
-dmesg:
[ 5.551930] serial serial0: tty port ttySC0 registered
[ 5.583411] serial serial1: tty port ttySC1 registered
[ 5.620841] serial serial2: tty port ttySC2 registered
[ 5.626098] serial serial3: tty port ttySC3 registered
[ 5.641702] serial serial4: tty port ttySC4 registered
[ 5.646916] serial serial5: tty port ttySC5 registered
-sudo vcdbg log msg
005693.525: brfs: File read: /mfs/sd/overlays/sc16is752-i2c.dtbo
005744.434: Loaded overlay 'sc16is752-i2c'
005744.463: dtparam: int_pin=13
005744.950: dtparam: addr=0x4c
005745.863: dtparam: xtal=14745600
005893.915: brfs: File read: 1356 bytes
005895.258: brfs: File read: /mfs/sd/overlays/sc16is752-i2c.dtbo
005946.342: Loaded overlay 'sc16is752-i2c'
005946.366: dtparam: int_pin=12
005946.834: dtparam: addr=0x49
005947.744: dtparam: xtal=14745600
006097.264: brfs: File read: 1356 bytes
006098.597: brfs: File read: /mfs/sd/overlays/sc16is752-i2c.dtbo
006149.818: Loaded overlay 'sc16is752-i2c'
006149.841: dtparam: int_pin=6
006150.311: dtparam: addr=0x48
006151.224: dtparam: xtal=14745600
-cat /proc/tty/drivers
unknown /dev/ttySC 235 0-7 serial
Additional context
Add any other relevant context for the problem.
The text was updated successfully, but these errors were encountered: