AnsweredAssumed Answered

AD5254 - Unwritable eeprom and rdac

Question asked by beOn on Mar 31, 2015
Latest reply on Apr 8, 2015 by beOn

Preemptive apology for being so basic.

 

I'm using i2c to talk to an AD5254 from a RaspberryPi - spent last night rebuilding the kernel to enable device tree mode and add the digipot driver, and to my joy this morning I can see all of the eeproms and rdacs and tolerances listed in /sys/bus/i2c/devices/0-002d. Problem is, while I can read all of them, I cannot *write* to any to the eeproms (or rdacs). When I try, I get a permissions error, even if I use sudo. I can chmod eeprom0 to 777, for example, then I don't get the error, but the write has no effect - I still read the original value off of eeprom0 (128) after trying to change it (to 10).

 

So clearly my ordeal is not yet over. I haven't fooled around with initializing devices using device tree blobs before, so it seems like my error is likely in my device tree overlay. Probably something really dumb. Does anyone see an obvious issue with the following overlay?

 

 

/dts-v1/;

 

/ {

    compatible = "brcm,bcm2708";

    fragment@0 {

        target = <&i2c0>;

        __overlay__ {

            #address-cells = <0x00000001>;

            #size-cells = <0x00000000>;

            status = "okay";

            adpot {

                compatible = "ad_dpot,ad5254";

                reg = <0x2d>;

                status = "okay";

            };

        };

    };

};

Outcomes