Merge tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper...
[cascardo/linux.git] / arch / arm / boot / dts / r8a7794.dtsi
index 685f986..9365580 100644 (file)
                dma-channels = <15>;
        };
 
+       audma0: dma-controller@ec700000 {
+               compatible = "renesas,dmac-r8a7794", "renesas,rcar-dmac";
+               reg = <0 0xec700000 0 0x10000>;
+               interrupts =    <GIC_SPI 346 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>;
+               interrupt-names = "error",
+                                 "ch0", "ch1", "ch2", "ch3", "ch4", "ch5",
+                                 "ch6", "ch7", "ch8", "ch9", "ch10", "ch11",
+                                 "ch12";
+               clocks = <&mstp5_clks R8A7794_CLK_AUDIO_DMAC0>;
+               clock-names = "fck";
+               power-domains = <&cpg_clocks>;
+               #dma-cells = <1>;
+               dma-channels = <13>;
+       };
+
        scifa0: serial@e6c40000 {
                compatible = "renesas,scifa-r8a7794",
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
 
        sdhi0: sd@ee100000 {
                compatible = "renesas,sdhi-r8a7794";
-               reg = <0 0xee100000 0 0x200>;
+               reg = <0 0xee100000 0 0x328>;
                interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7794_CLK_SDHI0>;
                dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
                };
        };
 
+       vsp1@fe928000 {
+               compatible = "renesas,vsp1";
+               reg = <0 0xfe928000 0 0x8000>;
+               interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp1_clks R8A7794_CLK_VSP1_S>;
+               power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+       };
+
+       vsp1@fe930000 {
+               compatible = "renesas,vsp1";
+               reg = <0 0xfe930000 0 0x8000>;
+               interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp1_clks R8A7794_CLK_VSP1_DU0>;
+               power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+       };
+
        du: display@feb00000 {
                compatible = "renesas,du-r8a7794";
                reg = <0 0xfeb00000 0 0x40000>;
                        clock-frequency = <0>;
                };
 
+               /*
+                * The external audio clocks are configured  as 0 Hz fixed
+                * frequency clocks by default.  Boards that provide audio
+                * clocks should override them.
+                */
+               audio_clka: audio_clka {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <0>;
+               };
+               audio_clkb: audio_clkb {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <0>;
+               };
+               audio_clkc: audio_clkc {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <0>;
+               };
+
                /* Special CPG clocks */
                cpg_clocks: cpg_clocks@e6150000 {
                        compatible = "renesas,r8a7794-cpg-clocks",
                        clock-indices = <R8A7794_CLK_IRQC>;
                        clock-output-names = "irqc";
                };
+               mstp5_clks: mstp5_clks@e6150144 {
+                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
+                       clocks = <&hp_clk>, <&p_clk>;
+                       #clock-cells = <1>;
+                       clock-indices = <R8A7794_CLK_AUDIO_DMAC0
+                                        R8A7794_CLK_PWM>;
+                       clock-output-names = "audmac0", "pwm";
+               };
                mstp7_clks: mstp7_clks@e615014c {
                        compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
                                "gpio1", "gpio0", "rcan1", "rcan0", "qspi_mod",
                                "i2c5", "i2c4", "i2c3", "i2c2", "i2c1", "i2c0";
                };
+               mstp10_clks: mstp10_clks@e6150998 {
+                       compatible = "renesas,r8a7794-mstp-clocks",
+                                    "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe6150998 0 4>, <0 0xe61509a8 0 4>;
+                       clocks = <&p_clk>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                                <&p_clk>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
+                                <&mstp10_clks R8A7794_CLK_SCU_ALL>;
+                       #clock-cells = <1>;
+                       clock-indices = <R8A7794_CLK_SSI_ALL
+                                        R8A7794_CLK_SSI9 R8A7794_CLK_SSI8
+                                        R8A7794_CLK_SSI7 R8A7794_CLK_SSI6
+                                        R8A7794_CLK_SSI5 R8A7794_CLK_SSI4
+                                        R8A7794_CLK_SSI3 R8A7794_CLK_SSI2
+                                        R8A7794_CLK_SSI1 R8A7794_CLK_SSI0
+                                        R8A7794_CLK_SCU_ALL
+                                        R8A7794_CLK_SCU_DVC1
+                                        R8A7794_CLK_SCU_DVC0
+                                        R8A7794_CLK_SCU_CTU1_MIX1
+                                        R8A7794_CLK_SCU_CTU0_MIX0
+                                        R8A7794_CLK_SCU_SRC6
+                                        R8A7794_CLK_SCU_SRC5
+                                        R8A7794_CLK_SCU_SRC4
+                                        R8A7794_CLK_SCU_SRC3
+                                        R8A7794_CLK_SCU_SRC2
+                                        R8A7794_CLK_SCU_SRC1>;
+                       clock-output-names = "ssi-all", "ssi9", "ssi8", "ssi7",
+                                            "ssi6", "ssi5", "ssi4", "ssi3",
+                                            "ssi2", "ssi1", "ssi0",
+                                            "scu-all", "scu-dvc1", "scu-dvc0",
+                                            "scu-ctu1-mix1", "scu-ctu0-mix0",
+                                            "scu-src6", "scu-src5", "scu-src4",
+                                            "scu-src3", "scu-src2", "scu-src1";
+               };
                mstp11_clks: mstp11_clks@e615099c {
                        compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0 0xe615099c 0 4>, <0 0xe61509ac 0 4>;
                #iommu-cells = <1>;
                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>;
+                */
+               compatible = "renesas,rcar_sound-r8a7794",
+                            "renesas,rcar_sound-gen2";
+               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 = <&mstp10_clks R8A7794_CLK_SSI_ALL>,
+                        <&mstp10_clks R8A7794_CLK_SSI9>,
+                        <&mstp10_clks R8A7794_CLK_SSI8>,
+                        <&mstp10_clks R8A7794_CLK_SSI7>,
+                        <&mstp10_clks R8A7794_CLK_SSI6>,
+                        <&mstp10_clks R8A7794_CLK_SSI5>,
+                        <&mstp10_clks R8A7794_CLK_SSI4>,
+                        <&mstp10_clks R8A7794_CLK_SSI3>,
+                        <&mstp10_clks R8A7794_CLK_SSI2>,
+                        <&mstp10_clks R8A7794_CLK_SSI1>,
+                        <&mstp10_clks R8A7794_CLK_SSI0>,
+                        <&mstp10_clks R8A7794_CLK_SCU_SRC6>,
+                        <&mstp10_clks R8A7794_CLK_SCU_SRC5>,
+                        <&mstp10_clks R8A7794_CLK_SCU_SRC4>,
+                        <&mstp10_clks R8A7794_CLK_SCU_SRC3>,
+                        <&mstp10_clks R8A7794_CLK_SCU_SRC2>,
+                        <&mstp10_clks R8A7794_CLK_SCU_SRC1>,
+                        <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>,
+                        <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>,
+                        <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>,
+                        <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>,
+                        <&mstp10_clks R8A7794_CLK_SCU_DVC0>,
+                        <&mstp10_clks R8A7794_CLK_SCU_DVC1>,
+                        <&audio_clka>, <&audio_clkb>, <&audio_clkc>,
+                        <&m2_clk>;
+               clock-names = "ssi-all",
+                             "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
+                             "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
+                             "src.6", "src.5", "src.4", "src.3", "src.2",
+                             "src.1",
+                             "ctu.0", "ctu.1",
+                             "mix.0", "mix.1",
+                             "dvc.0", "dvc.1",
+                             "clk_a", "clk_b", "clk_c", "clk_i";
+               power-domains = <&cpg_clocks>;
+
+               status = "disabled";
+
+               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,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,src {
+                       src@0 {
+                               status = "disabled";
+                       };
+                       src1: src@1 {
+                               interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x87>, <&audma0 0x9c>;
+                               dma-names = "rx", "tx";
+                       };
+                       src2: src@2 {
+                               interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x89>, <&audma0 0x9e>;
+                               dma-names = "rx", "tx";
+                       };
+                       src3: src@3 {
+                               interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x8b>, <&audma0 0xa0>;
+                               dma-names = "rx", "tx";
+                       };
+                       src4: src@4 {
+                               interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x8d>, <&audma0 0xb0>;
+                               dma-names = "rx", "tx";
+                       };
+                       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 {
+                       ssi0: ssi@0 {
+                               interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x01>, <&audma0 0x02>,
+                                      <&audma0 0x15>, <&audma0 0x16>;
+                               dma-names = "rx", "tx", "rxu", "txu";
+                       };
+                       ssi1: ssi@1 {
+                               interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x03>, <&audma0 0x04>,
+                                      <&audma0 0x49>, <&audma0 0x4a>;
+                               dma-names = "rx", "tx", "rxu", "txu";
+                       };
+                       ssi2: ssi@2 {
+                               interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x05>, <&audma0 0x06>,
+                                      <&audma0 0x63>, <&audma0 0x64>;
+                               dma-names = "rx", "tx", "rxu", "txu";
+                       };
+                       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";
+                       };
+                       ssi5: ssi@5 {
+                               interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x0b>, <&audma0 0x0c>,
+                                      <&audma0 0x73>, <&audma0 0x74>;
+                               dma-names = "rx", "tx", "rxu", "txu";
+                       };
+                       ssi6: ssi@6 {
+                               interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x0d>, <&audma0 0x0e>,
+                                      <&audma0 0x75>, <&audma0 0x76>;
+                               dma-names = "rx", "tx", "rxu", "txu";
+                       };
+                       ssi7: ssi@7 {
+                               interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x0f>, <&audma0 0x10>,
+                                      <&audma0 0x79>, <&audma0 0x7a>;
+                               dma-names = "rx", "tx", "rxu", "txu";
+                       };
+                       ssi8: ssi@8 {
+                               interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x11>, <&audma0 0x12>,
+                                      <&audma0 0x7b>, <&audma0 0x7c>;
+                               dma-names = "rx", "tx", "rxu", "txu";
+                       };
+                       ssi9: ssi@9 {
+                               interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
+                               dmas = <&audma0 0x13>, <&audma0 0x14>,
+                                      <&audma0 0x7d>, <&audma0 0x7e>;
+                               dma-names = "rx", "tx", "rxu", "txu";
+                       };
+               };
+       };
 };