[PATCH v9 0/3] add support for EXAR XR20M1172 UART
Konstantin Pugin
rilian.la.te at ya.ru
Thu Apr 25 11:32:32 PDT 2024
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
More information about the linux-riscv
mailing list