#
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 |
#
299477 |
|
11-May-2016 |
gonzo |
Add OF_prop_free function as a counterpart for OF_*prop_alloc
- Introduce new OF API function OF_prop_free to free memory allocated by OF_getprop_alloc and OF_getencprop_alloc. Current code just calls free(9) with M_OFWPROP memory class which assumes knowledge about OF_*prop_alloc functions' internals and leads to unneccessary code coupling
- Convert some of the free(..., M_OFWPROP) instances to OF_prop_free
Files affected by this commit are the ones I was able to test on real hardware. The rest of free(..., M_OFWPROP) instances will be handled with idividual maintainers
Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D6315
|
#
297286 |
|
26-Mar-2016 |
mmel |
ARM: Parse command line delivered by U-Boot: - in atags - in DT blob (by using 'fdt chosen' U-Boot command)
The command line must start with guard's string 'FreeBSD:' and can contain list of comma separated kenv strings. Also, boot modifier strings from boot.h are recognised and parsed into boothowto.
The command line must be passed from U-Boot by setting of bootargs variable: 'setenv bootargs FreeBSD:boot_single=1,vfs.root.mountfrom=ufs:/dev/ada0s1a' followed by 'fdt chosen' (only for DT based boot)
|
#
296265 |
|
01-Mar-2016 |
andrew |
Make the memory size returned from fdt_get_mem_regions a 64-bit type. This is the physical memory size so may be larger than a u_long can hold, e.g. on ARM with LPAE we could see an address space of up to 40 bits. On ARM u_long is only 32 bits so the memory size will be truncated, possibly to zero.
Reported by: bz Sponsored by: ABT Systems Ltd
|
#
296257 |
|
01-Mar-2016 |
andrew |
Make the fdt_get_mem_regions memsize argument optional. It's only used in by a few callers.
Sponsored by: ABT Systems Ltd
|
#
296189 |
|
29-Feb-2016 |
wma |
Fix fdt_get_mem_regions() to work with 64-bit addresses
Use u_long instead of uint32_t variables to avoid overflow in case of PA space bigger than 32-bit.
Obtained from: Semihalf Submitted by: Michal Stanek <mst@semihalf.com> Sponsored by: Annapurna Labs Approved by: cognet (mentor) Reviewed by: andrew, br, wma Differential revision: https://reviews.freebsd.org/D5393
|
#
294419 |
|
20-Jan-2016 |
zbb |
Do not require strict compatibility on simplebus
Strict compatibility requirement is a root of problems when simplebus' node has two compatibility strings (i.e. on Armada38x). Removing this requirement should not interfere with other platforms.
fdt_is_compatible_strict() and fdt_find_compatible() calls were changed in fdt_common.c and mv_common.c.
Reviewed by: ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4602
|
#
283503 |
|
24-May-2015 |
gonzo |
Rename fdt_find_child to ofw_bus_find_child. There is nothing FDT-specific in this function.
Suggested by: andrew@
|
#
283275 |
|
22-May-2015 |
gonzo |
Add helper method fdt_find_child to make access to child nodes easier.
Some FDT nodes have complex properties organized as a child sub-nodes (e.g. timing for LCD panel) we need easy way to obtain handles for these sub-nodes
|
#
275937 |
|
19-Dec-2014 |
andrew |
Add support for empty ranges properties within the tree, some vendor device trees have these, for example the ARM AArch64 Foundation Model.
Sponsored by: The FreeBSD Foundation
|
#
275792 |
|
15-Dec-2014 |
br |
Eliminate fdt_data_verify(). The verification it proceed is wrong disallowing us to encode 64-bit register numbers.
Discussed with: nwhitehorn, andrew
|
#
274751 |
|
20-Nov-2014 |
andrew |
The ranges parent bus address may just be a tag to the entry in the parent node. Take this in to account by searching until we find the range for the root node.
Differential Revision: https://reviews.freebsd.org/D1160 Reviewed by: ian Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
|
#
272109 |
|
25-Sep-2014 |
ian |
Replace multiple nearly-identical copies of code to walk through an FDT node's interrupts=<...> property creating resource list entries with a single common implementation. This change makes ofw_bus_intr_to_rl() the one true copy of that code and removes the copies of it from other places.
This also adds handling of the interrupts-extended property, which allows specifying multiple interrupts for a node where each interrupt can have a separate interrupt-parent. The bindings for this state that the property cells contain an xref phandle to the interrupt parent followed by whatever interrupt info that parent normally expects. This leads to having a variable number of icells per interrupt in the property. For example you could have <&intc1 1 &intc2 26 9 0 &intc3 9 4>.
Differential Revision: https://reviews.freebsd.org/D803
|
#
270945 |
|
01-Sep-2014 |
ian |
Rename OF_xref_phandle() to OF_node_from_xref() and add a new function that provides the inverse translation, OF_xref_from_node().
Discussed with: nwhitehorn
|
#
261958 |
|
16-Feb-2014 |
ian |
Catch up with last-second name change.
|
#
261955 |
|
16-Feb-2014 |
ian |
Add a helper routine to depth-search the device tree for a node with a matching 'compatible' property. This probably has a short half-life (as do most of the fdt_ functions), but it helps solve some near-term needs until we work out the larger problems of device instantiation order versus the order of things in the fdt data.
|
#
261398 |
|
02-Feb-2014 |
nwhitehorn |
Fix missing offset.
|
#
261351 |
|
01-Feb-2014 |
nwhitehorn |
Open Firmware interrupt specifiers can consist of arbitrary-length byte strings and include arbitrary information (IRQ line/domain/sense). When the ofw_bus_map_intr() API was introduced, it assumed that, as on most systems, these were either 1 cell, containing an interrupt line, or 2, containing a line number plus a sense code. It turns out a non-negligible number of ARM systems use 3 (or even 4!) cells for interrupts, so make this more general.
|
#
261094 |
|
23-Jan-2014 |
ian |
Be more robust with malformed interrupt config data. Instead of crashing or going into a near-infinite loop, warn and make potentially-reasonable assumptions.
Reviewed by: brooks, nwhitehorn
|
#
260327 |
|
05-Jan-2014 |
nwhitehorn |
Retire machine/fdt.h as a header used by MI code, as its function is now obsolete. This involves the following pieces: - Remove it entirely on PowerPC, where it is not used by MD code either - Remove all references to machine/fdt.h in non-architecture-specific code (aside from uart_cpu_fdt.c, shared by ARM and MIPS, and so is somewhat non-arch-specific). - Fix code relying on header pollution from machine/fdt.h includes - Legacy fdtbus.c (still used on x86 FDT systems) now passes resource requests to its parent (nexus). This allows x86 FDT devices to allocate both memory and IO requests and removes the last notionally MI use of fdtbus_bs_tag. - On those architectures that retain a machine/fdt.h, unused bits like FDT_MAP_IRQ and FDT_INTR_MAX have been removed.
|
#
260282 |
|
04-Jan-2014 |
nwhitehorn |
Reimplement fdt_intr_to_rl() in terms of OFW_BUS_MAP_INTR() and OFW_BUS_CONFIG_INTR(). This function is only used by simplebus, so will likely be moved there in the future.
|
#
257060 |
|
24-Oct-2013 |
nwhitehorn |
Do not map IRQs twice. This fixes PowerPC/FDT systems with multiple PICs, which would try to treat the previously-mapped interrupts from fdt_decode_intr() as interrupt line numbers on the same parent PIC.
|
#
256967 |
|
23-Oct-2013 |
nwhitehorn |
Remove OF_instance_to_package() hack for FDT and replace with use of the generic OF_xref_phandle() API universally. Also replace some related explicit uses of fdt32_to_cpu() with OF_getencprop() calls.
|
#
256898 |
|
22-Oct-2013 |
nwhitehorn |
Standards-conformance and code deduplication: - Use bus reference phandles in place of FDT offsets as IRQ domain keys - Unify the identical macio/fdt/mambo OpenPIC drivers into one - Be more forgiving (following ePAPR) about what we need from the device tree to identify an OpenPIC - Correctly map all IRQs into an interrupt domain - Set IRQ_*_CONFORM for interrupts on an unknown PIC type instead of failing attachment for that device.
|
#
256861 |
|
21-Oct-2013 |
brooks |
MFP4: 223121 (FDT infrastructure portion)
Implement support for interrupt-parent nodes in simplebus. The current implementation requires that device declarations have an interrupt-parent node and that it point to a device that has registered itself as a interrupt controller in fdt_ic_list_head and implements the fdt_ic interface.
Sponsored by: DARPA/AFRL
|
#
248509 |
|
19-Mar-2013 |
ray |
Return "start" and "end" to u_long world. Because rman handle addresses as u_long too.
Discussed with: ian@ Pointy hat to: ray@
|
#
248502 |
|
19-Mar-2013 |
ray |
Cast "start" to u_long. Temporary fix to unbreak tinderbox. We need here max possible storage or dynamic, depend on size of address cell.
|
#
248467 |
|
18-Mar-2013 |
ray |
o Switch to use physical addresses in rman for FDT. o Remove vtophys used to translate virtual address to physical in case rman carry virtual.
Sponsored by: The FreeBSD Foundation
|
#
243690 |
|
30-Nov-2012 |
gonzo |
Add fdt_get_reserved_regions function. API is simmilar to fdt_get_mem_regions It returns memory regions restricted from being used by kernel. These regions are dfined in "memreserve" property of root node in the same format as "reg" property of /memory node
|
#
240485 |
|
14-Sep-2012 |
gber |
Add fdt_get_unit() function.
Obtained from: Semihalf
|
#
240484 |
|
14-Sep-2012 |
gber |
Set busaddr and bussize to 0 when fdt_get_range() fails.
Obtained from: Semihalf
|
#
239689 |
|
25-Aug-2012 |
gonzo |
Do not swap byte order if we assign default value for intr_cells
|
#
239309 |
|
15-Aug-2012 |
gonzo |
Fix argument type for bus_space_map
|
#
239274 |
|
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 4
r233822: Remove useless and wrong piece of code in fdt_get_range() which i overwrites passed phandle_t node. Modify debug printf in fdt_reg_to_rl() to be consistent (that is, print start and end *virtual* addresses).
r230560: Handle "ranges;" Make fdt_reg_to_rl() responsible for mapping the device memory, instead on just hoping that there's only one simplebus, and using fdt_immr_va as the base VA.
r230315 Add a function to get the PA from range, instead of (ab)using fdt_immr_pa, and use it for the UART driver
|
#
232518 |
|
04-Mar-2012 |
raj |
Respect phy-handle property in Ethernet nodes of the device tree.
This lets specify whereabouts of the parent PHY for a given MAC node (and get rid of ugly kludges in mge(4) and tsec(4)).
Obtained from: Semihalf MFC after: 1 week
|
#
228201 |
|
02-Dec-2011 |
jchandra |
Fix OF_finddevice error return value in case of FDT.
According to the open firmware standard, finddevice call has to return a phandle with value of -1 in case of error.
This commit is to: - Fix the FDT implementation of this interface (ofw_fdt_finddevice) to return (phandle_t)-1 in case of error, instead of 0 as it does now. - Fix up the callers of OF_finddevice() to compare the return value with -1 instead of 0 to check for errors. - Since phandle_t is unsigned, the return value of OF_finddevice should be checked with '== -1' rather than '<= 0' or '> 0', fix up these cases as well.
Reported by: nwhitehorn
Reviewed by: raj Approved by: raj, nwhitehorn
|
#
218073 |
|
29-Jan-2011 |
marcel |
Introduce macro FDT_MAP_IRQ to map from an interrupt controller and interrupt pin pair to a global IRQ number. When multiple PICs exist on a board, the interrupt pin alone is not unique.
|
#
210247 |
|
19-Jul-2010 |
raj |
Eliminate FDT_IMMR_VA define.
This removes platform dependencies from <machine>/fdt.h for the benfit of portability.
|
#
209905 |
|
11-Jul-2010 |
raj |
Save fdtbus trigger / polarity data at their correct index.
|
#
208747 |
|
02-Jun-2010 |
raj |
Import the common Flattened Device Tree infrastructure.
o fdtbus(4) - the main abstract bus driver for all FDT-compliant systems. This is a direct replacement for the many incompatible bus drivers grouping integrated peripherals on embedded platforms (like obio(4), ocpbus(4) etc.)
o simplebus(4) - bus driver representing ePAPR style 'simple-bus' node, which is an umbrella device for most of the integrated peripherals on a typical system-on-chip device.
o Other components (common routines library, PCI node processing helper functions)
Reviewed by: imp Sponsored by: The FreeBSD Foundation
|