mbox series

[0/7] Introduce PRU UART driver

Message ID 20250513215934.933807-1-jm@ti.com
Headers show
Series Introduce PRU UART driver | expand

Message

Judith Mendez May 13, 2025, 9:59 p.m. UTC
The PRU_ICSSG subsystems in am64x SoC, the PRU subsystem in am62 SoC, and
PRU_ICSS subsystem in am335x SoC include a UART sub-module. This patch
series introduces the driver and the corresponding binding documentation
for this UART sub-module.

The DTS patches for adding PRU UART nodes and enabling PRU UART is added
in this v1 version, but marked as DONOTMERGE since the patches only add
context to this series.

This driver version has been tested on the following boards: am64x SK and
am62x SK.

The RFC version of this driver has been previously tested on am335x SK as
well. DTS patches for enabling PRU UART for am335x SK will be sent as a
separate series once this series is merged.

Changes since RFC:
- Add DTS patches 3-6
- Fix include list
- Switch to platform_get_resource & uart_read_port_properties
- Remove custom speed hack in pruss8250_get_divisor
- Use port->serial_out functions provided by core driver instead of
  local writel() functions
- Switch to UPIO_MEM32 since largest UART register is 18 bits in length
- Cleanup whitspace, comments, variable/structure names, error paths
  and GPL licensing

Link to RFC:
https://lore.kernel.org/all/20250501003113.1609342-1-jm@ti.com/

Bin Liu (2):
  dt-bindings: serial: add binding documentation for TI PRUSS UART
  serial: 8250: Add PRUSS UART driver

Judith Mendez (5):
  dt-bindings: soc: ti: pruss: Add documentation for PRU UART support
  DONOTMERGE: arm64: dts: ti: k3-am64-main: Add PRU UART nodes
  DONOTMERGE: arm64: dts: ti: k3-am642-sk: Enable PRU UART
  DONOTMERGE: arm64: dts: ti: k3-am62-main: Add PRU UART node
  DONOTMERGE: arm64: dts: ti: k3-am62x-sk: Enable PRU UART

 .../bindings/serial/ti,pruss-uart.yaml        |  54 ++++++
 .../devicetree/bindings/soc/ti/ti,pruss.yaml  |   7 +
 arch/arm64/boot/dts/ti/k3-am62-main.dtsi      |   9 +
 .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi |  14 ++
 arch/arm64/boot/dts/ti/k3-am64-main.dtsi      |  18 ++
 arch/arm64/boot/dts/ti/k3-am642-sk.dts        |  16 ++
 drivers/tty/serial/8250/8250_pruss.c          | 178 ++++++++++++++++++
 drivers/tty/serial/8250/Kconfig               |  11 ++
 drivers/tty/serial/8250/Makefile              |   1 +
 9 files changed, 308 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/serial/ti,pruss-uart.yaml
 create mode 100644 drivers/tty/serial/8250/8250_pruss.c


base-commit: edef457004774e598fc4c1b7d1d4f0bcd9d0bb30