Skip to content

of: Fix crash in of_build_overlay_info #164

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

Open
wants to merge 121 commits into
base: 4.14
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
125be3f
merge: aufs4-kbuild
RobertCNelson May 7, 2018
446bbee
merge: aufs4-base
RobertCNelson May 7, 2018
a77e1e4
merge: aufs4-mmap
RobertCNelson May 7, 2018
5d70d94
merge: aufs4-standalone
RobertCNelson May 7, 2018
44b3e45
merge: aufs4
RobertCNelson May 7, 2018
d39292d
merge: WireGuard
RobertCNelson May 7, 2018
d1b1800
add am33x firmware
RobertCNelson Mar 9, 2018
ea32510
Revert "eeprom: at24: check if the chip is functional in probe()"
RobertCNelson Nov 1, 2016
67503d2
ar1021_i2c: add invert/swap options
RobertCNelson Jan 29, 2018
b03cbe4
ar1021_i2c.c: introduce offsets to manually re-calbrate screen
RobertCNelson Jan 29, 2018
606ad84
btrfs: raid6: pick either raid6_neonx2 or raid6_intx4, saves 1 second…
RobertCNelson Dec 11, 2017
a82485f
pwm: Create device class for pwm channels
May 1, 2017
197ae2b
NFM: spi: spidev: allow use of spidev in DT
RobertCNelson Aug 4, 2016
ba0264a
fb_ssd1306: add support for MikroElectronica OLED B Click
Jan 22, 2018
3f5f59e
tsl2550: fix lux1_input error in low light
mranostay Jun 3, 2013
6f2728f
HACK: tps65217_pwr_but
RobertCNelson Oct 28, 2016
7f02426
cpufreq: opp: dont fail _opp_add_static_v2, temp till overlays repo m…
RobertCNelson Sep 20, 2017
659ce62
wiznet: w5100-spi: hack dt support for w5500
RobertCNelson Oct 5, 2017
642f87a
gitignore: Ignore DTB files
pantoniou Feb 21, 2014
70cc4e4
omap: Fix crash when omap device is disabled
pantoniou Mar 8, 2016
5ac15e4
serial: omap: Fix port line number without aliases
pantoniou Nov 6, 2014
ffe4be6
tty: omap-serial: Fix up platform data alloc
pantoniou Dec 9, 2013
1350519
of: overlay: kobjectify overlay objects
pantoniou Mar 15, 2015
07a7e7c
of: overlay: global sysfs enable attribute
pantoniou Mar 17, 2015
e4927dd
Documentation: ABI: overlays - global attributes
pantoniou Mar 17, 2015
1645ca6
Documentation: document of_overlay_disable parameter
pantoniou Oct 22, 2015
eaa5eed
of: overlay: add per overlay sysfs attributes
pantoniou Apr 23, 2015
655a374
Documentation: ABI: overlays - per overlay docs
pantoniou Oct 22, 2015
a21a71e
of: dynamic: Add __of_node_dupv()
pantoniou Jun 10, 2015
e1a64e4
of: changesets: Introduce changeset helper methods
pantoniou Jun 10, 2015
3634a7b
of: changeset: Add of_changeset_node_move method
pantoniou May 16, 2016
1c46d0e
of: unittest: changeset helpers
pantoniou Oct 14, 2015
7a11e6c
OF: DT-Overlay configfs interface (v7)
pantoniou Dec 4, 2013
f369090
ARM: DT: Enable symbols when CONFIG_OF_OVERLAY is used
pantoniou Dec 6, 2014
b3df738
misc: Beaglebone capemanager
pantoniou May 6, 2015
159b330
doc: misc: Beaglebone capemanager documentation
pantoniou May 13, 2015
fc3bfaa
doc: dt: beaglebone cape manager bindings.
pantoniou May 12, 2015
cd8d7dc
doc: ABI: bone_capemgr sysfs API
pantoniou May 12, 2015
ee07d34
MAINTAINERS: Beaglebone capemanager maintainer
pantoniou May 13, 2015
96be8f8
arm: dts: Enable beaglebone cape-manager
pantoniou May 12, 2015
411bef5
of: overlay: Implement target index support
pantoniou May 21, 2015
1c47b89
of: unittest: Add indirect overlay target test
pantoniou May 21, 2015
d9924f1
doc: dt: Document the indirect overlay method.
pantoniou Jun 12, 2015
47cb868
of: overlay: Introduce target root capability.
pantoniou Jun 12, 2015
b34c06b
of: unittest: Unit-tests for target root overlays.
pantoniou Jun 12, 2015
7111a7c
doc: dt: Document the target root overlay method
pantoniou Jun 12, 2015
e204059
RFC: Device overlay manager (PCI/USB + DT)
pantoniou May 21, 2015
45c2b0c
of: rename *_node_sysfs to _node_post
pantoniou Oct 14, 2015
32f8bae
of: Support hashtable lookups for phandles
pantoniou Oct 14, 2015
a6f2cb6
of: unittest: hashed phandles unitest
pantoniou May 16, 2016
164c69a
of: overlay: Pick up label symbols from overlays.
pantoniou Mar 22, 2016
ae6ffe5
bone_capemgr: uboot_capemgr_enabled flag
RobertCNelson Mar 1, 2017
49b4d81
bone_capemgr: kill with uboot flag
RobertCNelson Sep 12, 2017
c74d911
cpsw: search for phy
May 19, 2015
7d37b55
ti: dra7: etnaviv: 2d acceleration
RobertCNelson Mar 9, 2018
2f8f32b
tieqep: forward port of Nathaniel Lewis eQEP driver
RobertCNelson Nov 2, 2016
f3f8ddf
tieqep: fix unhandled fault on eQEP register access
pdp7 Feb 2, 2017
93782bb
ARM: samples seccomp no -m32
RobertCNelson Oct 30, 2015
4fbce48
Fix remoteproc to work with the PRU GNU Binutils port
dinuxbg Aug 31, 2016
5dca16e
quiet: 8250_omap.c use pr_info over pr_err
RobertCNelson Jul 16, 2015
03910b1
ti_am335x_tsc.c driver
Jan 3, 2018
268677b
ti_am335x_tsc: correct formula code to calculate pressure; fix touchs…
fagle May 11, 2017
d1e6afd
Making the uio pruss driver work
eliasbakken Apr 9, 2015
22557d3
fix some uio_pruss braindamage
mvduin Jan 31, 2017
d4696da
uio_pruss: minor cleanup
mvduin Jun 28, 2017
1f842f1
uio_pruss: fix unbalanced pm_runtime calls
mvduin Jun 28, 2017
9703bec
uio_pruss: add names to memory regions
mvduin Jun 29, 2017
13717b4
BeagleBone pinmux helper
RobertCNelson Sep 28, 2017
8532d5d
am33xx: add gpio line names
Jan 2, 2018
28ae8cb
hack: gpiolib: yes we have drivers stomping on each other...
RobertCNelson Feb 15, 2018
e2b7b6b
ARM: dts: am335x-bone-common: update leds to match 3.8.13 kernel
RobertCNelson Aug 27, 2014
e57ab01
ARM: dts: am335x-bone-common: add collision and carrier sense pinmux
spatton-ti Jan 5, 2015
c1e8b15
ARM: dts: am335x-bone-common: disable running JTAG
RobertCNelson Mar 9, 2018
3bf1404
ARM: dts: am335x-bone-common: add no-capemgr.dtsi
RobertCNelson Nov 20, 2017
d25bdec
ARM: dts: am335x-bone-common: add am335x-bbw-bbb-base.h
RobertCNelson Mar 1, 2017
f583227
am335x-bone-common-no-capemgr: add pruss node
RobertCNelson Feb 15, 2018
24ae14e
add: am335x-boneblack-uboot.dts
RobertCNelson Sep 20, 2017
8b39733
am335x-bone-common: config-pin: carve out P9.19/P9.20
RobertCNelson Jan 19, 2018
bd8bd3f
ARM: dts: Add am335x-boneblue: fix pin wl1835 uses for interrupt
RobertCNelson Dec 18, 2017
43f6f39
am335x-boneblue.dts: add usarts
RobertCNelson Sep 20, 2017
6db012c
am335x-boneblue.dts: add dcan
RobertCNelson Dec 18, 2017
c8313e6
am335x-boneblue.dts: sync with ti-4.14
RobertCNelson Dec 19, 2017
ea534df
am335x-boneblue: add pruss node
RobertCNelson Feb 15, 2018
7cb85a9
blue: sync with older v4.4.x/v4.9.x version
RobertCNelson Mar 9, 2018
abbf5ae
am335x-boneblue.dts: fix rtc off
RobertCNelson Apr 5, 2018
90dd31c
add: am335x-sancloud-bbe
RobertCNelson Mar 1, 2017
daf60fd
gpu: drm: i2c: add alternative adv7511 driver with audio support
Sep 10, 2015
2b27423
gpu: drm: i2c: adihdmi: componentize driver and huge reformat/cleanup
ohporter Nov 6, 2015
0a686af
ARM: dts: add Arrow BeagleBone Black Industrial dts
ohporter Nov 3, 2015
4a69812
drm/adihdmi: Drop dummy save/restore hooks
RobertCNelson Jan 26, 2016
4c8f1ac
drm/adihdmi: Pass 'name' to drm_encoder_init()
RobertCNelson Jan 26, 2016
58ec0fa
adihdmi_drv: reg_default -> reg_sequence
RobertCNelson Mar 28, 2016
7b4113f
adihdmi_drv fix drm_of.h include
RobertCNelson Jul 14, 2017
a4a17d0
ARM: dts: Add support for Olimex AM3352-SOM
vinifr Dec 6, 2015
ec9adb0
ARM: dts: am335x-boneblack: enable wl1835mod cape support
eyalreizer May 5, 2015
cd8e0c5
add: am335x-boneblack-bbbmini.dts
RobertCNelson May 11, 2017
b4e0236
add: lcd: am335x-boneblack-bbb-exp-c.dtb am335x-boneblack-bbb-exp-r.dtb
RobertCNelson May 11, 2017
529b9f8
bb: audio cape
RobertCNelson May 11, 2017
aeea191
add: am335x-pocketbeagle.dtb
RobertCNelson Oct 3, 2017
16a8215
am335x-pocketbeagle.dts: disable unrounted spi selects
RobertCNelson Oct 23, 2017
7d69c42
am335x-pocketbeagle.dts: fix spi add can0
RobertCNelson Oct 27, 2017
2d6314b
pocketbeagle: fix P2_24
RobertCNelson Nov 2, 2017
8422c77
PocketBeagle: fix pruin default settings
RobertCNelson Dec 7, 2017
60d813d
am335x-pocketbeagle.dts: enable spidev1.0
RobertCNelson Dec 11, 2017
0007b4f
add: am335x-pocketbeagle-simplegaming
RobertCNelson Jan 3, 2018
400dcf1
am335x-pocketbeagle: add pruss node
RobertCNelson Feb 15, 2018
0ced18f
am335x-pocketbeagle: fix rtc off
RobertCNelson Apr 5, 2018
ecb26f7
am33xx: drop pruss node
RobertCNelson Feb 15, 2018
0022165
sync: am335x-peripheral/pinmux
RobertCNelson Mar 1, 2017
e390676
auto generated: capes: add dtbs to makefile
RobertCNelson May 7, 2018
2f75eb3
am335x: enable sgx
RobertCNelson Mar 9, 2018
365b6f3
ti undo overlays
RobertCNelson Mar 22, 2018
ff5166a
bone: disable remoteproc_pruss
RobertCNelson Mar 22, 2018
cd59f09
am335x-boneblue.dts: pru loaded in u-boot
RobertCNelson Apr 22, 2018
31a34c7
fix uart4, i2c1, and i2c2 in blue dts
May 5, 2018
9fb601c
copy roboticscape device tree from 4.9 to 4.14
May 5, 2018
8e2f03a
packaging: sync builddeb changes
RobertCNelson Apr 22, 2018
ac9e85a
enable: Jenkins: http://rcn-ee.online:8080
RobertCNelson Feb 19, 2018
4dc96bd
4.14.39-ti-r47 patchset
RobertCNelson May 7, 2018
bfddb1f
4.14.39-ti-r47 bb.org_defconfig
RobertCNelson May 7, 2018
9ee2f52
OF: Fix crash in of_build_overlay_info
May 6, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -124,3 +124,7 @@ all.config

# Kdevelop4
*.kdev4

# dtb objects
*.dtb
*.dtbo
50 changes: 50 additions & 0 deletions Documentation/ABI/testing/debugfs-aufs
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
What: /debug/aufs/si_<id>/
Date: March 2009
Contact: J. R. Okajima <hooanon05g@gmail.com>
Description:
Under /debug/aufs, a directory named si_<id> is created
per aufs mount, where <id> is a unique id generated
internally.

What: /debug/aufs/si_<id>/plink
Date: Apr 2013
Contact: J. R. Okajima <hooanon05g@gmail.com>
Description:
It has three lines and shows the information about the
pseudo-link. The first line is a single number
representing a number of buckets. The second line is a
number of pseudo-links per buckets (separated by a
blank). The last line is a single number representing a
total number of psedo-links.
When the aufs mount option 'noplink' is specified, it
will show "1\n0\n0\n".

What: /debug/aufs/si_<id>/xib
Date: March 2009
Contact: J. R. Okajima <hooanon05g@gmail.com>
Description:
It shows the consumed blocks by xib (External Inode Number
Bitmap), its block size and file size.
When the aufs mount option 'noxino' is specified, it
will be empty. About XINO files, see the aufs manual.

What: /debug/aufs/si_<id>/xino0, xino1 ... xinoN
Date: March 2009
Contact: J. R. Okajima <hooanon05g@gmail.com>
Description:
It shows the consumed blocks by xino (External Inode Number
Translation Table), its link count, block size and file
size.
When the aufs mount option 'noxino' is specified, it
will be empty. About XINO files, see the aufs manual.

What: /debug/aufs/si_<id>/xigen
Date: March 2009
Contact: J. R. Okajima <hooanon05g@gmail.com>
Description:
It shows the consumed blocks by xigen (External Inode
Generation Table), its block size and file size.
If CONFIG_AUFS_EXPORT is disabled, this entry will not
be created.
When the aufs mount option 'noxino' is specified, it
will be empty. About XINO files, see the aufs manual.
31 changes: 31 additions & 0 deletions Documentation/ABI/testing/sysfs-aufs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
What: /sys/fs/aufs/si_<id>/
Date: March 2009
Contact: J. R. Okajima <hooanon05g@gmail.com>
Description:
Under /sys/fs/aufs, a directory named si_<id> is created
per aufs mount, where <id> is a unique id generated
internally.

What: /sys/fs/aufs/si_<id>/br0, br1 ... brN
Date: March 2009
Contact: J. R. Okajima <hooanon05g@gmail.com>
Description:
It shows the abolute path of a member directory (which
is called branch) in aufs, and its permission.

What: /sys/fs/aufs/si_<id>/brid0, brid1 ... bridN
Date: July 2013
Contact: J. R. Okajima <hooanon05g@gmail.com>
Description:
It shows the id of a member directory (which is called
branch) in aufs.

What: /sys/fs/aufs/si_<id>/xi_path
Date: March 2009
Contact: J. R. Okajima <hooanon05g@gmail.com>
Description:
It shows the abolute path of XINO (External Inode Number
Bitmap, Translation Table and Generation Table) file
even if it is the default path.
When the aufs mount option 'noxino' is specified, it
will be empty. About XINO files, see the aufs manual.
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 <pantelis.antoniou@konsulko.com>
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 <pantelis.antoniou@konsulko.com>
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 <pantelis.antoniou@konsulko.com>
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
52 changes: 52 additions & 0 deletions Documentation/ABI/testing/sysfs-firmware-devicetree-overlays
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
What: /sys/firmware/devicetree/overlays/
Date: October 2015
Contact: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Description:
This directory contains the applied device tree overlays of
the running system, as directories of the overlay id.

What: /sys/firmware/devicetree/overlays/enable
Date: October 2015
Contact: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Description:
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: October 2015
Contact: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Description:
Each directory represents an applied overlay, containing
the following attribute files.

What: /sys/firmware/devicetree/overlays/<id>/can_remove
Date: October 2015
Contact: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Description:
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.

What: /sys/firmware/devicetree/overlays/<id>/<fragment-name>/
Date: October 2015
Contact: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Description:
Each of these directories contain information about of the
particular overlay fragment.

What: /sys/firmware/devicetree/overlays/<id>/<fragment-name>/target
Date: October 2015
Contact: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Description:
The full-path of the target of the fragment
2 changes: 2 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2795,6 +2795,8 @@
This can be set from sysctl after boot.
See Documentation/sysctl/vm.txt for details.

of_overlay_disable [OF] Disable device tree overlays at boot time.

ohci1394_dma=early [HW] enable debugging via the ohci1394 driver.
See Documentation/debugging-via-ohci1394.txt for more
info.
Expand Down
2 changes: 2 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,8 @@ 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>;
};
};
};
31 changes: 31 additions & 0 deletions Documentation/devicetree/configfs-overlays.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Howto use the configfs overlay interface.

A device-tree configfs entry is created in /config/device-tree/overlays
and and it is manipulated using standard file system I/O.
Note that this is a debug level interface, for use by developers and
not necessarily something accessed by normal users due to the
security implications of having direct access to the kernel's device tree.

* To create an overlay you mkdir the directory:

# mkdir /config/device-tree/overlays/foo

* Either you echo the overlay firmware file to the path property file.

# echo foo.dtbo >/config/device-tree/overlays/foo/path

* Or you cat the contents of the overlay to the dtbo file

# cat foo.dtbo >/config/device-tree/overlays/foo/dtbo

The overlay file will be applied, and devices will be created/destroyed
as required.

To remove it simply rmdir the directory.

# rmdir /config/device-tree/overlays/foo

The rationalle of the dual interface (firmware & direct copy) is that each is
better suited to different use patterns. The firmware interface is what's
intended to be used by hardware managers in the kernel, while the copy interface
make sense for developers (since it avoids problems with namespaces).
Loading