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.
Signed-off-by: Simon Glass <s...@chromium.org> --- arch/arm/dts/exynos5250-snow.dts | 4 ++-- drivers/sound/max98095.c | 3 +-- 2 files changed, 3 insertions(+), 4 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@22 { - reg = <0x22>; + soundcodec@11 { + reg = <0x11>; compatible = "maxim,max98095-codec"; }; }; 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.rc1.387.gf8505762e3-goog _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot