You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/brcm2708/patches-4.9/950-0136-ASoC-A-simple-card...

94 lines
2.8 KiB
Diff

From 1cd1f19adbe020544e18193a006af9c71c8c82ca Mon Sep 17 00:00:00 2001
From: chris johnson <plasticchris@gmail.com>
Date: Sun, 22 Jan 2017 03:27:31 +0000
Subject: [PATCH] ASoC: A simple-card overlay for ADAU7002
Usage: `dtoverlay=adau7002-simple`
---
arch/arm/boot/dts/overlays/Makefile | 1 +
arch/arm/boot/dts/overlays/README | 6 +++
.../boot/dts/overlays/adau7002-simple-overlay.dts | 52 ++++++++++++++++++++++
3 files changed, 59 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/adau7002-simple-overlay.dts
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -2,6 +2,7 @@
dtbo-$(CONFIG_ARCH_BCM2835) += \
adau1977-adc.dtbo \
+ adau7002-simple.dtbo \
ads1015.dtbo \
ads7846.dtbo \
akkordion-iqdacplus.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -168,6 +168,12 @@ Load: dtoverlay=adau1977-adc
Params: <None>
+Name: adau7002-simple
+Info: Overlay for the activation of ADAU7002 stereo PDM to I2S converter.
+Load: dtoverlay=adau7002-simple,<param>=<val>
+Params: card-name Override the default, "adau7002", card name.
+
+
Name: ads1015
Info: Overlay for activation of Texas Instruments ADS1015 ADC over I2C
Load: dtoverlay=ads1015,<param>=<val>
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/adau7002-simple-overlay.dts
@@ -0,0 +1,52 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2708";
+
+ fragment@0 {
+ target = <&i2s>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target-path = "/";
+ __overlay__ {
+ adau7002_codec: adau7002-codec {
+ #sound-dai-cells = <0>;
+ compatible = "adi,adau7002";
+/* IOVDD-supply = <&supply>;*/
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&sound>;
+ sound_overlay: __overlay__ {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,name = "adau7002";
+ simple-audio-card,bitclock-slave = <&dailink0_slave>;
+ simple-audio-card,frame-slave = <&dailink0_slave>;
+ simple-audio-card,widgets =
+ "Microphone", "Microphone Jack";
+ simple-audio-card,routing =
+ "PDM_DAT", "Microphone Jack";
+ status = "okay";
+ simple-audio-card,cpu {
+ sound-dai = <&i2s>;
+ };
+ dailink0_slave: simple-audio-card,codec {
+ sound-dai = <&adau7002_codec>;
+ };
+ };
+ };
+
+
+ __overrides__ {
+ card-name = <&sound_overlay>,"simple-audio-card,name";
+ };
+};