EXAR XR20M1172 UART is mostly SC16IS762-compatible, but it has additional register which can change UART multiplier to 4x and 8x, similar to UPF_MAGIC_MULTIPLIER does. So, I used this flag to guard access to its specific DLD register. It seems than other EXAR SPI UART modules also have this register, but I tested only XR20M1172. Yes, in datasheet this register is called "DLD - Divisor Fractional" or "DLD - Divisor Fractional Register", calling depends on datasheet version. I am sorry about too many submissions and top post reply. About second - I do not know how to reply properly to this ML from GMail phone app. About first - I just get very good feedback from Andy Shevchenko, and want to fix his review picks ASAP. Hugo, I am sorry, I fixes a bug, but forgot to amend a fix( Log from v9 compilation: ``` CC [M] drivers/tty/serial/omap-serial.o CC [M] drivers/tty/serial/owl-uart.o CC [M] drivers/tty/serial/pch_uart.o CC [M] drivers/tty/serial/qcom_geni_serial.o CC [M] drivers/tty/serial/ucc_uart.o CC [M] drivers/tty/serial/rp2.o CC [M] drivers/tty/serial/samsung_tty.o CC [M] drivers/tty/serial/sccnxp.o CC [M] drivers/tty/serial/sc16is7xx.o CC [M] drivers/tty/serial/sc16is7xx_spi.o CC [M] drivers/tty/serial/sc16is7xx_i2c.o CC [M] drivers/tty/serial/sh-sci.o CC [M] drivers/tty/serial/sifive.o CC [M] drivers/tty/serial/sprd_serial.o CC [M] drivers/tty/serial/st-asc.o CC [M] drivers/tty/serial/stm32-usart.o ``` Changes in v2: - use full name in git authorship Changes in v3: - change formatting of commit messages to unify width - rework commit messages according to code review - add XR20M117X namespace for EXAR-specific register - do not use UPF_MAGIC_MULTIPLIER for checking EXAR chip, use s->devtype directly - replace while loop to fls function and expanded check - sort compatibles - reformat multiline comment. Changes in v4: - rebase onto tty-next branch - added Kconfig mention of the chip - used rounddown_power_of_two instead of fls and manual shift - used FIELD_PREP instead of custom macro - removed has_dld bit from common struct, replaced by check function, which checks directly by s->devtype - fixed tab count - properly apply Vladimir Zapolskiy's tag to patch 2 only Changes in v5: - fixes for tty-next branch - address a new code review picks - send properly to all participants - added Ack tag Changes in v6: - KConfig fixes - New code review fixes Changes in v7: - Added missed tag - Added missed v5 fixes Changes in v8: - Fixed semicolon - Added missed tags - Fixed commit messages Changes in v9: - Really fixed compilation (checked by git reset --hard && make allmodconfig && make) - Implemented Hugo and Andy's messages Konstantin Pugin (3): serial: sc16is7xx: announce support of SER_RS485_RTS_ON_SEND dt-bindings: sc16is7xx: Add compatible line for XR20M1172 UART serial: sc16is7xx: add support for EXAR XR20M1172 UART .../bindings/serial/nxp,sc16is7xx.yaml | 1 + drivers/tty/serial/Kconfig | 3 +- drivers/tty/serial/sc16is7xx.c | 63 +++++++++++++++++-- drivers/tty/serial/sc16is7xx.h | 1 + drivers/tty/serial/sc16is7xx_i2c.c | 1 + drivers/tty/serial/sc16is7xx_spi.c | 1 + 6 files changed, 64 insertions(+), 6 deletions(-) base-commit: 660a708098569a66a47d0abdad998e29e1259de6 -- 2.44.0