- Mar 18, 2021
-
-
Robert Nelson authored
Signed-off-by:
Robert Nelson <robertcnelson@gmail.com>
-
Dimitar Dimitrov authored
The original patch has been mistakenly applied to DRAM addresses, whereas IRAM are the ones needing a fixup. This patch fixes the following error: [ 1672.917602] remoteproc remoteproc1: Booting fw image pru-core0.elf, size 7104 [ 1672.917632] remoteproc remoteproc1: bad phdr da 0x20000000 mem 0x8f4 [ 1672.929347] remoteproc remoteproc1: Failed to load program segments: -22 [ 1672.938733] remoteproc remoteproc1: Boot failed: -22 Signed-off-by:
Dimitar Dimitrov <dimitar@dinux.eu>
-
Dimitar Dimitrov authored
PRU IRAM addresses need to be masked before being handled to remoteproc. This is due to PRU Binutils' lack of separate address spaces for IRAM and DRAM. Signed-off-by:
Dimitar Dimitrov <dinuxbg@gmail.com>
-
Robert Nelson authored
Signed-off-by:
Robert Nelson <robertcnelson@gmail.com>
-
Drew Fustini authored
Call pm_runtime_get_sync() at the beginning of any functions that will read or write to the memory mapped eQEP registers. This is to ensure that the eQEP peripheral is running and its clock is enabled. Before this patch, an attempt to read the position file via sysfs would results in a segmentation fault. The kernel log would be contain this error: [ 2591.653471] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa304180 [ 2591.915165] [<bf005310>] (eqep_get_position [tieqep]) from [<c08930d0>] (dev_attr_show+0x2c/0x58) More details: https://gist.github.com/pdp7/fe07082d23f2bfbc362c733a7b0aea72 BeagleBoard mailing list thread: https://groups.google.com/d/msg/beagleboard/_TdTH7oPEXE/MNvU-mY6DgAJ
-
Robert Nelson authored
Signed-off-by:
Robert Nelson <robertcnelson@gmail.com>
-
Robert Nelson authored
Signed-off-by:
Robert Nelson <robertcnelson@gmail.com>
-
Jay at Control Module Industries authored
I have encountered the same issue(s) on A6A boards. I couldn't find a patch, so I wrote this patch to update the device tree in the davinci_mdio driver in the 3.15.1 tree, it seems to correct it. I would welcome any input on a different approach. https://groups.google.com/d/msg/beagleboard/9mctrG26Mc8/SRlnumt0LoMJ v4.1-rcX: added hack around CONFIG_OF_OVERLAY v4.2-rc3+: added if (of_machine_is_compatible("ti,am335x-bone")) so we do not break dual ethernet am335x devices Signed-off-by:
Robert Nelson <robertcnelson@gmail.com>
-
Robert Nelson authored
Signed-off-by:
Robert Nelson <robertcnelson@gmail.com>
-
Robert Nelson authored
Signed-off-by:
Robert Nelson <robertcnelson@gmail.com>
-
Robert Nelson authored
Signed-off-by:
Robert Nelson <robertcnelson@gmail.com>
-
Pantelis Antoniou authored
Insert overlay symbols to the base tree when applied. This makes it possible to apply an overlay that references a label that a previously inserted overlay had. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Add a benchmarking hashed phandles unittest which report what kind of speed up we get switching to hashed phandle lookups. ### dt-test ### the hash method is 8.2 times faster than the original On the beaglebone we perform about 1877 phandle lookups until that point in the unittest. Each non-hashed lookup takes about 23us when the cash is hot, while the hash lookup takes about 3us. For those 1877 lookup we get a speedup in the boot sequence of 1877 * (23 - 3) = 37.5ms, which is not spectacular but there's no point in wasting cycles and energy. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
When a device tree contains a lot of phandles, resolving one takes time because the original method uses a search against all nodes (not just the ones with phandles). Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Renames the *_node_sysfs methods to _node_post which is more accurate when more work takes place besides sysfs tweaking (as in with phandle hash management). Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
This probably misplaced (in drivers/misc) patch allows use of device tree overlays on the two kinds of probeable busses that count nowadays, PCI & USB. It does so by dynamically creating device nodes for the busses & devices that are probed and according to user-configuration applying an overlay when they appear. It is still a WIP but it's coming along nicely. Issues: Only PCI works for now, the generated bindings are not correct according to the openfirmware spec. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Add a description of the target root overlay method to the overlay documention file. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Add unittests for target-root based overlays. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
The target facility of an overlay allows the target to be any point in the live kernel tree, since it usually that's required when creating overlays for internal SoC devices. The target ends up to be a single node in the tree. However when we're dealing with probeable busses this is a problem since the target node differs according to the bus the plugged device lies. Using an overlay creating method using a target root node allows us to use a single overlay for those cases. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Add a description of the target index overlay method to the overlay documention file. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Add a unittest for the indirect overlay target case. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Some applications require applying the same overlay to a different target according to some external condition (for instance depending on the slot a card has been inserted, the overlay target is different). The target index functionality use requires using the new of_overlay_create_target_index() API which uses an index argument. The format changes as follow fragment@0 { target = <&foo_target>, <&bar_target>; }; Calling of_overlay_create_target_index() with a 0 index selects the foo_target, while using an index of 1 selects the bar_target. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Add me as the capemanager maintainer. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Document the beaglebone's capemgr sysfs API Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Bindings document for the beaglebone cape manager. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Add beaglebone capemanager documentation entry. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
A cape loader based on DT overlays and DT objects. This is the beaglebone cape manager which allows capes to be automatically probed and instantiated via means of a device tree overlay deduced from the part-number and version contained on the cape's EEPROM. The reference manual contains information about the specification and the contents of the EEPROM. http://beagleboard.org/static/beaglebone/latest/Docs/Hardware/BONE_SRM.pdf Documentation about the workings of the cape manager is located in Documentation/misc-devices/bone_capemgr.txt This driver is using the nvmem framework interface to retrieve the data stored on the baseboard and cape EEPROMs. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
-
Pantelis Antoniou authored
Add a runtime interface to using configfs for generic device tree overlay usage. With it its possible to use device tree overlays without having to use a per-platform overlay manager. Please see Documentation/devicetree/configfs-overlays.txt for more info. Changes since v6: - Default groups properties API changed. Changes since v5: - New style configfs. Changes since v4: - Loading fix for multiple overlays as found out by Geert Uytterhoeven <geert@linux-m68k.org> Changes since v3: - Fixed compilation on SPARC & Xtensa Changes since v2: - Removed ifdef CONFIG_OF_OVERLAY (since for now it's required) - Created a documentation entry - Slight rewording in Kconfig Changes since v1: - of_resolve() -> of_resolve_phandles(). Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Add a unitest specific for the new changeset helpers. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Adds a changeset helper for moving a subtree to a different place in the running tree. This is useful in advances cases of dynamic device tree construction. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Changesets are very powerful, but the lack of a helper API makes using them cumbersome. Introduce a simple copy based API that makes things considerably easier. To wit, adding a property using the raw API. struct property *prop; prop = kzalloc(sizeof(*prop)), GFP_KERNEL); prop->name = kstrdup("compatible"); prop->value = kstrdup("foo,bar"); prop->length = strlen(prop->value) + 1; of_changeset_add_property(ocs, np, prop); while using the helper API of_changeset_add_property_string(ocs, np, "compatible", "foo,bar"); Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Add an __of_node_dupv() private method and make __of_node_dup() use it. This is required for the subsequent changeset accessors which will make use of it. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-
Pantelis Antoniou authored
Documentation for the per-overlay attributes. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com> Acked-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Pantelis Antoniou authored
* A per overlay can_remove sysfs attribute that reports whether the overlay can be removed or not due to another overlapping overlay. * A target sysfs attribute listing the target of each fragment, in a group named after the name of the fragment. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com> Acked-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Pantelis Antoniou authored
Document the of_overlay_disable parameter. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com> Acked-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Pantelis Antoniou authored
Documentation ABI entry for overlays sysfs entries. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com> Acked-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Pantelis Antoniou authored
A throw once master enable switch to protect against any further overlay applications if the administrator desires so. A kernel command line option is provided as well. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com> Acked-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Pantelis Antoniou authored
We are going to need the overlays to appear on sysfs with runtime global properties (like master enable) so turn them into kobjects. They have to be in sysfs so that people can have information about the overlays applied in the system, i.e. where their targets are and whether removal is possible. In a future more attributes can be added in a backwards compatible manner. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com> Acked-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Pantelis Antoniou authored
When using DT the driver devm_kalloc's platform data and assigns them directly to the pdev->dev.platform variable. This is wrong since device de-registration expects the data to be kmalloc'ed instead, resulting in a crash. Fix by copying the platform data to a kmalloc buffer. Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com>
-