|
229 | 229 | snps,block-size = <4096 4096 4096 4096>; |
230 | 230 | snps,priority = <0 1 2 3>; |
231 | 231 | snps,axi-max-burst-len = <128>; |
| 232 | + status = "okay"; |
| 233 | + dma-coherent; |
232 | 234 | }; |
233 | 235 |
|
234 | 236 | crypto: crypto@100d0000 { |
|
277 | 279 | #clock-cells = <1>; |
278 | 280 | }; |
279 | 281 |
|
| 282 | + audioclk: clock-controller@10480000 { |
| 283 | + compatible = "starfive,jh7100-audclk"; |
| 284 | + reg = <0x0 0x10480000 0x0 0x10000>; |
| 285 | + clocks = <&osc_sys>, <&osc_aud>; |
| 286 | + clock-names = "osc_sys", "osc_aud"; |
| 287 | + #clock-cells = <1>; |
| 288 | + }; |
| 289 | + |
280 | 290 | otp: otp@11810000 { |
281 | 291 | compatible = "starfive,fu740-otp"; |
282 | 292 | reg = <0x0 0x11810000 0x0 0x10000>; |
|
652 | 662 | dsp@0 { |
653 | 663 | }; |
654 | 664 | }; |
| 665 | + |
| 666 | + i2sadc0: i2sadc0@10400000 { |
| 667 | + compatible = "snps,designware-i2sadc0"; |
| 668 | + reg = <0x0 0x10400000 0x0 0x1000>; |
| 669 | + interrupt-parent = <&plic>; |
| 670 | + clocks = <&clkgen JH7100_CLK_APB1_BUS>; |
| 671 | + clock-names = "i2sclk"; |
| 672 | + #sound-dai-cells = <0>; |
| 673 | + dmas = <&dma2p 28>; |
| 674 | + dma-names = "rx"; |
| 675 | + }; |
| 676 | + |
| 677 | + i2svad: i2svad@10420000 { |
| 678 | + compatible = "starfive,sf-i2svad"; |
| 679 | + reg = <0x0 0x10420000 0x0 0x1000> ; |
| 680 | + interrupt-parent = <&plic>; |
| 681 | + interrupts = <60>, <61>; |
| 682 | + interrupt-names = "spintr", "slintr"; |
| 683 | + clocks = <&audioclk JH7100_CLK_APB_I2SVAD>; |
| 684 | + clock-names = "i2svad_apb"; |
| 685 | + resets = <&audrst JH7100_AUDRSTN_APB_I2SVAD>, |
| 686 | + <&audrst JH7100_AUDRSTN_I2SVAD_SRST>; |
| 687 | + reset-names = "apb_i2svad", "i2svad_srst"; |
| 688 | + #sound-dai-cells = <0>; |
| 689 | + }; |
| 690 | + |
| 691 | + i2sdac0: i2sdac0@10450000 { |
| 692 | + compatible = "snps,designware-i2sdac0"; |
| 693 | + reg = <0x0 0x10450000 0x0 0x1000>; |
| 694 | + interrupt-parent = <&plic>; |
| 695 | + clocks = <&audioclk JH7100_CLK_DAC_MCLK>, |
| 696 | + <&audioclk JH7100_CLK_I2S0_BCLK>, |
| 697 | + <&audioclk JH7100_CLK_I2S0_LRCLK>, |
| 698 | + <&audioclk JH7100_CLK_APB_I2S0>; |
| 699 | + clock-names = "dac_mclk", "i2sdac0_bclk", "i2sdac0_lrclk", "i2sdac_apb"; |
| 700 | + resets = <&audrst JH7100_AUDRSTN_APB_I2SDAC>, |
| 701 | + <&audrst JH7100_AUDRSTN_I2SDAC_SRST>; |
| 702 | + reset-names = "apb_i2sdac", "i2sdac_srst"; |
| 703 | + #sound-dai-cells = <0>; |
| 704 | + dmas = <&dma2p 30>; |
| 705 | + dma-names = "tx"; |
| 706 | + }; |
| 707 | + |
| 708 | + i2sdac1: i2sdac1@10460000 { |
| 709 | + compatible = "snps,designware-i2sdac1"; |
| 710 | + reg = <0x0 0x10460000 0x0 0x1000>; |
| 711 | + interrupt-parent = <&plic>; |
| 712 | + clocks = <&audioclk JH7100_CLK_DAC_MCLK>, |
| 713 | + <&audioclk JH7100_CLK_I2S1_BCLK>, |
| 714 | + <&audioclk JH7100_CLK_I2S1_LRCLK>, |
| 715 | + <&audioclk JH7100_CLK_APB_I2S1>; |
| 716 | + clock-names = "dac_mclk", "i2sdac1_bclk", "i2sdac1_lrclk", "i2s1_apb"; |
| 717 | + resets = <&audrst JH7100_AUDRSTN_APB_I2S1>, |
| 718 | + <&audrst JH7100_AUDRSTN_I2S1_SRST>; |
| 719 | + #sound-dai-cells = <0>; |
| 720 | + dmas = <&dma2p 31>; |
| 721 | + dma-names = "tx"; |
| 722 | + }; |
| 723 | + |
| 724 | + i2sdac16k: i2sdac16k@10470000 { |
| 725 | + compatible = "snps,designware-i2sdac16k"; |
| 726 | + reg = <0x0 0x10470000 0x0 0x1000>; |
| 727 | + interrupt-parent = <&plic>; |
| 728 | + clocks = <&clkgen JH7100_CLK_APB1_BUS>; |
| 729 | + clock-names = "i2sclk"; |
| 730 | + #sound-dai-cells = <0>; |
| 731 | + dmas = <&dma2p 29>; |
| 732 | + dma-names = "tx"; |
| 733 | + }; |
| 734 | + |
| 735 | + spdif_transmitter: spdif_transmitter { |
| 736 | + compatible = "linux,spdif-dit"; |
| 737 | + #sound-dai-cells = <0>; |
| 738 | + }; |
| 739 | + |
| 740 | + spdif_receiver: spdif_receiver { |
| 741 | + compatible = "linux,spdif-dir"; |
| 742 | + #sound-dai-cells = <0>; |
| 743 | + }; |
| 744 | + |
| 745 | + pwmdac: pwmdac@10440000 { |
| 746 | + compatible = "starfive,pwmdac"; |
| 747 | + reg = <0x0 0x10440000 0x0 0x1000>; |
| 748 | + clocks = <&clkgen JH7100_CLK_AUDIO_ROOT>, |
| 749 | + <&clkgen JH7100_CLK_AUDIO_SRC>, |
| 750 | + <&clkgen JH7100_CLK_AUDIO_12288>, |
| 751 | + <&audioclk JH7100_CLK_DMA1P_AHB>, |
| 752 | + <&audioclk JH7100_CLK_APB_PWMDAC>, |
| 753 | + <&audioclk JH7100_CLK_DAC_MCLK>; |
| 754 | + clock-names = "audio_root", "audio_src", "audio_12288", "dma1p_ahb", "pwmdac_apb", "dac_mclk"; |
| 755 | + resets = <&audrst JH7100_AUDRSTN_APB_BUS>, |
| 756 | + <&audrst JH7100_AUDRSTN_DMA1P_AHB>, |
| 757 | + <&audrst JH7100_AUDRSTN_APB_PWMDAC>; |
| 758 | + reset-names = "apb_bus", "dma1p_ahb", "apb_pwmdac"; |
| 759 | + dmas = <&dma2p 23>; |
| 760 | + dma-names = "tx"; |
| 761 | + #sound-dai-cells = <0>; |
| 762 | + }; |
| 763 | + |
| 764 | + pwmdac_codec: pwmdac-transmitter { |
| 765 | + compatible = "linux,pwmdac-dit"; |
| 766 | + #sound-dai-cells = <0>; |
| 767 | + }; |
| 768 | + |
| 769 | + dmic_codec: dmic_codec { |
| 770 | + compatible = "dmic-codec"; |
| 771 | + #sound-dai-cells = <0>; |
| 772 | + }; |
| 773 | + |
| 774 | + sound:snd-card{ |
| 775 | + compatible = "simple-audio-card"; |
| 776 | + simple-audio-card,name = "Starfive-Multi-Sound-Card"; |
| 777 | + #address-cells = <1>; |
| 778 | + #size-cells = <0>; |
| 779 | + |
| 780 | + /* pwmdac */ |
| 781 | + simple-audio-card,dai-link@0 { |
| 782 | + reg = <0>; |
| 783 | + status = "okay"; |
| 784 | + format = "left_j"; |
| 785 | + bitclock-master = <&sndcpu0>; |
| 786 | + frame-master = <&sndcpu0>; |
| 787 | + |
| 788 | + sndcpu0: cpu { |
| 789 | + sound-dai = <&pwmdac>; |
| 790 | + }; |
| 791 | + |
| 792 | + codec { |
| 793 | + sound-dai = <&pwmdac_codec>; |
| 794 | + }; |
| 795 | + }; |
| 796 | + }; |
655 | 797 | }; |
656 | 798 | }; |
0 commit comments