#
340145 |
|
04-Nov-2018 |
mmacy |
Backport of r338074 - generalize uart_bus_probe and add SNPS support to x86
Submitted by: Rajesh Kumar Differential Revision: https://reviews.freebsd.org/D17381
|
#
331885 |
|
02-Apr-2018 |
gonzo |
MFC r303100 by andrew:
We will be switching to a new arm64 uart cpu driver that handles both FDT and ACPI. As such pull out what will be the common parts of the FDT cpu detection to a new function that can be shared between them.
Reviewed by: manu Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7262
|
#
331722 |
|
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
|
#
330897 |
|
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
298637 |
|
26-Apr-2016 |
andrew |
Stop including machine/fdt.h from the fdt uart code, it's unneeded.
Sponsored by: ABT Systems Ltd
|
#
298632 |
|
26-Apr-2016 |
br |
Do not include fdt.h on RISC-V.
|
#
295910 |
|
23-Feb-2016 |
ian |
This code no longer references fdtbus_bs_tag, no need for a special extern declaration of it for aarch64.
|
#
295909 |
|
23-Feb-2016 |
ian |
Now that we have OF_decode_addr(), with proper MD implementations, to obtain the bus space tag and handle for a uart console, use the values returned by that routine to set the global uart_bus_space_mem, instead of assuming that there will be a global variable named fdtbus_bs_tag to set it from.
Also, use OF_getencprop() instead calling fdt32_to_cpu() separately.
|
#
295662 |
|
16-Feb-2016 |
andrew |
Allow callers of OF_decode_addr to get the size of the found mapping. This will allow for code that uses the old fdt_get_range and fdt_regsize functions to find a range, map it, access, then unmap to replace this, up to and including the map, with a call to OF_decode_addr.
As this function should only be used in the early boot code the unmap is mostly do document we no longer need the mapping as it's a no-op, at least on arm.
Reviewed by: jhibbits Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D5258
|
#
294280 |
|
18-Jan-2016 |
ian |
Use OF_decode_addr() to create a bus_space tag and handle for the console on FDT/OFW platforms.
After the refactoring of the powerpc code so that OF_decode_addr() is usable on all FDT/OFW platforms, this switches uart(4) to using it.
Differential Revision: https://reviews.freebsd.org/D4675
|
#
287565 |
|
08-Sep-2015 |
andrew |
Allow us to set the console device tree node. This is needed as not all vendor supplied device trees contain the needed properties for us to select the correct uart to use as the kernel console.
An example of this would be to add the following to loader.conf. hw.fdt.console="/smb/uart@f7113000"
The intention of this is slightly different than the existing hw.uart.console option. The new option will mean the boot serial configuration will be derived from the device node, while the existing option expects the user to configure all this themselves.
Further work is planned to allow the uart configuration to be set based on the stdout-path property devicetree bindings.
Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D3559
|
#
281438 |
|
11-Apr-2015 |
andrew |
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
|
#
281204 |
|
07-Apr-2015 |
andrew |
Get the fdt uart driver working on arm64, there is no machine/fdt.h, and the default shift should be 2 for the SoCs we support.
Sponsored by: The FreeBSD Foundation
|
#
281077 |
|
04-Apr-2015 |
andrew |
Move uart_fdt_get_clock and uart_fdt_get_shift to uart_bus_fdt.c, we may not build uart_cpu_fdt.c in all configs.
|
#
281074 |
|
04-Apr-2015 |
andrew |
Remove the extra copy of uart_fdt_get_clock and uart_fdt_get_shift. While here also use OF_getencprop in uart_fdt_get_clock.
Sponsored by: The FreeBSD Foundation
|
#
281073 |
|
04-Apr-2015 |
andrew |
Use OF_getencprop over OF_getprop and fdt32_to_cpu. The latter may give us the wrong data in the failure case if shift was not zero.
Sponsored by: The FreeBSD Foundation
|
#
279723 |
|
07-Mar-2015 |
ian |
Define new linker set, UART_FDT_CLASS_AND_DEVICE, for registering full (class and device) FDT UART. Define second one, UART_FDT_CLASS, for UART class only.
This paves the way for declaring uart_class data and ofw/fdt compat data with a uart implementation, rather than needing a big global table of compat data and weak-symbol declarations of every existing implementation.
Differential Revision: https://reviews.freebsd.org/D1992 Submitted by: Michal Meloun
|
#
261092 |
|
23-Jan-2014 |
imp |
clock-frequency is a FreeBSD-specific extention. Make it optional and allow the client uart drivers to decide if a frequency is required.
|
#
257556 |
|
02-Nov-2013 |
ian |
Arrange for uart_cpu_fdt's probe() routine to use the same table of compat strings as uart_bus_fdt's probe().
The bus code uses ofw_bus_search_compatible() and that's not an option in cpu (console) code -- it runs way before the ofw routines are usable. So the console probe has its own loop to search the table, but now at least there's only one table to be maintained when new devices are added.
|
#
257195 |
|
26-Oct-2013 |
nwhitehorn |
Try even harder to find a console before giving up.
|
#
257183 |
|
26-Oct-2013 |
nwhitehorn |
Be a bit more flexible in how we find the console from the properties on /chosen, following the list of allowed console properties in ePAPR. Also do not require that stdin be defined and equal to stdout: stdin is nonstandard (for ePAPR) and console in an unexpected place is after all better than no console.
|
#
257157 |
|
26-Oct-2013 |
nwhitehorn |
machine/pmap.h is included by vm/pmap.h, so is redundant here. Thanks to Alan Cox for pointing this out.
|
#
257144 |
|
26-Oct-2013 |
nwhitehorn |
Fix build after r257111 by including headers with definition of pmap_kextract().
|
#
257111 |
|
25-Oct-2013 |
ray |
Test UARTs physical address instead of virtual.
|
#
254598 |
|
21-Aug-2013 |
ian |
Add support for uarts other than the serial console in TI OMAP SoCs.
The TI uart hardware is ns16550-compatible, except that before it can be used the clocks and power have to be enabled and a non-standard mode control register has to be set to put the device in uart mode (as opposed to irDa or other serial protocols). This adds the extra code in an extension to the standard ns8250 probe routine, and the rest of the driver is just the standard ns8250 code.
|
#
254590 |
|
21-Aug-2013 |
ian |
Use an if/else sequence rather than unrelated if statements, so that a device compatible with multiple drivers matches the more specific driver first and doesn't overwrite it later with the more generic. Move the generic ns16550 to the end of the list.
|
#
252394 |
|
29-Jun-2013 |
ray |
Teach UART to attach Exynos/s3/s5 class driver.
Submitted by: Ruslan Bukin <br@bsdpad.com> Reviewed by: gonzo
|
#
250840 |
|
21-May-2013 |
marcel |
Add basic support for FDT to i386 & amd64. This change includes: 1. Common headers for fdt.h and ofw_machdep.h under x86/include with indirections under i386/include and amd64/include. 2. New modinfo for loader provided FDT blob. 3. Common x86_init_fdt() called from hammer_time() on amd64 and init386() on i386. 4. Split-off FDT specific low-level console functions from FDT bus methods for the uart(4) driver. The low-level console logic has been moved to uart_cpu_fdt.c and is used for arm, mips & powerpc only. The FDT bus methods are shared across all architectures. 5. Add dev/fdt/fdt_x86.c to hold the fdt_fixup_table[] and the fdt_pic_table[] arrays. Both are empty right now.
FDT addresses are I/O ports on x86. Since the core FDT code does not handle different address spaces, adding support for both I/O ports and memory addresses requires some thought and discussion. It may be better to use a compile-time option that controls this.
Obtained from: Juniper Networks, Inc.
|