Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'renesas-arm64-dt2-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt64

Merge "Second Round of Renesas ARM64 Based SoC DT Updates for v4.5" from Simon Horman:

* Enable GPIO, EthernetAVB, I2C and Sound on r8a7795/salvator-x

* tag 'renesas-arm64-dt2-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
arm64: renesas: salvator-x: Sound DVC support
arm64: renesas: salvator-x: Sound SRC support
arm64: renesas: salvator-x: Sound SSI DMA support via BUSIF
arm64: renesas: salvator-x: Sound SSI DMA support
arm64: renesas: salvator-x: Sound SSI PIO support
arm64: renesas: r8a7795: Sound DVC support
arm64: renesas: r8a7795: Sound SRC support
arm64: renesas: r8a7795: Sound SSI DMA support
arm64: renesas: r8a7795: Sound SSI PIO support
arm64: renesas: r8a7795: add AUDIO_DMAC support
arm64: renesas: r8a7795 dtsi: Add all HSCIF nodes
arm64: renesas: salvator-x: enable I2C
arm64: renesas: r8a7795: add I2C support
arm64: renesas: salvator-x: Setup ethernet0 alias for U-Boot
arm64: dts: r8a7795: enable nfs root on Salvator-X board
arm64: dts: r8a7795: enable EthernetAVB on Salvator-X
arm64: dts: r8a7795: add EthernetAVB device node
arm64: dts: r8a7795: add GPIO nodes

+693 -1
+139 -1
arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
··· 8 8 * kind, whether express or implied. 9 9 */ 10 10 11 + /* 12 + * SSI-AK4613 13 + * 14 + * This command is required when Playback/Capture 15 + * 16 + * amixer set "DVC Out" 100% 17 + * amixer set "DVC In" 100% 18 + * 19 + * You can use Mute 20 + * 21 + * amixer set "DVC Out Mute" on 22 + * amixer set "DVC In Mute" on 23 + * 24 + * You can use Volume Ramp 25 + * 26 + * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps" 27 + * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" 28 + * amixer set "DVC Out Ramp" on 29 + * aplay xxx.wav & 30 + * amixer set "DVC Out" 80% // Volume Down 31 + * amixer set "DVC Out" 100% // Volume Up 32 + */ 33 + 11 34 /dts-v1/; 12 35 #include "r8a7795.dtsi" 13 36 ··· 41 18 aliases { 42 19 serial0 = &scif2; 43 20 serial1 = &scif1; 21 + ethernet0 = &avb; 44 22 }; 45 23 46 24 chosen { 47 - bootargs = "ignore_loglevel"; 25 + bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; 48 26 stdout-path = "serial0:115200n8"; 49 27 }; 50 28 ··· 53 29 device_type = "memory"; 54 30 /* first 128MB is reserved for secure area. */ 55 31 reg = <0x0 0x48000000 0x0 0x38000000>; 32 + }; 33 + 34 + x12_clk: x12_clk { 35 + compatible = "fixed-clock"; 36 + #clock-cells = <0>; 37 + clock-frequency = <24576000>; 38 + }; 39 + 40 + rsnd_ak4613: sound { 41 + compatible = "simple-audio-card"; 42 + 43 + simple-audio-card,format = "left_j"; 44 + simple-audio-card,bitclock-master = <&sndcpu>; 45 + simple-audio-card,frame-master = <&sndcpu>; 46 + 47 + sndcpu: simple-audio-card,cpu { 48 + sound-dai = <&rcar_sound>; 49 + }; 50 + 51 + sndcodec: simple-audio-card,codec { 52 + sound-dai = <&ak4613>; 53 + }; 56 54 }; 57 55 }; 58 56 ··· 91 45 renesas,groups = "scif2_data_a"; 92 46 renesas,function = "scif2"; 93 47 }; 48 + 49 + i2c2_pins: i2c2 { 50 + renesas,groups = "i2c2_a"; 51 + renesas,function = "i2c2"; 52 + }; 53 + 54 + avb_pins: avb { 55 + renesas,groups = "avb_mdc"; 56 + renesas,function = "avb"; 57 + }; 58 + 59 + sound_pins: sound { 60 + renesas,groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a"; 61 + renesas,function = "ssi"; 62 + }; 63 + 64 + sound_clk_pins: sound_clk { 65 + renesas,groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a", 66 + "audio_clkout_a", "audio_clkout3_a"; 67 + renesas,function = "audio_clk"; 68 + }; 94 69 }; 95 70 96 71 &scif1 { ··· 126 59 pinctrl-names = "default"; 127 60 128 61 status = "okay"; 62 + }; 63 + 64 + &i2c2 { 65 + pinctrl-0 = <&i2c2_pins>; 66 + pinctrl-names = "default"; 67 + 68 + status = "okay"; 69 + 70 + clock-frequency = <100000>; 71 + 72 + ak4613: codec@10 { 73 + compatible = "asahi-kasei,ak4613"; 74 + #sound-dai-cells = <0>; 75 + reg = <0x10>; 76 + clocks = <&rcar_sound 3>; 77 + }; 78 + }; 79 + 80 + &rcar_sound { 81 + pinctrl-0 = <&sound_pins &sound_clk_pins>; 82 + pinctrl-names = "default"; 83 + 84 + /* Single DAI */ 85 + #sound-dai-cells = <0>; 86 + 87 + /* audio_clkout0/1/2/3 */ 88 + #clock-cells = <1>; 89 + clock-frequency = <11289600>; 90 + 91 + status = "okay"; 92 + 93 + rcar_sound,dai { 94 + dai0 { 95 + playback = <&ssi0 &src0 &dvc0>; 96 + capture = <&ssi1 &src1 &dvc1>; 97 + }; 98 + }; 99 + }; 100 + 101 + &ssi1 { 102 + shared-pin; 103 + }; 104 + 105 + &audio_clk_a { 106 + clock-frequency = <22579200>; 107 + }; 108 + 109 + &avb { 110 + pinctrl-0 = <&avb_pins>; 111 + pinctrl-names = "default"; 112 + renesas,no-ether-link; 113 + phy-handle = <&phy0>; 114 + status = "okay"; 115 + 116 + phy0: ethernet-phy@0 { 117 + rxc-skew-ps = <900>; 118 + rxdv-skew-ps = <0>; 119 + rxd0-skew-ps = <0>; 120 + rxd1-skew-ps = <0>; 121 + rxd2-skew-ps = <0>; 122 + rxd3-skew-ps = <0>; 123 + txc-skew-ps = <900>; 124 + txen-skew-ps = <0>; 125 + txd0-skew-ps = <0>; 126 + txd1-skew-ps = <0>; 127 + txd2-skew-ps = <0>; 128 + txd3-skew-ps = <0>; 129 + reg = <0>; 130 + interrupt-parent = <&gpio2>; 131 + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 132 + }; 129 133 };
+554
arch/arm64/boot/dts/renesas/r8a7795.dtsi
··· 16 16 #address-cells = <2>; 17 17 #size-cells = <2>; 18 18 19 + aliases { 20 + i2c0 = &i2c0; 21 + i2c1 = &i2c1; 22 + i2c2 = &i2c2; 23 + i2c3 = &i2c3; 24 + i2c4 = &i2c4; 25 + i2c5 = &i2c5; 26 + i2c6 = &i2c6; 27 + }; 28 + 19 29 cpus { 20 30 #address-cells = <1>; 21 31 #size-cells = <0>; ··· 52 42 clock-frequency = <0>; 53 43 }; 54 44 45 + /* 46 + * The external audio clocks are configured as 0 Hz fixed frequency 47 + * clocks by default. 48 + * Boards that provide audio clocks should override them. 49 + */ 50 + audio_clk_a: audio_clk_a { 51 + compatible = "fixed-clock"; 52 + #clock-cells = <0>; 53 + clock-frequency = <0>; 54 + }; 55 + 56 + audio_clk_b: audio_clk_b { 57 + compatible = "fixed-clock"; 58 + #clock-cells = <0>; 59 + clock-frequency = <0>; 60 + }; 61 + 62 + audio_clk_c: audio_clk_c { 63 + compatible = "fixed-clock"; 64 + #clock-cells = <0>; 65 + clock-frequency = <0>; 66 + }; 67 + 55 68 soc { 56 69 compatible = "simple-bus"; 57 70 interrupt-parent = <&gic>; ··· 91 58 <0x0 0xf1020000 0 0x2000>; 92 59 interrupts = <GIC_PPI 9 93 60 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 61 + }; 62 + 63 + gpio0: gpio@e6050000 { 64 + compatible = "renesas,gpio-r8a7795", 65 + "renesas,gpio-rcar"; 66 + reg = <0 0xe6050000 0 0x50>; 67 + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 68 + #gpio-cells = <2>; 69 + gpio-controller; 70 + gpio-ranges = <&pfc 0 0 16>; 71 + #interrupt-cells = <2>; 72 + interrupt-controller; 73 + clocks = <&cpg CPG_MOD 912>; 74 + power-domains = <&cpg>; 75 + }; 76 + 77 + gpio1: gpio@e6051000 { 78 + compatible = "renesas,gpio-r8a7795", 79 + "renesas,gpio-rcar"; 80 + reg = <0 0xe6051000 0 0x50>; 81 + interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 82 + #gpio-cells = <2>; 83 + gpio-controller; 84 + gpio-ranges = <&pfc 0 32 28>; 85 + #interrupt-cells = <2>; 86 + interrupt-controller; 87 + clocks = <&cpg CPG_MOD 911>; 88 + power-domains = <&cpg>; 89 + }; 90 + 91 + gpio2: gpio@e6052000 { 92 + compatible = "renesas,gpio-r8a7795", 93 + "renesas,gpio-rcar"; 94 + reg = <0 0xe6052000 0 0x50>; 95 + interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 96 + #gpio-cells = <2>; 97 + gpio-controller; 98 + gpio-ranges = <&pfc 0 64 15>; 99 + #interrupt-cells = <2>; 100 + interrupt-controller; 101 + clocks = <&cpg CPG_MOD 910>; 102 + power-domains = <&cpg>; 103 + }; 104 + 105 + gpio3: gpio@e6053000 { 106 + compatible = "renesas,gpio-r8a7795", 107 + "renesas,gpio-rcar"; 108 + reg = <0 0xe6053000 0 0x50>; 109 + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 110 + #gpio-cells = <2>; 111 + gpio-controller; 112 + gpio-ranges = <&pfc 0 96 16>; 113 + #interrupt-cells = <2>; 114 + interrupt-controller; 115 + clocks = <&cpg CPG_MOD 909>; 116 + power-domains = <&cpg>; 117 + }; 118 + 119 + gpio4: gpio@e6054000 { 120 + compatible = "renesas,gpio-r8a7795", 121 + "renesas,gpio-rcar"; 122 + reg = <0 0xe6054000 0 0x50>; 123 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 124 + #gpio-cells = <2>; 125 + gpio-controller; 126 + gpio-ranges = <&pfc 0 128 18>; 127 + #interrupt-cells = <2>; 128 + interrupt-controller; 129 + clocks = <&cpg CPG_MOD 908>; 130 + power-domains = <&cpg>; 131 + }; 132 + 133 + gpio5: gpio@e6055000 { 134 + compatible = "renesas,gpio-r8a7795", 135 + "renesas,gpio-rcar"; 136 + reg = <0 0xe6055000 0 0x50>; 137 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 138 + #gpio-cells = <2>; 139 + gpio-controller; 140 + gpio-ranges = <&pfc 0 160 26>; 141 + #interrupt-cells = <2>; 142 + interrupt-controller; 143 + clocks = <&cpg CPG_MOD 907>; 144 + power-domains = <&cpg>; 145 + }; 146 + 147 + gpio6: gpio@e6055400 { 148 + compatible = "renesas,gpio-r8a7795", 149 + "renesas,gpio-rcar"; 150 + reg = <0 0xe6055400 0 0x50>; 151 + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 152 + #gpio-cells = <2>; 153 + gpio-controller; 154 + gpio-ranges = <&pfc 0 192 32>; 155 + #interrupt-cells = <2>; 156 + interrupt-controller; 157 + clocks = <&cpg CPG_MOD 906>; 158 + power-domains = <&cpg>; 159 + }; 160 + 161 + gpio7: gpio@e6055800 { 162 + compatible = "renesas,gpio-r8a7795", 163 + "renesas,gpio-rcar"; 164 + reg = <0 0xe6055800 0 0x50>; 165 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 166 + #gpio-cells = <2>; 167 + gpio-controller; 168 + gpio-ranges = <&pfc 0 224 4>; 169 + #interrupt-cells = <2>; 170 + interrupt-controller; 171 + clocks = <&cpg CPG_MOD 905>; 172 + power-domains = <&cpg>; 94 173 }; 95 174 96 175 timer { ··· 226 81 #power-domain-cells = <0>; 227 82 }; 228 83 84 + audma0: dma-controller@ec700000 { 85 + compatible = "renesas,rcar-dmac"; 86 + reg = <0 0xec700000 0 0x10000>; 87 + interrupts = <0 350 IRQ_TYPE_LEVEL_HIGH 88 + 0 320 IRQ_TYPE_LEVEL_HIGH 89 + 0 321 IRQ_TYPE_LEVEL_HIGH 90 + 0 322 IRQ_TYPE_LEVEL_HIGH 91 + 0 323 IRQ_TYPE_LEVEL_HIGH 92 + 0 324 IRQ_TYPE_LEVEL_HIGH 93 + 0 325 IRQ_TYPE_LEVEL_HIGH 94 + 0 326 IRQ_TYPE_LEVEL_HIGH 95 + 0 327 IRQ_TYPE_LEVEL_HIGH 96 + 0 328 IRQ_TYPE_LEVEL_HIGH 97 + 0 329 IRQ_TYPE_LEVEL_HIGH 98 + 0 330 IRQ_TYPE_LEVEL_HIGH 99 + 0 331 IRQ_TYPE_LEVEL_HIGH 100 + 0 332 IRQ_TYPE_LEVEL_HIGH 101 + 0 333 IRQ_TYPE_LEVEL_HIGH 102 + 0 334 IRQ_TYPE_LEVEL_HIGH 103 + 0 335 IRQ_TYPE_LEVEL_HIGH>; 104 + interrupt-names = "error", 105 + "ch0", "ch1", "ch2", "ch3", 106 + "ch4", "ch5", "ch6", "ch7", 107 + "ch8", "ch9", "ch10", "ch11", 108 + "ch12", "ch13", "ch14", "ch15"; 109 + clocks = <&cpg CPG_MOD 502>; 110 + clock-names = "fck"; 111 + power-domains = <&cpg>; 112 + #dma-cells = <1>; 113 + dma-channels = <16>; 114 + }; 115 + 116 + audma1: dma-controller@ec720000 { 117 + compatible = "renesas,rcar-dmac"; 118 + reg = <0 0xec720000 0 0x10000>; 119 + interrupts = <0 351 IRQ_TYPE_LEVEL_HIGH 120 + 0 336 IRQ_TYPE_LEVEL_HIGH 121 + 0 337 IRQ_TYPE_LEVEL_HIGH 122 + 0 338 IRQ_TYPE_LEVEL_HIGH 123 + 0 339 IRQ_TYPE_LEVEL_HIGH 124 + 0 340 IRQ_TYPE_LEVEL_HIGH 125 + 0 341 IRQ_TYPE_LEVEL_HIGH 126 + 0 342 IRQ_TYPE_LEVEL_HIGH 127 + 0 343 IRQ_TYPE_LEVEL_HIGH 128 + 0 344 IRQ_TYPE_LEVEL_HIGH 129 + 0 345 IRQ_TYPE_LEVEL_HIGH 130 + 0 346 IRQ_TYPE_LEVEL_HIGH 131 + 0 347 IRQ_TYPE_LEVEL_HIGH 132 + 0 348 IRQ_TYPE_LEVEL_HIGH 133 + 0 349 IRQ_TYPE_LEVEL_HIGH 134 + 0 382 IRQ_TYPE_LEVEL_HIGH 135 + 0 383 IRQ_TYPE_LEVEL_HIGH>; 136 + interrupt-names = "error", 137 + "ch0", "ch1", "ch2", "ch3", 138 + "ch4", "ch5", "ch6", "ch7", 139 + "ch8", "ch9", "ch10", "ch11", 140 + "ch12", "ch13", "ch14", "ch15"; 141 + clocks = <&cpg CPG_MOD 501>; 142 + clock-names = "fck"; 143 + power-domains = <&cpg>; 144 + #dma-cells = <1>; 145 + dma-channels = <16>; 146 + }; 147 + 229 148 pfc: pfc@e6060000 { 230 149 compatible = "renesas,pfc-r8a7795"; 231 150 reg = <0 0xe6060000 0 0x50c>; ··· 305 96 306 97 dmac2: dma-controller@e7310000 { 307 98 /* Empty node for now */ 99 + }; 100 + 101 + avb: ethernet@e6800000 { 102 + compatible = "renesas,etheravb-r8a7795"; 103 + reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>; 104 + interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 105 + <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 106 + <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 107 + <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 108 + <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 109 + <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 110 + <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, 111 + <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>, 112 + <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, 113 + <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, 114 + <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, 115 + <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>, 116 + <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 117 + <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 118 + <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 119 + <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 120 + <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 121 + <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 122 + <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 123 + <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 124 + <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 125 + <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 126 + <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 127 + <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, 128 + <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 129 + interrupt-names = "ch0", "ch1", "ch2", "ch3", 130 + "ch4", "ch5", "ch6", "ch7", 131 + "ch8", "ch9", "ch10", "ch11", 132 + "ch12", "ch13", "ch14", "ch15", 133 + "ch16", "ch17", "ch18", "ch19", 134 + "ch20", "ch21", "ch22", "ch23", 135 + "ch24"; 136 + clocks = <&cpg CPG_MOD 812>; 137 + power-domains = <&cpg>; 138 + phy-mode = "rgmii-id"; 139 + #address-cells = <1>; 140 + #size-cells = <0>; 141 + }; 142 + 143 + hscif0: serial@e6540000 { 144 + compatible = "renesas,hscif-r8a7795", "renesas,hscif"; 145 + reg = <0 0xe6540000 0 96>; 146 + interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 147 + clocks = <&cpg CPG_MOD 520>; 148 + clock-names = "sci_ick"; 149 + dmas = <&dmac1 0x31>, <&dmac1 0x30>; 150 + dma-names = "tx", "rx"; 151 + power-domains = <&cpg>; 152 + status = "disabled"; 153 + }; 154 + 155 + hscif1: serial@e6550000 { 156 + compatible = "renesas,hscif-r8a7795", "renesas,hscif"; 157 + reg = <0 0xe6550000 0 96>; 158 + interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 159 + clocks = <&cpg CPG_MOD 519>; 160 + clock-names = "sci_ick"; 161 + dmas = <&dmac1 0x33>, <&dmac1 0x32>; 162 + dma-names = "tx", "rx"; 163 + power-domains = <&cpg>; 164 + status = "disabled"; 165 + }; 166 + 167 + hscif2: serial@e6560000 { 168 + compatible = "renesas,hscif-r8a7795", "renesas,hscif"; 169 + reg = <0 0xe6560000 0 96>; 170 + interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 171 + clocks = <&cpg CPG_MOD 518>; 172 + clock-names = "sci_ick"; 173 + dmas = <&dmac1 0x35>, <&dmac1 0x34>; 174 + dma-names = "tx", "rx"; 175 + power-domains = <&cpg>; 176 + status = "disabled"; 177 + }; 178 + 179 + hscif3: serial@e66a0000 { 180 + compatible = "renesas,hscif-r8a7795", "renesas,hscif"; 181 + reg = <0 0xe66a0000 0 96>; 182 + interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 183 + clocks = <&cpg CPG_MOD 517>; 184 + clock-names = "sci_ick"; 185 + dmas = <&dmac0 0x37>, <&dmac0 0x36>; 186 + dma-names = "tx", "rx"; 187 + power-domains = <&cpg>; 188 + status = "disabled"; 189 + }; 190 + 191 + hscif4: serial@e66b0000 { 192 + compatible = "renesas,hscif-r8a7795", "renesas,hscif"; 193 + reg = <0 0xe66b0000 0 96>; 194 + interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 195 + clocks = <&cpg CPG_MOD 516>; 196 + clock-names = "sci_ick"; 197 + dmas = <&dmac0 0x39>, <&dmac0 0x38>; 198 + dma-names = "tx", "rx"; 199 + power-domains = <&cpg>; 200 + status = "disabled"; 308 201 }; 309 202 310 203 scif0: serial@e6e60000 { ··· 479 168 dma-names = "tx", "rx"; 480 169 power-domains = <&cpg>; 481 170 status = "disabled"; 171 + }; 172 + 173 + i2c0: i2c@e6500000 { 174 + #address-cells = <1>; 175 + #size-cells = <0>; 176 + compatible = "renesas,i2c-r8a7795"; 177 + reg = <0 0xe6500000 0 0x40>; 178 + interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 179 + clocks = <&cpg CPG_MOD 931>; 180 + power-domains = <&cpg>; 181 + status = "disabled"; 182 + }; 183 + 184 + i2c1: i2c@e6508000 { 185 + #address-cells = <1>; 186 + #size-cells = <0>; 187 + compatible = "renesas,i2c-r8a7795"; 188 + reg = <0 0xe6508000 0 0x40>; 189 + interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 190 + clocks = <&cpg CPG_MOD 930>; 191 + power-domains = <&cpg>; 192 + status = "disabled"; 193 + }; 194 + 195 + i2c2: i2c@e6510000 { 196 + #address-cells = <1>; 197 + #size-cells = <0>; 198 + compatible = "renesas,i2c-r8a7795"; 199 + reg = <0 0xe6510000 0 0x40>; 200 + interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; 201 + clocks = <&cpg CPG_MOD 929>; 202 + power-domains = <&cpg>; 203 + status = "disabled"; 204 + }; 205 + 206 + i2c3: i2c@e66d0000 { 207 + #address-cells = <1>; 208 + #size-cells = <0>; 209 + compatible = "renesas,i2c-r8a7795"; 210 + reg = <0 0xe66d0000 0 0x40>; 211 + interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; 212 + clocks = <&cpg CPG_MOD 928>; 213 + power-domains = <&cpg>; 214 + status = "disabled"; 215 + }; 216 + 217 + i2c4: i2c@e66d8000 { 218 + #address-cells = <1>; 219 + #size-cells = <0>; 220 + compatible = "renesas,i2c-r8a7795"; 221 + reg = <0 0xe66d8000 0 0x40>; 222 + interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 223 + clocks = <&cpg CPG_MOD 927>; 224 + power-domains = <&cpg>; 225 + status = "disabled"; 226 + }; 227 + 228 + i2c5: i2c@e66e0000 { 229 + #address-cells = <1>; 230 + #size-cells = <0>; 231 + compatible = "renesas,i2c-r8a7795"; 232 + reg = <0 0xe66e0000 0 0x40>; 233 + interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 234 + clocks = <&cpg CPG_MOD 919>; 235 + power-domains = <&cpg>; 236 + status = "disabled"; 237 + }; 238 + 239 + i2c6: i2c@e66e8000 { 240 + #address-cells = <1>; 241 + #size-cells = <0>; 242 + compatible = "renesas,i2c-r8a7795"; 243 + reg = <0 0xe66e8000 0 0x40>; 244 + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 245 + clocks = <&cpg CPG_MOD 918>; 246 + power-domains = <&cpg>; 247 + status = "disabled"; 248 + }; 249 + 250 + rcar_sound: sound@ec500000 { 251 + /* 252 + * #sound-dai-cells is required 253 + * 254 + * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>; 255 + * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>; 256 + */ 257 + /* 258 + * #clock-cells is required for audio_clkout0/1/2/3 259 + * 260 + * clkout : #clock-cells = <0>; <&rcar_sound>; 261 + * clkout0/1/2/3: #clock-cells = <1>; <&rcar_sound N>; 262 + */ 263 + compatible = "renesas,rcar_sound-r8a7795", "renesas,rcar_sound-gen3"; 264 + reg = <0 0xec500000 0 0x1000>, /* SCU */ 265 + <0 0xec5a0000 0 0x100>, /* ADG */ 266 + <0 0xec540000 0 0x1000>, /* SSIU */ 267 + <0 0xec541000 0 0x280>, /* SSI */ 268 + <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/ 269 + reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; 270 + 271 + clocks = <&cpg CPG_MOD 1005>, 272 + <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, 273 + <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, 274 + <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, 275 + <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, 276 + <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, 277 + <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, 278 + <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, 279 + <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 280 + <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 281 + <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 282 + <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 283 + <&audio_clk_a>, <&audio_clk_b>, 284 + <&audio_clk_c>, 285 + <&cpg CPG_CORE R8A7795_CLK_S0D4>; 286 + clock-names = "ssi-all", 287 + "ssi.9", "ssi.8", "ssi.7", "ssi.6", 288 + "ssi.5", "ssi.4", "ssi.3", "ssi.2", 289 + "ssi.1", "ssi.0", 290 + "src.9", "src.8", "src.7", "src.6", 291 + "src.5", "src.4", "src.3", "src.2", 292 + "src.1", "src.0", 293 + "dvc.0", "dvc.1", 294 + "clk_a", "clk_b", "clk_c", "clk_i"; 295 + power-domains = <&cpg>; 296 + status = "disabled"; 297 + 298 + rcar_sound,dvc { 299 + dvc0: dvc@0 { 300 + dmas = <&audma0 0xbc>; 301 + dma-names = "tx"; 302 + }; 303 + dvc1: dvc@1 { 304 + dmas = <&audma0 0xbe>; 305 + dma-names = "tx"; 306 + }; 307 + }; 308 + 309 + rcar_sound,src { 310 + src0: src@0 { 311 + interrupts = <0 352 IRQ_TYPE_LEVEL_HIGH>; 312 + dmas = <&audma0 0x85>, <&audma1 0x9a>; 313 + dma-names = "rx", "tx"; 314 + }; 315 + src1: src@1 { 316 + interrupts = <0 353 IRQ_TYPE_LEVEL_HIGH>; 317 + dmas = <&audma0 0x87>, <&audma1 0x9c>; 318 + dma-names = "rx", "tx"; 319 + }; 320 + src2: src@2 { 321 + interrupts = <0 354 IRQ_TYPE_LEVEL_HIGH>; 322 + dmas = <&audma0 0x89>, <&audma1 0x9e>; 323 + dma-names = "rx", "tx"; 324 + }; 325 + src3: src@3 { 326 + interrupts = <0 355 IRQ_TYPE_LEVEL_HIGH>; 327 + dmas = <&audma0 0x8b>, <&audma1 0xa0>; 328 + dma-names = "rx", "tx"; 329 + }; 330 + src4: src@4 { 331 + interrupts = <0 356 IRQ_TYPE_LEVEL_HIGH>; 332 + dmas = <&audma0 0x8d>, <&audma1 0xb0>; 333 + dma-names = "rx", "tx"; 334 + }; 335 + src5: src@5 { 336 + interrupts = <0 357 IRQ_TYPE_LEVEL_HIGH>; 337 + dmas = <&audma0 0x8f>, <&audma1 0xb2>; 338 + dma-names = "rx", "tx"; 339 + }; 340 + src6: src@6 { 341 + interrupts = <0 358 IRQ_TYPE_LEVEL_HIGH>; 342 + dmas = <&audma0 0x91>, <&audma1 0xb4>; 343 + dma-names = "rx", "tx"; 344 + }; 345 + src7: src@7 { 346 + interrupts = <0 359 IRQ_TYPE_LEVEL_HIGH>; 347 + dmas = <&audma0 0x93>, <&audma1 0xb6>; 348 + dma-names = "rx", "tx"; 349 + }; 350 + src8: src@8 { 351 + interrupts = <0 360 IRQ_TYPE_LEVEL_HIGH>; 352 + dmas = <&audma0 0x95>, <&audma1 0xb8>; 353 + dma-names = "rx", "tx"; 354 + }; 355 + src9: src@9 { 356 + interrupts = <0 361 IRQ_TYPE_LEVEL_HIGH>; 357 + dmas = <&audma0 0x97>, <&audma1 0xba>; 358 + dma-names = "rx", "tx"; 359 + }; 360 + }; 361 + 362 + rcar_sound,ssi { 363 + ssi0: ssi@0 { 364 + interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>; 365 + dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>; 366 + dma-names = "rx", "tx", "rxu", "txu"; 367 + }; 368 + ssi1: ssi@1 { 369 + interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>; 370 + dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>; 371 + dma-names = "rx", "tx", "rxu", "txu"; 372 + }; 373 + ssi2: ssi@2 { 374 + interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>; 375 + dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>; 376 + dma-names = "rx", "tx", "rxu", "txu"; 377 + }; 378 + ssi3: ssi@3 { 379 + interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>; 380 + dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>; 381 + dma-names = "rx", "tx", "rxu", "txu"; 382 + }; 383 + ssi4: ssi@4 { 384 + interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>; 385 + dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>; 386 + dma-names = "rx", "tx", "rxu", "txu"; 387 + }; 388 + ssi5: ssi@5 { 389 + interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>; 390 + dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>; 391 + dma-names = "rx", "tx", "rxu", "txu"; 392 + }; 393 + ssi6: ssi@6 { 394 + interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>; 395 + dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>; 396 + dma-names = "rx", "tx", "rxu", "txu"; 397 + }; 398 + ssi7: ssi@7 { 399 + interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>; 400 + dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>; 401 + dma-names = "rx", "tx", "rxu", "txu"; 402 + }; 403 + ssi8: ssi@8 { 404 + interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>; 405 + dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>; 406 + dma-names = "rx", "tx", "rxu", "txu"; 407 + }; 408 + ssi9: ssi@9 { 409 + interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; 410 + dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>; 411 + dma-names = "rx", "tx", "rxu", "txu"; 412 + }; 413 + }; 482 414 }; 483 415 }; 484 416 };