new file mode 100644
@@ -0,0 +1,20 @@
+* Qualcomm Technologies IPQ4019 ASoC audio subsystem driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC audio subsystem driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-audio-adss"
+- reg : should have the stereo register address, length
+- resets : references to the reset controllers
+- reset-names : should be "blk_rst"
+
+
+Example:
+audio: audio@7700000 {
+ compatible = "qca,ipq4019-audio-adss";
+ reg = <0x7700000 0x34>;
+ resets = <&gcc AUDIO_BLK_ARES>;
+ reset-names = "blk_rst";
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,13 @@
+* Qualcomm Technologies IPQ4019 ASoC machine driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC machine driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-audio"
+
+Example:
+
+sound: sound {
+ compatible = "qca,ipq4019-audio";
+};
new file mode 100644
@@ -0,0 +1,15 @@
+* Qualcomm Technologies IPQ4019 ASoC Codec driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC Codec driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-codec"
+- reg : should have the stereo i2c register address
+
+Example:
+qca_codec: qca_codec@12 {
+ compatible = "qca,ipq4019-codec";
+ reg = <0x12>;
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,33 @@
+* Qualcomm Technologies IPQ4019 ASoC PCM driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC I2S PCM driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-i2s"
+- dma-tx-channel : should have the mbox tx channel id
+- dma-rx-channel : should have the mbox rx channel id
+- stereo-tx-port : should have the stereo tx id
+- stereo-rx-port : should have the stereo rx id
+- clocks : should have the audio tx bit clock, tx master clock,
+ rx bit clock, rx master clock id
+- clock-names : should be "audio_tx_bclk", "audio_tx_mclk", "audio_rx_bclk",
+ "audio_rx_mclk"
+
+Example:
+i2s: ipq4019-pcm-i2s@0 {
+ compatible = "qca,ipq4019-i2s";
+ dma-tx-channel = <MBOX0_TX_ID>;
+ dma-rx-channel = <MBOX3_RX_ID>;
+ stereo-tx-port = <STEREO0_ID>;
+ stereo-rx-port = <STEREO3_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_RXB_CLK_SRC>,
+ <&adcc ADCC_RXM_CLK_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_rx_bclk",
+ "audio_rx_mclk";
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,29 @@
+* Qualcomm Technologies IPQ4019 ASoC I2S PCM driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC I2S PCM driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-i2s1"
+- dma-tx-channel : should have the mbox tx channel id
+- stereo-tx-port : should have the stereo tx id
+- clocks : should have the audio tx bit clock, tx master clock,
+ rx bit clock, rx master clock id
+- clock-names : should be "audio_tx_bclk", "audio_tx_mclk", "audio_rx_bclk",
+ "audio_rx_mclk"
+
+Example:
+i2s1: ipq4019-pcm-i2s1@0 {
+ compatible = "qca,ipq4019-i2s1";
+ dma-tx-channel = <MBOX1_TX_ID>;
+ stereo-tx-port = <STEREO1_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_RXB_CLK_SRC>,
+ <&adcc ADCC_RXM_CLK_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_rx_bclk",
+ "audio_rx_mclk";
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,29 @@
+* Qualcomm Technologies IPQ4019 ASoC I2S PCM driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC I2S PCM driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-i2s2"
+- dma-tx-channel : should have the mbox tx channel id
+- stereo-tx-port : should have the stereo tx id
+- clocks : should have the audio tx bit clock, tx master clock,
+ rx bit clock, rx master clock id
+- clock-names : should be "audio_tx_bclk", "audio_tx_mclk", "audio_rx_bclk",
+ "audio_rx_mclk"
+
+Example:
+i2s1: ipq4019-pcm-i2s2@0 {
+ compatible = "qca,ipq4019-i2s2";
+ dma-tx-channel = <MBOX2_TX_ID>;
+ stereo-tx-port = <STEREO2_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_RXB_CLK_SRC>,
+ <&adcc ADCC_RXM_CLK_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_rx_bclk",
+ "audio_rx_mclk";
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,23 @@
+* Qualcomm Technologies IPQ4019 ASoC MBOX driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC mbox driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-mbox"
+- dma-index : should have the mbox dma index
+- reg : should have the stereo register address, length
+- interrupts : should have the mbox interrupt no
+- tx-channel : should have the mbox tx id
+- rx-channel : should have the mbox rx id
+
+Example:
+mbox0: mbox@7708000 {
+ compatible = "qca,ipq4019-mbox";
+ dma-index = <0>;
+ reg = <0x7708000 0x1000>;
+ interrupts = <0 156 0>;
+ tx-channel = <MBOX0_TX_ID>;
+ rx-channel = <MBOX0_RX_ID>;
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,15 @@
+* Qualcomm Technologies IPQ4019 ASoC platform driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC platform driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-pcm-i2s"
+- reg : should have the stereo register address, length
+
+Example:
+i2splatform: qca-pcm-i2s@7709000 {
+ compatible = "qca,ipq4019-pcm-i2s";
+ reg = <0x7709000 0x1000>;
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,15 @@
+* Qualcomm Technologies IPQ4019 ASoC platform driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC platform driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-pcm-i2s1"
+- reg : should have the stereo register address, length
+
+Example:
+i2s1platform: qca-pcm-i2s1@770b000 {
+ compatible = "qca,ipq4019-pcm-i2s1";
+ reg = <0x770b000 0x1000>;
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,15 @@
+* Qualcomm Technologies IPQ4019 ASoC platform driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC platform driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-pcm-i2s2"
+- reg : should have the stereo register address, length
+
+Example:
+i2s2platform: qca-pcm-i2s1@770d000 {
+ compatible = "qca,ipq4019-pcm-i2s2";
+ reg = <0x770d000 0x1000>;
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,15 @@
+* Qualcomm Technologies IPQ4019 ASoC SPDIF platform driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC SPDIF platform driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-pcm-spdif"
+- reg : should have the stereo register address, length
+
+Example:
+tdmplatform: qca-pcm-spdif@7707000 {
+ compatible = "qca,ipq4019-pcm-spdif";
+ reg = <0x7709000 0x1000>;
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,15 @@
+* Qualcomm Technologies IPQ4019 ASoC TDM platform driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC TDM platform driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-pcm-tdm"
+- reg : should have the stereo register address, length
+
+Example:
+tdmplatform: qca-pcm-tdm@7709000 {
+ compatible = "qca,ipq4019-pcm-tdm";
+ reg = <0x7709000 0x1000>;
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,35 @@
+* Qualcomm Technologies IPQ4019 ASoC SPDIF driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC SPDIF driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-spdif"
+- dma-tx-channel : should have the mbox tx channel id
+- dma-rx-channel : should have the mbox rx channel id
+- stereo-tx-port : should have the stereo tx id
+- stereo-rx-port : should have the stereo tx id
+- clocks : should have the audio tx bit clock, tx master clock,
+ spdif clock, spdif divider clock, spdif in fast clock
+- clock-names : should be "audio_tx_bclk", "audio_tx_mclk", "audio_spdif_src",
+ "audio_spdif_div2", "audio_spdifinfast_src"
+
+Example:
+spdif: spdif@0 {
+ compatible = "qca,ipq4019-spdif";
+ dma-tx-channel = <MBOX0_TX_ID>;
+ dma-rx-channel = <MBOX3_RX_ID>;
+ stereo-tx-port = <STEREO0_ID>;
+ stereo-rx-port = <STEREO3_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_SPDIF_SRC>,
+ <&adcc ADCC_SPDIFDIV2_SRC>,
+ <&adcc ADCC_AUDIO_SPDIFINFAST_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_spdif_src",
+ "audio_spdif_div2",
+ "audio_spdifinfast_src";
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,17 @@
+* Qualcomm Technologies IPQ4019 ASoC stereo driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC stereo driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-stereo"
+- reg : should have the stereo register address, length
+- stereo-index : should have the stereo port index
+
+Example:
+stereo0: stereo@7709000 {
+ compatible = "qca,ipq4019-stereo";
+ reg = <0x7709000 0x1000>;
+ stereo-index = <STEREO0_ID>;
+ status = "disabled";
+};
new file mode 100644
@@ -0,0 +1,33 @@
+* Qualcomm Technologies IPQ4019 ASoC TDM driver
+
+This node models the Qualcomm Technologies IPQ4019 ASoC TDM driver
+
+Required properties:
+
+- compatible : "qca,ipq4019-tdm"
+- dma-tx-channel : should have the mbox tx channel id
+- dma-rx-channel : should have the mbox rx channel id
+- stereo-tx-port : should have the stereo tx id
+- stereo-rx-port : should have the stereo tx id
+- clocks : should have the audio tx bit clock, tx master clock,
+ rx bit clock, rx master clock id
+- clock-names : should be "audio_tx_bclk", "audio_tx_mclk", "audio_rx_bclk",
+ "audio_rx_mclk"
+
+Example:
+tdm: tdm@0 {
+ compatible = "qca,ipq4019-tdm";
+ dma-tx-channel = <MBOX0_TX_ID>;
+ dma-rx-channel = <MBOX3_RX_ID>;
+ stereo-tx-port = <STEREO0_ID>;
+ stereo-rx-port = <STEREO3_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_RXB_CLK_SRC>,
+ <&adcc ADCC_RXM_CLK_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_rx_bclk",
+ "audio_rx_mclk";
+ status = "disabled";
+};
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -20,26 +20,7 @@
model = "Qualcomm Technologies, Inc. IPQ4019/AP-DK01.1";
compatible = "qcom,ipq4019";
- clocks {
- xo: xo {
- compatible = "fixed-clock";
- clock-frequency = <48000000>;
- #clock-cells = <0>;
- };
- };
-
soc {
-
-
- timer {
- compatible = "arm,armv7-timer";
- interrupts = <1 2 0xf08>,
- <1 3 0xf08>,
- <1 4 0xf08>,
- <1 1 0xf08>;
- clock-frequency = <48000000>;
- };
-
pinctrl@0x01000000 {
serial_pins: serial_pinmux {
mux {
@@ -69,6 +50,81 @@
bias-disable;
output-high;
};
+
+ };
+
+ audio_pins: audio_pinmux {
+ mux_1 {
+ pins = "gpio25", "gpio53", "gpio60";
+ function = "i2s_tx_bclk";
+ bias-pull,up;
+ };
+
+ mux_2 {
+ pins = "gpio27", "gpio54", "gpio63";
+ function = "i2s_txd1";
+ bias-pull,up;
+ };
+
+ mux_3 {
+ pins = "gpio28", "gpio55";
+ function = "i2s_txd2";
+ bias-pull,up;
+ };
+
+ mux_4 {
+ pins = "gpio29", "gpio56";
+ function = "i2s_txd3";
+ bias-pull,up;
+ };
+
+ mux_5 {
+ pins = "gpio24", "gpio52";
+ function = "i2s_tx_mclk";
+ bias-pull,up;
+ };
+
+ mux_6 {
+ pins = "gpio26", "gpio57", "gpio61";
+ function = "i2s_tx_fsync";
+ bias-pull,up;
+ };
+
+ mux_7 {
+ pins = "gpio2", "gpio23", "gpio63";
+ function = "i2s_rxd";
+ bias-pull,up;
+ };
+
+ mux_8 {
+ pins = "gpio20", "gpio58";
+ function = "i2s_rx_mclk";
+ bias-pull,up;
+ };
+
+ mux_9 {
+ pins = "gpio0", "gpio21", "gpio60";
+ function = "i2s_rx_bclk";
+ bias-pull,up;
+ };
+
+ mux_10 {
+ pins = "gpio1", "gpio22", "gpio61";
+ function = "i2s_rx_fsync";
+ bias-pull,up;
+ };
+
+ mux_11 {
+ pins = "gpio34", "gpio59", "gpio63";
+ function = "i2s_spdif_in";
+ bias-pull,up;
+ };
+
+ mux_12 {
+ pins = "gpio35", "gpio62", "gpio63";
+ function = "i2s_spdif_out";
+ bias-pull,up;
+ };
};
};
@@ -108,5 +164,104 @@
watchdog@b017000 {
status = "ok";
};
+
+ adcc: clock-controller@7700038 {
+ status = "ok";
+ };
+
+ audio: audio@7700000 {
+ status = "ok";
+ };
+
+ mbox0: mbox@7708000 {
+ status = "ok";
+ };
+
+ mbox1: mbox@770a000 {
+ status = "ok";
+ };
+
+ mbox2: mbox@770c000 {
+ status = "ok";
+ };
+
+ mbox3: mbox@770e000 {
+ status = "ok";
+ };
+
+ mbox4: mbox@7706000 {
+ status = "ok";
+ };
+
+ stereo0: stereo@7709000 {
+ status = "ok";
+ };
+
+ stereo1: stereo@770b000 {
+ status = "ok";
+ };
+
+ stereo2: stereo@770d000 {
+ status = "ok";
+ };
+
+ stereo3: stereo@770f000 {
+ status = "ok";
+ };
+
+ /* Enable Audio Interfaces */
+ i2s: ipq4019-pcm-i2s@0 {
+ status = "ok";
+ };
+
+ i2splatform: qca-pcm-i2s@7709000 {
+ status = "ok";
+ };
+
+ i2s1platform: qca-pcm-i2s1@770b000 {
+ status = "ok";
+ };
+
+ i2s1: ipq4019-pcm-i2s1@0 {
+ status = "ok";
+ };
+
+ i2s2platform: qca-pcm-i2s2@770d000 {
+ status = "ok";
+ };
+
+ i2s2: ipq4019-pcm-i2s2@0 {
+ status = "ok";
+ };
+
+ tdmplatform: qca-pcm-tdm@7709000 {
+ status = "ok";
+ };
+
+ tdm: tdm@0 {
+ status = "ok";
+ };
+
+ spdifplatform: qca-pcm-spdif@7707000 {
+ status = "ok";
+ };
+
+ spdif: spdif@0 {
+ status = "ok";
+ };
+
+ sound: sound@0 {
+ pinctrl-0 = <&audio_pins>;
+ pinctrl-names = "default";
+ status = "ok";
+ };
+
+ i2c_0: i2c@78b7000 { /* BLSP1 QUP2 */
+ status = "ok";
+
+ qca_codec: qca_codec@12 {
+ status = "ok";
+ };
+ };
};
};
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -15,6 +15,8 @@
#include "skeleton.dtsi"
#include <dt-bindings/clock/qcom,gcc-ipq4019.h>
+#include <dt-bindings/clock/qca,adcc-ipq4019.h>
+#include <dt-bindings/sound/ipq4019-audio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
@@ -90,6 +92,21 @@
clock-frequency = <32768>;
#clock-cells = <0>;
};
+
+ xo: xo {
+ compatible = "fixed-clock";
+ clock-frequency = <48000000>;
+ #clock-cells = <0>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv7-timer";
+ interrupts = <1 2 0xf08>,
+ <1 3 0xf08>,
+ <1 4 0xf08>,
+ <1 1 0xf08>;
+ clock-frequency = <48000000>;
};
soc {
@@ -156,8 +173,13 @@
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
- };
+ qca_codec: qca_codec@12 {
+ compatible = "qca,ipq4019-codec";
+ reg = <0x12>;
+ status = "disabled";
+ };
+ };
cryptobam: dma@8e04000 {
compatible = "qcom,bam-v1.7.0";
@@ -263,5 +285,226 @@
compatible = "qcom,pshold";
reg = <0x4ab000 0x4>;
};
+
+ adcc: clock-controller@7700038 {
+ compatible = "qcom,adcc-ipq4019";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ reg = <0x7700038 0x1DC>;
+ status = "disabled";
+ };
+
+ audio: audio@7700000 {
+ compatible = "qca,ipq4019-audio-adss";
+ reg = <0x7700000 0x34>,
+ <0x7707000 0x20>;
+ resets = <&gcc AUDIO_BLK_ARES>;
+ reset-names = "blk_rst";
+ status = "disabled";
+ };
+
+ pcm: pcm@7704000 {
+ compatible = "qca,ipq4019-pcm";
+ reg = <0x7704000 0x2000>;
+ dma-tx-channel = <MBOX3_TX_ID>;
+ dma-rx-channel = <MBOX0_RX_ID>;
+ stereo-tx-port = <STEREO3_ID>;
+ stereo-rx-port = <STEREO0_ID>;
+ clocks = <&adcc ADCC_PCM_CLK_SRC>;
+ clock-names = "audio_pcm_clk";
+ status = "disabled";
+ };
+
+ mbox0: mbox@7708000 {
+ dma-index = <0>;
+ compatible = "qca,ipq4019-mbox";
+ reg = <0x7708000 0x1000>;
+ interrupts = <0 156 0>;
+ tx-channel = <MBOX0_TX_ID>;
+ rx-channel = <MBOX0_RX_ID>;
+ status = "disabled";
+ };
+
+ mbox1: mbox@770a000 {
+ dma-index = <1>;
+ compatible = "qca,ipq4019-mbox";
+ reg = <0x770A000 0x1000>;
+ interrupts = <0 157 0>;
+ tx-channel = <MBOX1_TX_ID>;
+ status = "disabled";
+ };
+
+ mbox2: mbox@770c000 {
+ dma-index = <2>;
+ compatible = "qca,ipq4019-mbox";
+ reg = <0x770C000 0x1000>;
+ interrupts = <0 158 0>;
+ tx-channel = <MBOX2_TX_ID>;
+ status = "disabled";
+ };
+
+ mbox3: mbox@770e000 {
+ dma-index = <3>;
+ compatible = "qca,ipq4019-mbox";
+ reg = <0x770E000 0x1000>;
+ interrupts = <0 159 0>;
+ tx-channel = <MBOX3_TX_ID>;
+ rx-channel = <MBOX3_RX_ID>;
+ status = "disabled";
+ };
+
+ mbox4: mbox@7706000 {
+ dma-index = <4>;
+ compatible = "qca,ipq4019-mbox";
+ reg = <0x7706000 0x1000>;
+ interrupts = <0 163 0>;
+ rx-channel = <MBOX_SPDIF_RX_ID>;
+ status = "disabled";
+ };
+
+ stereo0: stereo@7709000 {
+ stereo-index = <STEREO0_ID>;
+ compatible = "qca,ipq4019-stereo";
+ reg = <0x7709000 0x1000>;
+ status = "disabled";
+ };
+
+ stereo1: stereo@770b000 {
+ stereo-index = <STEREO1_ID>;
+ compatible = "qca,ipq4019-stereo";
+ reg = <0x770B000 0x1000>;
+ status = "disabled";
+ };
+
+ stereo2: stereo@770d000 {
+ stereo-index = <STEREO2_ID>;
+ compatible = "qca,ipq4019-stereo";
+ reg = <0x770D000 0x1000>;
+ status = "disabled";
+ };
+
+ stereo3: stereo@770f000 {
+ stereo-index = <STEREO3_ID>;
+ compatible = "qca,ipq4019-stereo";
+ reg = <0x770F000 0x1000>;
+ status = "disabled";
+ };
+
+ i2splatform: qca-pcm-i2s@7709000 {
+ compatible = "qca,ipq4019-pcm-i2s";
+ reg = <0x7709000 0x1000>;
+ status = "disabled";
+ };
+
+ i2s: ipq4019-pcm-i2s@0 {
+ compatible = "qca,ipq4019-i2s";
+ dma-tx-channel = <MBOX0_TX_ID>;
+ stereo-tx-port = <STEREO0_ID>;
+ dma-rx-channel = <MBOX3_RX_ID>;
+ stereo-rx-port = <STEREO3_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_RXB_CLK_SRC>,
+ <&adcc ADCC_RXM_CLK_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_rx_bclk",
+ "audio_rx_mclk";
+ status = "disabled";
+ };
+
+ i2s1platform: qca-pcm-i2s1@770b000 {
+ compatible = "qca,ipq4019-pcm-i2s1";
+ reg = <0x770b000 0x1000>;
+ status = "disabled";
+ };
+
+ i2s1: ipq4019-pcm-i2s1@0 {
+ compatible = "qca,ipq4019-i2s1";
+ dma-tx-channel = <MBOX1_TX_ID>;
+ stereo-tx-port = <STEREO1_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_RXB_CLK_SRC>,
+ <&adcc ADCC_RXM_CLK_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_rx_bclk",
+ "audio_rx_mclk";
+ status = "disabled";
+ };
+
+ i2s2platform: qca-pcm-i2s2@770d000 {
+ compatible = "qca,ipq4019-pcm-i2s2";
+ reg = <0x770d000 0x1000>;
+ status = "disabled";
+ };
+
+ i2s2: ipq4019-pcm-i2s2@0 {
+ compatible = "qca,ipq4019-i2s2";
+ dma-tx-channel = <MBOX2_TX_ID>;
+ stereo-tx-port = <STEREO2_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_RXB_CLK_SRC>,
+ <&adcc ADCC_RXM_CLK_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_rx_bclk",
+ "audio_rx_mclk";
+ status = "disabled";
+ };
+
+ tdmplatform: qca-pcm-tdm@7709000 {
+ compatible = "qca,ipq4019-pcm-tdm";
+ reg = <0x7709000 0x1000>;
+ status = "disabled";
+ };
+
+ tdm: tdm@0 {
+ compatible = "qca,ipq4019-tdm";
+ dma-tx-channel = <MBOX0_TX_ID>;
+ dma-rx-channel = <MBOX3_RX_ID>;
+ stereo-tx-port = <STEREO0_ID>;
+ stereo-rx-port = <STEREO3_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_RXB_CLK_SRC>,
+ <&adcc ADCC_RXM_CLK_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_rx_bclk",
+ "audio_rx_mclk";
+ status = "disabled";
+ };
+
+ spdifplatform: qca-pcm-spdif@7707000 {
+ compatible = "qca,ipq4019-pcm-spdif";
+ reg = <0x7707000 0x1000>;
+ status = "disabled";
+ };
+
+ spdif: spdif@0 {
+ compatible = "qca,ipq4019-spdif";
+ dma-tx-channel = <MBOX0_TX_ID>;
+ dma-rx-channel = <MBOX_SPDIF_RX_ID>;
+ stereo-tx-port = <STEREO0_ID>;
+ clocks = <&adcc ADCC_TXB_CLK_SRC>,
+ <&adcc ADCC_TXM_CLK_SRC>,
+ <&adcc ADCC_SPDIF_SRC>,
+ <&adcc ADCC_SPDIFDIV2_SRC >,
+ <&adcc ADCC_AUDIO_SPDIFINFAST_SRC>;
+ clock-names = "audio_tx_bclk",
+ "audio_tx_mclk",
+ "audio_spdif_src",
+ "audio_spdif_div2",
+ "audio_spdifinfast_src";
+ status = "disabled";
+ };
+
+ sound: sound@0 {
+ compatible = "qca,ipq4019-audio";
+ status = "disabled";
+ };
};
};