I had to disable it for us, as the breaks SERIAL_DEV_CTRL_TTYPORT, which breaks Bluetooth on wl18xx… which breaks the Black Wireless, Green Wireless, Gateway etc…
Do this on an x86 desktop running Debian or Ubuntu…
git clone -b ti-linux-4.19.y https://github.com/RobertCNelson/ti-linux-kernel-dev
cd ti-linux-kernel-dev/
Then edit patches/defconfig to match these changes:
diff --git a/patches/defconfig b/patches/defconfig
index 7d51d5f5..1076dfd2 100644
--- a/patches/defconfig
+++ b/patches/defconfig
@@ -2818,7 +2818,10 @@ CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_OMAP is not set
# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+CONFIG_SERIAL_SC16IS7XX_CORE=m
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_I2C=y
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_BCM63XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
@@ -2830,7 +2833,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_PRU_SUART is not set
CONFIG_SERIAL_DEV_BUS=y
-CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
+# CONFIG_SERIAL_DEV_CTRL_TTYPORT is not set
CONFIG_TTY_PRINTK=m
CONFIG_HVC_DRIVER=y
# CONFIG_HVC_DCC is not set
Then run ./build_deb.sh
Wait till build finishes, then copy ./deploy/linux-image*.deb to beagle and install…
The CONFIG_SERIAL_SC16IS7XX lines in the config are now set and I see kernel/drivers/tty/serialsc16is7xx.ko.xz, but no SC16IS .dtbo files in /lib/firmware and no ttySC* in /dev.
Should they be there or should I be looking for something else?
Did you write an SC16IS*.dtbo overlay? or did you customize the device tree for a SC16IS node? Then no, unless you write something for the SC16IS and load it, it won’t show up… Which pins are you thinking of using?
That compilation method works but I assume the changes I made to the .dts file aren’t right.
The changes I made from the LTC2947 file were changing the labels as well as changing the max frequency to that specified in the datasheet for the SC16IS752.
interrupts: Specifies the interrupt source of the parent interrupt
controller. The format of the interrupt specifier depends on the
parent interrupt controller.