[U-Boot] [PATCH v2 01/22] dm: sound: exynos: Correct codec bus addresses

Simon Glass sjg at chromium.org
Mon Dec 10 17:37:30 UTC 2018


For snow the codec is at address 0x11 on the i2c bus, in 7-bit format.
The device tree and code are in 8-bit format (i.e. shifted left one bit).
Fix both. Fix pit in a similar way.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v2:
- Add fix for pit and pi also
- Fix up tabs in this commit instead of the later one

 arch/arm/dts/exynos5250-snow.dts      | 4 ++--
 arch/arm/dts/exynos5420-peach-pit.dts | 8 ++++----
 arch/arm/dts/exynos5800-peach-pi.dts  | 8 ++++----
 drivers/sound/max98095.c              | 3 +--
 4 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/arch/arm/dts/exynos5250-snow.dts b/arch/arm/dts/exynos5250-snow.dts
index e99f6e72bf6..cb5067b9669 100644
--- a/arch/arm/dts/exynos5250-snow.dts
+++ b/arch/arm/dts/exynos5250-snow.dts
@@ -214,8 +214,8 @@
 			};
 		};
 
-		soundcodec at 22 {
-			reg = <0x22>;
+		soundcodec at 11 {
+			reg = <0x11>;
 			compatible = "maxim,max98095-codec";
 		};
 	};
diff --git a/arch/arm/dts/exynos5420-peach-pit.dts b/arch/arm/dts/exynos5420-peach-pit.dts
index c86f9d9035d..bd0a9c116d4 100644
--- a/arch/arm/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/dts/exynos5420-peach-pit.dts
@@ -69,10 +69,10 @@
 
 	i2c at 12CD0000 { /* i2c7 */
 		clock-frequency = <100000>;
-	       soundcodec at 20 {
-	              reg = <0x20>;
-	              compatible = "maxim,max98090-codec";
-	       };
+		soundcodec at 10 {
+			reg = <0x10>;
+			compatible = "maxim,max98090-codec";
+		};
 
 		edp-lvds-bridge at 48 {
 			compatible = "parade,ps8625";
diff --git a/arch/arm/dts/exynos5800-peach-pi.dts b/arch/arm/dts/exynos5800-peach-pi.dts
index 7498519d6c6..239781b34bb 100644
--- a/arch/arm/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/dts/exynos5800-peach-pi.dts
@@ -81,10 +81,10 @@
 
 	i2c at 12CD0000 { /* i2c7 */
 		clock-frequency = <100000>;
-	       soundcodec at 20 {
-	              reg = <0x20>;
-	              compatible = "maxim,max98090-codec";
-	       };
+		soundcodec at 10 {
+			reg = <0x10>;
+			compatible = "maxim,max98090-codec";
+		};
 	};
 
         sound at 3830000 {
diff --git a/drivers/sound/max98095.c b/drivers/sound/max98095.c
index 6a98dac04bb..7a3dbd09840 100644
--- a/drivers/sound/max98095.c
+++ b/drivers/sound/max98095.c
@@ -569,8 +569,7 @@ int max98095_init(const void *blob, enum en_max_audio_interface aif_id,
 
 	i2c_set_bus_num(pcodec_info.i2c_bus);
 
-	/* shift the device address by 1 for 7 bit addressing */
-	max98095_info.i2c_addr = pcodec_info.i2c_dev_addr >> 1;
+	max98095_info.i2c_addr = pcodec_info.i2c_dev_addr;
 	ret = max98095_device_init(&max98095_info);
 	if (ret < 0) {
 		debug("%s: max98095 codec chip init failed\n", __func__);
-- 
2.20.0.rc2.403.gdbc3b29805-goog



More information about the U-Boot mailing list