summaryrefslogtreecommitdiffstats
path: root/include/of.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-next/rpi'Sascha Hauer2013-11-071-1/+1
|\
| * of: Add a context pointer to fixup functionsSascha Hauer2013-11-061-1/+1
| | | | | | | | | | | | | | If drivers want to fixup their specific instance they need some context to know which instance they have to fixup. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | of: simplify phandle lookupSascha Hauer2013-10-221-1/+0
|/ | | | | | | | | Instead of populating an extra list containing all phandles just iterate over the whole tree. This is done as preparation for more dynamic devicetrees where parts are loaded at runtime. Here we don't want to keep the list of phandles in sync. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: base: import of_find_node_by_typeRenaud Barbier2013-09-051-0/+2
| | | | | | | | | | | | Import of_find_node_by_type from Linux drivers/of/base.c - commit id d8dfad3. This function retrieves a node pointer based on the "device_type" property of the node. This is used by device tree update functions in PPC support. Signed-off-by: Renaud Barbier <renaud.barbier@ge.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: introduce some new helpersSascha Hauer2013-08-141-0/+14
| | | | | | | | | | | of_get_tree_max_phandle - get the maximum phandle of a tree. Needed for creating new phandles without conflicts. of_node_create_phandle - create a phandle for a node which doesn't have one. of_find_node_by_alias - find a node by alias name of_find_node_by_path_or_alias - find a node by full path or alias name of_find_root_node - find the root node for a given device node Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Add configurability via devicetreeSascha Hauer2013-07-181-0/+2
| | | | | | | | | | | | | | | | | | This adds the possibility to configure the place for the environment from the devicetree and to partition devices from the devicetree. Configuration has the general form of devices with a regular compatible property. This allows to later add additional drivers or drivers with different behaviour (for example to add support for redundant environment). The configuration is all in the /chosen/barebox/ hierarchy of the devicetree. This separates the configuration from the hardware description. Also it makes it possible to store the configuration in a completely separate devicetree (or devicetree overlay). For the same reason all configuration is done using nodepathes rather than phandles. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: Add convenience functions to en/disable devicenodesSascha Hauer2013-07-181-0/+5
| | | | | | | These functions allow to manipulate the "status" property of devicenodes effectively enabling/disabling devices. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: partitions: factor out function to parse a single partitionSascha Hauer2013-07-151-0/+1
| | | | | | To make it usable for other code. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: export of_default_bus_match_tableSascha Hauer2013-07-151-0/+2
| | | | | | For code which wants to call of_platform_populate. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OF: base: rename of_free to of_delete_nodeSebastian Hesselbarth2013-07-051-2/+2
| | | | | | | | | of_free is misleading about the actual purpose of the function. There is already a of_create_node counterpart, so rename of_free to of_create_node and update all users accordingly. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OF: remove device and resource pointer from struct device_nodeSebastian Hesselbarth2013-07-051-3/+0
| | | | | | | | | struct device_node has its own resources and a pointer to associated device_d. With recent platform related OF code, we can convert the only user of it and remove those pointers from struct device_node. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OF: gpio: convert DT based gpio handling to new OF APISebastian Hesselbarth2013-07-051-3/+0
| | | | | | | | | | | This creates a Linux OF API compatible counterpart of of_get_named_gpio_flags. Existing of_get_named_gpio is converted to a static inline function, which is in the corresponding of_gpio.h include. While at it, drivers/of/gpio.c is also renamed to drivers/of/of_gpio.c to follow the of_ prefix naming scheme. The new include is also added to existing users of of_get_named_gpio. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OF: import bus/device related functions from Linux OF APISebastian Hesselbarth2013-07-051-0/+18
| | | | | | | | This imports some bus and device related functions from Linux OF API with some modifcations for Barebox. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OF: base: move OF_ROOT_NODE_ defines to local OF codeSebastian Hesselbarth2013-07-051-3/+0
| | | | | | | | OF_ROOT_NODE_* defines should not be used outside of base.c. Move them to drivers/of/base.c to ensure they will not be used elsewhere. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OF: convert of_translate_address to new APISebastian Hesselbarth2013-07-051-2/+0
| | | | | | | | | | This converts existing of_translate_address to recently added API. In contrast to existing behavior, the new function honors ranges properties properly. It now allows reg properties to be set as offset with respect to the correspoding parent node. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OF: base: cleanup base function includeSebastian Hesselbarth2013-06-201-29/+109
| | | | | | | This cleans up include/of.h by moving some function prototypes below CONFIG_OFTREE and provide bogus stubs for !CONFIG_OFTREE. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: convert and remove device_node_for_nach_childSebastian Hesselbarth2013-06-201-3/+0
| | | | | | | | Remove device_node_for_nach_child and convert users to corresponding imported OF API functions. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OF: base: remove of_find_child_by_nameSebastian Hesselbarth2013-06-201-2/+0
| | | | | | | With of_get_child_by_name from Linux API, we can now convert and remove of_find_child_by_name. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: remove of_tree_for_each_node from public APISebastian Hesselbarth2013-06-201-8/+0
| | | | | | | | This patch converts users of of_tree_for_each_node to recently added for_eacg_compatible_node helper. Also of_tree_for_each_node is removed from public OF API. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: import property iterators from Linux OF APISebastian Hesselbarth2013-06-201-0/+43
| | | | | | | This imports of_prop_next_u32, of_prop_next_string, and the corresponding for_property_for_each_ helpers from Linux OF API. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: introduce property write for bool, u8, u16, and u64Sebastian Hesselbarth2013-06-201-11/+71
| | | | | | | This adds functions to set an array of or a single value for bool, u8, u16, and u64 properties. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: import parse phandle functions from Linux OF APISebastian Hesselbarth2013-06-201-5/+25
| | | | | | | | This imports of_parse_phandle_with_args and of_count_phandle_with_args from Linux OF API. The slightly different of_parse_phandles_with_args is removed and all users are converted to reflect the API change. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: import of_parse_phandle from Linux OF APISebastian Hesselbarth2013-06-201-0/+10
| | | | | | This imports of_parse_phandle from Linux OF API. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: import of_property_read_* helpers from Linux OF APISebastian Hesselbarth2013-06-201-15/+117
| | | | | | | This imports of_property_read_* helpers from Linux OF API to allow to read all kinds of properties. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: import parent/child functions from Linux OF APISebastian Hesselbarth2013-06-201-0/+41
| | | | | | | | | | This imports of_get_parent, of_get_next_available_child, and of_get_child_by_name and corresponding helpers from Linux OF API. of_get_next_child is not imported but implemented as list iterator instead. Also, of_get_child_count and of_get_available_child_count are introduced. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: import of_find_node_with_property from Linux OF APISebastian Hesselbarth2013-06-201-0/+11
| | | | | | | This imports of_find_node_with_property and corresponding helpers from Linux OF API. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: import of_find_matching_node_and_match from Linux OF APISebastian Hesselbarth2013-06-201-0/+24
| | | | | | | This imports of_find_matching_node_and_match and corresponding helpers from Linux OF API. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: import of_find_compatible_node from Linux OF APISebastian Hesselbarth2013-06-201-0/+13
| | | | | | | This imports of_find_compatible_node and corresponding for_each_compatible_node helper from Linux OF API. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: import of_find_node_by_name from Linux OF APISebastian Hesselbarth2013-06-201-0/+12
| | | | | | | This imports of_find_node_by_name and corresponding for_each_node_by_name helper from Linux OF API. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: rename of_node_disabled to of_device_is_availableSebastian Hesselbarth2013-06-201-0/+6
| | | | | | | | | | | According to ePAPR 1.1 spec, device tree nodes status can be either "okay", "disabled", "fail", or "fail-sss". Barebox already has a function to check for "disabled" nodes, while Linux checks for "okay" or "ok". To synchronize Barebox and Linux OF APIs, rename of_node_disabled to of_device_is_available and check for "okay" instead of "disabled" as it also makes "fail"ed devices unavailable. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: sync of_find_node_by_path with linux OF APISebastian Hesselbarth2013-06-201-2/+15
| | | | | | | | | | | | | Barebox of_find_node_by_path requires a node to be passed as start node to start searching. Linux OF API does not pass this node and no current user of it in barebox is passing anything else than the root node. Therefore, we rename current function to of_find_node_by_path_from and introduce a Linux OF API compatible of_find_node_by_path that always passes the current root_node. Also, all current users of that function are updated to reflect the API change. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OF: base: sync of_find_property with linux OF APISebastian Hesselbarth2013-06-201-2/+10
| | | | | | | | To start synchronizing OF API of barebox with linux OF API, this adds a length pointer to of_find_property. Also all current users of that function are updated to reflect the API change. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: convert strcmp to default string compare functionsSebastian Hesselbarth2013-06-201-0/+5
| | | | | | | | | Barebox compares compatible, node names, and property names with strcmp. Linux by default compares compatible and node names with strcasecmp. To avoid inconsitencies between Barebox and Linux dts files, we convert to these default string compare functions. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* OF: base: export of_alias_scanSebastian Hesselbarth2013-06-201-13/+18
| | | | | | To prepare clean-up of OF API, we need to export of_alias_scan. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* Merge branch 'for-next/of-i2c'Sascha Hauer2013-06-021-0/+2
|\
| * of: Add of_modalias_node functionSascha Hauer2013-05-311-0/+2
| | | | | | | | | | | | Directly from the Kernel. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/of'Sascha Hauer2013-06-021-0/+1
|\ \
| * | bootm: print Kernel commandline in verbose modeSascha Hauer2013-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | Without devicetree support we print the Kernel commandline in verbose mode. Do the same with devicetree boot aswell. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/mips'Sascha Hauer2013-06-021-0/+2
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: include/of.h
| * | | of: separate out "generic" memory bank addingAntony Pavlov2013-05-131-0/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch separates out the "generic" memory segment registration function (of_add_memory_bank()) from of_add_memory(). The MIPS architecture has different view on memory resources than the ARM and PPC architectures so the "generic" of_add_memory_bank() is unusable for the MIPS architecture. We can add MIPS-specific of_add_memory_bank() into arch/mips code. Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/mci'Sascha Hauer2013-06-021-0/+6
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: include/driver.h
| * | | of: Add of_alias_get functionSascha Hauer2013-05-301-0/+6
| |/ / | | | | | | | | | | | | | | | | | | This is used to retrieve the name of the alias for a given devicenode. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | / of: provide NULL of_get_root_node for \!CONFIG_OFTREESascha Hauer2013-05-231-1/+6
| |/ |/| | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | of: Add of_match_node functionSascha Hauer2013-05-201-0/+3
|/ | | | | | | To match a of_device_id arrays against a device_node. Same functionality as in the kernel. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: partitions: pass struct cdev as argumentSascha Hauer2013-04-221-3/+4
| | | | | | | | | pass a struct cdev instead of the cdev name to of_parse_partitions. This is available to the caller anyway and makes it easier to use additional stuff from the cdev (like knowing whether it's a mtd device). Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: Allow multiple resources in 'reg' propertySascha Hauer2013-04-221-0/+1
| | | | | | | Some devices need multiple resources in the reg property. This patch adds support for it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: Add of_property_read_string_index()Sascha Hauer2013-04-221-0/+2
| | | | | | Directly imported from the Kernel Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: make locally used functions staticSascha Hauer2013-03-061-0/+2
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: remove unused libfdtSascha Hauer2013-03-061-24/+0
| | | | | | | Now that we are completely independent of libfdt remove the unused code. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: Add reservemap handlingSascha Hauer2013-03-061-0/+10
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>