]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
arm: tegra: audio: add dt support for audience fw
authorSrinivas Anne <sanne@nvidia.com>
Tue, 22 Sep 2015 00:11:40 +0000 (17:11 -0700)
committermobile promotions <svcmobile_promotions@nvidia.com>
Wed, 30 Sep 2015 23:52:43 +0000 (16:52 -0700)
Hawkeye and Loki use different mic tuning parameters and these params
are part of Audience firmware binary.

Updated Audience device tree node to store firmware binary name.
Driver will read FW binary info from DT and load appropriate firmware.

bug 1689236

Change-Id: I9baf8b081ad5c9e8922018a4a9fc6e731c54f61a
Signed-off-by: Srinivas Anne <sanne@nvidia.com>
Reviewed-on: http://git-master/r/803893
(cherry picked from commit 262aea320f4766d2ec6f63f209f3ee419b549ad5)
Reviewed-on: http://git-master/r/807100
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com>
arch/arm64/boot/dts/tegra210-loki-e-p2530-common.dtsi
arch/arm64/configs/tegra21_android_defconfig
arch/arm64/configs/tegra21_defconfig
arch/arm64/configs/tegra_t210ref_gnu_linux_defconfig
firmware/audience/es755/audience-es755-fw_loki.bin [new file with mode: 0644]
firmware/audience/es755/audience-es755-vs.bin [changed mode: 0755->0644]
firmware/audience/es755/audience-es755-vs_loki.bin [new file with mode: 0644]
sound/soc/codecs/audience/es755.c

index 48d9785ac7592ec375372bafb02b8e9d6361c159..3e5663b226e27acfd13b7a29447b8bef56ca9783 100644 (file)
                        /* Button Control 4 */
                        adnc,valid_levels = <31>;
                        adnc,impd_det_timer = <0>;
+
+                       /* FW name */
+                       adnc,fw_filename = "audience/es755/audience-es755-fw_loki.bin";
+                       adnc,vs_filename = "audience/es755/audience-es755-vs_loki.bin";
                };
        };
 
index 9cfcbfbe8f676241c25fadc2f88c94fe85e921ae..0a69a2f68aefaa62a03352192305c7add5264201 100644 (file)
@@ -191,7 +191,7 @@ CONFIG_CFG80211=y
 CONFIG_NL80211_TESTMODE=y
 CONFIG_RFKILL=y
 # CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE="audience/es755/audience-es755-fw.bin audience/es755/audience-es755-vs.bin audience/cvqmodels/adnc_cvq_detection_bkg_w_hdrs.bin"
+CONFIG_EXTRA_FIRMWARE="audience/es755/audience-es755-fw.bin audience/es755/audience-es755-fw_loki.bin audience/es755/audience-es755-vs.bin audience/es755/audience-es755-vs_loki.bin audience/cvqmodels/adnc_cvq_detection_bkg_w_hdrs.bin"
 CONFIG_PLATFORM_ENABLE_IOMMU=y
 CONFIG_CONNECTOR=y
 CONFIG_PROC_DEVICETREE=y
index ce961ce78a4c12b462e53432a2947f5c0dcffd38..5c92526760bf89b683287849f77fb15f03798f3c 100644 (file)
@@ -200,7 +200,7 @@ CONFIG_RFKILL=y
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
 # CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE="audience/es755/audience-es755-fw.bin audience/es755/audience-es755-vs.bin audience/cvqmodels/adnc_cvq_detection_bkg_w_hdrs.bin"
+CONFIG_EXTRA_FIRMWARE="audience/es755/audience-es755-fw.bin audience/es755/audience-es755-fw_loki.bin audience/es755/audience-es755-vs.bin audience/es755/audience-es755-vs_loki.bin audience/cvqmodels/adnc_cvq_detection_bkg_w_hdrs.bin"
 CONFIG_PLATFORM_ENABLE_IOMMU=y
 CONFIG_PROC_DEVICETREE=y
 CONFIG_ZRAM=y
index a3ccf88bc99d33424dd6fd6c3ab517070769a409..5548c63bad380f0f00ae3be47a37f7d829c8eee8 100644 (file)
@@ -182,7 +182,7 @@ CONFIG_RFKILL=y
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
 # CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE="audience/es755/audience-es755-fw.bin audience/es755/audience-es755-vs.bin audience/cvqmodels/adnc_cvq_detection_bkg_w_hdrs.bin"
+CONFIG_EXTRA_FIRMWARE="audience/es755/audience-es755-fw.bin audience/es755/audience-es755-fw_loki.bin audience/es755/audience-es755-vs.bin audience/es755/audience-es755-vs_loki.bin audience/cvqmodels/adnc_cvq_detection_bkg_w_hdrs.bin"
 CONFIG_PLATFORM_ENABLE_IOMMU=y
 CONFIG_MTD=y
 CONFIG_MTD_BLOCK=y
diff --git a/firmware/audience/es755/audience-es755-fw_loki.bin b/firmware/audience/es755/audience-es755-fw_loki.bin
new file mode 100644 (file)
index 0000000..d2af79f
Binary files /dev/null and b/firmware/audience/es755/audience-es755-fw_loki.bin differ
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/firmware/audience/es755/audience-es755-vs_loki.bin b/firmware/audience/es755/audience-es755-vs_loki.bin
new file mode 100644 (file)
index 0000000..671d1bb
Binary files /dev/null and b/firmware/audience/es755/audience-es755-vs_loki.bin differ
index 04770a6bccae2457e48898804197fc8de97b1aa7..b194acc4a800a6fd3483e28a03b7ace41991b97e 100755 (executable)
@@ -2638,6 +2638,19 @@ int es755_core_probe(struct device *dev)
                dev_info(dev, "Platform data from device tree\n");
                pdata = es755_populate_dt_pdata(dev);
                dev->platform_data = pdata;
+
+               if (of_property_read_string(dev->of_node, "adnc,fw_filename",
+                                       (const char **)&fw_filename)) {
+                       dev_err(escore_priv.dev,
+                                       "Property adnc,fw_filename missing or invalid, using default\n");
+               }
+
+               if (of_property_read_string(dev->of_node, "adnc,vs_filename",
+                                       (const char **)&vs_filename)) {
+                       dev_err(escore_priv.dev,
+                                       "Property adnc,vs_filename missing or invalid, using default\n");
+               }
+
        } else {
                dev_info(dev, "Platform data from board file\n");
                pdata = dev->platform_data;