I need a direction as to how to create the driver (as well as DTS/DTB) for audio recording/encoding via DMIC.
Currently, we went only as far in getting a log from dmesg saying that
[ 5.139855] tegra210_dmic_platform_probe: platform probe started
[ 5.140208] tegra210-dmic tegra210-dmic.3: Missing dap-active state
[ 5.140209] Missing dap-active state
[ 5.140210] tegra210_dmic_platform_probe: return err_dap
It would be really helpful if someone could offer the guidance and share the insight.
Regarding the device tree, we found that in
t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-common.dtsi, DMIC pins have mapped to DMIC3
A0_DMIC_IN_CLK = CAN_GPIO1 = can_gpio_paa1 (input to camera carrier module)
A0_DMIC_IN_DAT = CAN_GPIO0 = can_gpio_paa0 (output from camera carrier module)
/* Dynamic pinmux config for DMIC3 */I/* Dynamic pinmux config for DMIC3 */
dmic3_dap_active_state: dmic3_dap_active {
dmic_can_gpio0_paa0 {
nvidia,pins = "can_gpio0_paa0";
nvidia,function = "dmic3";
};
dmic_can_gpio1_paa1 {
nvidia,pins = "can_gpio1_paa1";
nvidia,function = "dmic3";
};
};
dmic3_dap_inactive_state: dmic3_dap_inactive {
dmic_can_gpio0_paa0 {
nvidia,pins = "can_gpio0_paa0";
nvidia,function = "dmic5";
};
dmic_can_gpio1_paa1 {
nvidia,pins = "can_gpio1_paa1";
nvidia,function = "dmic5";
};
};
From there, apparently I need to enable DMIC3 and get the data from DMIC3 to ALSA. Please help, especially the reference to the driver and the methods.
Thanks in advance.