diff options
author | Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> | 2016-07-27 17:03:10 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2016-08-09 08:37:42 -0400 |
commit | 320d6c5a08a4abd3990ee4744033ade6ed53d5fb (patch) | |
tree | d66df2bd386c3d30e64ed87da40899b7b387a867 | |
parent | 298e4ee3d213a0764e8d4baa5336d4d1649a5bc5 (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.dtsi | 181 |
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 | }; |