Skip to content

Add support for TI ADS7828/ADS7830 I2C ADCs #6819

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -2408,15 +2408,22 @@ Name: i2c-sensor
Info: Adds support for a number of I2C barometric pressure, temperature,
light level and chemical sensors on i2c_arm
Load: dtoverlay=i2c-sensor,<param>=<val>
Params: addr Set the address for the ADT7410, AS73211,
AS7331, BH1750, BME280, BME680, BMP280, BMP380,
CCS811, DS1621, HDC100X, HDC3020, JC42, LM75,
MCP980x, MPU6050, MPU9250, MS5637, MS5803,
MS5805, MS5837, MS8607, SHT3x or TMP102
Params: addr Set the address for the ADS7828, ADS7830,
ADT7410, AS73211, AS7331, BH1750, BME280,
BME680, BMP280, BMP380, CCS811, DS1621,
HDC100X, HDC3020, JC42, LM75, MCP980x,
MPU6050, MPU9250, MS5637, MS5803, MS5805,
MS5837, MS8607, SHT3x or TMP102

i2c-bus Supports all the standard I2C bus selection
parameters - see "dtoverlay -h i2c-bus"

ads7828 Select the TI ADS7828 50kHz 8-channel 12bit ADC
Valid addresses 0x48-0x4b, default 0x48

ads7830 Select the TI ADS7830 70kHz 8-channel 8bit ADC
Valid addresses 0x48-0x4b, default 0x48

adt7410 Select the Analog Devices ADT7410 and ADT7420
temperature sensors
Valid address 0x48-0x4b, default 0x48
Expand Down Expand Up @@ -2497,6 +2504,8 @@ Params: addr Set the address for the ADT7410, AS73211,
TSE2002, TSE2004, TS3000, and TS3001.
The default address is 0x18.

label Set the device label (ADS7828 and ADS7830 only)

lm75 Select the Maxim LM75 temperature sensor
Valid addresses 0x48-0x4f, default 0x4f

Expand Down
37 changes: 36 additions & 1 deletion arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -713,6 +713,36 @@
};
};

fragment@46 {
target = <&i2cbus>;
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

ads7828: ads7828@48 {
compatible = "ti,ads7828";
reg = <0x48>;
label = "ads7828";
};
};
};

fragment@47 {
target = <&i2cbus>;
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

ads7830: ads7830@48 {
compatible = "ti,ads7830";
reg = <0x48>;
label = "ads7830";
};
};
};

fragment@99 {
target = <&gpio>;
__dormant__ {
Expand Down Expand Up @@ -771,6 +801,8 @@
aht20 = <0>,"+43";
tcs3472 = <0>,"+44+99";
veml6040 = <0>,"+45";
ads7828 = <0>,"+46";
ads7830 = <0>,"+47";

addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0",
<&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0",
Expand All @@ -782,7 +814,8 @@
<&bno055>,"reg:0", <&sht4x>,"reg:0",
<&bmp380>,"reg:0", <&adt7410>,"reg:0", <&ina238>,"reg:0",
<&hdc3020>,"reg:0", <&as73211>,"reg:0",
<&as7331>,"reg:0", <&adxl345>,"reg:0";
<&as7331>,"reg:0", <&adxl345>,"reg:0",
<&ads7828>,"reg:0", <&ads7830>,"reg:0";
int_pin = <&int_pins>, "brcm,pins:0",
<&int_pins>, "reg:0",
<&max30102>, "interrupts:0",
Expand All @@ -794,6 +827,8 @@
<&as7331>, "interrupts:0",
<&adxl345>, "interrupts:0",
<&tcs3472>, "interrupts:0";
label = <&ads7828>, "label",
<&ads7830>, "label";
no_timeout = <&jc42>, "smbus-timeout-disable?";
reset_pin = <&bno055>,"reset-gpios:4", <0>,"+30";
shunt_resistor = <&ina238>,"shunt-resistor:0";
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/bcm2709_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -737,6 +737,7 @@ CONFIG_BATTERY_DS2760=m
CONFIG_BATTERY_MAX17040=m
CONFIG_CHARGER_GPIO=m
CONFIG_BATTERY_GAUGE_LTC2941=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADT7410=m
CONFIG_SENSORS_AHT10=m
CONFIG_SENSORS_CHIPCAP2=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -762,6 +762,7 @@ CONFIG_BATTERY_DS2760=m
CONFIG_BATTERY_MAX17040=m
CONFIG_CHARGER_GPIO=m
CONFIG_BATTERY_GAUGE_LTC2941=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADT7410=m
CONFIG_SENSORS_AHT10=m
CONFIG_SENSORS_CHIPCAP2=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/bcmrpi_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -730,6 +730,7 @@ CONFIG_BATTERY_DS2760=m
CONFIG_BATTERY_MAX17040=m
CONFIG_CHARGER_GPIO=m
CONFIG_BATTERY_GAUGE_LTC2941=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADT7410=m
CONFIG_SENSORS_AHT10=m
CONFIG_SENSORS_CHIPCAP2=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -800,6 +800,7 @@ CONFIG_BATTERY_DS2760=m
CONFIG_BATTERY_MAX17040=m
CONFIG_CHARGER_GPIO=m
CONFIG_BATTERY_GAUGE_LTC2941=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADT7410=m
CONFIG_SENSORS_AHT10=m
CONFIG_SENSORS_CHIPCAP2=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2711_rt_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -800,6 +800,7 @@ CONFIG_BATTERY_DS2760=m
CONFIG_BATTERY_MAX17040=m
CONFIG_CHARGER_GPIO=m
CONFIG_BATTERY_GAUGE_LTC2941=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADT7410=m
CONFIG_SENSORS_AHT10=m
CONFIG_SENSORS_CHIPCAP2=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2712_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -802,6 +802,7 @@ CONFIG_BATTERY_DS2760=m
CONFIG_BATTERY_MAX17040=m
CONFIG_CHARGER_GPIO=m
CONFIG_BATTERY_GAUGE_LTC2941=m
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADT7410=m
CONFIG_SENSORS_AHT10=m
CONFIG_SENSORS_CHIPCAP2=m
Expand Down
Loading