Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb21a0ac authored by Katsuhiro Suzuki's avatar Katsuhiro Suzuki Committed by Masahiro Yamada
Browse files

arm64: dts: uniphier: add sound node



This patch adds audio controller, codec and simple card node of
UniPhier AIO sound system for LD11/20 SoCs.

Signed-off-by: default avatarKatsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 606c1837
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -37,6 +37,26 @@
		device_type = "memory";
		reg = <0 0x80000000 0 0x40000000>;
	};

	sound {
		compatible = "audio-graph-card";
		label = "UniPhier LD11";
		widgets = "Headphone", "Headphone Jack";
		dais = <&i2s_port2
			&i2s_port4
			&spdif_port0>;
	};

	spdif-out {
		compatible = "linux,spdif-dit";
		#sound-dai-cells = <0>;

		port@0 {
			spdif_tx: endpoint {
				remote-endpoint = <&spdif_hiecout1>;
			};
		};
	};
};

&serial0 {
@@ -47,6 +67,10 @@
	status = "okay";
};

&spdif_hiecout1 {
	remote-endpoint = <&spdif_tx>;
};

&i2c0 {
	status = "okay";

+94 −0
Original line number Diff line number Diff line
@@ -187,6 +187,91 @@
						     <21 217 3>;
		};

		audio@56000000 {
			compatible = "socionext,uniphier-ld11-aio";
			reg = <0x56000000 0x80000>;
			interrupts = <0 144 4>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_aout1>,
				    <&pinctrl_aoutiec1>;
			clock-names = "aio";
			clocks = <&sys_clk 40>;
			reset-names = "aio";
			resets = <&sys_rst 40>;
			#sound-dai-cells = <1>;

			i2s_port0: port@0 {
				i2s_hdmi: endpoint {
				};
			};

			i2s_port1: port@1 {
				i2s_pcmin2: endpoint {
				};
			};

			i2s_port2: port@2 {
				i2s_line: endpoint {
					dai-format = "i2s";
					remote-endpoint = <&evea_line>;
				};
			};

			i2s_port3: port@3 {
				i2s_hpcmout1: endpoint {
				};
			};

			i2s_port4: port@4 {
				i2s_hp: endpoint {
					dai-format = "i2s";
					remote-endpoint = <&evea_hp>;
				};
			};

			spdif_port0: port@5 {
				spdif_hiecout1: endpoint {
				};
			};

			src_port0: port@6 {
				i2s_epcmout2: endpoint {
				};
			};

			src_port1: port@7 {
				i2s_epcmout3: endpoint {
				};
			};

			comp_spdif_port0: port@8 {
				comp_spdif_hiecout1: endpoint {
				};
			};
		};

		codec@57900000 {
			compatible = "socionext,uniphier-evea";
			reg = <0x57900000 0x1000>;
			clock-names = "evea", "exiv";
			clocks = <&sys_clk 41>, <&sys_clk 42>;
			reset-names = "evea", "exiv", "adamv";
			resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
			#sound-dai-cells = <1>;

			port@0 {
				evea_line: endpoint {
					remote-endpoint = <&i2s_line>;
				};
			};

			port@1 {
				evea_hp: endpoint {
					remote-endpoint = <&i2s_hp>;
				};
			};
		};

		adamv@57920000 {
			compatible = "socionext,uniphier-ld11-adamv",
				     "simple-mfd", "syscon";
@@ -475,3 +560,12 @@
};

#include "uniphier-pinctrl.dtsi"

&pinctrl_aoutiec1 {
	drive-strength = <4>;	/* default: 4mA */

	ao1arc {
		pins = "AO1ARC";
		drive-strength = <8>;	/* 8mA */
	};
};
+24 −0
Original line number Diff line number Diff line
@@ -37,6 +37,26 @@
		device_type = "memory";
		reg = <0 0x80000000 0 0xc0000000>;
	};

	sound {
		compatible = "audio-graph-card";
		label = "UniPhier LD20";
		widgets = "Headphone", "Headphone Jack";
		dais = <&i2s_port2
			&i2s_port4
			&spdif_port0>;
	};

	spdif-out {
		compatible = "linux,spdif-dit";
		#sound-dai-cells = <0>;

		port@0 {
			spdif_tx: endpoint {
				remote-endpoint = <&spdif_hiecout1>;
			};
		};
	};
};

&serial0 {
@@ -47,6 +67,10 @@
	status = "okay";
};

&spdif_hiecout1 {
	remote-endpoint = <&spdif_tx>;
};

&i2c0 {
	status = "okay";
};
+103 −0
Original line number Diff line number Diff line
@@ -287,6 +287,91 @@
						     <21 217 3>;
		};

		audio@56000000 {
			compatible = "socionext,uniphier-ld20-aio";
			reg = <0x56000000 0x80000>;
			interrupts = <0 144 4>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_aout1>,
				    <&pinctrl_aoutiec1>;
			clock-names = "aio";
			clocks = <&sys_clk 40>;
			reset-names = "aio";
			resets = <&sys_rst 40>;
			#sound-dai-cells = <1>;

			i2s_port0: port@0 {
				i2s_hdmi: endpoint {
				};
			};

			i2s_port1: port@1 {
				i2s_pcmin2: endpoint {
				};
			};

			i2s_port2: port@2 {
				i2s_line: endpoint {
					dai-format = "i2s";
					remote-endpoint = <&evea_line>;
				};
			};

			i2s_port3: port@3 {
				i2s_hpcmout1: endpoint {
				};
			};

			i2s_port4: port@4 {
				i2s_hp: endpoint {
					dai-format = "i2s";
					remote-endpoint = <&evea_hp>;
				};
			};

			spdif_port0: port@5 {
				spdif_hiecout1: endpoint {
				};
			};

			src_port0: port@6 {
				i2s_epcmout2: endpoint {
				};
			};

			src_port1: port@7 {
				i2s_epcmout3: endpoint {
				};
			};

			comp_spdif_port0: port@8 {
				comp_spdif_hiecout1: endpoint {
				};
			};
		};

		codec@57900000 {
			compatible = "socionext,uniphier-evea";
			reg = <0x57900000 0x1000>;
			clock-names = "evea", "exiv";
			clocks = <&sys_clk 41>, <&sys_clk 42>;
			reset-names = "evea", "exiv", "adamv";
			resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
			#sound-dai-cells = <1>;

			port@0 {
				evea_line: endpoint {
					remote-endpoint = <&i2s_line>;
				};
			};

			port@1 {
				evea_hp: endpoint {
					remote-endpoint = <&i2s_hp>;
				};
			};
		};

		adamv@57920000 {
			compatible = "socionext,uniphier-ld20-adamv",
				     "simple-mfd", "syscon";
@@ -528,3 +613,21 @@
};

#include "uniphier-pinctrl.dtsi"

&pinctrl_aout1 {
	drive-strength = <4>;	/* default: 3.5mA */

	ao1dacck {
		pins = "AO1DACCK";
		drive-strength = <5>;	/* 5mA */
	};
};

&pinctrl_aoutiec1 {
	drive-strength = <4>;	/* default: 3.5mA */

	ao1arc {
		pins = "AO1ARC";
		drive-strength = <11>;	/* 11mA */
	};
};