diff options
| -rw-r--r-- | arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 140 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/renesas/r8a7795.dtsi | 554 | 
2 files changed, 693 insertions, 1 deletions
| diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts index a3db98384e53..c5f709e7c0ba 100644 --- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts +++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts @@ -8,6 +8,29 @@   * kind, whether express or implied.   */ +/* + * SSI-AK4613 + * + * This command is required when Playback/Capture + * + *	amixer set "DVC Out" 100% + *	amixer set "DVC In" 100% + * + * You can use Mute + * + *	amixer set "DVC Out Mute" on + *	amixer set "DVC In Mute" on + * + * You can use Volume Ramp + * + *	amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps" + *	amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" + *	amixer set "DVC Out Ramp" on + *	aplay xxx.wav & + *	amixer set "DVC Out"  80%  // Volume Down + *	amixer set "DVC Out" 100%  // Volume Up + */ +  /dts-v1/;  #include "r8a7795.dtsi" @@ -18,10 +41,11 @@  	aliases {  		serial0 = &scif2;  		serial1 = &scif1; +		ethernet0 = &avb;  	};  	chosen { -		bootargs = "ignore_loglevel"; +		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";  		stdout-path = "serial0:115200n8";  	}; @@ -30,6 +54,28 @@  		/* first 128MB is reserved for secure area. */  		reg = <0x0 0x48000000 0x0 0x38000000>;  	}; + +	x12_clk: x12_clk { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <24576000>; +	}; + +	rsnd_ak4613: sound { +		compatible = "simple-audio-card"; + +		simple-audio-card,format = "left_j"; +		simple-audio-card,bitclock-master = <&sndcpu>; +		simple-audio-card,frame-master = <&sndcpu>; + +		sndcpu: simple-audio-card,cpu { +			sound-dai = <&rcar_sound>; +		}; + +		sndcodec: simple-audio-card,codec { +			sound-dai = <&ak4613>; +		}; +	};  };  &extal_clk { @@ -45,6 +91,27 @@  		renesas,groups = "scif2_data_a";  		renesas,function = "scif2";  	}; + +	i2c2_pins: i2c2 { +		renesas,groups = "i2c2_a"; +		renesas,function = "i2c2"; +	}; + +	avb_pins: avb { +		renesas,groups = "avb_mdc"; +		renesas,function = "avb"; +	}; + +	sound_pins: sound { +		renesas,groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a"; +		renesas,function = "ssi"; +	}; + +	sound_clk_pins: sound_clk { +		renesas,groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a", +				 "audio_clkout_a", "audio_clkout3_a"; +		renesas,function = "audio_clk"; +	};  };  &scif1 { @@ -60,3 +127,74 @@  	status = "okay";  }; + +&i2c2 { +	pinctrl-0 = <&i2c2_pins>; +	pinctrl-names = "default"; + +	status = "okay"; + +	clock-frequency = <100000>; + +	ak4613: codec@10 { +		compatible = "asahi-kasei,ak4613"; +		#sound-dai-cells = <0>; +		reg = <0x10>; +		clocks = <&rcar_sound 3>; +	}; +}; + +&rcar_sound { +	pinctrl-0 = <&sound_pins &sound_clk_pins>; +	pinctrl-names = "default"; + +	/* Single DAI */ +	#sound-dai-cells = <0>; + +	/* audio_clkout0/1/2/3 */ +	#clock-cells = <1>; +	clock-frequency = <11289600>; + +	status = "okay"; + +	rcar_sound,dai { +		dai0 { +			playback = <&ssi0 &src0 &dvc0>; +			capture  = <&ssi1 &src1 &dvc1>; +		}; +	}; +}; + +&ssi1 { +	shared-pin; +}; + +&audio_clk_a { +	clock-frequency = <22579200>; +}; + +&avb { +	pinctrl-0 = <&avb_pins>; +	pinctrl-names = "default"; +	renesas,no-ether-link; +	phy-handle = <&phy0>; +	status = "okay"; + +	phy0: ethernet-phy@0 { +		rxc-skew-ps = <900>; +		rxdv-skew-ps = <0>; +		rxd0-skew-ps = <0>; +		rxd1-skew-ps = <0>; +		rxd2-skew-ps = <0>; +		rxd3-skew-ps = <0>; +		txc-skew-ps = <900>; +		txen-skew-ps = <0>; +		txd0-skew-ps = <0>; +		txd1-skew-ps = <0>; +		txd2-skew-ps = <0>; +		txd3-skew-ps = <0>; +		reg = <0>; +		interrupt-parent = <&gpio2>; +		interrupts = <11 IRQ_TYPE_LEVEL_LOW>; +	}; +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi index e26eecf1230f..b1902ea1dae4 100644 --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi @@ -16,6 +16,16 @@  	#address-cells = <2>;  	#size-cells = <2>; +	aliases { +		i2c0 = &i2c0; +		i2c1 = &i2c1; +		i2c2 = &i2c2; +		i2c3 = &i2c3; +		i2c4 = &i2c4; +		i2c5 = &i2c5; +		i2c6 = &i2c6; +	}; +  	cpus {  		#address-cells = <1>;  		#size-cells = <0>; @@ -42,6 +52,29 @@  		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_clk_a: audio_clk_a { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <0>; +	}; + +	audio_clk_b: audio_clk_b { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <0>; +	}; + +	audio_clk_c: audio_clk_c { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <0>; +	}; +  	soc {  		compatible = "simple-bus";  		interrupt-parent = <&gic>; @@ -60,6 +93,118 @@  					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;  		}; +		gpio0: gpio@e6050000 { +			compatible = "renesas,gpio-r8a7795", +				     "renesas,gpio-rcar"; +			reg = <0 0xe6050000 0 0x50>; +			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; +			#gpio-cells = <2>; +			gpio-controller; +			gpio-ranges = <&pfc 0 0 16>; +			#interrupt-cells = <2>; +			interrupt-controller; +			clocks = <&cpg CPG_MOD 912>; +			power-domains = <&cpg>; +		}; + +		gpio1: gpio@e6051000 { +			compatible = "renesas,gpio-r8a7795", +				     "renesas,gpio-rcar"; +			reg = <0 0xe6051000 0 0x50>; +			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; +			#gpio-cells = <2>; +			gpio-controller; +			gpio-ranges = <&pfc 0 32 28>; +			#interrupt-cells = <2>; +			interrupt-controller; +			clocks = <&cpg CPG_MOD 911>; +			power-domains = <&cpg>; +		}; + +		gpio2: gpio@e6052000 { +			compatible = "renesas,gpio-r8a7795", +				     "renesas,gpio-rcar"; +			reg = <0 0xe6052000 0 0x50>; +			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; +			#gpio-cells = <2>; +			gpio-controller; +			gpio-ranges = <&pfc 0 64 15>; +			#interrupt-cells = <2>; +			interrupt-controller; +			clocks = <&cpg CPG_MOD 910>; +			power-domains = <&cpg>; +		}; + +		gpio3: gpio@e6053000 { +			compatible = "renesas,gpio-r8a7795", +				     "renesas,gpio-rcar"; +			reg = <0 0xe6053000 0 0x50>; +			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; +			#gpio-cells = <2>; +			gpio-controller; +			gpio-ranges = <&pfc 0 96 16>; +			#interrupt-cells = <2>; +			interrupt-controller; +			clocks = <&cpg CPG_MOD 909>; +			power-domains = <&cpg>; +		}; + +		gpio4: gpio@e6054000 { +			compatible = "renesas,gpio-r8a7795", +				     "renesas,gpio-rcar"; +			reg = <0 0xe6054000 0 0x50>; +			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; +			#gpio-cells = <2>; +			gpio-controller; +			gpio-ranges = <&pfc 0 128 18>; +			#interrupt-cells = <2>; +			interrupt-controller; +			clocks = <&cpg CPG_MOD 908>; +			power-domains = <&cpg>; +		}; + +		gpio5: gpio@e6055000 { +			compatible = "renesas,gpio-r8a7795", +				     "renesas,gpio-rcar"; +			reg = <0 0xe6055000 0 0x50>; +			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; +			#gpio-cells = <2>; +			gpio-controller; +			gpio-ranges = <&pfc 0 160 26>; +			#interrupt-cells = <2>; +			interrupt-controller; +			clocks = <&cpg CPG_MOD 907>; +			power-domains = <&cpg>; +		}; + +		gpio6: gpio@e6055400 { +			compatible = "renesas,gpio-r8a7795", +				     "renesas,gpio-rcar"; +			reg = <0 0xe6055400 0 0x50>; +			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; +			#gpio-cells = <2>; +			gpio-controller; +			gpio-ranges = <&pfc 0 192 32>; +			#interrupt-cells = <2>; +			interrupt-controller; +			clocks = <&cpg CPG_MOD 906>; +			power-domains = <&cpg>; +		}; + +		gpio7: gpio@e6055800 { +			compatible = "renesas,gpio-r8a7795", +				     "renesas,gpio-rcar"; +			reg = <0 0xe6055800 0 0x50>; +			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; +			#gpio-cells = <2>; +			gpio-controller; +			gpio-ranges = <&pfc 0 224 4>; +			#interrupt-cells = <2>; +			interrupt-controller; +			clocks = <&cpg CPG_MOD 905>; +			power-domains = <&cpg>; +		}; +  		timer {  			compatible = "arm,armv8-timer";  			interrupts = <GIC_PPI 13 @@ -81,6 +226,70 @@  			#power-domain-cells = <0>;  		}; +		audma0: dma-controller@ec700000 { +			compatible = "renesas,rcar-dmac"; +			reg = <0 0xec700000 0 0x10000>; +			interrupts =	<0 350 IRQ_TYPE_LEVEL_HIGH +					 0 320 IRQ_TYPE_LEVEL_HIGH +					 0 321 IRQ_TYPE_LEVEL_HIGH +					 0 322 IRQ_TYPE_LEVEL_HIGH +					 0 323 IRQ_TYPE_LEVEL_HIGH +					 0 324 IRQ_TYPE_LEVEL_HIGH +					 0 325 IRQ_TYPE_LEVEL_HIGH +					 0 326 IRQ_TYPE_LEVEL_HIGH +					 0 327 IRQ_TYPE_LEVEL_HIGH +					 0 328 IRQ_TYPE_LEVEL_HIGH +					 0 329 IRQ_TYPE_LEVEL_HIGH +					 0 330 IRQ_TYPE_LEVEL_HIGH +					 0 331 IRQ_TYPE_LEVEL_HIGH +					 0 332 IRQ_TYPE_LEVEL_HIGH +					 0 333 IRQ_TYPE_LEVEL_HIGH +					 0 334 IRQ_TYPE_LEVEL_HIGH +					 0 335 IRQ_TYPE_LEVEL_HIGH>; +			interrupt-names = "error", +					"ch0", "ch1", "ch2", "ch3", +					"ch4", "ch5", "ch6", "ch7", +					"ch8", "ch9", "ch10", "ch11", +					"ch12", "ch13", "ch14", "ch15"; +			clocks = <&cpg CPG_MOD 502>; +			clock-names = "fck"; +			power-domains = <&cpg>; +			#dma-cells = <1>; +			dma-channels = <16>; +		}; + +		audma1: dma-controller@ec720000 { +			compatible = "renesas,rcar-dmac"; +			reg = <0 0xec720000 0 0x10000>; +			interrupts =	<0 351 IRQ_TYPE_LEVEL_HIGH +					 0 336 IRQ_TYPE_LEVEL_HIGH +					 0 337 IRQ_TYPE_LEVEL_HIGH +					 0 338 IRQ_TYPE_LEVEL_HIGH +					 0 339 IRQ_TYPE_LEVEL_HIGH +					 0 340 IRQ_TYPE_LEVEL_HIGH +					 0 341 IRQ_TYPE_LEVEL_HIGH +					 0 342 IRQ_TYPE_LEVEL_HIGH +					 0 343 IRQ_TYPE_LEVEL_HIGH +					 0 344 IRQ_TYPE_LEVEL_HIGH +					 0 345 IRQ_TYPE_LEVEL_HIGH +					 0 346 IRQ_TYPE_LEVEL_HIGH +					 0 347 IRQ_TYPE_LEVEL_HIGH +					 0 348 IRQ_TYPE_LEVEL_HIGH +					 0 349 IRQ_TYPE_LEVEL_HIGH +					 0 382 IRQ_TYPE_LEVEL_HIGH +					 0 383 IRQ_TYPE_LEVEL_HIGH>; +			interrupt-names = "error", +					"ch0", "ch1", "ch2", "ch3", +					"ch4", "ch5", "ch6", "ch7", +					"ch8", "ch9", "ch10", "ch11", +					"ch12", "ch13", "ch14", "ch15"; +			clocks = <&cpg CPG_MOD 501>; +			clock-names = "fck"; +			power-domains = <&cpg>; +			#dma-cells = <1>; +			dma-channels = <16>; +		}; +  		pfc: pfc@e6060000 {  			compatible = "renesas,pfc-r8a7795";  			reg = <0 0xe6060000 0 0x50c>; @@ -98,6 +307,108 @@  			/* Empty node for now */  		}; +		avb: ethernet@e6800000 { +			compatible = "renesas,etheravb-r8a7795"; +			reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>; +			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, +				     <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; +			interrupt-names = "ch0", "ch1", "ch2", "ch3", +					  "ch4", "ch5", "ch6", "ch7", +					  "ch8", "ch9", "ch10", "ch11", +					  "ch12", "ch13", "ch14", "ch15", +					  "ch16", "ch17", "ch18", "ch19", +					  "ch20", "ch21", "ch22", "ch23", +					  "ch24"; +			clocks = <&cpg CPG_MOD 812>; +			power-domains = <&cpg>; +			phy-mode = "rgmii-id"; +			#address-cells = <1>; +			#size-cells = <0>; +		}; + +		hscif0: serial@e6540000 { +			compatible = "renesas,hscif-r8a7795", "renesas,hscif"; +			reg = <0 0xe6540000 0 96>; +			interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 520>; +			clock-names = "sci_ick"; +			dmas = <&dmac1 0x31>, <&dmac1 0x30>; +			dma-names = "tx", "rx"; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		hscif1: serial@e6550000 { +			compatible = "renesas,hscif-r8a7795", "renesas,hscif"; +			reg = <0 0xe6550000 0 96>; +			interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 519>; +			clock-names = "sci_ick"; +			dmas = <&dmac1 0x33>, <&dmac1 0x32>; +			dma-names = "tx", "rx"; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		hscif2: serial@e6560000 { +			compatible = "renesas,hscif-r8a7795", "renesas,hscif"; +			reg = <0 0xe6560000 0 96>; +			interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 518>; +			clock-names = "sci_ick"; +			dmas = <&dmac1 0x35>, <&dmac1 0x34>; +			dma-names = "tx", "rx"; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		hscif3: serial@e66a0000 { +			compatible = "renesas,hscif-r8a7795", "renesas,hscif"; +			reg = <0 0xe66a0000 0 96>; +			interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 517>; +			clock-names = "sci_ick"; +			dmas = <&dmac0 0x37>, <&dmac0 0x36>; +			dma-names = "tx", "rx"; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		hscif4: serial@e66b0000 { +			compatible = "renesas,hscif-r8a7795", "renesas,hscif"; +			reg = <0 0xe66b0000 0 96>; +			interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 516>; +			clock-names = "sci_ick"; +			dmas = <&dmac0 0x39>, <&dmac0 0x38>; +			dma-names = "tx", "rx"; +			power-domains = <&cpg>; +			status = "disabled"; +		}; +  		scif0: serial@e6e60000 {  			compatible = "renesas,scif-r8a7795", "renesas,scif";  			reg = <0 0xe6e60000 0 64>; @@ -169,5 +480,248 @@  			power-domains = <&cpg>;  			status = "disabled";  		}; + +		i2c0: i2c@e6500000 { +			#address-cells = <1>; +			#size-cells = <0>; +			compatible = "renesas,i2c-r8a7795"; +			reg = <0 0xe6500000 0 0x40>; +			interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 931>; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		i2c1: i2c@e6508000 { +			#address-cells = <1>; +			#size-cells = <0>; +			compatible = "renesas,i2c-r8a7795"; +			reg = <0 0xe6508000 0 0x40>; +			interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 930>; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		i2c2: i2c@e6510000 { +			#address-cells = <1>; +			#size-cells = <0>; +			compatible = "renesas,i2c-r8a7795"; +			reg = <0 0xe6510000 0 0x40>; +			interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 929>; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		i2c3: i2c@e66d0000 { +			#address-cells = <1>; +			#size-cells = <0>; +			compatible = "renesas,i2c-r8a7795"; +			reg = <0 0xe66d0000 0 0x40>; +			interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 928>; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		i2c4: i2c@e66d8000 { +			#address-cells = <1>; +			#size-cells = <0>; +			compatible = "renesas,i2c-r8a7795"; +			reg = <0 0xe66d8000 0 0x40>; +			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 927>; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		i2c5: i2c@e66e0000 { +			#address-cells = <1>; +			#size-cells = <0>; +			compatible = "renesas,i2c-r8a7795"; +			reg = <0 0xe66e0000 0 0x40>; +			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 919>; +			power-domains = <&cpg>; +			status = "disabled"; +		}; + +		i2c6: i2c@e66e8000 { +			#address-cells = <1>; +			#size-cells = <0>; +			compatible = "renesas,i2c-r8a7795"; +			reg = <0 0xe66e8000 0 0x40>; +			interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; +			clocks = <&cpg CPG_MOD 918>; +			power-domains = <&cpg>; +			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>; +			 */ +			/* +			 * #clock-cells is required for audio_clkout0/1/2/3 +			 * +			 * clkout	: #clock-cells = <0>;	<&rcar_sound>; +			 * clkout0/1/2/3: #clock-cells = <1>;	<&rcar_sound N>; +			 */ +			compatible =  "renesas,rcar_sound-r8a7795", "renesas,rcar_sound-gen3"; +			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 = <&cpg CPG_MOD 1005>, +				 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, +				 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, +				 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, +				 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, +				 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, +				 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, +				 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, +				 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, +				 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, +				 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, +				 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, +				 <&audio_clk_a>, <&audio_clk_b>, +				 <&audio_clk_c>, +				 <&cpg CPG_CORE R8A7795_CLK_S0D4>; +			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.9", "src.8", "src.7", "src.6", +				      "src.5", "src.4", "src.3", "src.2", +				      "src.1", "src.0", +				      "dvc.0", "dvc.1", +				      "clk_a", "clk_b", "clk_c", "clk_i"; +			power-domains = <&cpg>; +			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,src { +				src0: src@0 { +					interrupts = <0 352 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x85>, <&audma1 0x9a>; +					dma-names = "rx", "tx"; +				}; +				src1: src@1 { +					interrupts = <0 353 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x87>, <&audma1 0x9c>; +					dma-names = "rx", "tx"; +				}; +				src2: src@2 { +					interrupts = <0 354 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x89>, <&audma1 0x9e>; +					dma-names = "rx", "tx"; +				}; +				src3: src@3 { +					interrupts = <0 355 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x8b>, <&audma1 0xa0>; +					dma-names = "rx", "tx"; +				}; +				src4: src@4 { +					interrupts = <0 356 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x8d>, <&audma1 0xb0>; +					dma-names = "rx", "tx"; +				}; +				src5: src@5 { +					interrupts = <0 357 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x8f>, <&audma1 0xb2>; +					dma-names = "rx", "tx"; +				}; +				src6: src@6 { +					interrupts = <0 358 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x91>, <&audma1 0xb4>; +					dma-names = "rx", "tx"; +				}; +				src7: src@7 { +					interrupts = <0 359 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x93>, <&audma1 0xb6>; +					dma-names = "rx", "tx"; +				}; +				src8: src@8 { +					interrupts = <0 360 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x95>, <&audma1 0xb8>; +					dma-names = "rx", "tx"; +				}; +				src9: src@9 { +					interrupts = <0 361 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x97>, <&audma1 0xba>; +					dma-names = "rx", "tx"; +				}; +			}; + +			rcar_sound,ssi { +				ssi0: ssi@0 { +					interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +				ssi1: ssi@1 { +					 interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +				ssi2: ssi@2 { +					interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +				ssi3: ssi@3 { +					interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +				ssi4: ssi@4 { +					interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +				ssi5: ssi@5 { +					interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +				ssi6: ssi@6 { +					interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +				ssi7: ssi@7 { +					interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +				ssi8: ssi@8 { +					interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +				ssi9: ssi@9 { +					interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; +					dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>; +					dma-names = "rx", "tx", "rxu", "txu"; +				}; +			}; +		};  	};  }; | 
