mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-05 20:30:41 +00:00
arm64: tegra: Add audio devices on Tegra234
Add following devices which are part of APE subsystem * ACONNECT, AGIC and ADMA * AHUB and children (ADMAIF, I2S, DMIC, DSPK, MVC, SFC, AMX, ADX and Mixer) Signed-off-by: Sameer Pujar <spujar@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
cd0c2edf20
commit
dc94a94daa
@ -5,6 +5,7 @@
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/mailbox/tegra186-hsp.h>
|
||||
#include <dt-bindings/memory/tegra234-mc.h>
|
||||
#include <dt-bindings/power/tegra234-powergate.h>
|
||||
#include <dt-bindings/reset/tegra234-reset.h>
|
||||
|
||||
/ {
|
||||
@ -20,6 +21,424 @@ bus@0 {
|
||||
|
||||
ranges = <0x0 0x0 0x0 0x40000000>;
|
||||
|
||||
aconnect@2900000 {
|
||||
compatible = "nvidia,tegra234-aconnect",
|
||||
"nvidia,tegra210-aconnect";
|
||||
clocks = <&bpmp TEGRA234_CLK_APE>,
|
||||
<&bpmp TEGRA234_CLK_APB2APE>;
|
||||
clock-names = "ape", "apb2ape";
|
||||
power-domains = <&bpmp TEGRA234_POWER_DOMAIN_AUD>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x02900000 0x02900000 0x200000>;
|
||||
status = "disabled";
|
||||
|
||||
tegra_ahub: ahub@2900800 {
|
||||
compatible = "nvidia,tegra234-ahub";
|
||||
reg = <0x02900800 0x800>;
|
||||
clocks = <&bpmp TEGRA234_CLK_AHUB>;
|
||||
clock-names = "ahub";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_AHUB>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x02900800 0x02900800 0x11800>;
|
||||
status = "disabled";
|
||||
|
||||
tegra_i2s1: i2s@2901000 {
|
||||
compatible = "nvidia,tegra234-i2s",
|
||||
"nvidia,tegra210-i2s";
|
||||
reg = <0x2901000 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_I2S1>,
|
||||
<&bpmp TEGRA234_CLK_I2S1_SYNC_INPUT>;
|
||||
clock-names = "i2s", "sync_input";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_I2S1>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <1536000>;
|
||||
sound-name-prefix = "I2S1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_i2s2: i2s@2901100 {
|
||||
compatible = "nvidia,tegra234-i2s",
|
||||
"nvidia,tegra210-i2s";
|
||||
reg = <0x2901100 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_I2S2>,
|
||||
<&bpmp TEGRA234_CLK_I2S2_SYNC_INPUT>;
|
||||
clock-names = "i2s", "sync_input";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_I2S2>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <1536000>;
|
||||
sound-name-prefix = "I2S2";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_i2s3: i2s@2901200 {
|
||||
compatible = "nvidia,tegra234-i2s",
|
||||
"nvidia,tegra210-i2s";
|
||||
reg = <0x2901200 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_I2S3>,
|
||||
<&bpmp TEGRA234_CLK_I2S3_SYNC_INPUT>;
|
||||
clock-names = "i2s", "sync_input";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_I2S3>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <1536000>;
|
||||
sound-name-prefix = "I2S3";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_i2s4: i2s@2901300 {
|
||||
compatible = "nvidia,tegra234-i2s",
|
||||
"nvidia,tegra210-i2s";
|
||||
reg = <0x2901300 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_I2S4>,
|
||||
<&bpmp TEGRA234_CLK_I2S4_SYNC_INPUT>;
|
||||
clock-names = "i2s", "sync_input";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_I2S4>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <1536000>;
|
||||
sound-name-prefix = "I2S4";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_i2s5: i2s@2901400 {
|
||||
compatible = "nvidia,tegra234-i2s",
|
||||
"nvidia,tegra210-i2s";
|
||||
reg = <0x2901400 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_I2S5>,
|
||||
<&bpmp TEGRA234_CLK_I2S5_SYNC_INPUT>;
|
||||
clock-names = "i2s", "sync_input";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_I2S5>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <1536000>;
|
||||
sound-name-prefix = "I2S5";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_i2s6: i2s@2901500 {
|
||||
compatible = "nvidia,tegra234-i2s",
|
||||
"nvidia,tegra210-i2s";
|
||||
reg = <0x2901500 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_I2S6>,
|
||||
<&bpmp TEGRA234_CLK_I2S6_SYNC_INPUT>;
|
||||
clock-names = "i2s", "sync_input";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_I2S6>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <1536000>;
|
||||
sound-name-prefix = "I2S6";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_sfc1: sfc@2902000 {
|
||||
compatible = "nvidia,tegra234-sfc",
|
||||
"nvidia,tegra210-sfc";
|
||||
reg = <0x2902000 0x200>;
|
||||
sound-name-prefix = "SFC1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_sfc2: sfc@2902200 {
|
||||
compatible = "nvidia,tegra234-sfc",
|
||||
"nvidia,tegra210-sfc";
|
||||
reg = <0x2902200 0x200>;
|
||||
sound-name-prefix = "SFC2";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_sfc3: sfc@2902400 {
|
||||
compatible = "nvidia,tegra234-sfc",
|
||||
"nvidia,tegra210-sfc";
|
||||
reg = <0x2902400 0x200>;
|
||||
sound-name-prefix = "SFC3";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_sfc4: sfc@2902600 {
|
||||
compatible = "nvidia,tegra234-sfc",
|
||||
"nvidia,tegra210-sfc";
|
||||
reg = <0x2902600 0x200>;
|
||||
sound-name-prefix = "SFC4";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_amx1: amx@2903000 {
|
||||
compatible = "nvidia,tegra234-amx",
|
||||
"nvidia,tegra194-amx";
|
||||
reg = <0x2903000 0x100>;
|
||||
sound-name-prefix = "AMX1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_amx2: amx@2903100 {
|
||||
compatible = "nvidia,tegra234-amx",
|
||||
"nvidia,tegra194-amx";
|
||||
reg = <0x2903100 0x100>;
|
||||
sound-name-prefix = "AMX2";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_amx3: amx@2903200 {
|
||||
compatible = "nvidia,tegra234-amx",
|
||||
"nvidia,tegra194-amx";
|
||||
reg = <0x2903200 0x100>;
|
||||
sound-name-prefix = "AMX3";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_amx4: amx@2903300 {
|
||||
compatible = "nvidia,tegra234-amx",
|
||||
"nvidia,tegra194-amx";
|
||||
reg = <0x2903300 0x100>;
|
||||
sound-name-prefix = "AMX4";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_adx1: adx@2903800 {
|
||||
compatible = "nvidia,tegra234-adx",
|
||||
"nvidia,tegra210-adx";
|
||||
reg = <0x2903800 0x100>;
|
||||
sound-name-prefix = "ADX1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_adx2: adx@2903900 {
|
||||
compatible = "nvidia,tegra234-adx",
|
||||
"nvidia,tegra210-adx";
|
||||
reg = <0x2903900 0x100>;
|
||||
sound-name-prefix = "ADX2";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_adx3: adx@2903a00 {
|
||||
compatible = "nvidia,tegra234-adx",
|
||||
"nvidia,tegra210-adx";
|
||||
reg = <0x2903a00 0x100>;
|
||||
sound-name-prefix = "ADX3";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_adx4: adx@2903b00 {
|
||||
compatible = "nvidia,tegra234-adx",
|
||||
"nvidia,tegra210-adx";
|
||||
reg = <0x2903b00 0x100>;
|
||||
sound-name-prefix = "ADX4";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
tegra_dmic1: dmic@2904000 {
|
||||
compatible = "nvidia,tegra234-dmic",
|
||||
"nvidia,tegra210-dmic";
|
||||
reg = <0x2904000 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_DMIC1>;
|
||||
clock-names = "dmic";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_DMIC1>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <3072000>;
|
||||
sound-name-prefix = "DMIC1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_dmic2: dmic@2904100 {
|
||||
compatible = "nvidia,tegra234-dmic",
|
||||
"nvidia,tegra210-dmic";
|
||||
reg = <0x2904100 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_DMIC2>;
|
||||
clock-names = "dmic";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_DMIC2>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <3072000>;
|
||||
sound-name-prefix = "DMIC2";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_dmic3: dmic@2904200 {
|
||||
compatible = "nvidia,tegra234-dmic",
|
||||
"nvidia,tegra210-dmic";
|
||||
reg = <0x2904200 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_DMIC3>;
|
||||
clock-names = "dmic";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_DMIC3>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <3072000>;
|
||||
sound-name-prefix = "DMIC3";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_dmic4: dmic@2904300 {
|
||||
compatible = "nvidia,tegra234-dmic",
|
||||
"nvidia,tegra210-dmic";
|
||||
reg = <0x2904300 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_DMIC4>;
|
||||
clock-names = "dmic";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_DMIC4>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <3072000>;
|
||||
sound-name-prefix = "DMIC4";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_dspk1: dspk@2905000 {
|
||||
compatible = "nvidia,tegra234-dspk",
|
||||
"nvidia,tegra186-dspk";
|
||||
reg = <0x2905000 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_DSPK1>;
|
||||
clock-names = "dspk";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_DSPK1>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <12288000>;
|
||||
sound-name-prefix = "DSPK1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_dspk2: dspk@2905100 {
|
||||
compatible = "nvidia,tegra234-dspk",
|
||||
"nvidia,tegra186-dspk";
|
||||
reg = <0x2905100 0x100>;
|
||||
clocks = <&bpmp TEGRA234_CLK_DSPK2>;
|
||||
clock-names = "dspk";
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_DSPK2>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLA_OUT0>;
|
||||
assigned-clock-rates = <12288000>;
|
||||
sound-name-prefix = "DSPK2";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_mvc1: mvc@290a000 {
|
||||
compatible = "nvidia,tegra234-mvc",
|
||||
"nvidia,tegra210-mvc";
|
||||
reg = <0x290a000 0x200>;
|
||||
sound-name-prefix = "MVC1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_mvc2: mvc@290a200 {
|
||||
compatible = "nvidia,tegra234-mvc",
|
||||
"nvidia,tegra210-mvc";
|
||||
reg = <0x290a200 0x200>;
|
||||
sound-name-prefix = "MVC2";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_amixer: amixer@290bb00 {
|
||||
compatible = "nvidia,tegra234-amixer",
|
||||
"nvidia,tegra210-amixer";
|
||||
reg = <0x290bb00 0x800>;
|
||||
sound-name-prefix = "MIXER1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tegra_admaif: admaif@290f000 {
|
||||
compatible = "nvidia,tegra234-admaif",
|
||||
"nvidia,tegra186-admaif";
|
||||
reg = <0x0290f000 0x1000>;
|
||||
dmas = <&adma 1>, <&adma 1>,
|
||||
<&adma 2>, <&adma 2>,
|
||||
<&adma 3>, <&adma 3>,
|
||||
<&adma 4>, <&adma 4>,
|
||||
<&adma 5>, <&adma 5>,
|
||||
<&adma 6>, <&adma 6>,
|
||||
<&adma 7>, <&adma 7>,
|
||||
<&adma 8>, <&adma 8>,
|
||||
<&adma 9>, <&adma 9>,
|
||||
<&adma 10>, <&adma 10>,
|
||||
<&adma 11>, <&adma 11>,
|
||||
<&adma 12>, <&adma 12>,
|
||||
<&adma 13>, <&adma 13>,
|
||||
<&adma 14>, <&adma 14>,
|
||||
<&adma 15>, <&adma 15>,
|
||||
<&adma 16>, <&adma 16>,
|
||||
<&adma 17>, <&adma 17>,
|
||||
<&adma 18>, <&adma 18>,
|
||||
<&adma 19>, <&adma 19>,
|
||||
<&adma 20>, <&adma 20>;
|
||||
dma-names = "rx1", "tx1",
|
||||
"rx2", "tx2",
|
||||
"rx3", "tx3",
|
||||
"rx4", "tx4",
|
||||
"rx5", "tx5",
|
||||
"rx6", "tx6",
|
||||
"rx7", "tx7",
|
||||
"rx8", "tx8",
|
||||
"rx9", "tx9",
|
||||
"rx10", "tx10",
|
||||
"rx11", "tx11",
|
||||
"rx12", "tx12",
|
||||
"rx13", "tx13",
|
||||
"rx14", "tx14",
|
||||
"rx15", "tx15",
|
||||
"rx16", "tx16",
|
||||
"rx17", "tx17",
|
||||
"rx18", "tx18",
|
||||
"rx19", "tx19",
|
||||
"rx20", "tx20";
|
||||
interconnects = <&mc TEGRA234_MEMORY_CLIENT_APEDMAR &emc>,
|
||||
<&mc TEGRA234_MEMORY_CLIENT_APEDMAW &emc>;
|
||||
interconnect-names = "dma-mem", "write";
|
||||
iommus = <&smmu_niso0 TEGRA234_SID_APE>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
adma: dma-controller@2930000 {
|
||||
compatible = "nvidia,tegra234-adma",
|
||||
"nvidia,tegra186-adma";
|
||||
reg = <0x02930000 0x20000>;
|
||||
interrupt-parent = <&agic>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#dma-cells = <1>;
|
||||
clocks = <&bpmp TEGRA234_CLK_AHUB>;
|
||||
clock-names = "d_audio";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
agic: interrupt-controller@2a40000 {
|
||||
compatible = "nvidia,tegra234-agic",
|
||||
"nvidia,tegra210-agic";
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0x02a41000 0x1000>,
|
||||
<0x02a42000 0x2000>;
|
||||
interrupts = <GIC_SPI 145
|
||||
(GIC_CPU_MASK_SIMPLE(4) |
|
||||
IRQ_TYPE_LEVEL_HIGH)>;
|
||||
clocks = <&bpmp TEGRA234_CLK_APE>;
|
||||
clock-names = "clk";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
misc@100000 {
|
||||
compatible = "nvidia,tegra234-misc";
|
||||
reg = <0x00100000 0xf000>,
|
||||
|
Loading…
Reference in New Issue
Block a user