aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0303-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0303-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch')
-rw-r--r--target/linux/brcm2708/patches-4.19/950-0303-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch135
1 files changed, 135 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0303-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch b/target/linux/brcm2708/patches-4.19/950-0303-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch
new file mode 100644
index 0000000000..666da86998
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.19/950-0303-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch
@@ -0,0 +1,135 @@
+From 43f0013d9050a0011c05370c9b6123eb059f235b Mon Sep 17 00:00:00 2001
+From: b-ak <anur.bhargav@gmail.com>
+Date: Thu, 3 Jan 2019 00:29:14 +0530
+Subject: [PATCH 303/703] BCM270X: Adding device tree support for AudioSense-Pi
+ add-on soundcard
+
+Device tree overlay for AudioSense-Pi card.
+
+To enable support for the hardware add the following
+line to the RPi /boot/config.txt:
+
+ dtoverlay=audiosense-pi
+
+More documentation @ arch/arm/boot/dts/overlays/README
+
+Signed-off-by: b-ak <anur.bhargav@gmail.com>
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 8 ++
+ .../dts/overlays/audiosense-pi-overlay.dts | 82 +++++++++++++++++++
+ 3 files changed, 91 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -20,6 +20,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ audioinjector-addons.dtbo \
+ audioinjector-ultra.dtbo \
+ audioinjector-wm8731-audio.dtbo \
++ audiosense-pi.dtbo \
+ audremap.dtbo \
+ balena-fin.dtbo \
+ bmp085_i2c-sensor.dtbo \
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -453,6 +453,14 @@ Load: dtoverlay=audioinjector-wm8731-a
+ Params: <None>
+
+
++Name: audiosense-pi
++Info: Configures the audiosense-pi add on soundcard
++ For more information refer to
++ https://gitlab.com/kakar0t/audiosense-pi
++Load: dtoverlay=audiosense-pi
++Params: <None>
++
++
+ Name: audremap
+ Info: Switches PWM sound output to pins 12 (Right) & 13 (Left)
+ Load: dtoverlay=audremap,<param>=<val>
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts
+@@ -0,0 +1,82 @@
++// Definitions for audiosense add on soundcard
++/dts-v1/;
++/plugin/;
++#include <dt-bindings/pinctrl/bcm2835.h>
++#include <dt-bindings/gpio/gpio.h>
++
++/ {
++ compatible = "brcm,bcm2837", "brcm,bcm2836", "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
++
++ fragment@0 {
++ target = <&i2s>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ fragment@1 {
++ target-path = "/";
++ __overlay__ {
++ codec_reg_1v8: codec-reg-1v8 {
++ compatible = "regulator-fixed";
++ regulator-name = "tlv320aic3204_1v8";
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-always-on;
++ };
++ };
++ };
++
++ fragment@2 {
++ target = <&gpio>;
++ __overlay__ {
++ codec_rst: codec-rst {
++ brcm,pins = <26>;
++ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
++ };
++ };
++ };
++
++ fragment@3 {
++ target = <&i2c1>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ /* audio external oscillator */
++ codec_osc: codec_osc {
++ compatible = "fixed-clock";
++ #clock-cells = <0>;
++ clock-frequency = <12000000>; /* 12 MHz */
++ };
++
++ codec: tlv320aic32x4@18 {
++ #sound-dai-cells = <0>;
++ compatible = "ti,tlv320aic32x4";
++ reg = <0x18>;
++
++ clocks = <&codec_osc>;
++ clock-names = "mclk";
++
++ iov-supply = <&vdd_3v3_reg>;
++ ldoin-supply = <&vdd_3v3_reg>;
++
++ gpio-controller;
++ #gpio-cells = <2>;
++ reset-gpios = <&gpio 26 GPIO_ACTIVE_HIGH>;
++
++ status = "okay";
++ };
++ };
++ };
++
++ fragment@4 {
++ target = <&sound>;
++ __overlay__ {
++ compatible = "as,audiosense-pi";
++ i2s-controller = <&i2s>;
++ status = "okay";
++ };
++ };
++};