|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0 |
|
| #
381388b9 |
| 19-Aug-2018 |
Matt Macy <[email protected]> |
add snps IP uart support / genaralize UART
This is an amalgam of a patch by Doug Ambrisko to generalize uart_acpi_find_device, imp moving the ACPI table to uart_dev_ns8250.c and advice by jhb to wor
add snps IP uart support / genaralize UART
This is an amalgam of a patch by Doug Ambrisko to generalize uart_acpi_find_device, imp moving the ACPI table to uart_dev_ns8250.c and advice by jhb to work around a bug in the EPYC 3151 BIOS (the BIOS incorrectly marks the serial ports as disabled)
Reviewed by: imp MFC after: 8 weeks Differential Revision: https://reviews.freebsd.org/D16432
show more ...
|
| #
f30f0f2b |
| 22-Jul-2018 |
Matt Macy <[email protected]> |
Add busy detect quirk to list of console options
This change allows one to set the busy_detect flag required by the synopsys UART at the loader prompt. This is needed by the EPYC 3000 SoC.
This wil
Add busy detect quirk to list of console options
This change allows one to set the busy_detect flag required by the synopsys UART at the loader prompt. This is needed by the EPYC 3000 SoC.
This will give users a working console up to the point where getty is required: hw.uart.console="mm:0xfedc9000,rs:2,bd:1"
Reviewed by: imp MFC after: 4 weeks Differential Revision: https://reviews.freebsd.org/D16399
show more ...
|
|
Revision tags: release/11.2.0 |
|
| #
718cf2cc |
| 27-Nov-2017 |
Pedro F. Giffuni <[email protected]> |
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
show more ...
|
| #
6e71b3c3 |
| 10-Oct-2017 |
Ed Maste <[email protected]> |
uart: detect 256-byte FIFOs
Submitted by: Zakary Nafziger <[email protected]> Sponsored by: The FreeBSD Foundation
|
|
Revision tags: release/10.4.0, release/11.1.0 |
|
| #
4e352a45 |
| 01-May-2017 |
Alexander Motin <[email protected]> |
Make some UART consoles to not spin wait for data to be sent.
At least with Tx FIFO enabled it shows me ~10% reduction of verbose boot time with serial console at 115200 baud.
Reviewed by: marcel M
Make some UART consoles to not spin wait for data to be sent.
At least with Tx FIFO enabled it shows me ~10% reduction of verbose boot time with serial console at 115200 baud.
Reviewed by: marcel MFC after: 2 weeks
show more ...
|
| #
b192bae6 |
| 17-Nov-2016 |
Ruslan Bukin <[email protected]> |
Add support for UART found in the Ingenic XBurst system on chips.
These CPUs has non-standard UART enable bit hidden in the UART FIFO Control Register.
Sponsored by: DARPA, AFRL
|
|
Revision tags: release/11.0.1, release/11.0.0 |
|
| #
453130d9 |
| 03-May-2016 |
Pedro F. Giffuni <[email protected]> |
sys/dev: minor spelling fixes.
Most affect comments, very few have user-visible effects.
|
| #
b738dafd |
| 01-Apr-2016 |
Jared McNeill <[email protected]> |
Move support for Synopsys Designware APB UART out of ns8250 and into a separate driver. Add support for activating clock and hwreset resources for these devices when the EXT_RESOURCES option is prese
Move support for Synopsys Designware APB UART out of ns8250 and into a separate driver. Add support for activating clock and hwreset resources for these devices when the EXT_RESOURCES option is present.
Reviewed by: andrew, mmel, Emmanuel Vadot <[email protected]> Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5749
show more ...
|
|
Revision tags: release/10.3.0 |
|
| #
3b654e08 |
| 26-Feb-2016 |
Wojciech Macek <[email protected]> |
Add ns16550a compatible string in UART 8250 driver
Obtained from: Semihalf Submitted by: Michal Stanek <[email protected]> Sponsored by: Annapurna Labs Approved by:
Add ns16550a compatible string in UART 8250 driver
Obtained from: Semihalf Submitted by: Michal Stanek <[email protected]> Sponsored by: Annapurna Labs Approved by: cognet (mentor) Reviewed by: imp, wma Differential revision: https://reviews.freebsd.org/D5404
show more ...
|
| #
3c7b9077 |
| 12-Feb-2016 |
Michal Meloun <[email protected]> |
UART: Fix spurious interrupts generated by ns8250 and lpc drivers: - don't enable transmitter empty interrupt before filling TX FIFO. - add missing uart_barrier() call in interrupt service routine
|
| #
8abfc69d |
| 20-Jan-2016 |
Zbigniew Bodek <[email protected]> |
Fix busy-detect when using DesignWare UART
uart_dev_ns8250 now relies on compatible property instead of additional 'busy-detect' cell. All drivers with compatible = "snps,dw-apb-uart" have busy dete
Fix busy-detect when using DesignWare UART
uart_dev_ns8250 now relies on compatible property instead of additional 'busy-detect' cell. All drivers with compatible = "snps,dw-apb-uart" have busy detection turned on. DTS files of devices affected by the change were modified and 'busy-detect' property was removed.
Reviewed by: andrew, ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <[email protected]> Differential revision: https://reviews.freebsd.org/D4218
show more ...
|
| #
a6c98177 |
| 20-Jan-2016 |
Zbigniew Bodek <[email protected]> |
Add compatibility string for dw-apb-uart in ns8250 driver
This compatibility string is used in .dts file of Armada38x and isrequired for driver attachment.
Reviewed by: andrew, ian, imp Obtained
Add compatibility string for dw-apb-uart in ns8250 driver
This compatibility string is used in .dts file of Armada38x and isrequired for driver attachment.
Reviewed by: andrew, ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <[email protected]> Differential revision: https://reviews.freebsd.org/D4216
show more ...
|
| #
fdfbb3f5 |
| 12-Jan-2016 |
Ian Lepore <[email protected]> |
Restore uart PPS signal capture polarity to its historical norm, and add an option to invert the polarity in software. Also add an option to capture very narrow pulses by using the hardware's MSR del
Restore uart PPS signal capture polarity to its historical norm, and add an option to invert the polarity in software. Also add an option to capture very narrow pulses by using the hardware's MSR delta-bit capability of latching line state changes.
This effectively reverts the mistake I made in r286595 which was based on empirical measurements made on hardware using TTL-level signaling, in which the logic levels are inverted from RS-232. Thus, this re-syncs the polarity with the requirements of RFC 2783, which is writen in terms of RS-232 signaling.
Narrow-pulse mode uses the ability of most ns8250 and similar chips to provide a delta indication in the modem status register. The hardware is able to notice and latch the change when the pulse width is shorter than interrupt latency, which results in the signal no longer being asserted by time the interrupt service code runs. When running in this mode we get notified only that "a pulse happened" so the driver synthesizes both an ASSERT and a CLEAR event (with the same timestamp for each). When the pulse width is about equal to the interrupt latency the driver may intermittantly see both edges of the pulse. To prevent generating spurious events, the driver implements a half-second lockout period after generating an event before it will generate another.
Differential Revision: https://reviews.freebsd.org/D4477
show more ...
|
| #
e0fe7c95 |
| 18-Nov-2015 |
Adrian Chadd <[email protected]> |
uart(4) - make the 8250 uart baudrate tolerance build time tweakable.
It turns out on a 16550 w/ a 25MHz SoC reference clock you get a little over 3% error at 115200 baud, which causes this to fail.
uart(4) - make the 8250 uart baudrate tolerance build time tweakable.
It turns out on a 16550 w/ a 25MHz SoC reference clock you get a little over 3% error at 115200 baud, which causes this to fail.
Just .. cope. Things cope these days.
Default to 30 (3.0%) as before, but allow UART_DEV_TOLERANCE_PCT to be set at build time to change that.
show more ...
|
|
Revision tags: release/10.2.0 |
|
| #
b1621f22 |
| 30-May-2015 |
Luiz Otavio O Souza <[email protected]> |
Actually check the DTS node value to enable the uart quirks.
Without this fix, you cannot disable the quirks by setting it to 0, just the presence of the FDT node was enough to enable it.
|
| #
405ada37 |
| 11-Apr-2015 |
Andrew Turner <[email protected]> |
Add support for the uart classes to set their default register shift value. This is needed with the pl011 driver. Before this change it would default to a shift of 0, however the hardware places the
Add support for the uart classes to set their default register shift value. This is needed with the pl011 driver. Before this change it would default to a shift of 0, however the hardware places the registers at 4-byte addresses meaning the value should be 2.
This patch fixes this for the pl011 when configured using the fdt. The other drivers have a default value of 0 to keep this a no-op.
MFC after: 1 week
show more ...
|
| #
3bb693af |
| 07-Mar-2015 |
Ian Lepore <[email protected]> |
Move the uart_class definitions and fdt compat data into the individual uart implementations, and export them using the new linker-set mechanism.
Differential Revision: https://reviews.freebsd.org/D
Move the uart_class definitions and fdt compat data into the individual uart implementations, and export them using the new linker-set mechanism.
Differential Revision: https://reviews.freebsd.org/D1993 Submitted by: Michal Meloun
show more ...
|
|
Revision tags: release/10.1.0, release/9.3.0 |
|
| #
af3b2549 |
| 28-Jun-2014 |
Hans Petter Selasky <[email protected]> |
Pull in r267961 and r267973 again. Fix for issues reported will follow.
|
| #
37a107a4 |
| 27-Jun-2014 |
Glen Barber <[email protected]> |
Revert r267961, r267973:
These changes prevent sysctl(8) from returning proper output, such as:
1) no output from sysctl(8) 2) erroneously returning ENOMEM with tools like truss(1) or uname(1
Revert r267961, r267973:
These changes prevent sysctl(8) from returning proper output, such as:
1) no output from sysctl(8) 2) erroneously returning ENOMEM with tools like truss(1) or uname(1) truss: can not get etype: Cannot allocate memory
show more ...
|
| #
3da1cf1e |
| 27-Jun-2014 |
Hans Petter Selasky <[email protected]> |
Extend the meaning of the CTLFLAG_TUN flag to automatically check if there is an environment variable which shall initialize the SYSCTL during early boot. This works for all SYSCTL types both statica
Extend the meaning of the CTLFLAG_TUN flag to automatically check if there is an environment variable which shall initialize the SYSCTL during early boot. This works for all SYSCTL types both statically and dynamically created ones, except for the SYSCTL NODE type and SYSCTLs which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to be used in the case a tunable sysctl has a custom initialisation function allowing the sysctl to still be marked as a tunable. The kernel SYSCTL API is mostly the same, with a few exceptions for some special operations like iterating childrens of a static/extern SYSCTL node. This operation should probably be made into a factored out common macro, hence some device drivers use this. The reason for changing the SYSCTL API was the need for a SYSCTL parent OID pointer and not only the SYSCTL parent OID list pointer in order to quickly generate the sysctl path. The motivation behind this patch is to avoid parameter loading cludges inside the OFED driver subsystem. Instead of adding special code to the OFED driver subsystem to post-load tunables into dynamically created sysctls, we generalize this in the kernel.
Other changes: - Corrected a possibly incorrect sysctl name from "hw.cbb.intr_mask" to "hw.pcic.intr_mask". - Removed redundant TUNABLE statements throughout the kernel. - Some minor code rewrites in connection to removing not needed TUNABLE statements. - Added a missing SYSCTL_DECL(). - Wrapped two very long lines. - Avoid malloc()/free() inside sysctl string handling, in case it is called to initialize a sysctl from a tunable, hence malloc()/free() is not ready when sysctls from the sysctl dataset are registered. - Bumped FreeBSD version to indicate SYSCTL API change.
MFC after: 2 weeks Sponsored by: Mellanox Technologies
show more ...
|
| #
8bc9a079 |
| 29-May-2014 |
Olivier Houchard <[email protected]> |
In uart_bus_grab(), use the ier_mask instead of a custom hack for XScale.
Suggested by: jmg
|
| #
caf6d6b4 |
| 29-May-2014 |
Olivier Houchard <[email protected]> |
In the grab function, keep the bit 6 on in the IER, on XScale, using 0 turns the UART off, which is unfortunate if one want to use it as a console.
|
| #
d76a1ef4 |
| 19-Jan-2014 |
Warner Losh <[email protected]> |
Introduce grab and ungrab upcalls. When the kernel desires to grab the console, it calls the grab functions. These functions should turn off the RX interrupts, and any others that interfere. This mak
Introduce grab and ungrab upcalls. When the kernel desires to grab the console, it calls the grab functions. These functions should turn off the RX interrupts, and any others that interfere. This makes mountroot prompt work again. If there's more generalized need other than prompting, many of these routines should be expanded to do those new things.
Should have been part of r260889, but waasn't due to command line typo.
Reviewed by: bde (with reservations)
show more ...
|
|
Revision tags: release/10.0.0 |
|
| #
49e368ac |
| 26-Oct-2013 |
Zbigniew Bodek <[email protected]> |
Wait for DesignWare UART transfers completion before accessing line control
When using DW UART with BUSY detection it is necessary to wait until all serial transfers are finished before manipulating
Wait for DesignWare UART transfers completion before accessing line control
When using DW UART with BUSY detection it is necessary to wait until all serial transfers are finished before manipulating the line control. LCR will not be affected when UART is busy. In addition, if Divisor Latch Access Bit is being set in order to modify UART divisors: 1. We will get BUSY interrupt if interrupts are enabled. 2. Because LCR will not be affected the THR and (even worse) IER contents will be corrupted. This will lead to console hang.
Approved by: cognet (mentor)
show more ...
|
|
Revision tags: release/9.2.0 |
|
| #
40a827b6 |
| 30-Aug-2013 |
Marcel Moolenaar <[email protected]> |
A final test with unmodified code has shown that a delay of 150ms is not giving us a 100% success rate. Bump the delay to 200ms as that seems to do the trick.
Note that during testing the delay was
A final test with unmodified code has shown that a delay of 150ms is not giving us a 100% success rate. Bump the delay to 200ms as that seems to do the trick.
Note that during testing the delay was added to uart_bus_attach() in uart_core.c. While having the delay in a different place can change the behaviour, it was not expected. Having to bump the delay with another 50ms could therefore be an indication that the problem can not be solved with delays.
Reported by: kevlo@ Tested by: kevlo@
show more ...
|