openwrt/target/linux/bcm27xx/patches-4.19/950-0261-BCM270X-Adding-device-tree-support-for-AudioSense-Pi.patch
Adrian Schmutzler 7d7aa2fd92 brcm2708: rename target to bcm27xx
This change makes the names of Broadcom targets consistent by using
the common notation based on SoC/CPU ID (which is used internally
anyway), bcmXXXX instead of brcmXXXX.
This is even used for target TITLE in make menuconfig already,
only the short target name used brcm so far.

Despite, since subtargets range from bcm2708 to bcm2711, it seems
appropriate to use bcm27xx instead of bcm2708 (again, as already done
for BOARDNAME).

This also renames the packages brcm2708-userland and brcm2708-gpu-fw.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-02-14 14:10:51 +01:00

136 lines
3.3 KiB
Diff

From 0d2a0f4f4c00c958fb6e7a2673adbe51c2a932f2 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] 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";
+ };
+ };
+};