E4yK+trjbzetElBuNVgrJari+hfLepDspq3em389FJooe/hvNUQFYLc8Xgb7jf/4kTRK2p UpIfIY5bMOUQ03ASozFKxsfSW/Jf6i8CzfHcFCpFeN/NUTxaMi8EbUh4ouBcpEimBAxfQv 4Vc+T+PnM/ZUla2oaBl20o3L/lGBDssX9HbXawOAnORkWuKL1qRu61gApHrCLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hJfmY6CKZz1Rf for ; Mon, 10 Aug 2026 16:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3465d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 10 Aug 2026 16:07:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: e5d63cec57a5 - stable/15 - uart: Add support for the Intel XScale controller List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: e5d63cec57a57f8403ccb09f73297877ef471175 Auto-Submitted: auto-generated Date: Mon, 10 Aug 2026 16:07:57 +0000 Message-Id: <6a79f75d.3465d.24e6e471@gitrepo.freebsd.org> The branch stable/15 has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=e5d63cec57a57f8403ccb09f73297877ef471175 commit e5d63cec57a57f8403ccb09f73297877ef471175 Author: Bojan Novković AuthorDate: 2026-06-18 02:03:55 +0000 Commit: Bojan Novković CommitDate: 2026-08-10 16:04:06 +0000 uart: Add support for the Intel XScale controller The ns8250 driver avoids clearing IER bit 0x10 to account for the split "receiver time-out interrupt enable" bit, but it never sets it in `ier_rxbits` even though a comment in `ns8250_init` implies so. Fix this by setting `IER_RXTMOUT` if we've matched an XScale uart. Differential Revision: https://reviews.freebsd.org/D57629 Reviewed by: imp MFC after: 2 weeks (cherry picked from commit 1665954e508f74588108e96c30b90d1a88807faa) --- sys/dev/uart/uart_dev_ns8250.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c index 6d8097db6581..ca024daa7c33 100644 --- a/sys/dev/uart/uart_dev_ns8250.c +++ b/sys/dev/uart/uart_dev_ns8250.c @@ -526,6 +526,7 @@ UART_ACPI_CLASS_AND_DEVICE(acpi_compat_data); static struct ofw_compat_data compat_data[] = { {"ns16550", (uintptr_t)&uart_ns8250_class}, {"ns16550a", (uintptr_t)&uart_ns8250_class}, + {"intel,xscale-uart", (uintptr_t)&uart_ns8250_class}, {NULL, (uintptr_t)NULL}, }; UART_FDT_CLASS_AND_DEVICE(compat_data); @@ -611,6 +612,12 @@ ns8250_bus_attach(struct uart_softc *sc) /* Get IER RX interrupt bits */ ivar = IER_EMSC | IER_ERLS | IER_ERXRDY; +#ifdef FDT + /* Intel XScale models won't work without IER_RXTMOUT set. */ + if (ofw_bus_is_compatible(sc->sc_dev, "intel,xscale-uart")) + ivar |= IER_RXTMOUT; +#endif + resource_int_value("uart", device_get_unit(sc->sc_dev), "ier_rxbits", &ivar); ns8250->ier_rxbits = (uint8_t)(ivar & 0xff);