Subject: DTS question

From: Gary Thomas <[email-masked]>
Date: Tue, 02 Sep 2008 15:56:30 -0600

Following on with my RTC problem, I cut&pasted this from
the TQM5200 dts file:
                 i2c@3d40 {
                         #address-cells = <1>;
                         #size-cells = <0>;
                         compatible = "fsl,mpc5200-i2c","fsl-i2c";
                         reg = <0x3d40 0x40>;
                         interrupts = <2 16 0>;
                         interrupt-parent = <&mpc5200_pic>;
                         fsl5200-clocking;

                          rtc@68 {
                                 device_type = "rtc";
                                 compatible = "dallas,ds1307";
                                 reg = <0x68>;
                         };
                 };

However, the dts file I started with had this (*mine*):
		i2c@3d40 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "fsl,mpc5200-i2c","fsl-i2c";
			cell-index = <1>;
			reg = <3d40 40>;
			interrupts = <2 10 0>;
			interrupt-parent = <&mpc5200_pic>;
			fsl5200-clocking;
		};

Notice the different mix of hex (0xNNN) and implied hex values.
This is really confusing to me.  Even more so when I added the
RTC snippet cut directly from the TQM5200 file:

                          rtc@68 {
                                 device_type = "rtc";
                                 compatible = "dallas,ds1307";
                                 reg = <0x68>;
                         };

This yielded a syntax error when merged with my platform dts.
When I changed the 'reg=<0x68>' to 'reg=<68>', the syntax error
went away & it worked perfectly.

What gives?  Why is explicit hex sometimes an error and sometimes not?
Is the format of this file documented anywhere (I've not found it)?

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------