aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2015-11-10 17:25:34 -0800
committerKevin Hilman <khilman@linaro.org>2015-11-10 17:25:34 -0800
commit4c9c5a306017efae3bb820e26fa9891f32ddf759 (patch)
tree10dda727dbd515574ec517c446c29bd71461d4d7 /Documentation
parent8c9dcdb8f3a67b5f9b38412a4ae0c6ad42a2ba8d (diff)
parent1f2ce4a2e7aea3a2123b17aff62a80553df31e21 (diff)
Merge tag 'v4.1.13' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into linux-linaro-lsk-v4.1
This is the 4.1.13 stable release # gpg: Signature made Mon Nov 9 14:34:15 2015 PST using RSA key ID 6092693E # gpg: Good signature from "Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>" * tag 'v4.1.13' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (86 commits) Linux 4.1.13 dts: imx6: fix sd card gpio polarity specified in device tree xen: fix backport of previous kexec patch serial: 8250_pci: Add support for 12 port Exar boards pinctrl: baytrail: Use raw_spinlock for locking pinctrl: baytrail: Serialize all register access thp: use is_zero_pfn() only after pte_present() check drm/vmwgfx: Fix up user_dmabuf refcounting NVMe: Fix memory leak on retried commands arm64: compat: fix stxr failure case in SWP emulation arm64: kernel: fix tcr_el1.t0sz restore on systems with extended idmap arm64: kernel: rename __cpu_suspend to keep it aligned with arm cpufreq: intel_pstate: Fix divide by zero on Knights Landing (KNL) IB/cm: Fix rb-tree duplicate free and use-after-free btrfs: fix possible leak in btrfs_ioctl_balance() MFD/OF: document MFD devices and handle simple-mfd mvsas: Fix NULL pointer dereference in mvs_slot_task_free irqchip/tegra: Propagate IRQ type setting to parent EDAC, sb_edac: Fix TAD presence check for sbridge_mci_bind_devs() Revert "md: allow a partially recovered device to be hot-added to an array." ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/mfd/mfd.txt41
1 files changed, 41 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/mfd/mfd.txt b/Documentation/devicetree/bindings/mfd/mfd.txt
new file mode 100644
index 000000000000..af9d6931a1a2
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/mfd.txt
@@ -0,0 +1,41 @@
+Multi-Function Devices (MFD)
+
+These devices comprise a nexus for heterogeneous hardware blocks containing
+more than one non-unique yet varying hardware functionality.
+
+A typical MFD can be:
+
+- A mixed signal ASIC on an external bus, sometimes a PMIC (Power Management
+ Integrated Circuit) that is manufactured in a lower technology node (rough
+ silicon) that handles analog drivers for things like audio amplifiers, LED
+ drivers, level shifters, PHY (physical interfaces to things like USB or
+ ethernet), regulators etc.
+
+- A range of memory registers containing "miscellaneous system registers" also
+ known as a system controller "syscon" or any other memory range containing a
+ mix of unrelated hardware devices.
+
+Optional properties:
+
+- compatible : "simple-mfd" - this signifies that the operating system should
+ consider all subnodes of the MFD device as separate devices akin to how
+ "simple-bus" inidicates when to see subnodes as children for a simple
+ memory-mapped bus. For more complex devices, when the nexus driver has to
+ probe registers to figure out what child devices exist etc, this should not
+ be used. In the latter case the child devices will be determined by the
+ operating system.
+
+Example:
+
+foo@1000 {
+ compatible = "syscon", "simple-mfd";
+ reg = <0x01000 0x1000>;
+
+ led@08.0 {
+ compatible = "register-bit-led";
+ offset = <0x08>;
+ mask = <0x01>;
+ label = "myled";
+ default-state = "on";
+ };
+};