aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>2016-07-27 17:03:10 -0400
committerSimon Horman <horms+renesas@verge.net.au>2016-08-09 08:37:42 -0400
commit320d6c5a08a4abd3990ee4744033ade6ed53d5fb (patch)
treed66df2bd386c3d30e64ed87da40899b7b387a867
parent298e4ee3d213a0764e8d4baa5336d4d1649a5bc5 (diff)
ARM: dts: r8a7794: add sound support
Define the generic R8A7794 part of the sound device node. This sound device is a complex one and comprises the Audio Clock Generator (ADG), Sampling Rate Converter Unit (SCU), Serial Sound Interface [Unit] (SSI[U]), and Audio DMAC-Peripheral-Peripheral. It is up to the board file to enable the device. This patch is based on the R8A7791 sound work by Kuninori Morimoto. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r--arch/arm/boot/dts/r8a7794.dtsi181
1 files changed, 181 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi
index 668e1383dd09..6216a170a3df 100644
--- a/arch/arm/boot/dts/r8a7794.dtsi
+++ b/arch/arm/boot/dts/r8a7794.dtsi
@@ -1416,4 +1416,185 @@
1416 #iommu-cells = <1>; 1416 #iommu-cells = <1>;
1417 status = "disabled"; 1417 status = "disabled";
1418 }; 1418 };
1419
1420 rcar_sound: sound@ec500000 {
1421 /*
1422 * #sound-dai-cells is required
1423 *
1424 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
1425 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
1426 */
1427 compatible = "renesas,rcar_sound-r8a7794",
1428 "renesas,rcar_sound-gen2";
1429 reg = <0 0xec500000 0 0x1000>, /* SCU */
1430 <0 0xec5a0000 0 0x100>, /* ADG */
1431 <0 0xec540000 0 0x1000>, /* SSIU */
1432 <0 0xec541000 0 0x280>, /* SSI */
1433 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri */
1434 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
1435
1436 clocks = <&mstp10_clks R8A7794_CLK_SSI_ALL>,
1437 <&mstp10_clks R8A7794_CLK_SSI9>,
1438 <&mstp10_clks R8A7794_CLK_SSI8>,
1439 <&mstp10_clks R8A7794_CLK_SSI7>,
1440 <&mstp10_clks R8A7794_CLK_SSI6>,
1441 <&mstp10_clks R8A7794_CLK_SSI5>,
1442 <&mstp10_clks R8A7794_CLK_SSI4>,
1443 <&mstp10_clks R8A7794_CLK_SSI3>,
1444 <&mstp10_clks R8A7794_CLK_SSI2>,
1445 <&mstp10_clks R8A7794_CLK_SSI1>,
1446 <&mstp10_clks R8A7794_CLK_SSI0>,
1447 <&mstp10_clks R8A7794_CLK_SCU_SRC6>,
1448 <&mstp10_clks R8A7794_CLK_SCU_SRC5>,
1449 <&mstp10_clks R8A7794_CLK_SCU_SRC4>,
1450 <&mstp10_clks R8A7794_CLK_SCU_SRC3>,
1451 <&mstp10_clks R8A7794_CLK_SCU_SRC2>,
1452 <&mstp10_clks R8A7794_CLK_SCU_SRC1>,
1453 <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>,
1454 <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>,
1455 <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>,
1456 <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>,
1457 <&mstp10_clks R8A7794_CLK_SCU_DVC0>,
1458 <&mstp10_clks R8A7794_CLK_SCU_DVC1>,
1459 <&audio_clka>, <&audio_clkb>, <&audio_clkc>,
1460 <&m2_clk>;
1461 clock-names = "ssi-all",
1462 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1463 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
1464 "src.6", "src.5", "src.4", "src.3", "src.2",
1465 "src.1",
1466 "ctu.0", "ctu.1",
1467 "mix.0", "mix.1",
1468 "dvc.0", "dvc.1",
1469 "clk_a", "clk_b", "clk_c", "clk_i";
1470 power-domains = <&cpg_clocks>;
1471
1472 status = "disabled";
1473
1474 rcar_sound,dvc {
1475 dvc0: dvc@0 {
1476 dmas = <&audma0 0xbc>;
1477 dma-names = "tx";
1478 };
1479 dvc1: dvc@1 {
1480 dmas = <&audma0 0xbe>;
1481 dma-names = "tx";
1482 };
1483 };
1484
1485 rcar_sound,mix {
1486 mix0: mix@0 { };
1487 mix1: mix@1 { };
1488 };
1489
1490 rcar_sound,ctu {
1491 ctu00: ctu@0 { };
1492 ctu01: ctu@1 { };
1493 ctu02: ctu@2 { };
1494 ctu03: ctu@3 { };
1495 ctu10: ctu@4 { };
1496 ctu11: ctu@5 { };
1497 ctu12: ctu@6 { };
1498 ctu13: ctu@7 { };
1499 };
1500
1501 rcar_sound,src {
1502 src@0 {
1503 status = "disabled";
1504 };
1505 src1: src@1 {
1506 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1507 dmas = <&audma0 0x87>, <&audma0 0x9c>;
1508 dma-names = "rx", "tx";
1509 };
1510 src2: src@2 {
1511 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1512 dmas = <&audma0 0x89>, <&audma0 0x9e>;
1513 dma-names = "rx", "tx";
1514 };
1515 src3: src@3 {
1516 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1517 dmas = <&audma0 0x8b>, <&audma0 0xa0>;
1518 dma-names = "rx", "tx";
1519 };
1520 src4: src@4 {
1521 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1522 dmas = <&audma0 0x8d>, <&audma0 0xb0>;
1523 dma-names = "rx", "tx";
1524 };
1525 src5: src@5 {
1526 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1527 dmas = <&audma0 0x8f>, <&audma0 0xb2>;
1528 dma-names = "rx", "tx";
1529 };
1530 src6: src@6 {
1531 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1532 dmas = <&audma0 0x91>, <&audma0 0xb4>;
1533 dma-names = "rx", "tx";
1534 };
1535 };
1536
1537 rcar_sound,ssi {
1538 ssi0: ssi@0 {
1539 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
1540 dmas = <&audma0 0x01>, <&audma0 0x02>,
1541 <&audma0 0x15>, <&audma0 0x16>;
1542 dma-names = "rx", "tx", "rxu", "txu";
1543 };
1544 ssi1: ssi@1 {
1545 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1546 dmas = <&audma0 0x03>, <&audma0 0x04>,
1547 <&audma0 0x49>, <&audma0 0x4a>;
1548 dma-names = "rx", "tx", "rxu", "txu";
1549 };
1550 ssi2: ssi@2 {
1551 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
1552 dmas = <&audma0 0x05>, <&audma0 0x06>,
1553 <&audma0 0x63>, <&audma0 0x64>;
1554 dma-names = "rx", "tx", "rxu", "txu";
1555 };
1556 ssi3: ssi@3 {
1557 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1558 dmas = <&audma0 0x07>, <&audma0 0x08>,
1559 <&audma0 0x6f>, <&audma0 0x70>;
1560 dma-names = "rx", "tx", "rxu", "txu";
1561 };
1562 ssi4: ssi@4 {
1563 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1564 dmas = <&audma0 0x09>, <&audma0 0x0a>,
1565 <&audma0 0x71>, <&audma0 0x72>;
1566 dma-names = "rx", "tx", "rxu", "txu";
1567 };
1568 ssi5: ssi@5 {
1569 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1570 dmas = <&audma0 0x0b>, <&audma0 0x0c>,
1571 <&audma0 0x73>, <&audma0 0x74>;
1572 dma-names = "rx", "tx", "rxu", "txu";
1573 };
1574 ssi6: ssi@6 {
1575 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1576 dmas = <&audma0 0x0d>, <&audma0 0x0e>,
1577 <&audma0 0x75>, <&audma0 0x76>;
1578 dma-names = "rx", "tx", "rxu", "txu";
1579 };
1580 ssi7: ssi@7 {
1581 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1582 dmas = <&audma0 0x0f>, <&audma0 0x10>,
1583 <&audma0 0x79>, <&audma0 0x7a>;
1584 dma-names = "rx", "tx", "rxu", "txu";
1585 };
1586 ssi8: ssi@8 {
1587 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1588 dmas = <&audma0 0x11>, <&audma0 0x12>,
1589 <&audma0 0x7b>, <&audma0 0x7c>;
1590 dma-names = "rx", "tx", "rxu", "txu";
1591 };
1592 ssi9: ssi@9 {
1593 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1594 dmas = <&audma0 0x13>, <&audma0 0x14>,
1595 <&audma0 0x7d>, <&audma0 0x7e>;
1596 dma-names = "rx", "tx", "rxu", "txu";
1597 };
1598 };
1599 };
1419}; 1600};