Commit a553f90b authored by Simon Shields's avatar Simon Shields Committed by Krzysztof Kozlowski
Browse files

ARM: dts: exynos: Add sound support to Midas



Update the never-mainlined "samsung,trats2-audio" binding and instead
use the new "samsung,midas-audio" binding.

Signed-off-by: default avatarSimon Shields <simon@lineageos.org>
[s.nawrocki: fixed DAPM routing entries for MICBIAS1/2, adjusted to
 new cpu/codec binding, corrected the regulator nodes indexing]
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
parent 9123e3a7
Loading
Loading
Loading
Loading
+40 −2
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@
		};
	};

	lcd_vdd3_reg: voltage-regulator-7 {
	lcd_vdd3_reg: voltage-regulator-10 {
		compatible = "regulator-fixed";
		regulator-name = "LCD_VDD_2.2V";
		regulator-min-microvolt = <2200000>;
@@ -42,7 +42,7 @@
		enable-active-high;
	};

	ps_als_reg: voltage-regulator-8 {
	ps_als_reg: voltage-regulator-11 {
		compatible = "regulator-fixed";
		regulator-name = "LED_A_3.0V";
		regulator-min-microvolt = <3000000>;
@@ -171,6 +171,44 @@
	status = "okay";
};

&sound {
	samsung,audio-routing =
		"HP", "HPOUT1L",
		"HP", "HPOUT1R",

		"SPK", "SPKOUTLN",
		"SPK", "SPKOUTLP",
		"SPK", "SPKOUTRN",
		"SPK", "SPKOUTRP",

		"RCV", "HPOUT2N",
		"RCV", "HPOUT2P",

		"HDMI", "LINEOUT1N",
		"HDMI", "LINEOUT1P",

		"LINE", "LINEOUT2N",
		"LINE", "LINEOUT2P",

		"IN1LP", "MICBIAS1",
		"IN1LN", "MICBIAS1",
		"Main Mic", "MICBIAS1",

		"IN1RP", "Sub Mic",
		"IN1RN", "Sub Mic",

		"IN2LP:VXRN", "MICBIAS2",
		"Headset Mic", "MICBIAS2",

		"IN2RN", "FM In",
		"IN2RP:VXRP", "FM In";
};

&submic_bias_reg {
	gpio = <&gpf2 0 GPIO_ACTIVE_HIGH>;
	enable-active-high;
};

&touchkey_reg {
	gpio = <&gpm0 0 GPIO_ACTIVE_HIGH>;
	status = "okay";
+4 −0
Original line number Diff line number Diff line
@@ -20,3 +20,7 @@
		reg =  <0x40000000 0x40000000>;
	};
};

&sound {
	fm-sel-gpios = <&gpl0 3 GPIO_ACTIVE_HIGH>;
};
+65 −13
Original line number Diff line number Diff line
@@ -102,6 +102,30 @@
		status = "disabled";
	};

	vbatt_reg: voltage-regulator-7 {
		compatible = "regulator-fixed";
		regulator-name = "VBATT";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
	};

	mic_bias_reg: voltage-regulator-8 {
		compatible = "regulator-fixed";
		regulator-name = "MICBIAS_LDO_2.8V";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
		gpio = <&gpf1 7 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	submic_bias_reg: voltage-regulator-9 {
		compatible = "regulator-fixed";
		regulator-name = "SUB_MICBIAS_LDO_2.8V";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
	};

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
@@ -266,16 +290,18 @@
		clock-names = "ext_clock";
	};

	sound {
		compatible = "samsung,trats2-audio";
		samsung,i2s-controller = <&i2s0>;
		samsung,model = "Trats2";
		samsung,audio-codec = <&wm1811>;
		samsung,audio-routing =
			"SPK", "SPKOUTLN",
			"SPK", "SPKOUTLP",
			"SPK", "SPKOUTRN",
			"SPK", "SPKOUTRP";
	sound: sound {
		compatible = "samsung,midas-audio";
		model = "Midas";
		mic-bias-supply = <&mic_bias_reg>;
		submic-bias-supply = <&submic_bias_reg>;

		cpu {
			sound-dai = <&i2s0 0>;
		};
		codec {
			sound-dai = <&wm1811>;
		};
	};

	thermistor-ap {
@@ -597,11 +623,37 @@
	wm1811: wm1811@1a {
		compatible = "wlf,wm1811";
		reg = <0x1a>;
		clocks = <&pmu_system_controller 0>;
		clock-names = "MCLK1";
		DCVDD-supply = <&ldo3_reg>;
		clocks = <&pmu_system_controller 0>,
			<&max77686 MAX77686_CLK_PMIC>;
		clock-names = "MCLK1", "MCLK2";
		interrupt-controller;
		#interrupt-cells = <2>;
		interrupt-parent = <&gpx3>;
		interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;

		gpio-controller;
		#gpio-cells = <2>;
		#sound-dai-cells = <0>;

		wlf,gpio-cfg = <0x3 0x0 0x0 0x0 0x0 0x0
			0x0 0x8000 0x0 0x0 0x0>;
		wlf,micbias-cfg = <0x2f 0x2b>;

		wlf,lineout1-feedback;
		wlf,lineout1-se;
		wlf,lineout2-se;
		wlf,ldoena-always-driven;

		AVDD2-supply = <&vbatt_reg>;
		DBVDD1-supply = <&ldo3_reg>;
		DBVDD2-supply = <&vbatt_reg>;
		DBVDD3-supply = <&vbatt_reg>;
		DCVDD-supply = <&ldo3_reg>;
		CPVDD-supply = <&vbatt_reg>;
		SPKVDD1-supply = <&vbatt_reg>;
		SPKVDD2-supply = <&vbatt_reg>;
		wlf,ldo1ena = <&gpj0 4 0>;
		wlf,ldo2ena = <&gpj0 4 0>;
	};
};

+36 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@

	/* bootargs are passed in by bootloader */

	cam_vdda_reg: voltage-regulator-7 {
	cam_vdda_reg: voltage-regulator-10 {
		compatible = "regulator-fixed";
		regulator-name = "CAM_SENSOR_CORE_1.2V";
		regulator-min-microvolt = <1200000>;
@@ -74,6 +74,41 @@
	status = "okay";
};

&sound {
	samsung,audio-routing =
		"HP", "HPOUT1L",
		"HP", "HPOUT1R",

		"SPK", "SPKOUTLN",
		"SPK", "SPKOUTLP",

		"RCV", "HPOUT2N",
		"RCV", "HPOUT2P",

		"HDMI", "LINEOUT1N",
		"HDMI", "LINEOUT1P",

		"LINE", "LINEOUT2N",
		"LINE", "LINEOUT2P",

		"IN1LP", "MICBIAS2",
		"IN1LN", "MICBIAS2",
		"Headset Mic", "MICBIAS2",

		"IN1RP", "Sub Mic",
		"IN1RN", "Sub Mic",

		"IN2LP:VXRN", "Main Mic",
		"IN2LN", "Main Mic",

		"IN2RN", "FM In",
		"IN2RP:VXRP", "FM In";
};

&submic_bias_reg {
	regulator-always-on;
};

&touchkey_reg {
	gpio = <&gpm0 5 GPIO_ACTIVE_HIGH>;
	status = "okay";