// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2019-2023, NVIDIA CORPORATION. All rights reserved. * * Jetson Device-tree overlay for FE-PI Audio V1 and Z V2. */ #include / { overlay-name = "FE-PI Audio V1 and Z V2"; jetson-header-name = "Jetson 40pin Header"; compatible = JETSON_COMPATIBLE; fragment@0 { target-path = "/"; __overlay__ { clocks { sgtl5000_mclk: sgtl5000_mclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <12288000>; clock-output-names = "sgtl5000-mclk"; status = "okay"; }; }; }; }; fragment@1 { target = <&hdr40_i2c1>; __overlay__ { #address-cells = <1>; #size-cells = <0>; sgtl5000: sgtl5000@0a { compatible = "fsl,sgtl5000"; reg = <0x0a>; clocks = <&sgtl5000_mclk>; micbias-resistor-k-ohms = <2>; micbias-voltage-m-volts = <3000>; VDDA-supply = <&hdr40_vdd_3v3>; VDDIO-supply = <&hdr40_vdd_3v3>; #sound-dai-cells = <0>; status = "okay"; sound-name-prefix = "H40-SGTL"; port { sgtl5000_ep: endpoint { remote-endpoint = <&hdr40_snd_i2s_dap_ep>; link-name = "fe-pi-audio-z-v2"; }; }; }; }; }; fragment@2 { target = <&tegra_sound>; __overlay__ { nvidia-audio-card,widgets = "Headphone", "H40-SGTL Headphone", "Microphone", "H40-SGTL Mic", "Line", "H40-SGTL Line In", "Line", "H40-SGTL Line Out"; nvidia-audio-card,routing = "H40-SGTL Headphone", "H40-SGTL HP_OUT", "H40-SGTL MIC_IN", "H40-SGTL Mic", "H40-SGTL ADC", "H40-SGTL Mic Bias", "H40-SGTL LINE_IN", "H40-SGTL Line In", "H40-SGTL Line Out", "H40-SGTL LINE_OUT"; }; }; fragment@3 { target = <&hdr40_snd_link_i2s>; __overlay__ { link-name = "fe-pi-audio-z-v2"; bitclock-master; frame-master; codec { sound-dai = <&sgtl5000>; prefix = "H40-SGTL"; }; }; }; fragment@4 { 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 = ; }; hdr40-pin40 { nvidia,pins = HDR40_PIN40; nvidia,function = HDR40_I2S; nvidia,pull = ; nvidia,tristate = ; nvidia,enable-input = ; }; }; }; }; fragment@5 { target = <&tegra_sound_graph>; __overlay__ { widgets = "Headphone", "H40-SGTL Headphone", "Microphone", "H40-SGTL Mic", "Line", "H40-SGTL Line In", "Line", "H40-SGTL Line Out"; routing = "H40-SGTL Headphone", "H40-SGTL HP_OUT", "H40-SGTL MIC_IN", "H40-SGTL Mic", "H40-SGTL ADC", "H40-SGTL Mic Bias", "H40-SGTL LINE_IN", "H40-SGTL Line In", "H40-SGTL Line Out", "H40-SGTL LINE_OUT"; }; }; fragment@6 { target = <&hdr40_snd_i2s_dap_ep>; __overlay__ { bitclock-master; frame-master; remote-endpoint = <&sgtl5000_ep>; }; }; };