From: "Raphaël Assénat" <raph@8d.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH v2] OMAPDSS: Do not require a VDDS_DSI regulator on am35xx
Date: Wed, 19 Sep 2012 15:53:14 -0400 [thread overview]
Message-ID: <505A22AA.9080804@8d.com> (raw)
In-Reply-To: <1345545584.4085.49.camel@deskari>
Hello Tomi,
On 21/08/12 06:39 AM, Tomi Valkeinen wrote:
> Hi,
>
> On Wed, 2012-08-15 at 15:16 -0400, Raphael Assenat wrote:
>> On our AM3505 based board, dpi.c complains that there is no VDSS_DSI regulator
>> and the framebuffer cannot be enabled. However, this check does not seem to
>> apply to AM3505/17 chips.
>>
>> Taking into account comments received after my first patch[1], I have added
>> entries to dss_features.c to support the am35xx soc. Then in dpi.c, instead
>> of using cpu_is_omap34xx() and soc_is_am35xx(), a call to dss_has_feature()
>> is used.
>>
>> [1] http://marc.info/?l=linux-fbdev&m=134272967203409&w=2
>>
>> Signed-off-by: Raphaël Assénat <raph@8d.com>
>
> Chandrabhanu has posted a series that removes a bunch of cpu_is checks
> from omapdss. On of them is the use of VDDS_DSI in dpi.c.
>
> Can you wait until I've merged those patches to omapdss master branch
> (probably a few days), and then create a new patch that adds AM35xx to
> dss_features?
Please find a new version of the patch below. Due to the above mentioned changes,
the patch now only touches dss_features.c.
Tested on am3505 only.
Diff based on git://gitorious.org/linux-omap-dss2/linux.git master.
--
On our AM3505 based board, dpi.c complains that there is no VDSS_DSI regulator
and the framebuffer cannot be enabled. However, this check does not seem to
apply to AM3505/17 chips.
Taking into account comments received after my first patch[1], I have added
entries to dss_features.c to support the am35xx soc.
[1] http://marc.info/?l=linux-fbdev&m=134272967203409&w=2
Signed-off-by: Raphael Assenat <raph@8d.com>
diff --git a/drivers/video/omap2/dss/dss_features.c b/drivers/video/omap2/dss/dss_features.c
index c26fc1f..90e2011 100644
--- a/drivers/video/omap2/dss/dss_features.c
+++ b/drivers/video/omap2/dss/dss_features.c
@@ -378,6 +378,25 @@ static const enum dss_feat_id omap3430_dss_feat_list[] = {
FEAT_DPI_USES_VDDS_DSI,
};
+static const enum dss_feat_id am35xx_dss_feat_list[] = {
+ FEAT_LCDENABLEPOL,
+ FEAT_LCDENABLESIGNAL,
+ FEAT_PCKFREEENABLE,
+ FEAT_FUNCGATED,
+ FEAT_LINEBUFFERSPLIT,
+ FEAT_ROWREPEATENABLE,
+ FEAT_RESIZECONF,
+ FEAT_DSI_PLL_FREQSEL,
+ FEAT_DSI_REVERSE_TXCLKESC,
+ FEAT_VENC_REQUIRES_TV_DAC_CLK,
+ FEAT_CPR,
+ FEAT_PRELOAD,
+ FEAT_FIR_COEF_V,
+ FEAT_ALPHA_FIXED_ZORDER,
+ FEAT_FIFO_MERGE,
+ FEAT_OMAP3_DSI_FIFO_BUG,
+};
+
static const enum dss_feat_id omap3630_dss_feat_list[] = {
FEAT_LCDENABLEPOL,
FEAT_LCDENABLESIGNAL,
@@ -490,6 +509,27 @@ static const struct omap_dss_features omap3430_dss_features = {
.burst_size_unit = 8,
};
+/* AM35xx DSS Features. This is basically OMAP3 DSS Features without
+ the vdds_dsi regulator. */
+static const struct omap_dss_features am35xx_dss_features = {
+ .reg_fields = omap3_dss_reg_fields,
+ .num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields),
+
+ .features = am35xx_dss_feat_list,
+ .num_features = ARRAY_SIZE(am35xx_dss_feat_list),
+
+ .num_mgrs = 2,
+ .num_ovls = 3,
+ .supported_displays = omap3430_dss_supported_displays,
+ .supported_color_modes = omap3_dss_supported_color_modes,
+ .overlay_caps = omap3430_dss_overlay_caps,
+ .clksrc_names = omap3_dss_clk_source_names,
+ .dss_params = omap3_dss_param_range,
+ .supported_rotation_types = OMAP_DSS_ROT_DMA | OMAP_DSS_ROT_VRFB,
+ .buffer_size_unit = 1,
+ .burst_size_unit = 8,
+};
+
static const struct omap_dss_features omap3630_dss_features = {
.reg_fields = omap3_dss_reg_fields,
.num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields),
@@ -697,8 +737,13 @@ void dss_features_init(void)
omap_current_dss_features = &omap2_dss_features;
else if (cpu_is_omap3630())
omap_current_dss_features = &omap3630_dss_features;
- else if (cpu_is_omap34xx())
- omap_current_dss_features = &omap3430_dss_features;
+ else if (cpu_is_omap34xx()) {
+ if (soc_is_am35xx()) {
+ omap_current_dss_features = &am35xx_dss_features;
+ } else {
+ omap_current_dss_features = &omap3430_dss_features;
+ }
+ }
else if (omap_rev() == OMAP4430_REV_ES1_0)
omap_current_dss_features = &omap4430_es1_0_dss_features;
else if (omap_rev() == OMAP4430_REV_ES2_0 ||
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2012-09-19 19:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-15 19:16 [PATCH v2] OMAPDSS: Do not require a VDDS_DSI regulator on am35xx Raphael Assenat
2012-08-21 10:39 ` Tomi Valkeinen
2012-09-19 7:49 ` Tomi Valkeinen
2012-09-19 19:53 ` Raphaël Assénat [this message]
2012-09-20 8:22 ` Tomi Valkeinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=505A22AA.9080804@8d.com \
--to=raph@8d.com \
--cc=linux-omap@vger.kernel.org \
--cc=tomi.valkeinen@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.