arm64: dts: renesas: r8a77995: Add R-Car Sound support
This patch adds R-Car Sound and Audio-DMAC support for D3. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87eebtx3zb.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
This commit is contained in:
parent
cfd7bf66b2
commit
5d78c97b4b
|
@ -15,6 +15,23 @@
|
||||||
#address-cells = <2>;
|
#address-cells = <2>;
|
||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The external audio clocks are configured as 0 Hz fixed frequency
|
||||||
|
* clocks by default.
|
||||||
|
* Boards that provide audio clocks should override them.
|
||||||
|
*/
|
||||||
|
audio_clk_a: audio_clk_a {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
audio_clk_b: audio_clk_b {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
/* External CAN clock - to be overridden by boards that provide it */
|
/* External CAN clock - to be overridden by boards that provide it */
|
||||||
can_clk: can {
|
can_clk: can {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
@ -1016,6 +1033,147 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rcar_sound: sound@ec500000 {
|
||||||
|
/*
|
||||||
|
* #sound-dai-cells is required
|
||||||
|
*
|
||||||
|
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||||
|
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* #clock-cells is required for audio_clkout0/1/2/3
|
||||||
|
*
|
||||||
|
* clkout : #clock-cells = <0>; <&rcar_sound>;
|
||||||
|
* clkout0/1/2/3: #clock-cells = <1>; <&rcar_sound N>;
|
||||||
|
*/
|
||||||
|
compatible = "renesas,rcar_sound-r8a77995", "renesas,rcar_sound-gen3";
|
||||||
|
reg = <0 0xec500000 0 0x1000>, /* SCU */
|
||||||
|
<0 0xec5a0000 0 0x100>, /* ADG */
|
||||||
|
<0 0xec540000 0 0x1000>, /* SSIU */
|
||||||
|
<0 0xec541000 0 0x280>, /* SSI */
|
||||||
|
<0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
|
||||||
|
reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
|
||||||
|
|
||||||
|
clocks = <&cpg CPG_MOD 1005>,
|
||||||
|
<&cpg CPG_MOD 1011>, <&cpg CPG_MOD 1012>,
|
||||||
|
<&cpg CPG_MOD 1025>, <&cpg CPG_MOD 1026>,
|
||||||
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
||||||
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
||||||
|
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
|
||||||
|
<&audio_clk_a>, <&audio_clk_b>,
|
||||||
|
<&cpg CPG_CORE R8A77995_CLK_ZA2>;
|
||||||
|
clock-names = "ssi-all",
|
||||||
|
"ssi.4", "ssi.3",
|
||||||
|
"src.6", "src.5",
|
||||||
|
"mix.1", "mix.0",
|
||||||
|
"ctu.1", "ctu.0",
|
||||||
|
"dvc.0", "dvc.1",
|
||||||
|
"clk_a", "clk_b", "clk_i";
|
||||||
|
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||||
|
resets = <&cpg 1005>,
|
||||||
|
<&cpg 1011>, <&cpg 1012>;
|
||||||
|
reset-names = "ssi-all",
|
||||||
|
"ssi.4", "ssi.3";
|
||||||
|
status = "disabled";
|
||||||
|
|
||||||
|
rcar_sound,ctu {
|
||||||
|
ctu00: ctu-0 { };
|
||||||
|
ctu01: ctu-1 { };
|
||||||
|
ctu02: ctu-2 { };
|
||||||
|
ctu03: ctu-3 { };
|
||||||
|
ctu10: ctu-4 { };
|
||||||
|
ctu11: ctu-5 { };
|
||||||
|
ctu12: ctu-6 { };
|
||||||
|
ctu13: ctu-7 { };
|
||||||
|
};
|
||||||
|
|
||||||
|
rcar_sound,dvc {
|
||||||
|
dvc0: dvc-0 {
|
||||||
|
dmas = <&audma0 0xbc>;
|
||||||
|
dma-names = "tx";
|
||||||
|
};
|
||||||
|
dvc1: dvc-1 {
|
||||||
|
dmas = <&audma0 0xbe>;
|
||||||
|
dma-names = "tx";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
rcar_sound,mix {
|
||||||
|
mix0: mix-0 { };
|
||||||
|
mix1: mix-1 { };
|
||||||
|
};
|
||||||
|
|
||||||
|
rcar_sound,src {
|
||||||
|
src5: src-5 {
|
||||||
|
interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&audma0 0x8f>, <&audma0 0xb2>;
|
||||||
|
dma-names = "rx", "tx";
|
||||||
|
};
|
||||||
|
src6: src-6 {
|
||||||
|
interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&audma0 0x91>, <&audma0 0xb4>;
|
||||||
|
dma-names = "rx", "tx";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
rcar_sound,ssi {
|
||||||
|
ssi3: ssi-3 {
|
||||||
|
interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&audma0 0x07>, <&audma0 0x08>,
|
||||||
|
<&audma0 0x6f>, <&audma0 0x70>;
|
||||||
|
dma-names = "rx", "tx", "rxu", "txu";
|
||||||
|
};
|
||||||
|
ssi4: ssi-4 {
|
||||||
|
interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&audma0 0x09>, <&audma0 0x0a>,
|
||||||
|
<&audma0 0x71>, <&audma0 0x72>;
|
||||||
|
dma-names = "rx", "tx", "rxu", "txu";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
audma0: dma-controller@ec700000 {
|
||||||
|
compatible = "renesas,dmac-r8a77995",
|
||||||
|
"renesas,rcar-dmac";
|
||||||
|
reg = <0 0xec700000 0 0x10000>;
|
||||||
|
interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "error",
|
||||||
|
"ch0", "ch1", "ch2", "ch3",
|
||||||
|
"ch4", "ch5", "ch6", "ch7",
|
||||||
|
"ch8", "ch9", "ch10", "ch11",
|
||||||
|
"ch12", "ch13", "ch14", "ch15";
|
||||||
|
clocks = <&cpg CPG_MOD 502>;
|
||||||
|
clock-names = "fck";
|
||||||
|
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||||
|
resets = <&cpg 502>;
|
||||||
|
#dma-cells = <1>;
|
||||||
|
dma-channels = <16>;
|
||||||
|
iommus = <&ipmmu_mp 0>, <&ipmmu_mp 1>,
|
||||||
|
<&ipmmu_mp 2>, <&ipmmu_mp 3>,
|
||||||
|
<&ipmmu_mp 4>, <&ipmmu_mp 5>,
|
||||||
|
<&ipmmu_mp 6>, <&ipmmu_mp 7>,
|
||||||
|
<&ipmmu_mp 8>, <&ipmmu_mp 9>,
|
||||||
|
<&ipmmu_mp 10>, <&ipmmu_mp 11>,
|
||||||
|
<&ipmmu_mp 12>, <&ipmmu_mp 13>,
|
||||||
|
<&ipmmu_mp 14>, <&ipmmu_mp 15>;
|
||||||
|
};
|
||||||
|
|
||||||
ohci0: usb@ee080000 {
|
ohci0: usb@ee080000 {
|
||||||
compatible = "generic-ohci";
|
compatible = "generic-ohci";
|
||||||
reg = <0 0xee080000 0 0x100>;
|
reg = <0 0xee080000 0 0x100>;
|
||||||
|
|
Loading…
Reference in New Issue