From 7f4d21e48d07ada294c9c383b350860aa20efeea Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Tue, 24 Jan 2023 11:34:38 +0000
Subject: [PATCH] overlays: i2c-sensor: Add SHT4X support

Add support for the Sensirion SHT4X temperature and humidity
sensor.

See: https://github.com/raspberrypi/linux/issues/5334

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
 arch/arm/boot/dts/overlays/README              |  8 ++++++--
 .../boot/dts/overlays/i2c-sensor-common.dtsi   | 18 +++++++++++++++++-
 2 files changed, 23 insertions(+), 3 deletions(-)

--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -2077,8 +2077,12 @@ Params: addr                    Set the
         reset_pin               GPIO to be used to reset the device (bno055
                                 only, disabled by default)
 
-        sht3x                   Select the Sensiron SHT3x temperature and
-                                humidity sensor. Valid addresses 0x44-0x45,
+        sht3x                   Select the Sensirion SHT3x temperature and
+                                humidity sensors. Valid addresses 0x44-0x45,
+                                default 0x44
+
+        sht4x                   Select the Sensirion SHT4x temperature and
+                                humidity sensors. Valid addresses 0x44-0x45,
                                 default 0x44
 
         si7020                  Select the Silicon Labs Si7013/20/21 humidity/
--- a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi
+++ b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi
@@ -478,6 +478,21 @@
 		};
 	};
 
+	fragment@32 {
+		target = <&i2cbus>;
+		__dormant__ {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "okay";
+
+			sht4x: sht4x@44 {
+				compatible = "sht4x";
+				reg = <0x44>;
+				status = "okay";
+			};
+		};
+	};
+
 	__overrides__ {
 		bme280 = <0>,"+0";
 		bmp085 = <0>,"+1";
@@ -511,6 +526,7 @@
 		mpu6050 = <0>,"+28";
 		mpu9250 = <0>,"+29";
 		bno055 = <0>,"+31";
+		sht4x = <0>,"+32";
 
 		addr =	<&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0",
 			<&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0",
@@ -519,7 +535,7 @@
 			<&ms5637>,"reg:0", <&ms5803>,"reg:0", <&ms5805>,"reg:0",
 			<&ms5837>,"reg:0", <&ms8607>,"reg:0",
 			<&mpu6050>,"reg:0", <&mpu9250>,"reg:0",
-			<&bno055>,"reg:0";
+			<&bno055>,"reg:0", <&sht4x>,"reg:0";
 		int_pin = <&max30102>, "interrupts:0",
 			<&mpu6050>, "interrupts:0",
 			<&mpu9250>, "interrupts:0";