Skip to content

Commit

Permalink
Add ads1015 overlay
Browse files Browse the repository at this point in the history
  • Loading branch information
Erik Sejr authored and kamalmostafa committed Oct 26, 2016
1 parent 9349017 commit e936801
Show file tree
Hide file tree
Showing 3 changed files with 121 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ ifeq ($(CONFIG_ARCH_BCM2835),y)
endif

dtbo-$(RPI_DT_OVERLAYS) += adau1977-adc.dtbo
dtbo-$(RPI_DT_OVERLAYS) += ads1015.dtbo
dtbo-$(RPI_DT_OVERLAYS) += ads7846.dtbo
dtbo-$(RPI_DT_OVERLAYS) += akkordion-iqdacplus.dtbo
dtbo-$(RPI_DT_OVERLAYS) += at86rf233.dtbo
Expand Down
22 changes: 22 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,28 @@ Load: dtoverlay=adau1977-adc
Params: <None>


Name: ads1015
Info: Overlay for activation of Texas Instruments ADS1015 ADC over I2C
Load: dtoverlay=ads1015,<param>=<val>
Params: addr I2C bus address of device. Set based on how the
addr pin is wired. (default=0x48 assumes addr
is pulled to GND)
cha_enable Enable virtual channel a. (default=true)
cha_cfg Set the configuration for virtual channel a.
(default=4 configures this channel for the
voltage at A0 with respect to GND)
cha_datarate Set the datarate (samples/sec) for this channel.
(default=4 sets 1600 sps)
cha_gain Set the gain of the Programmable Gain
Amplifier for this channel. (default=2 sets the
full scale of the channel to 2.048 Volts)

Channel (ch) parameters can be set for each enabled channel.
A maximum of 4 channels can be enabled (letters a thru d).
For more information refer to the device datasheet at:
http://www.ti.com/lit/ds/symlink/ads1015.pdf


Name: ads7846
Info: ADS7846 Touch controller
Load: dtoverlay=ads7846,<param>=<val>
Expand Down
98 changes: 98 additions & 0 deletions arch/arm/boot/dts/overlays/ads1015-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
/*
* 2016 - Erik Sejr
*/
/dts-v1/;
/plugin/;

/ {
compatible = "brcm,bcm2708";
/* ----------- ADS1015 ------------ */
fragment@0 {
target = <&i2c_arm>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ads1015: ads1015 {
compatible = "ti,ads1015";
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x48>;
};
};
};

fragment@1 {
target-path = "i2c_arm/ads1015";
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
channel_a: channel_a {
reg = <4>;
ti,gain = <2>;
ti,datarate = <4>;
};
};
};

fragment@2 {
target-path = "i2c_arm/ads1015";
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
channel_b: channel_b {
reg = <5>;
ti,gain = <2>;
ti,datarate = <4>;
};
};
};

fragment@3 {
target-path = "i2c_arm/ads1015";
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
channel_c: channel_c {
reg = <6>;
ti,gain = <2>;
ti,datarate = <4>;
};
};
};

fragment@4 {
target-path = "i2c_arm/ads1015";
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
channel_d: channel_d {
reg = <7>;
ti,gain = <2>;
ti,datarate = <4>;
};
};
};

__overrides__ {
addr = <&ads1015>,"reg:0";
cha_enable = <0>,"=1";
cha_cfg = <&channel_a>,"reg:0";
cha_gain = <&channel_a>,"ti,gain:0";
cha_datarate = <&channel_a>,"ti,datarate:0";
chb_enable = <0>,"=2";
chb_cfg = <&channel_b>,"reg:0";
chb_gain = <&channel_b>,"ti,gain:0";
chb_datarate = <&channel_b>,"ti,datarate:0";
chc_enable = <0>,"=3";
chc_cfg = <&channel_c>,"reg:0";
chc_gain = <&channel_c>,"ti,gain:0";
chc_datarate = <&channel_c>,"ti,datarate:0";
chd_enable = <0>,"=4";
chd_cfg = <&channel_d>,"reg:0";
chd_gain = <&channel_d>,"ti,gain:0";
chd_datarate = <&channel_d>,"ti,datarate:0";
};

};

0 comments on commit e936801

Please sign in to comment.