123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- From 940b863512662c2da10729fbb6d57fe072c9b887 Mon Sep 17 00:00:00 2001
- From: Erik Sejr <erik@eriks.ssimicro.com>
- Date: Tue, 7 Jun 2016 20:58:17 -0400
- Subject: [PATCH] Add ads1015 overlay
- See: https://github.com/raspberrypi/linux/pull/1520
- ---
- arch/arm/boot/dts/overlays/Makefile | 1 +
- arch/arm/boot/dts/overlays/README | 22 ++++++
- arch/arm/boot/dts/overlays/ads1015-overlay.dts | 98 ++++++++++++++++++++++++++
- 3 files changed, 121 insertions(+)
- create mode 100644 arch/arm/boot/dts/overlays/ads1015-overlay.dts
- --- a/arch/arm/boot/dts/overlays/Makefile
- +++ b/arch/arm/boot/dts/overlays/Makefile
- @@ -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
- --- a/arch/arm/boot/dts/overlays/README
- +++ b/arch/arm/boot/dts/overlays/README
- @@ -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>
- --- /dev/null
- +++ b/arch/arm/boot/dts/overlays/ads1015-overlay.dts
- @@ -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";
- + };
- +
- +};
|