[SRU][B][PATCH 00/10] Support Intel Atom (Baytrail-I) HS-UART serdev slaves over tty

Shrirang Bagul shrirang.bagul at canonical.com
Fri Feb 21 06:41:17 UTC 2020


BugLink: https://bugs.launchpad.net/bugs/1864147

[Impact]
Support Intel Atom (Baytrail-I) HS-UART serdev slaves over tty

On systems using Intel Atom (Baytrail-I) SoC's, slave devices connected on
HSUART1/2 ports are described by the ACPI BIOS as virtual hardware using
HID's INT3511/INT3512.

As a consequence, HW manufacturers have complete freedom to install any
devices on-board as long as they can be accessed over serial tty
interface. Once such device is Dell Edge 3002 IoT Gateway which sports
ZigBee & GPS devices on the HS-UART ports 1 & 2 respectively.

Post 4.15, with CONFIG_SERIAL_DEV_BUS=y, serdev port controller driver
handles the enumeration for the slaves connected on these ports. Also,
/dev/ttySx device nodes for these ports are no longer exposed to the
userspace.

[Fixes]
This patchset allows the skipped virtual UART's with ACPI HID's mentioned
above to be enumerated as ttyHSx port.

[Regression Potential]
Low. This driver binds only to Intel Atom E38XX (Baytrail-I) virtual serial
ports on the Dell Edge 300x GW. These updates are being carried in the
linux-oem (4.15.y) kernel for more than 2 years without any regressions.

[Note]
This driver has been submitted upstream and is under review. This issue has
been identified as a regression in 4.15 and multiple solutions are being
explored. Meanwhile, to support customer and maintain release schedule,
this driver needs to be in Ubuntu 4.15 based kernels.
More info:
https://marc.info/?t=152455871600007&r=1&w=2

linux-oem buglink: http://bugs.launchpad.net/bugs/1769610

Andrey Smirnov (2):
  serdev: Make .remove in struct serdev_device_driver optional
  serdev: Introduce devm_serdev_device_open()

Johan Hovold (5):
  serdev: ttyport: release tty lock sooner on open
  serdev: ttyport: ignore carrier detect to avoid hangups
  serdev: ttyport: do not used keyed wakeup in write_wakeup
  serdev: do not generate modaliases for controllers
  serdev: only match serdev devices

Shrirang Bagul (2):
  UBUNTU: SAUCE: (no-up) Support HS-UART serdev slaves over tty
  UBUNTU: [Config] CONFIG_HSUART_SERIAL_DEVICE=y

Ulrich Hecht (1):
  serdev: add method to set parity

 Documentation/driver-model/devres.txt     |   3 +
 debian.master/config/config.common.ubuntu |   1 +
 drivers/misc/Kconfig                      |  11 +
 drivers/misc/Makefile                     |   1 +
 drivers/misc/intel-hsuart-serdev.c        | 338 ++++++++++++++++++++++
 drivers/tty/serdev/core.c                 | 123 +++++---
 drivers/tty/serdev/serdev-ttyport.c       |  32 +-
 include/linux/serdev.h                    |  11 +
 8 files changed, 478 insertions(+), 42 deletions(-)
 create mode 100644 drivers/misc/intel-hsuart-serdev.c

-- 
2.17.1




More information about the kernel-team mailing list