Add device tree generation section to MRW documentation.

Added a section on what's required in the MRW in order to
generate the BMC device tree from it.

Change-Id: I6c6aef7e23aca582c18c0bf883f13abe1caebfda
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/docs/mrw-xml-requirements.md b/docs/mrw-xml-requirements.md
index c54cc09..d5805bb 100644
--- a/docs/mrw-xml-requirements.md
+++ b/docs/mrw-xml-requirements.md
@@ -20,3 +20,97 @@
 
 **Note**: The BMC and cores will be automatically added without the need to
 set FRU\_NAME.
+
+
+## BMC Device Tree
+
+The BMC device tree can be generated from the MRW XML.  For the full device
+tree to be generated, all of the corresponding devices and connections must
+be modeled in the MRW XML.  For a system built with parts that already have
+existing XML representations, there are only a few attributes that need to
+be set.  If a new part is being modeled, initial values for some attributes
+may need to be determined, depending on the part.
+
+The following sections list the system dependent information that the device
+tree generator requires.  The majority of the information it requires is
+static data that is either already built into the XML representations of
+the existing parts or pulled in from an include file.
+
+
+### System Level Attributes
+
+##### SYSTEM\_NAME
+The name of the system as the firmware would know it.
+
+##### MANUFACTURER
+The system manufacturer.
+
+
+### BMC Chip
+All of the BMC chip attributes that are needed for the device tree are
+pre-built into the XML representation and don't need to be updated when
+the device is placed into a system in Serverwiz.
+
+> Note:  The AST2500 is currently the only BMC XML model that contains all
+of the necessary device tree attributes.
+
+
+### SPI Flashes
+> Coming soon after new device driver released.
+
+
+### Ethernet MAC Units
+To enable a BMC MAC module, its ethernet master unit in the MRW must be
+connected to an ethernet slave unit.  Additionally, the following
+attributes may need to be set.
+
+##### NCSI\_MODE
+This attribute in the ethernet master unit can be set to 1 if the link uses
+NCSI.  The default is 0.
+
+##### USE\_HW\_CHECKSUM
+This attribute in the ethernet master unit can be set to 1 if the MAC has
+hardware checksum enabled, or 0 if not enabled.  The default is 1.
+
+
+### UARTS
+UARTs are enabled by connecting the appropriate UART master units in the
+BMC part to their corresponding uart slave units.  No additional attributes
+are required.
+
+
+### LEDs
+LEDS will be listed in the device tree when LED parts in the MRW are wired to
+their GPIO master endpoints.  The instance name in the MRW is the name of
+its node in the device tree.
+
+##### ON\_STATE
+Set to the logic value required to activate the LED - either 0 or 1.  The
+default is 0.
+
+
+### I2C
+I2C devices are enabled by connecting the I2C master units in the BMC to
+the I2C slave units on the devices.
+
+##### I2C\_ADDRESS
+The 8 bit hexadecimal I2C address should be set in the slave unit of the
+end device.
+
+##### BMC\_DT\_COMPATIBLE
+When creating a new XML device model, this attribute should be used to
+specify which device driver the kernel will use to access the device.
+For example, `ti,423` or `bosch,bmp280`.  For existing parts,  this should
+already be set.
+
+##### BMC\_DT\_ATTR\_NAMES
+This attribute is also only required when creating a new XML representation
+of an I2C device.  It specifies which other attributes of the device should be
+listed as properties in the device tree, as required by the device driver
+for that device. It can contain up to 4 pairs of names, the first name in the
+pair is the attribute name in the XML to read, and the second name in the
+pair is the name of the property to call it in the device tree.  For example,
+`ATTR_WRITE_PAGE_SIZE, pagesize` indicates that the value of the
+`ATTR_WRITE_PAGE_SIZE` attribute should be stored in a property called
+`pagesize` in the device tree.
+