openwrt/target/linux/bcm27xx/patches-6.1/950-0542-overlays-i2c-sensor-Add-BNO055-IMU-sensor.patch
Álvaro Fernández Rojas 793f8ab62c bcm27xx: 6.1: add kernel patches
Add kernel patches for version 6.1.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-06-09 19:12:30 +02:00

98 lines
3.0 KiB
Diff

From 04ca4e22abfc21a615b6003ea512fa79dee94cd5 Mon Sep 17 00:00:00 2001
From: PolarStarWalker <savmot1929@gmail.com>
Date: Mon, 2 Jan 2023 02:13:27 +0300
Subject: [PATCH] overlays: i2c-sensor: Add BNO055 IMU sensor
Add support for the Bosch BNO055 9-dof IMU sensor.
Signed-off-by: PolarStarWalker <savmot1929@gmail.com>
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
arch/arm/boot/dts/overlays/README | 6 ++++
.../boot/dts/overlays/i2c-sensor-common.dtsi | 28 ++++++++++++++++++-
2 files changed, 33 insertions(+), 1 deletion(-)
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -2005,6 +2005,9 @@ Params: addr Set the
bmp280 Select the Bosch Sensortronic BMP280
Valid addresses 0x76-0x77, default 0x76
+ bno055 Select the Bosch Sensortronic BNO055 IMU
+ Valid address 0x28-0x29, default 0x29
+
ccs811 Select the AMS CCS811 digital gas sensor
Valid addresses 0x5a-0x5b, default 0x5b
@@ -2071,6 +2074,9 @@ Params: addr Set the
incompatible device can stop it from being
activated.
+ 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,
default 0x44
--- a/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi
+++ b/arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi
@@ -2,6 +2,8 @@
/dts-v1/;
/plugin/;
+#include <dt-bindings/gpio/gpio.h>
+
/ {
compatible = "brcm,bcm2835";
@@ -455,6 +457,27 @@
};
};
+ fragment@30 {
+ target = <&bno055>;
+ __dormant__ {
+ reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ fragment@31 {
+ target = <&i2cbus>;
+ __dormant__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ bno055: bno055@29 {
+ compatible = "bosch,bno055";
+ reg = <0x29>;
+ };
+ };
+ };
+
__overrides__ {
bme280 = <0>,"+0";
bmp085 = <0>,"+1";
@@ -487,6 +510,7 @@
ms8607 = <0>,"+27";
mpu6050 = <0>,"+28";
mpu9250 = <0>,"+29";
+ bno055 = <0>,"+31";
addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0",
<&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0",
@@ -494,10 +518,12 @@
<&bh1750>,"reg:0", <&mcp980x>,"reg:0", <&jc42>,"reg:0",
<&ms5637>,"reg:0", <&ms5803>,"reg:0", <&ms5805>,"reg:0",
<&ms5837>,"reg:0", <&ms8607>,"reg:0",
- <&mpu6050>, "reg:0", <&mpu9250>, "reg:0";
+ <&mpu6050>,"reg:0", <&mpu9250>,"reg:0",
+ <&bno055>,"reg:0";
int_pin = <&max30102>, "interrupts:0",
<&mpu6050>, "interrupts:0",
<&mpu9250>, "interrupts:0";
no_timeout = <&jc42>, "smbus-timeout-disable?";
+ reset_pin = <&bno055>,"reset-gpios:4", <0>,"+30";
};
};