* [PATCH v3 3/5] [RFT] ARM: dts: wheat: Fix ADV7513 address usage [not found] <1518473273-6333-1-git-send-email-kbingham@kernel.org> @ 2018-02-12 22:07 ` Kieran Bingham 2018-02-13 12:11 ` Laurent Pinchart 0 siblings, 1 reply; 2+ messages in thread From: Kieran Bingham @ 2018-02-12 22:07 UTC (permalink / raw) To: linux-arm-kernel From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> The r8a7792 Wheat board has two ADV7513 devices sharing a single i2c bus, however in low power mode the ADV7513 will reset it's slave maps to use the hardware defined default addresses. The ADV7511 driver was adapted to allow the two devices to be registered correctly - but it did not take into account the fault whereby the devices reset the addresses. This results in an address conflict between the device using the default addresses, and the other device if it is in low-power-mode. Repair this issue by moving both devices away from the default address definitions. Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> --- v2: - Addition to series v3: - Split map register addresses into individual declarations. arch/arm/boot/dts/r8a7792-wheat.dts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/r8a7792-wheat.dts b/arch/arm/boot/dts/r8a7792-wheat.dts index b9471b67b728..42fff8837eab 100644 --- a/arch/arm/boot/dts/r8a7792-wheat.dts +++ b/arch/arm/boot/dts/r8a7792-wheat.dts @@ -240,9 +240,16 @@ status = "okay"; clock-frequency = <400000>; + /* + * The adv75xx resets its addresses to defaults during low power power + * mode. Because we have two ADV7513 devices on the same bus, we must + * change both of them away from the defaults so that they do not + * conflict. + */ hdmi at 3d { compatible = "adi,adv7513"; - reg = <0x3d>; + reg = <0x3d>, <0x2d>, <0x4d>, <0x5d>; + reg-names = "main", "cec", "edid", "packet"; adi,input-depth = <8>; adi,input-colorspace = "rgb"; @@ -272,7 +279,8 @@ hdmi at 39 { compatible = "adi,adv7513"; - reg = <0x39>; + reg = <0x39>, <0x29>, <0x49>, <0x59>; + reg-names = "main", "cec", "edid", "packet"; adi,input-depth = <8>; adi,input-colorspace = "rgb"; -- 2.7.4 ^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH v3 3/5] [RFT] ARM: dts: wheat: Fix ADV7513 address usage 2018-02-12 22:07 ` [PATCH v3 3/5] [RFT] ARM: dts: wheat: Fix ADV7513 address usage Kieran Bingham @ 2018-02-13 12:11 ` Laurent Pinchart 0 siblings, 0 replies; 2+ messages in thread From: Laurent Pinchart @ 2018-02-13 12:11 UTC (permalink / raw) To: linux-arm-kernel Hi Kieran, Thank you for the patch. On Tuesday, 13 February 2018 00:07:51 EET Kieran Bingham wrote: > From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > > The r8a7792 Wheat board has two ADV7513 devices sharing a single i2c > bus, however in low power mode the ADV7513 will reset it's slave maps to > use the hardware defined default addresses. > > The ADV7511 driver was adapted to allow the two devices to be registered > correctly - but it did not take into account the fault whereby the > devices reset the addresses. > > This results in an address conflict between the device using the default > addresses, and the other device if it is in low-power-mode. > > Repair this issue by moving both devices away from the default address > definitions. > > Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > v2: > - Addition to series > > v3: > - Split map register addresses into individual declarations. > > arch/arm/boot/dts/r8a7792-wheat.dts | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/boot/dts/r8a7792-wheat.dts > b/arch/arm/boot/dts/r8a7792-wheat.dts index b9471b67b728..42fff8837eab > 100644 > --- a/arch/arm/boot/dts/r8a7792-wheat.dts > +++ b/arch/arm/boot/dts/r8a7792-wheat.dts > @@ -240,9 +240,16 @@ > status = "okay"; > clock-frequency = <400000>; > > + /* > + * The adv75xx resets its addresses to defaults during low power power > + * mode. Because we have two ADV7513 devices on the same bus, we must > + * change both of them away from the defaults so that they do not > + * conflict. > + */ > hdmi at 3d { > compatible = "adi,adv7513"; > - reg = <0x3d>; > + reg = <0x3d>, <0x2d>, <0x4d>, <0x5d>; > + reg-names = "main", "cec", "edid", "packet"; > > adi,input-depth = <8>; > adi,input-colorspace = "rgb"; > @@ -272,7 +279,8 @@ > > hdmi at 39 { > compatible = "adi,adv7513"; > - reg = <0x39>; > + reg = <0x39>, <0x29>, <0x49>, <0x59>; > + reg-names = "main", "cec", "edid", "packet"; > > adi,input-depth = <8>; > adi,input-colorspace = "rgb"; -- Regards, Laurent Pinchart ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-02-13 12:11 UTC | newest] Thread overview: 2+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1518473273-6333-1-git-send-email-kbingham@kernel.org> 2018-02-12 22:07 ` [PATCH v3 3/5] [RFT] ARM: dts: wheat: Fix ADV7513 address usage Kieran Bingham 2018-02-13 12:11 ` Laurent Pinchart
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).