Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix remoteproc to work with the PRU GNU Binutils port #47

Closed
wants to merge 95 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
7b3ac01
Revert "spi: spidev: Warn loudly if instantiated from DT as "spidev""
RobertCNelson Jun 1, 2015
4688147
Revert "usb: musb: dsps: just start polling already"
RobertCNelson Aug 10, 2015
7e44a9b
backport: mediatek: mt7601u: from v4.2-rc3
RobertCNelson Jul 20, 2015
5d0f05c
Making the uio pruss driver work
eliasbakken Apr 9, 2015
159104f
Cleaned up error reporting
eliasbakken Apr 10, 2015
e1c566c
scripts/dtc: Update to upstream version overlays
RobertCNelson Jul 6, 2015
2b38fe2
regmap: Introduce regmap_get_max_register
Srinivas-Kandagatla May 21, 2015
7a112c1
regmap: Introduce regmap_get_reg_stride
Srinivas-Kandagatla May 21, 2015
53fad51
ARM: dts: Beaglebone i2c definitions
pantoniou May 13, 2015
2deb8b2
i2c: Mark instantiated device nodes with OF_POPULATE
pantoniou Jan 24, 2015
1da69f8
nvmem: Add a simple NVMEM framework for nvmem providers
Srinivas-Kandagatla Jul 27, 2015
87b926f
nvmem: Add a simple NVMEM framework for consumers
Srinivas-Kandagatla Jul 27, 2015
b55e052
nvmem: Add nvmem_device based consumer apis.
Srinivas-Kandagatla Jul 27, 2015
13130a4
nvmem: Add bindings for simple nvmem framework
Srinivas-Kandagatla Jul 27, 2015
9ea233d
Documentation: nvmem: add nvmem api level and how-to doc
Srinivas-Kandagatla Jul 27, 2015
4f02428
nvmem: qfprom: Add Qualcomm QFPROM support.
Srinivas-Kandagatla Jul 27, 2015
e05702a
nvmem: qfprom: Add bindings for qfprom
Srinivas-Kandagatla Jul 27, 2015
81a1363
nvmem: sunxi: Move the SID driver to the nvmem framework
mripard Jul 27, 2015
221814d
nvmem: Add Vybrid OCOTP support
SanchayanMaity Sep 30, 2015
66e4d3f
nvmem: imx-ocotp: Add i.MX6 OCOTP driver
pH5 Sep 30, 2015
ab785b3
nvmem: add driver for ocotp in i.MX23 and i.MX28
lategoodbye Sep 30, 2015
ec6de5a
nvmem: Adding bindings for rockchip-efuse
ZhengShunQian Sep 30, 2015
fefa997
nvmem: rockchip_efuse_regmap_config can be static
intel-lab-lkp Sep 30, 2015
c01536a
nvmem: core: fix the out-of-range leak in read/write()
ZhengShunQian Sep 30, 2015
3da2620
nvmem: core: Handle shift bits in-place if cell->nbits is non-zero
AxelLin Sep 30, 2015
8752f96
nvmem: core: Fix memory leak in nvmem_cell_write
AxelLin Sep 30, 2015
5298401
nvmem: sunxi: Check for memory allocation failure
mripard Sep 30, 2015
51311c4
nvmem: make default user binary file root-access only
Srinivas-Kandagatla Aug 11, 2015
fa8735a
nvmem: set the size for the nvmem binary file.
Srinivas-Kandagatla Aug 11, 2015
4127cbf
nvmem: add permission flags in nvmem_config
Srinivas-Kandagatla Aug 11, 2015
7431131
nvmem: fix permissions of readonly nvmem binattr
mvduin Oct 5, 2015
7fee8da
configfs: Implement binary attributes (v4)
pantoniou Jun 12, 2014
2bc7154
OF: DT-Overlay configfs interface (v5)
pantoniou Dec 4, 2013
653e252
gitignore: Ignore DTB files
pantoniou Feb 21, 2014
bc852d5
arm: omap: Proper cleanups for omap_device
pantoniou Aug 5, 2013
576c9b0
serial: omap: Fix port line number without aliases
pantoniou Nov 6, 2014
019f7f8
tty: omap-serial: Fix up platform data alloc
pantoniou Dec 9, 2013
a8e485a
ARM: DT: Enable symbols when CONFIG_OF_OVERLAY is used
pantoniou Dec 6, 2014
c7bf32c
of: Custom printk format specifier for device node
pantoniou Jan 20, 2015
9684040
of: overlay: kobjectify overlay objects
pantoniou Mar 15, 2015
ea4217d
of: overlay: global sysfs enable attribute
pantoniou Mar 17, 2015
fe74bed
of: overlay: add per overlay sysfs attributes
pantoniou Apr 23, 2015
ddb2f01
Documentation: ABI: /sys/firmware/devicetree/overlays
pantoniou Mar 17, 2015
cba38cc
i2c: nvmem: at24: Provide an EEPROM framework interface
pantoniou May 12, 2015
28bba46
misc: Beaglebone capemanager
pantoniou May 6, 2015
a488145
doc: misc: Beaglebone capemanager documentation
pantoniou May 13, 2015
75f802f
doc: dt: beaglebone cape manager bindings.
pantoniou May 12, 2015
948bd69
doc: ABI: bone_capemgr sysfs API
pantoniou May 12, 2015
d167f84
MAINTAINERS: Beaglebone capemanager maintainer
pantoniou May 13, 2015
24d7dea
arm: dts: Enable beaglebone cape-manager
pantoniou May 12, 2015
3eec535
of: overlay: Implement indirect target support
pantoniou May 21, 2015
0bbe39c
of: unittest: Add indirect overlay target test
pantoniou May 21, 2015
f60bc94
doc: dt: Document the indirect overlay method.
pantoniou Jun 12, 2015
7309819
of: overlay: Introduce target root capability.
pantoniou Jun 12, 2015
e2db42a
of: unittest: Unit-tests for target root overlays.
pantoniou Jun 12, 2015
58ad2ba
doc: dt: Document the target root overlay method
pantoniou Jun 12, 2015
fd0299a
of: dynamic: Add __of_node_dupv()
pantoniou Jun 10, 2015
ee92cdf
of: changesets: Introduce changeset helper methods
pantoniou Jun 10, 2015
005f993
RFC: Device overlay manager (PCI/USB + DT)
pantoniou May 21, 2015
bda24b6
hack: bbb enable 1ghz operation
RobertCNelson Sep 4, 2014
c309200
dts: am335x-bone-common: fixup leds to match 3.8
RobertCNelson Aug 27, 2014
7ed5b00
arm: dts: am335x-bone-common: add collision and carrier sense pinmux
spatton-ti Jan 5, 2015
065f20c
add: am335x-bonegreen
RobertCNelson May 21, 2015
496aebb
add overlay dtb
RobertCNelson May 21, 2015
836d83f
am335x-bone-common: cpsw no longer need to define both slaves
RobertCNelson Sep 19, 2015
433fb46
am335x-bone-common: drop 0x1a0 from mmc
RobertCNelson Sep 29, 2015
52fa7c7
cape: Argus UPS cape support
jdal Jun 16, 2014
e90a201
Added support for Replicape
eliasbakken Apr 10, 2015
fc98726
ARM: dts: am335x-boneblack: enable wl1835mod cape support
eyalreizer May 5, 2015
d5a4f5d
BeagleBone pinmux helper
pantoniou Dec 28, 2012
d5eee3f
pinmux-helper: Add runtime configuration capability
pantoniou Mar 6, 2013
0261996
pinmux-helper: Switch to using kmalloc
pantoniou Mar 7, 2013
79143ca
gpio: Introduce GPIO OF helper
pantoniou Jun 4, 2013
9fb0f48
Add dir-changeable property to gpio-of-helper
cdsteinkuehler Jan 26, 2014
c594772
am33xx.dtsi: add ocp label
Sep 4, 2014
9103451
beaglebone: added expansion header to dtb
Sep 4, 2014
b81bdd5
bone-pinmux-helper: Add support for "mode" device-tree parameter The …
cdsteinkuehler Sep 16, 2014
dd65d34
pinmux-helper: add P8_37_pinmux & P8_38_pinmux
RobertCNelson Sep 19, 2014
665836b
pinmux-helper: hdmi
cdsteinkuehler Sep 28, 2014
468a1cd
pinmux-helper: can1
dasGringuen Oct 5, 2014
ed1808d
Remove CONFIG_EXPERIMENTAL dependency on CONFIG_GPIO_OF_HELPER as CON…
twam Nov 12, 2014
0d1a903
pinmux-helper: add P9_19_pinmux & P9_20_pinmux
RobertCNelson Dec 5, 2014
44e6284
gpio-of-helper: idr_alloc
RobertCNelson Jun 2, 2015
78fba55
Provides a sysfs interface to the eQEP hardware on the AM33XX series …
teknoman117 Dec 2, 2013
409383b
tieqep.c: devres: remove devm_request_and_ioremap()
RobertCNelson Jun 5, 2015
4e81cee
sync: am335x-peripheral/pinmux
RobertCNelson Oct 16, 2015
aaa035f
auto generated: capes: add dtbs to makefile
RobertCNelson Sep 19, 2015
74c007c
cpsw: search for phy
May 19, 2015
2d1a63f
add am33x firmware
RobertCNelson Sep 9, 2015
6c1d121
quiet: 8250_omap.c use pr_info over pr_err
RobertCNelson Jul 16, 2015
714700b
quiet topology.c: use pr_info over pr_err (missing clock-frequency pr…
RobertCNelson Oct 16, 2015
527c418
packaging: sync builddeb changes
RobertCNelson Sep 25, 2015
3a718c8
4.1.10-ti-r23 patchset
RobertCNelson Oct 16, 2015
ef6d501
4.1.10-ti-r23 bb.org_defconfig
RobertCNelson Oct 16, 2015
18447df
Fix remoteproc to work with the PRU GNU Binutils port
dinuxbg Oct 11, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -106,3 +106,7 @@ all.config

# Kdevelop4
*.kdev4

# dtb objects
*.dtb
*.dtbo
63 changes: 63 additions & 0 deletions Documentation/ABI/testing/sysfs-devices-platform-bone_capemgr
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
What: /sys/devices/platform/bone_capemgr/slots
Date: May 2015
KernelVersion: 4.0
Contact: Pantelis Antoniou <[email protected]>
Description:
READ:
Describe the state of all the slots of the beaglebone capemgr.
Each line of the output describes a slot:
The slot format is as following:
<slot-id>: [P-][F-][O-][l-][L-][D-] \
<overlay-id> <board-name>,<version>,
<manufacturer>,<part-number>

Where the flags are:
P: Slot has been probed
F: Slot has failed probing (i.e. no EEPROM detected)
O: Slot has been overridden by the user
l: Slot is current loading
L: Slot has completed loading and is ready
D: Slot has been disabled

Example:
0: P---L- -1 BeagleBone RS232 CAPE,00A1,Beagleboardtoys,BB-BONE-SERL-03
1: PF---- -1
2: PF---- -1
3: PF---- -1

WRITE:
Writing a string of the form <part-number>[:version] issues a request to
load a firmware blob containing an overlay. The name of the firmware blob
is <part-number>-[version|00A0].dtbo. This act is defined as a slot override.

Writing a negative slot id removes the slot if it was an overridden one, or
unloads a slot that was probed.

What: /sys/devices/platform/bone_capemgr/baseboard/<eeprom-field>
Date: May 2015
KernelVersion: 4.0
Contact: Pantelis Antoniou <[email protected]>
Description: Contains the probed base board EEPROM field; one of:
board-name - board-name as stored in cape EEPROM
dc-supplied - whether the cape draws or supplies DC
eeprom-format-revision - EEPROM format rev, only 00A0 supported
header - header; should be 'aa 55 33 ee'
manufacturer - manufacturer string
part-number - part-number of the cape
serial-number - serial number of the cape
version - version of the cape, i.e. 00A0
number-of-pins - displayed but ignored
pin-usage - displayed but ignored
sys-5v - displayed but ignored
vdd-3v3exp - displayed but ignored
vdd-5v - displayed but ignored
What: /sys/devices/platform/bone_capemgr/slot-<n>/<eeprom-field>
Date: May 2015
KernelVersion: 4.0
Contact: Pantelis Antoniou <[email protected]>
Description: Contains the probed cape's EEPROM field; the field is one of:
board-name - baseboard name i.e. A335BNLT
header - header; should be 'aa 55 33 ee'
revision - baseboard revision
serial-number - baseboard serial number
config-option - displayed but ignored
22 changes: 0 additions & 22 deletions Documentation/ABI/testing/sysfs-driver-sunxi-sid

This file was deleted.

34 changes: 34 additions & 0 deletions Documentation/ABI/testing/sysfs-firmware-devicetree-overlays
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
What: /sys/firmware/devicetree/overlays/
Date: March 2015
Contact: Pantelis Antoniou <[email protected]>
Description:
This directory contains the applied device tree overlays of
the running system, as directories of the overlay id.

enable: The master enable switch, by default is 1, and when
set to 0 it cannot be re-enabled for security reasons.

The discussion about this switch takes place in:
http://comments.gmane.org/gmane.linux.drivers.devicetree/101871

Kees Cook:
"Coming from the perspective of drawing a bright line between
kernel and the root user (which tends to start with disabling
kernel module loading), I would say that there at least needs
to be a high-level one-way "off" switch for the interface so
that systems that have this interface can choose to turn it off
during initial boot, etc."

What: /sys/firmware/devicetree/overlays/<id>
Date: March 2015
Contact: Pantelis Antoniou <[email protected]>
Description:
Each directory represents an applied overlay, containing
the following attribute files.

targets: A file containing the list of targets of each overlay
with each line containing a target.

can_remove: The attribute set to 1 means that the overlay can
be removed, while 0 means that the overlay is being
overlapped therefore removal is prohibited.
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/arm/omap/omap.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ Optional properties:
- ti,no-reset-on-init: When present, the module should not be reset at init
- ti,no-idle-on-init: When present, the module should not be idled at init
- ti,no-idle: When present, the module is never allowed to idle.
- ti,deassert-hard-reset: list of hwmod and hardware reset line name pairs
(ascii strings) to be deasserted upon device instantiation.


Example:

Expand Down
111 changes: 111 additions & 0 deletions Documentation/devicetree/bindings/misc/bone_capemgr.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
* Beaglebone cape manager driver

Required properties:
- compatible: "ti,bone-capemgr"
- eeprom: phandle to the EEPROM baseboard.
The EEPROM framework interface is use to obtain the data.

Required children nodes:

- baseboardmaps: Contains nodes, which each of the them defines a mapping from
the baseboard EEPROM board-name ID to a DT friendly compatible
string.

- board-name: The baseboard EEPROM board name, i.e. A335BONE for the
original beaglebone white.
- compatible-name: The DT friendly compatible string to be used for matching
compatible capes, i.e. "ti,beaglebone"


- nvmem-cells: Defines the phandles of the nvmem cells of the baseboard and the
slots.
- nvmem-cells: Defines the names of the nvmem cells. Required to have at
least a baseboard cell name.

- #slots: Defines how many slots are there.

- Example of a beaglebone cape-manager:

bone_capemgr {
compatible = "ti,bone-capemgr";
status = "okay";

nvmem-cell = <&baseboard_data
&cape0_data &cape1_data &cape2_data &cape3_data>;
nvmem-cell-names = "baseboard", "slot0", "slot1", "slot2", "slot3";

#slots = <4>;

/* map board revisions to compatible definitions */
baseboardmaps {
baseboard_beaglebone: board@0 {
board-name = "A335BONE";
compatible-name = "ti,beaglebone";
};

baseboard_beaglebone_black: board@1 {
board-name = "A335BNLT";
compatible-name = "ti,beaglebone-black";
};
};
};

The format of the cape to be loaded is in a standard overlay format with
the following root properties that are interpreted by the cape manager:

Required properties:
- compatible: Should be compatible to the baseboard according to the
baseboard map value, i.e. "ti,beaglebone".
- part-numer: Should contain the part-number as stored in the EEPROM.
- version: Should contain a list of all the version that are supported
by the single cape dtbo, i.e. "00A1".

Optional properties:
- exclusive-use: A string list which state the resources this cape requires.
No processing or matching to anything regarding the internal
kernel state is performed; it's purpose is to guard against
conflicts with other capes.
- priority: A priority to be assigned when loading a cape. A lower value
has higher priority. The purpose of the priority is to control
which cape is loaded first in case of a conflict.

- Example of a serial cape:

/dts-v1/;
/plugin/;
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";

/* identification */
part-number = "BB-BONE-SERL-03";
version = "00A1";

/* state the resources this cape uses */
exclusive-use =
/* the pin header uses */
"P9.21", /* uart2_txd */
"P9.22", /* uart2_rxd */
/* the hardware ip uses */
"uart2";

fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
bb_uart2_pins: pinmux_bb_uart2_pins {
pinctrl-single,pins = <
0x150 0x21 /* spi0_sclk.uart2_rxd | MODE1 */
0x154 0x01 /* spi0_d0.uart2_txd | MODE1 */
>;
};
};
};

fragment@1 {
target = <&uart2>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&bb_uart2_pins>;
};
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ Required properties:
- compatible: "allwinner,sun4i-a10-sid" or "allwinner,sun7i-a20-sid"
- reg: Should contain registers location and length

= Data cells =
Are child nodes of qfprom, bindings of which as described in
bindings/nvmem/nvmem.txt

Example for sun4i:
sid@01c23800 {
compatible = "allwinner,sun4i-a10-sid";
Expand Down
80 changes: 80 additions & 0 deletions Documentation/devicetree/bindings/nvmem/nvmem.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
= NVMEM(Non Volatile Memory) Data Device Tree Bindings =

This binding is intended to represent the location of hardware
configuration data stored in NVMEMs like eeprom, efuses and so on.

On a significant proportion of boards, the manufacturer has stored
some data on NVMEM, for the OS to be able to retrieve these information
and act upon it. Obviously, the OS has to know about where to retrieve
these data from, and where they are stored on the storage device.

This document is here to document this.

= Data providers =
Contains bindings specific to provider drivers and data cells as children
of this node.

Optional properties:
read-only: Mark the provider as read only.

= Data cells =
These are the child nodes of the provider which contain data cell
information like offset and size in nvmem provider.

Required properties:
reg: specifies the offset in byte within the storage device.

Optional properties:

bits: Is pair of bit location and number of bits, which specifies offset
in bit and number of bits within the address range specified by reg property.
Offset takes values from 0-7.

For example:

/* Provider */
qfprom: qfprom@00700000 {
...

/* Data cells */
tsens_calibration: calib@404 {
reg = <0x404 0x10>;
};

tsens_calibration_bckp: calib_bckp@504 {
reg = <0x504 0x11>;
bits = <6 128>
};

pvs_version: pvs-version@6 {
reg = <0x6 0x2>
bits = <7 2>
};

speed_bin: speed-bin@c{
reg = <0xc 0x1>;
bits = <2 3>;

};
...
};

= Data consumers =
Are device nodes which consume nvmem data cells/providers.

Required-properties:
nvmem-cells: list of phandle to the nvmem data cells.
nvmem-cell-names: names for the each nvmem-cells specified. Required if
nvmem-cells is used.

Optional-properties:
nvmem : list of phandles to nvmem providers.
nvmem-names: names for the each nvmem provider. required if nvmem is used.

For example:

tsens {
...
nvmem-cells = <&tsens_calibration>;
nvmem-cell-names = "calibration";
};
35 changes: 35 additions & 0 deletions Documentation/devicetree/bindings/nvmem/qfprom.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
= Qualcomm QFPROM device tree bindings =

This binding is intended to represent QFPROM which is found in most QCOM SOCs.

Required properties:
- compatible: should be "qcom,qfprom"
- reg: Should contain registers location and length

= Data cells =
Are child nodes of qfprom, bindings of which as described in
bindings/nvmem/nvmem.txt

Example:

qfprom: qfprom@00700000 {
compatible = "qcom,qfprom";
reg = <0x00700000 0x8000>;
...
/* Data cells */
tsens_calibration: calib@404 {
reg = <0x4404 0x10>;
};
};


= Data consumers =
Are device nodes which consume nvmem data cells.

For example:

tsens {
...
nvmem-cells = <&tsens_calibration>;
nvmem-cell-names = "calibration";
};
Loading