summaryrefslogtreecommitdiffstats
path: root/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0120-arm64-dts-ulcb-kf-pcm3168a-reset-earlier-i2c-mux-dis.patch
blob: 6aef895681712678a4b09a9db369f30505002f82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
From ea5e8199be27ecd2271485294084513fa72d78ae Mon Sep 17 00:00:00 2001
From: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Date: Fri, 9 Nov 2018 17:40:06 +0300
Subject: [PATCH 064/122] arm64: dts: ulcb-kf: pcm3168a reset earlier, i2c-mux
 disconnect on idle

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 731300e..d4e17a2 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -13,11 +13,11 @@
 		serial3 = &hscif1;
 	};
 
-	snd_clk: snd_clk {
-		compatible = "fixed-clock";
+	pcm3168a_clk: pcm3168a_clk {
+		compatible = "gpio-mux-clock";
+		clocks = <&cs2000>, <&audio_clk_a>;
 		#clock-cells = <0>;
-		clock-frequency = <24576000>;
-		clock-output-names = "scki";
+		select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
 	};
 
 	wlan_en: regulator@4 {
@@ -52,15 +52,10 @@
 
 	codec_en_reg: regulator@6 {
 		compatible = "regulator-fixed";
-		regulator-name = "codec-en-regulator";
+
+		regulator-name = "PCM3168A Vcc Vdd";
 		regulator-min-microvolt = <3300000>;
 		regulator-max-microvolt = <3300000>;
-
-		gpio = <&gpio_exp_74 15 0>;
-
-		/* delay - CHECK */
-		startup-delay-us = <70000>;
-		enable-active-high;
 	};
 
 	amp_en_reg: regulator@7 {
@@ -395,6 +390,12 @@
 			output-high;
 			line-name = "OTG EXTLPn";
 		};
+		snd_rst {
+			gpio-hog;
+			gpios = <15 GPIO_ACTIVE_HIGH>;
+			output-high;
+			line-name = "pcm3168a reset";
+		};
 	};
 
 	gpio_exp_75: gpio@75 {
@@ -426,6 +427,7 @@
 		#size-cells = <0>;
 		reg = <0x71>;
 		reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
+		i2c-mux-idle-disconnect;
 
 		i2c@0 {
 			#address-cells = <1>;
@@ -530,7 +532,7 @@
 				#sound-dai-cells = <0>;
 				compatible = "ti,pcm3168a";
 				reg = <0x44>;
-				clocks = <&snd_clk>;
+				clocks = <&pcm3168a_clk>;
 				clock-names = "scki";
 				tdm;
 				VDD1-supply = <&codec_en_reg>;
-- 
2.7.4