openwrt/target/linux/bcm27xx/patches-4.19/950-0753-overlays-Add-apds9960-overlay.patch

104 lines
2.6 KiB
Diff
Raw Normal View History

From c1e8593fd7fc6a8e7745a6c82c1c19a8fceee70f Mon Sep 17 00:00:00 2001
From: Michael Kaplan <m.kaplan@evva.com>
Date: Fri, 8 Nov 2019 10:35:57 +0100
Subject: [PATCH] overlays: Add apds9960 overlay
Add an overlay for the AVAGO APDS9960 digital proximity, ambient light, rgb and gesture sensor.
Also update overlay README and Makefile.
Signed-off-by: Michael Kaplan <m.kaplan@evva.com>
---
arch/arm/boot/dts/overlays/Makefile | 1 +
arch/arm/boot/dts/overlays/README | 8 +++
.../boot/dts/overlays/apds9960-overlay.dts | 57 +++++++++++++++++++
3 files changed, 66 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/apds9960-overlay.dts
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -15,6 +15,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
allo-katana-dac-audio.dtbo \
allo-piano-dac-pcm512x-audio.dtbo \
allo-piano-dac-plus-pcm512x-audio.dtbo \
+ apds9960.dtbo \
applepi-dac.dtbo \
at86rf233.dtbo \
audioinjector-addons.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -441,6 +441,14 @@ Params: 24db_digital_gain Allow ga
better voice quality. (default Off)
+Name: apds9960
+Info: Configures the AVAGO APDS9960 digital proximity, ambient light, RGB and
+ gesture sensor
+Load: dtoverlay=apds9960,<param>=<val>
+Params: gpiopin GPIO used for INT (default 4)
+ noints Disable the interrupt GPIO line.
+
+
Name: applepi-dac
Info: Configures the Orchard Audio ApplePi-DAC audio card
Load: dtoverlay=applepi-dac
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/apds9960-overlay.dts
@@ -0,0 +1,57 @@
+// Definitions for APDS-9960 ambient light and gesture sensor
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2835";
+
+ fragment@0 {
+ target = <&i2c1>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&gpio>;
+ __overlay__ {
+ apds9960_pins: apds9960_pins@39 {
+ brcm,pins = <4>;
+ brcm,function = <0>;
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&i2c1>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ apds9960: apds@39 {
+ compatible = "avago,apds9960";
+ reg = <0x39>;
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@3 {
+ target = <&i2c1>;
+ __overlay__ {
+ apds9960_irq: apds@39 {
+ #interrupt-cells=<2>;
+ interrupt-parent = <&gpio>;
+ interrupts = <4 1>;
+ };
+ };
+ };
+
+ __overrides__ {
+ gpiopin = <&apds9960_pins>,"brcm,pins:0",
+ <&apds9960_irq>,"interrupts:0";
+ noints = <0>,"!1!3";
+ };
+};
+