diff --git a/overlay/jetson-respeaker-4-mic-array.dtsi b/overlay/jetson-respeaker-4-mic-array.dtsi new file mode 100644 index 0000000..3c285b3 --- /dev/null +++ b/overlay/jetson-respeaker-4-mic-array.dtsi @@ -0,0 +1,95 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Jetson Device-tree overlay for ReSpeaker 4 Mic Array. + * + * Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. + * + */ + +#include + +/ { + overlay-name = "ReSpeaker 4 Mic Array"; + compatible = JETSON_COMPATIBLE; + + fragment@0 { + target = <&hdr40_i2c1>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + ac108_a: ac108@3b{ + compatible = "x-power,ac108_0"; + reg = <0x3b>; + #sound-dai-cells = <0>; + data-protocol = <0>; + status = "okay"; + }; + }; + }; + + fragment@1 { + target = <&tegra_sound>; + __overlay__ { + nvidia-audio-card,widgets = + "Microphone", "H40-AC Mic"; + nvidia-audio-card,routing = + "H40-AC MIC1N", "H40-AC Mic", + "H40-AC MIC1P", "H40-AC Mic", + "H40-AC MIC2N", "H40-AC Mic", + "H40-AC MIC2P", "H40-AC Mic", + "H40-AC MIC3N", "H40-AC Mic", + "H40-AC MIC3P", "H40-AC Mic", + "H40-AC MIC4N", "H40-AC Mic", + "H40-AC MIC4P", "H40-AC Mic", + "H40-AC Capture", "H40-AC Mic"; + }; + }; + + fragment@2 { + target = <&hdr40_snd_link_i2s>; + __overlay__ { + link-name = "respeaker-4-mic-array"; + format = "dsp_a"; + bitclock-master; + frame-master; + codec { + sound-dai = <&ac108_a>; + prefix = "H40-AC"; + }; + }; + }; + + fragment@3 { + target = <&pinmux>; + __overlay__ { + pinctrl-names = "default"; + pinctrl-0 = <&hdr40_pinmux>; + + hdr40_pinmux: header-40pin-pinmux { + pin12 { + nvidia,pins = HDR40_PIN12; + nvidia,function = HDR40_I2S; + nvidia,pull = ; + nvidia,tristate = ; + nvidia,enable-input = ; + }; + + pin35 { + nvidia,pins = HDR40_PIN35; + nvidia,function = HDR40_I2S; + nvidia,pull = ; + nvidia,tristate = ; + nvidia,enable-input = ; + }; + + pin38 { + nvidia,pins = HDR40_PIN38; + nvidia,function = HDR40_I2S; + nvidia,pull = ; + nvidia,tristate = ; + nvidia,enable-input = ; + }; + }; + }; + }; +};