openwrt/target/linux/bcm27xx/patches-5.15/950-0670-overlays-Add-MAX30102-HR-to-i2c-sensor-overlay.patch

79 lines
2.5 KiB
Diff
Raw Normal View History

From 2f995c2231e449016206dd2905b87846adc2b357 Mon Sep 17 00:00:00 2001
From: coldspark29 <jan.claussen10@web.de>
Date: Wed, 18 Aug 2021 13:41:04 +0200
Subject: [PATCH] overlays: Add MAX30102 HR to i2c-sensor overlay
Add support for the MAX30102 heart rate and blood oxygen sensor to the
i2c-sensor overlay.
See: https://github.com/raspberrypi/linux/pull/4535
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
arch/arm/boot/dts/overlays/README | 6 ++++++
.../boot/dts/overlays/i2c-sensor-overlay.dts | 20 +++++++++++++++++++
2 files changed, 26 insertions(+)
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -1725,6 +1725,9 @@ Params: addr Set the
htu21 Select the HTU21 temperature and humidity sensor
+ int_pin Set the GPIO to use for interrupts (max30102
+ only)
+
lm75 Select the Maxim LM75 temperature sensor
Valid addresses 0x48-0x4f, default 0x4f
@@ -1733,6 +1736,9 @@ Params: addr Set the
max17040 Select the Maxim Integrated MAX17040 battery
monitor
+ max30102 Select the Maxim Integrated MAX30102 heart-rate
+ and blood-oxygen sensor
+
sht3x Select the Sensiron SHT3x temperature and
humidity sensor. Valid addresses 0x44-0x45,
default 0x44
--- a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
+++ b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
@@ -291,11 +291,30 @@
};
};
+ fragment@19 {
+ target = <&i2c_arm>;
+ __dormant__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ max30102: max30102@57 {
+ compatible = "maxim,max30102";
+ reg = <0x57>;
+ maxim,red-led-current-microamp = <7000>;
+ maxim,ir-led-current-microamp = <7000>;
+ interrupt-parent = <&gpio>;
+ interrupts = <4 2>;
+ };
+ };
+ };
+
__overrides__ {
addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0",
<&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0",
<&ds1621>,"reg:0", <&bme680>,"reg:0", <&ccs811>,"reg:0",
<&bh1750>,"reg:0";
+ int_pin = <&max30102>, "interrupts:0";
bme280 = <0>,"+0";
bmp085 = <0>,"+1";
bmp180 = <0>,"+2";
@@ -316,5 +335,6 @@
sgp30 = <0>,"+16";
ccs811 = <0>, "+17";
bh1750 = <0>, "+18";
+ max30102 = <0>,"+19";
};
};