aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/powerpc
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2007-09-06 23:23:53 -0400
committerPaul Mackerras <paulus@samba.org>2007-09-13 11:33:25 -0400
commit2099172d61abda1b793b499bb8edcaac4de2cdae (patch)
tree4b3bff327ad8e61fe5f71f9d399269c8db41220c /Documentation/powerpc
parent3c607ce2a3213f33b8b6b854b5f7db876021e466 (diff)
[POWERPC] Document and implement an improved flash device binding for powerpc
This replaces the binding for flash chips in booting-without-of.txt with an clarified and improved version. It also makes drivers/mtd/maps/physmap_of.c recognize this new binding. Finally it revises the Ebony device tree source to use the new binding as an example. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'Documentation/powerpc')
-rw-r--r--Documentation/powerpc/booting-without-of.txt92
1 files changed, 58 insertions, 34 deletions
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
index 76733a3962f0..20e0e6cb0347 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -50,7 +50,7 @@ Table of Contents
50 g) Freescale SOC SEC Security Engines 50 g) Freescale SOC SEC Security Engines
51 h) Board Control and Status (BCSR) 51 h) Board Control and Status (BCSR)
52 i) Freescale QUICC Engine module (QE) 52 i) Freescale QUICC Engine module (QE)
53 j) Flash chip nodes 53 j) CFI or JEDEC memory-mapped NOR flash
54 k) Global Utilities Block 54 k) Global Utilities Block
55 55
56 VII - Specifying interrupt information for devices 56 VII - Specifying interrupt information for devices
@@ -1757,45 +1757,69 @@ platforms are moved over to use the flattened-device-tree model.
1757 }; 1757 };
1758 }; 1758 };
1759 1759
1760 j) Flash chip nodes 1760 j) CFI or JEDEC memory-mapped NOR flash
1761 1761
1762 Flash chips (Memory Technology Devices) are often used for solid state 1762 Flash chips (Memory Technology Devices) are often used for solid state
1763 file systems on embedded devices. 1763 file systems on embedded devices.
1764 1764
1765 Required properties: 1765 - compatible : should contain the specific model of flash chip(s)
1766 used, if known, followed by either "cfi-flash" or "jedec-flash"
1767 - reg : Address range of the flash chip
1768 - bank-width : Width (in bytes) of the flash bank. Equal to the
1769 device width times the number of interleaved chips.
1770 - device-width : (optional) Width of a single flash chip. If
1771 omitted, assumed to be equal to 'bank-width'.
1772 - #address-cells, #size-cells : Must be present if the flash has
1773 sub-nodes representing partitions (see below). In this case
1774 both #address-cells and #size-cells must be equal to 1.
1775
1776 For JEDEC compatible devices, the following additional properties
1777 are defined:
1778
1779 - vendor-id : Contains the flash chip's vendor id (1 byte).
1780 - device-id : Contains the flash chip's device id (1 byte).
1781
1782 In addition to the information on the flash bank itself, the
1783 device tree may optionally contain additional information
1784 describing partitions of the flash address space. This can be
1785 used on platforms which have strong conventions about which
1786 portions of the flash are used for what purposes, but which don't
1787 use an on-flash partition table such as RedBoot.
1788
1789 Each partition is represented as a sub-node of the flash device.
1790 Each node's name represents the name of the corresponding
1791 partition of the flash device.
1792
1793 Flash partitions
1794 - reg : The partition's offset and size within the flash bank.
1795 - label : (optional) The label / name for this flash partition.
1796 If omitted, the label is taken from the node name (excluding
1797 the unit address).
1798 - read-only : (optional) This parameter, if present, is a hint to
1799 Linux that this flash partition should only be mounted
1800 read-only. This is usually used for flash partitions
1801 containing early-boot firmware images or data which should not
1802 be clobbered.
1766 1803
1767 - device_type : has to be "rom" 1804 Example:
1768 - compatible : Should specify what this flash device is compatible with.
1769 Currently, this is most likely to be "direct-mapped" (which
1770 corresponds to the MTD physmap mapping driver).
1771 - reg : Offset and length of the register set (or memory mapping) for
1772 the device.
1773 - bank-width : Width of the flash data bus in bytes. Required
1774 for the NOR flashes (compatible == "direct-mapped" and others) ONLY.
1775
1776 Recommended properties :
1777
1778 - partitions : Several pairs of 32-bit values where the first value is
1779 partition's offset from the start of the device and the second one is
1780 partition size in bytes with LSB used to signify a read only
1781 partition (so, the partition size should always be an even number).
1782 - partition-names : The list of concatenated zero terminated strings
1783 representing the partition names.
1784 - probe-type : The type of probe which should be done for the chip
1785 (JEDEC vs CFI actually). Valid ONLY for NOR flashes.
1786
1787 Example:
1788 1805
1789 flash@ff000000 { 1806 flash@ff000000 {
1790 device_type = "rom"; 1807 compatible = "amd,am29lv128ml", "cfi-flash";
1791 compatible = "direct-mapped"; 1808 reg = <ff000000 01000000>;
1792 probe-type = "CFI"; 1809 bank-width = <4>;
1793 reg = <ff000000 01000000>; 1810 device-width = <1>;
1794 bank-width = <4>; 1811 #address-cells = <1>;
1795 partitions = <00000000 00f80000 1812 #size-cells = <1>;
1796 00f80000 00080001>; 1813 fs@0 {
1797 partition-names = "fs\0firmware"; 1814 label = "fs";
1798 }; 1815 reg = <0 f80000>;
1816 };
1817 firmware@f80000 {
1818 label ="firmware";
1819 reg = <f80000 80000>;
1820 read-only;
1821 };
1822 };
1799 1823
1800 k) Global Utilities Block 1824 k) Global Utilities Block
1801 1825