From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from comal.ext.ti.com ([198.47.26.152]:42972 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751614AbcEJMBY (ORCPT ); Tue, 10 May 2016 08:01:24 -0400 Subject: Re: [RFC PATCH 2/3] omap4: add CEC support To: Hans Verkuil , References: <1461922746-17521-1-git-send-email-hverkuil@xs4all.nl> <1461922746-17521-3-git-send-email-hverkuil@xs4all.nl> CC: , Hans Verkuil From: Tomi Valkeinen Message-ID: <5731CD8E.8090509@ti.com> Date: Tue, 10 May 2016 15:01:18 +0300 MIME-Version: 1.0 In-Reply-To: <1461922746-17521-3-git-send-email-hverkuil@xs4all.nl> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="mI4DSxKKRcJdtltDkcgLuO9eWBJx2NNpv" Sender: linux-media-owner@vger.kernel.org List-ID: --mI4DSxKKRcJdtltDkcgLuO9eWBJx2NNpv Content-Type: multipart/mixed; boundary="cp9j6WTloud3HHQiaOF764mbqj2ivFfpC" From: Tomi Valkeinen To: Hans Verkuil , linux-media@vger.kernel.org Cc: dri-devel@lists.freedesktop.org, Hans Verkuil Message-ID: <5731CD8E.8090509@ti.com> Subject: Re: [RFC PATCH 2/3] omap4: add CEC support References: <1461922746-17521-1-git-send-email-hverkuil@xs4all.nl> <1461922746-17521-3-git-send-email-hverkuil@xs4all.nl> In-Reply-To: <1461922746-17521-3-git-send-email-hverkuil@xs4all.nl> --cp9j6WTloud3HHQiaOF764mbqj2ivFfpC Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Hans, On 29/04/16 12:39, Hans Verkuil wrote: > From: Hans Verkuil >=20 > Signed-off-by: Hans Verkuil > --- > arch/arm/boot/dts/omap4-panda-a4.dts | 2 +- > arch/arm/boot/dts/omap4-panda-es.dts | 2 +- > arch/arm/boot/dts/omap4.dtsi | 5 +- > drivers/gpu/drm/omapdrm/dss/Kconfig | 8 + > drivers/gpu/drm/omapdrm/dss/Makefile | 3 + > drivers/gpu/drm/omapdrm/dss/hdmi.h | 62 ++++++- > drivers/gpu/drm/omapdrm/dss/hdmi4.c | 39 +++- > drivers/gpu/drm/omapdrm/dss/hdmi_cec.c | 329 +++++++++++++++++++++++++= ++++++++ > 8 files changed, 441 insertions(+), 9 deletions(-) > create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi_cec.c First, thanks for working on this! It's really nice if we get CEC working= =2E Are you planning to continue working on this patch, or is this a proof-of-concept, and you want to move on to other things? I'm fine with both, the patch looks quite good and I'm sure I can continue from here if you want. Also, what's the status of the general CEC support, will these patches work on v4.7? > diff --git a/arch/arm/boot/dts/omap4-panda-a4.dts b/arch/arm/boot/dts/o= map4-panda-a4.dts > index 78d3631..f0c1020 100644 > --- a/arch/arm/boot/dts/omap4-panda-a4.dts > +++ b/arch/arm/boot/dts/omap4-panda-a4.dts > @@ -13,7 +13,7 @@ > /* Pandaboard Rev A4+ have external pullups on SCL & SDA */ > &dss_hdmi_pins { > pinctrl-single,pins =3D < > - OMAP4_IOPAD(0x09a, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_ce= c */ > + OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */ Looks fine as we discussed, but these need to be split to separate patch (with explanation, of course =3D). > OMAP4_IOPAD(0x09c, PIN_INPUT | MUX_MODE0) /* hdmi_scl.hdmi_scl */ > OMAP4_IOPAD(0x09e, PIN_INPUT | MUX_MODE0) /* hdmi_sda.hdmi_sda */ > >; > diff --git a/arch/arm/boot/dts/omap4-panda-es.dts b/arch/arm/boot/dts/o= map4-panda-es.dts > index 119f8e6..940fe4f 100644 > --- a/arch/arm/boot/dts/omap4-panda-es.dts > +++ b/arch/arm/boot/dts/omap4-panda-es.dts > @@ -34,7 +34,7 @@ > /* PandaboardES has external pullups on SCL & SDA */ > &dss_hdmi_pins { > pinctrl-single,pins =3D < > - OMAP4_IOPAD(0x09a, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_ce= c */ > + OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */ > OMAP4_IOPAD(0x09c, PIN_INPUT | MUX_MODE0) /* hdmi_scl.hdmi_scl */ > OMAP4_IOPAD(0x09e, PIN_INPUT | MUX_MODE0) /* hdmi_sda.hdmi_sda */ > >; > diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dts= i > index 2bd9c83..1bb490f 100644 > --- a/arch/arm/boot/dts/omap4.dtsi > +++ b/arch/arm/boot/dts/omap4.dtsi > @@ -1006,8 +1006,9 @@ > reg =3D <0x58006000 0x200>, > <0x58006200 0x100>, > <0x58006300 0x100>, > - <0x58006400 0x1000>; > - reg-names =3D "wp", "pll", "phy", "core"; > + <0x58006400 0x900>, > + <0x58006D00 0x100>; > + reg-names =3D "wp", "pll", "phy", "core", "cec"; "core" contains four blocks, all of which are currently included there in the "core" space. I'm not sure why they weren't split up properly when the driver was written, but I think we should either keep the core as one big block, or split it up to those four sections, instead of just separating the CEC block. > interrupts =3D ; > status =3D "disabled"; > ti,hwmods =3D "dss_hdmi"; > diff --git a/drivers/gpu/drm/omapdrm/dss/Kconfig b/drivers/gpu/drm/omap= drm/dss/Kconfig > index d1fa730..69638e9 100644 > --- a/drivers/gpu/drm/omapdrm/dss/Kconfig > +++ b/drivers/gpu/drm/omapdrm/dss/Kconfig > @@ -71,9 +71,17 @@ config OMAP4_DSS_HDMI > bool "HDMI support for OMAP4" > default y > select OMAP2_DSS_HDMI_COMMON > + select MEDIA_CEC_EDID Hmm, what's in MEDIA_CEC_EDID, why does OMAP4 HDMI need to select that? > help > HDMI support for OMAP4 based SoCs. > =20 > +config OMAP2_DSS_HDMI_CEC This should probably be OMAP2_DSS_HDMI4_CEC or such, as it's only for OMAP4 HDMI. Or, following the omap4 hdmi's config name, "OMAP4_DSS_HDMI_CEC". > + bool "Enable HDMI CEC support for OMAP4" > + depends on OMAP4_DSS_HDMI && MEDIA_CEC > + default y > + ---help--- > + When selected the HDMI transmitter will support the CEC feature. > + > config OMAP5_DSS_HDMI > bool "HDMI support for OMAP5" > default n > diff --git a/drivers/gpu/drm/omapdrm/dss/Makefile b/drivers/gpu/drm/oma= pdrm/dss/Makefile > index b651ec9..37eb597 100644 > --- a/drivers/gpu/drm/omapdrm/dss/Makefile > +++ b/drivers/gpu/drm/omapdrm/dss/Makefile > @@ -10,6 +10,9 @@ omapdss-$(CONFIG_OMAP2_DSS_SDI) +=3D sdi.o > omapdss-$(CONFIG_OMAP2_DSS_DSI) +=3D dsi.o > omapdss-$(CONFIG_OMAP2_DSS_HDMI_COMMON) +=3D hdmi_common.o hdmi_wp.o h= dmi_pll.o \ > hdmi_phy.o > +ifeq ($(CONFIG_OMAP2_DSS_HDMI_CEC),y) > + omapdss-$(CONFIG_OMAP2_DSS_HDMI_COMMON) +=3D hdmi_cec.o > +endif The file should be hdmi4_cec.o, as it's for omap4. And why the ifeq? Isn't just omapdss-$(OMAP4_DSS_HDMI_CEC) +=3D hdmi4_cec.o enough? > omapdss-$(CONFIG_OMAP4_DSS_HDMI) +=3D hdmi4.o hdmi4_core.o > omapdss-$(CONFIG_OMAP5_DSS_HDMI) +=3D hdmi5.o hdmi5_core.o > ccflags-$(CONFIG_OMAP2_DSS_DEBUG) +=3D -DDEBUG > diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi.h b/drivers/gpu/drm/omapd= rm/dss/hdmi.h > index 53616b0..7cf8a91 100644 > --- a/drivers/gpu/drm/omapdrm/dss/hdmi.h > +++ b/drivers/gpu/drm/omapdrm/dss/hdmi.h > @@ -24,6 +24,7 @@ > #include > #include > #include