All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 19/23] OMAP3630: DSS2: Updating MAX divider value
Date: Tue, 18 May 2010 12:35:10 +0000	[thread overview]
Message-ID: <1274186114-26951-20-git-send-email-tomi.valkeinen@nokia.com> (raw)
In-Reply-To: <1274186114-26951-1-git-send-email-tomi.valkeinen@nokia.com>

From: Kishore Y <kishore.y@ti.com>

In DPLL4 M3, M4, M5 and M6 field width has been increased by 1 bit in 3630.
So the max divider value that can be achived will be 32 and not 16.
In 3630 the functional clock is x1 of DPLL4 and not x2. Hence multiplier 2
is removed.

Signed-off-by: Sudeep Basavaraj <sudeep.basavaraj@ti.com>
Signed-off-by: Mukund Mittal <mmittal@ti.com>
Signed-off-by: Kishore Y <kishore.y@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
---
 drivers/video/omap2/dss/dss.c |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index 5434418..24b1825 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -223,7 +223,13 @@ void dss_dump_clocks(struct seq_file *s)
 
 	seq_printf(s, "dpll4_ck %lu\n", dpll4_ck_rate);
 
-	seq_printf(s, "dss1_alwon_fclk = %lu / %lu * 2 = %lu\n",
+	if (cpu_is_omap3630())
+		seq_printf(s, "dss1_alwon_fclk = %lu / %lu  = %lu\n",
+			dpll4_ck_rate,
+			dpll4_ck_rate / dpll4_m4_ck_rate,
+			dss_clk_get_rate(DSS_CLK_FCK1));
+	else
+		seq_printf(s, "dss1_alwon_fclk = %lu / %lu * 2 = %lu\n",
 			dpll4_ck_rate,
 			dpll4_ck_rate / dpll4_m4_ck_rate,
 			dss_clk_get_rate(DSS_CLK_FCK1));
@@ -293,7 +299,8 @@ int dss_calc_clock_rates(struct dss_clock_info *cinfo)
 {
 	unsigned long prate;
 
-	if (cinfo->fck_div > 16 || cinfo->fck_div = 0)
+	if (cinfo->fck_div > (cpu_is_omap3630() ? 32 : 16) ||
+						cinfo->fck_div = 0)
 		return -EINVAL;
 
 	prate = clk_get_rate(clk_get_parent(dss.dpll4_m4_ck));
@@ -329,7 +336,10 @@ int dss_get_clock_div(struct dss_clock_info *cinfo)
 	if (cpu_is_omap34xx()) {
 		unsigned long prate;
 		prate = clk_get_rate(clk_get_parent(dss.dpll4_m4_ck));
-		cinfo->fck_div = prate / (cinfo->fck / 2);
+		if (cpu_is_omap3630())
+			cinfo->fck_div = prate / (cinfo->fck);
+		else
+			cinfo->fck_div = prate / (cinfo->fck / 2);
 	} else {
 		cinfo->fck_div = 0;
 	}
@@ -402,10 +412,14 @@ retry:
 
 		goto found;
 	} else if (cpu_is_omap34xx()) {
-		for (fck_div = 16; fck_div > 0; --fck_div) {
+		for (fck_div = (cpu_is_omap3630() ? 32 : 16);
+					fck_div > 0; --fck_div) {
 			struct dispc_clock_info cur_dispc;
 
-			fck = prate / fck_div * 2;
+			if (cpu_is_omap3630())
+				fck = prate / fck_div;
+			else
+				fck = prate / fck_div * 2;
 
 			if (fck > DISPC_MAX_FCK)
 				continue;
-- 
1.7.0.4


WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
To: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-fbdev@vger.kernel.org
Cc: Kishore Y <kishore.y@ti.com>,
	Sudeep Basavaraj <sudeep.basavaraj@ti.com>,
	Mukund Mittal <mmittal@ti.com>,
	Tomi Valkeinen <tomi.valkeinen@nokia.com>
Subject: [PATCH 19/23] OMAP3630: DSS2: Updating MAX divider value
Date: Tue, 18 May 2010 15:35:10 +0300	[thread overview]
Message-ID: <1274186114-26951-20-git-send-email-tomi.valkeinen@nokia.com> (raw)
In-Reply-To: <1274186114-26951-1-git-send-email-tomi.valkeinen@nokia.com>

From: Kishore Y <kishore.y@ti.com>

In DPLL4 M3, M4, M5 and M6 field width has been increased by 1 bit in 3630.
So the max divider value that can be achived will be 32 and not 16.
In 3630 the functional clock is x1 of DPLL4 and not x2. Hence multiplier 2
is removed.

Signed-off-by: Sudeep Basavaraj <sudeep.basavaraj@ti.com>
Signed-off-by: Mukund Mittal <mmittal@ti.com>
Signed-off-by: Kishore Y <kishore.y@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
---
 drivers/video/omap2/dss/dss.c |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index 5434418..24b1825 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -223,7 +223,13 @@ void dss_dump_clocks(struct seq_file *s)
 
 	seq_printf(s, "dpll4_ck %lu\n", dpll4_ck_rate);
 
-	seq_printf(s, "dss1_alwon_fclk = %lu / %lu * 2 = %lu\n",
+	if (cpu_is_omap3630())
+		seq_printf(s, "dss1_alwon_fclk = %lu / %lu  = %lu\n",
+			dpll4_ck_rate,
+			dpll4_ck_rate / dpll4_m4_ck_rate,
+			dss_clk_get_rate(DSS_CLK_FCK1));
+	else
+		seq_printf(s, "dss1_alwon_fclk = %lu / %lu * 2 = %lu\n",
 			dpll4_ck_rate,
 			dpll4_ck_rate / dpll4_m4_ck_rate,
 			dss_clk_get_rate(DSS_CLK_FCK1));
@@ -293,7 +299,8 @@ int dss_calc_clock_rates(struct dss_clock_info *cinfo)
 {
 	unsigned long prate;
 
-	if (cinfo->fck_div > 16 || cinfo->fck_div == 0)
+	if (cinfo->fck_div > (cpu_is_omap3630() ? 32 : 16) ||
+						cinfo->fck_div == 0)
 		return -EINVAL;
 
 	prate = clk_get_rate(clk_get_parent(dss.dpll4_m4_ck));
@@ -329,7 +336,10 @@ int dss_get_clock_div(struct dss_clock_info *cinfo)
 	if (cpu_is_omap34xx()) {
 		unsigned long prate;
 		prate = clk_get_rate(clk_get_parent(dss.dpll4_m4_ck));
-		cinfo->fck_div = prate / (cinfo->fck / 2);
+		if (cpu_is_omap3630())
+			cinfo->fck_div = prate / (cinfo->fck);
+		else
+			cinfo->fck_div = prate / (cinfo->fck / 2);
 	} else {
 		cinfo->fck_div = 0;
 	}
@@ -402,10 +412,14 @@ retry:
 
 		goto found;
 	} else if (cpu_is_omap34xx()) {
-		for (fck_div = 16; fck_div > 0; --fck_div) {
+		for (fck_div = (cpu_is_omap3630() ? 32 : 16);
+					fck_div > 0; --fck_div) {
 			struct dispc_clock_info cur_dispc;
 
-			fck = prate / fck_div * 2;
+			if (cpu_is_omap3630())
+				fck = prate / fck_div;
+			else
+				fck = prate / fck_div * 2;
 
 			if (fck > DISPC_MAX_FCK)
 				continue;
-- 
1.7.0.4


WARNING: multiple messages have this Message-ID (diff)
From: tomi.valkeinen@nokia.com (Tomi Valkeinen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 19/23] OMAP3630: DSS2: Updating MAX divider value
Date: Tue, 18 May 2010 15:35:10 +0300	[thread overview]
Message-ID: <1274186114-26951-20-git-send-email-tomi.valkeinen@nokia.com> (raw)
In-Reply-To: <1274186114-26951-1-git-send-email-tomi.valkeinen@nokia.com>

From: Kishore Y <kishore.y@ti.com>

In DPLL4 M3, M4, M5 and M6 field width has been increased by 1 bit in 3630.
So the max divider value that can be achived will be 32 and not 16.
In 3630 the functional clock is x1 of DPLL4 and not x2. Hence multiplier 2
is removed.

Signed-off-by: Sudeep Basavaraj <sudeep.basavaraj@ti.com>
Signed-off-by: Mukund Mittal <mmittal@ti.com>
Signed-off-by: Kishore Y <kishore.y@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
---
 drivers/video/omap2/dss/dss.c |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index 5434418..24b1825 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -223,7 +223,13 @@ void dss_dump_clocks(struct seq_file *s)
 
 	seq_printf(s, "dpll4_ck %lu\n", dpll4_ck_rate);
 
-	seq_printf(s, "dss1_alwon_fclk = %lu / %lu * 2 = %lu\n",
+	if (cpu_is_omap3630())
+		seq_printf(s, "dss1_alwon_fclk = %lu / %lu  = %lu\n",
+			dpll4_ck_rate,
+			dpll4_ck_rate / dpll4_m4_ck_rate,
+			dss_clk_get_rate(DSS_CLK_FCK1));
+	else
+		seq_printf(s, "dss1_alwon_fclk = %lu / %lu * 2 = %lu\n",
 			dpll4_ck_rate,
 			dpll4_ck_rate / dpll4_m4_ck_rate,
 			dss_clk_get_rate(DSS_CLK_FCK1));
@@ -293,7 +299,8 @@ int dss_calc_clock_rates(struct dss_clock_info *cinfo)
 {
 	unsigned long prate;
 
-	if (cinfo->fck_div > 16 || cinfo->fck_div == 0)
+	if (cinfo->fck_div > (cpu_is_omap3630() ? 32 : 16) ||
+						cinfo->fck_div == 0)
 		return -EINVAL;
 
 	prate = clk_get_rate(clk_get_parent(dss.dpll4_m4_ck));
@@ -329,7 +336,10 @@ int dss_get_clock_div(struct dss_clock_info *cinfo)
 	if (cpu_is_omap34xx()) {
 		unsigned long prate;
 		prate = clk_get_rate(clk_get_parent(dss.dpll4_m4_ck));
-		cinfo->fck_div = prate / (cinfo->fck / 2);
+		if (cpu_is_omap3630())
+			cinfo->fck_div = prate / (cinfo->fck);
+		else
+			cinfo->fck_div = prate / (cinfo->fck / 2);
 	} else {
 		cinfo->fck_div = 0;
 	}
@@ -402,10 +412,14 @@ retry:
 
 		goto found;
 	} else if (cpu_is_omap34xx()) {
-		for (fck_div = 16; fck_div > 0; --fck_div) {
+		for (fck_div = (cpu_is_omap3630() ? 32 : 16);
+					fck_div > 0; --fck_div) {
 			struct dispc_clock_info cur_dispc;
 
-			fck = prate / fck_div * 2;
+			if (cpu_is_omap3630())
+				fck = prate / fck_div;
+			else
+				fck = prate / fck_div * 2;
 
 			if (fck > DISPC_MAX_FCK)
 				continue;
-- 
1.7.0.4

  parent reply	other threads:[~2010-05-18 12:35 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-18 12:34 [PATCH 00/23] OMAP DSS patches for 2.6.35 merge window Tomi Valkeinen
2010-05-18 12:34 ` Tomi Valkeinen
2010-05-18 12:34 ` Tomi Valkeinen
2010-05-18 12:34 ` [PATCH 01/23] OMAP: Enable DSS2 in OMAP3EVM defconfig Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34 ` [PATCH 02/23] OMAP: AM3517: Enable DSS2 in AM3517EVM defconfig Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34 ` [PATCH 03/23] OMAP: DSS2: Add Kconfig option for DPI display type Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34 ` [PATCH 04/23] OMAP: DSS2: Remove redundant enable/disable calls from SDI Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34 ` [PATCH 05/23] OMAP: DSS2: Use vdds_sdi regulator supply in SDI Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34 ` [PATCH 06/23] OMAP: DSS2: fix lock_fb_info() and omapfb_lock() locking order Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34 ` [PATCH 07/23] OMAP: DSS2: check lock_fb_info() return value Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34 ` [PATCH 08/23] OMAP: DSS2: VENC: don't call platform_enable/disable() twice Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:34   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 09/23] OMAP: DSS2: Fix device disable when driver is not loaded Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 10/23] OMAP: DSS2: Make partial update width even Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 11/23] OMAP: DSS2: Taal: add mutex to protect panel data Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 12/23] OMAP: DSS2: Taal: Fix DSI bus locking problem Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 13/23] OMAP: LCD LS037V7DW01: Add Backlight driver support Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 14/23] OMAP: DSS2: TPO-TD03MTEA1: fix Kconfig dependency Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 15/23] OMAP: RX51: Add LCD Panel support Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 16/23] OMAP: RX51: Add Touch Controller in SPI board info Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 17/23] OMAP: DSS2: Add ACX565AKM Panel Driver Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 18/23] OMAP: RX51: Update board defconfig Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` Tomi Valkeinen [this message]
2010-05-18 12:35   ` [PATCH 19/23] OMAP3630: DSS2: Updating MAX divider value Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 20/23] OMAP2: DSS: Add missing line for update bg color Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 21/23] board-omap3-beagle: add DSS2 support Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 22/23] OMAP: DSS2: omap_dss_probe() conditional compilation cleanup Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35 ` [PATCH 23/23] OMAP: DSS2: Fix omap_dss_probe() error path Tomi Valkeinen
2010-05-18 12:35   ` Tomi Valkeinen
2010-05-18 12:35   ` 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=1274186114-26951-20-git-send-email-tomi.valkeinen@nokia.com \
    --to=tomi.valkeinen@nokia.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.