DTS question
David Gibson
david at gibson.dropbear.id.au
Wed Sep 3 09:42:07 EST 2008
On Tue, Sep 02, 2008 at 03:56:30PM -0600, Gary Thomas wrote:
> Following on with my RTC problem, I cut&pasted this from
> the TQM5200 dts file:
> i2c at 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 at 68 {
> device_type = "rtc";
> compatible = "dallas,ds1307";
> reg = <0x68>;
> };
> };
>
> However, the dts file I started with had this (*mine*):
> i2c at 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 at 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?
Because we changed the format at one point. Originally (the "dts-v0"
format) it was implicitly hex everywhere, which turned out to be a
mistake. So we introduced the new dts-v1 format which uses C-style
literals. New-style files are marked with a /dts-v1/; token at the
top of the file.
> Is the format of this file documented anywhere (I've not found it)?
It's in Documentation/dts-format.txt in the dtc tree. I don't think
that's been included in the version of dtc in the kernel tree, though,
so you'll need to download the standalone dtc.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
More information about the Linuxppc-dev
mailing list