diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2007-09-06 23:23:53 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-09-13 11:33:25 -0400 |
commit | 2099172d61abda1b793b499bb8edcaac4de2cdae (patch) | |
tree | 4b3bff327ad8e61fe5f71f9d399269c8db41220c /Documentation | |
parent | 3c607ce2a3213f33b8b6b854b5f7db876021e466 (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')
-rw-r--r-- | Documentation/powerpc/booting-without-of.txt | 92 |
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 | ||