// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2021-2023, NVIDIA CORPORATION. All rights reserved. * * Jetson Device-tree overlay for ReSpeaker 4 Mic Linear Array. * */ #include / { overlay-name = "ReSpeaker 4 Mic Linear Array"; jetson-header-name = "Jetson 40pin Header"; compatible = JETSON_COMPATIBLE; fragment@0 { target = <&hdr40_i2c1>; __overlay__ { #address-cells = <1>; #size-cells = <0>; ac108_a: ac108@35{ compatible = "x-power,ac108_0"; reg = <0x35>; #sound-dai-cells = <0>; data-protocol = <0>; status = "okay"; sound-name-prefix = "H40-AC"; port { ac108_ep: endpoint { remote-endpoint = <&hdr40_snd_i2s_dap_ep>; link-name = "respeaker-4-mic-array"; }; }; }; }; }; 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"; fsync-width = <0>; bitclock-master; frame-master; codec { sound-dai = <&ac108_a>; prefix = "H40-AC"; }; }; }; fragment@3 { target = <&pinmux>; __overlay__ { pinctrl-names = "default"; pinctrl-0 = <&jetson_io_pinmux>; jetson_io_pinmux: exp-header-pinmux { hdr40-pin12 { nvidia,pins = HDR40_PIN12; nvidia,function = HDR40_I2S; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; }; hdr40-pin35 { nvidia,pins = HDR40_PIN35; nvidia,function = HDR40_I2S; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; }; hdr40-pin38 { nvidia,pins = HDR40_PIN38; nvidia,function = HDR40_I2S; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; }; }; }; }; fragment@4 { target = <&tegra_sound_graph>; __overlay__ { widgets = "Microphone", "H40-AC Mic"; 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@5 { target = <&hdr40_snd_i2s_dap_ep>; __overlay__ { dai-format = "dsp_a"; bitclock-master; frame-master; remote-endpoint = <&ac108_ep>; }; }; };