DTB file appears to have corrupted node property according to fdtdump and kernel?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi,

I have a particular device tree node property which refuses to reach
the Linux kernel without corruption:

 interrupts = <0xc 0x1>;

>From the extract below from the preprocessed file:

   i2c1: i2c@f0018000 {
    compatible = "atmel,at91sam9x5-i2c";
    reg = <0xf0018000 0x4000>;
    interrupts = <0x13 0x4 0x6>;
    dmas = <0x2 0x2 0x9 0x2 0x2 0xa>;
    dma-names = "tx", "rx";
    pinctrl-names = "default";
    pinctrl-0 = <0x12>;
    #address-cells = <0x1>;
    #size-cells = <0x0>;
    clocks = <0x13>;
    status = "okay";
    clock-frequency = <0x61a80>;
    atmel,recover-scl = <0x14 0x1b 0x0>;
    atmel,recover-sda = <0x14 0x1a 0x0>;

    lsm6ds3@6b {
     compatible = "st,lsm6ds3";
     reg = <0x6b>;
     pinctrl-names = "default";
     pinctrl-0 = <0x15>;
     interrupt-parent = <0x16>;
     interrupts = <0xc 0x1>;
     interrupt-names = "lsm6ds_int1";
     st,drdy-int-pin = <0x1>;
    };
   };

Version: DTC 1.4.0 (ubuntu package) for manual testing.

(1)  fdtdump mix6000.dtb | grep interrupts

Thsi returns the interrupt line as:

interrupts = <0x0000000c 0x000001d0>;

(2) In the linux kernel the of_platform_populate() reads the same property as:

0x0000000c 0x00000000 with lenth=8

(3) If I take the DTS file and manually compile the DTB with the dtc
compiler, and convert it back to the DTS the correct values are shown

(4) If I change the interrupt value:

interrupts = <0xc 0x0>;

and I do:

cat <file-old.dtb> | od -t x1 > file1.txt
cat <file-mod.dtb> | od -t x1 > file2.txt
kdiff3 file1.txt file2.txt

I actually see a single hex byte change from 0x1 to 0x0.

If it was not for the faulty fdtdump output (in conjuection with the
Linux kernel zero at the same place) I would have said its definately
a kernel issue.

Any ideas?
--
To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux