.../bindings/serial/nxp,sc16is7xx.yaml | 1 + drivers/tty/serial/Kconfig | 18 +++--- drivers/tty/serial/sc16is7xx.c | 62 +++++++++++++++++-- drivers/tty/serial/sc16is7xx_i2c.c | 1 + drivers/tty/serial/sc16is7xx_spi.c | 1 + 5 files changed, 70 insertions(+), 13 deletions(-)
From: Konstantin Pugin <ria.freelander@gmail.com> 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. 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 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 | 18 +++--- drivers/tty/serial/sc16is7xx.c | 62 +++++++++++++++++-- drivers/tty/serial/sc16is7xx_i2c.c | 1 + drivers/tty/serial/sc16is7xx_spi.c | 1 + 5 files changed, 70 insertions(+), 13 deletions(-) base-commit: c6795fbffc4547b40933ec368200bd4926a41b44 -- 2.34.1
On Fri, 19 Apr 2024 15:45:00 +0300 Konstantin Pugin <rilian.la.te@ya.ru> wrote: > From: Konstantin Pugin <ria.freelander@gmail.com> > > 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. Hi Konstantin, it would probably be a good idea to also add the device to the list of supported devices for this driver in the Kconfig file. Hugo. > > 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. > > 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 > > 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 | 18 +++--- > drivers/tty/serial/sc16is7xx.c | 62 +++++++++++++++++-- > drivers/tty/serial/sc16is7xx_i2c.c | 1 + > drivers/tty/serial/sc16is7xx_spi.c | 1 + > 5 files changed, 70 insertions(+), 13 deletions(-) > > > base-commit: c6795fbffc4547b40933ec368200bd4926a41b44 > -- > 2.34.1 > > > -- Hugo Villeneuve <hugo@hugovil.com>
On Fri, Apr 19, 2024 at 4:43 PM Hugo Villeneuve <hugo@hugovil.com> wrote: > > On Fri, 19 Apr 2024 15:45:00 +0300 > Konstantin Pugin <rilian.la.te@ya.ru> wrote: > > > From: Konstantin Pugin <ria.freelander@gmail.com> > > > > 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. > > Hi Konstantin, > it would probably be a good idea to also add the device to the list of supported devices for this driver in the Kconfig file. > > Hugo. It is already done in V4. > > > > > 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. > > > > 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 > > > > 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 | 18 +++--- > > drivers/tty/serial/sc16is7xx.c | 62 +++++++++++++++++-- > > drivers/tty/serial/sc16is7xx_i2c.c | 1 + > > drivers/tty/serial/sc16is7xx_spi.c | 1 + > > 5 files changed, 70 insertions(+), 13 deletions(-) > > > > > > base-commit: c6795fbffc4547b40933ec368200bd4926a41b44 > > -- > > 2.34.1 > > > > > > > > > -- > Hugo Villeneuve <hugo@hugovil.com>
© 2016 - 2024 Red Hat, Inc.