| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * sc7280 device tree source for boards using Max98360 and wcd9385 codec |
| * |
| * Copyright (c) 2022, The Linux Foundation. All rights reserved. |
| */ |
| |
| / { |
| /* BOARD-SPECIFIC TOP LEVEL NODES */ |
| sound: sound { |
| compatible = "google,sc7280-herobrine"; |
| model = "sc7280-wcd938x-max98360a-1mic"; |
| |
| audio-routing = |
| "IN1_HPHL", "HPHL_OUT", |
| "IN2_HPHR", "HPHR_OUT", |
| "AMIC1", "MIC BIAS1", |
| "AMIC2", "MIC BIAS2", |
| "VA DMIC0", "MIC BIAS1", |
| "VA DMIC1", "MIC BIAS1", |
| "VA DMIC2", "MIC BIAS3", |
| "VA DMIC3", "MIC BIAS3", |
| "TX SWR_ADC0", "ADC1_OUTPUT", |
| "TX SWR_ADC1", "ADC2_OUTPUT", |
| "TX SWR_ADC2", "ADC3_OUTPUT", |
| "TX SWR_DMIC0", "DMIC1_OUTPUT", |
| "TX SWR_DMIC1", "DMIC2_OUTPUT", |
| "TX SWR_DMIC2", "DMIC3_OUTPUT", |
| "TX SWR_DMIC3", "DMIC4_OUTPUT", |
| "TX SWR_DMIC4", "DMIC5_OUTPUT", |
| "TX SWR_DMIC5", "DMIC6_OUTPUT", |
| "TX SWR_DMIC6", "DMIC7_OUTPUT", |
| "TX SWR_DMIC7", "DMIC8_OUTPUT"; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| dai-link@0 { |
| link-name = "MAX98360A"; |
| reg = <0>; |
| |
| cpu { |
| sound-dai = <&lpass_cpu MI2S_SECONDARY>; |
| }; |
| |
| codec { |
| sound-dai = <&max98360a>; |
| }; |
| }; |
| |
| dai-link@1 { |
| link-name = "DisplayPort"; |
| reg = <1>; |
| |
| cpu { |
| sound-dai = <&lpass_cpu LPASS_DP_RX>; |
| }; |
| |
| codec { |
| sound-dai = <&mdss_dp>; |
| }; |
| }; |
| |
| dai-link@2 { |
| link-name = "WCD9385 Playback"; |
| reg = <2>; |
| |
| cpu { |
| sound-dai = <&lpass_cpu LPASS_CDC_DMA_RX0>; |
| }; |
| |
| codec { |
| sound-dai = <&wcd9385 0>, <&swr0 0>, <&lpass_rx_macro 0>; |
| }; |
| }; |
| |
| dai-link@3 { |
| link-name = "WCD9385 Capture"; |
| reg = <3>; |
| |
| cpu { |
| sound-dai = <&lpass_cpu LPASS_CDC_DMA_TX3>; |
| }; |
| |
| codec { |
| sound-dai = <&wcd9385 1>, <&swr1 0>, <&lpass_tx_macro 0>; |
| }; |
| }; |
| |
| dai-link@4 { |
| link-name = "DMIC"; |
| reg = <4>; |
| |
| cpu { |
| sound-dai = <&lpass_cpu LPASS_CDC_DMA_VA_TX0>; |
| }; |
| |
| codec { |
| sound-dai = <&lpass_va_macro 0>; |
| }; |
| }; |
| }; |
| }; |
| |
| /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ |
| |
| &lpass_cpu { |
| status = "okay"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&mi2s1_data0>, <&mi2s1_sclk>, <&mi2s1_ws>; |
| |
| dai-link@1 { |
| reg = <MI2S_SECONDARY>; |
| qcom,playback-sd-lines = <0>; |
| }; |
| |
| dai-link@5 { |
| reg = <LPASS_DP_RX>; |
| }; |
| |
| dai-link@6 { |
| reg = <LPASS_CDC_DMA_RX0>; |
| }; |
| |
| dai-link@19 { |
| reg = <LPASS_CDC_DMA_TX3>; |
| }; |
| |
| dai-link@25 { |
| reg = <LPASS_CDC_DMA_VA_TX0>; |
| }; |
| }; |
| |
| &lpass_rx_macro { |
| status = "okay"; |
| }; |
| |
| &lpass_tx_macro { |
| status = "okay"; |
| }; |
| |
| &lpass_va_macro { |
| status = "okay"; |
| }; |
| |
| &swr0 { |
| status = "okay"; |
| }; |
| |
| &swr1 { |
| status = "okay"; |
| }; |
| |
| &wcd9385 { |
| status = "okay"; |
| }; |
| |
| /* PINCTRL */ |
| |
| &lpass_dmic01_clk { |
| drive-strength = <8>; |
| bias-disable; |
| }; |
| |
| &lpass_dmic01_data { |
| bias-pull-down; |
| }; |
| |
| &lpass_dmic23_clk { |
| drive-strength = <8>; |
| bias-disable; |
| }; |
| |
| &lpass_dmic23_data { |
| bias-pull-down; |
| }; |
| |
| &lpass_rx_swr_clk { |
| drive-strength = <2>; |
| slew-rate = <1>; |
| bias-disable; |
| }; |
| |
| &lpass_rx_swr_data { |
| drive-strength = <2>; |
| slew-rate = <1>; |
| bias-bus-hold; |
| }; |
| |
| &lpass_tx_swr_clk { |
| drive-strength = <2>; |
| slew-rate = <1>; |
| bias-disable; |
| }; |
| |
| &lpass_tx_swr_data { |
| drive-strength = <2>; |
| slew-rate = <1>; |
| bias-bus-hold; |
| }; |
| |
| &mi2s1_data0 { |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| |
| &mi2s1_sclk { |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| |
| &mi2s1_ws { |
| drive-strength = <6>; |
| }; |