This patch adds the PCM playback and capture device nodes as children of the abox_generic audio controller for ExynosAuto v920. Each PCM device is defined with a unique ID and an associated IRQ SW number used for communication with the ADSP. These nodes include information such as buffer size, ALSA DAI name prefix, and category type(e.g., deep_buffer). The nodes are initially marked as "disabled" and can be enabled per board (e.g., in the SADK .dts) as needed. Signed-off-by: ew kim <ew.kim@xxxxxxxxxxx> --- .../boot/dts/exynos/exynosautov920-sadk.dts | 8 +++++ .../arm64/boot/dts/exynos/exynosautov920.dtsi | 32 +++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts b/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts index 2f4cf112675a..f9f717fa95d4 100644 --- a/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts +++ b/arch/arm64/boot/dts/exynos/exynosautov920-sadk.dts @@ -94,3 +94,11 @@ &abox_generic { &abox_ipc_generic { status = "okay"; }; + +&abox_pcm_playback_0 { + status = "okay"; +}; + +&abox_pcm_capture_0 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/exynos/exynosautov920.dtsi b/arch/arm64/boot/dts/exynos/exynosautov920.dtsi index 21bcbcf7e2b6..094fdec2e6f5 100644 --- a/arch/arm64/boot/dts/exynos/exynosautov920.dtsi +++ b/arch/arm64/boot/dts/exynos/exynosautov920.dtsi @@ -1133,14 +1133,42 @@ abox_generic: abox_generic { samsung,num-pcm-capture = <32>; samsung,num-i2s-dummy-backend = <5>; status = "disabled"; - /* #address-cells = <2>; */ - /* #size-cells = <1>; */ + #address-cells = <1>; + #size-cells = <1>; abox_ipc_generic: abox_ipc_generic { compatible = "samsung,abox_ipc_generic"; samsung,num-irq = <64>; status = "disabled"; }; + + abox_pcm_playback_0: abox_pcm_playback@3fd0000 { + compatible = "samsung,abox-pcm-playback"; + samsung,id = <0>; + samsung,irq_id = <0>; + samsung,allocate-adsp = <0>; + reg = <0x3fd0000 0x10>; + reg-names = "pp_pointer_offset"; + #sound-dai-cells = <0>; + sound-name-prefix = "ABOX"; + samsung,category = "deep_buffer"; + samsung,buffer_bytes_max = <0x24000>; + status = "disabled"; + }; + + abox_pcm_capture_0: abox_pcm_capture@3fd0400 { + compatible = "samsung,abox-pcm-capture"; + samsung,id = <0>; + samsung,irq_id = <32>; + samsung,allocate-adsp = <0>; + reg = <0x3fd0400 0x10>; + reg-names = "pp_pointer_offset"; + #sound-dai-cells = <0>; + sound-name-prefix = "ABOX"; + samsung,category = "deep_buffer"; + samsung,buffer_bytes_max = <0x24000>; + status = "disabled"; + }; }; }; -- 2.25.1