linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] i.MX53 TVE clock patches
@ 2013-04-08 14:46 Philipp Zabel
  2013-04-08 14:46 ` [PATCH 1/5] ARM i.MX5: Remove tve_sel clock from i.MX53 clock tree Philipp Zabel
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Philipp Zabel @ 2013-04-08 14:46 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

the first two are just cleanups, the following three patches are changes
to the i.MX53 clock tree that are necessary to use the TVEv2 module as
VGA output on the Freescale i.MX53-QSB or TQ MBa53 boards.

regards
Philipp

---
 Documentation/devicetree/bindings/clock/imx5-clock.txt |  1 -
 arch/arm/mach-imx/clk-imx51-imx53.c                    | 17 ++++++++---------
 2 files changed, 8 insertions(+), 10 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/5] ARM i.MX5: Remove tve_sel clock from i.MX53 clock tree
  2013-04-08 14:46 [PATCH 0/5] i.MX53 TVE clock patches Philipp Zabel
@ 2013-04-08 14:46 ` Philipp Zabel
  2013-04-08 14:46 ` [PATCH 2/5] ARM i.MX53: Remove unused tve_gate clkdev entry Philipp Zabel
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2013-04-08 14:46 UTC (permalink / raw)
  To: linux-arm-kernel

On i.MX53, there is only tve_ext_sel.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
 arch/arm/mach-imx/clk-imx51-imx53.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c
index 1be5078..9daef9d 100644
--- a/arch/arm/mach-imx/clk-imx51-imx53.c
+++ b/arch/arm/mach-imx/clk-imx51-imx53.c
@@ -45,7 +45,7 @@ static const char *mx53_ipu_di1_sel[] = { "di_pred", "osc", "ckih1", "tve_di", "
 static const char *mx53_ldb_di1_sel[] = { "pll3_sw", "pll4_sw", };
 static const char *mx51_tve_ext_sel[] = { "osc", "ckih1", };
 static const char *mx53_tve_ext_sel[] = { "pll4_sw", "ckih1", };
-static const char *tve_sel[] = { "tve_pred", "tve_ext_sel", };
+static const char *mx51_tve_sel[] = { "tve_pred", "tve_ext_sel", };
 static const char *ipu_sel[] = { "axi_a", "axi_b", "emi_slow_gate", "ahb", };
 static const char *gpu3d_sel[] = { "axi_a", "axi_b", "emi_slow_gate", "ahb" };
 static const char *gpu2d_sel[] = { "axi_a", "axi_b", "emi_slow_gate", "ahb" };
@@ -188,7 +188,6 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil,
 	clk[cpu_podf] = imx_clk_divider("cpu_podf", "pll1_sw", MXC_CCM_CACRR, 0, 3);
 	clk[di_pred] = imx_clk_divider("di_pred", "pll3_sw", MXC_CCM_CDCDR, 6, 3);
 	clk[tve_di] = imx_clk_fixed("tve_di", 65000000); /* FIXME */
-	clk[tve_s] = imx_clk_mux("tve_sel", MXC_CCM_CSCMR1, 7, 1, tve_sel, ARRAY_SIZE(tve_sel));
 	clk[iim_gate] = imx_clk_gate2("iim_gate", "ipg", MXC_CCM_CCGR0, 30);
 	clk[uart1_ipg_gate] = imx_clk_gate2("uart1_ipg_gate", "ipg", MXC_CCM_CCGR1, 6);
 	clk[uart1_per_gate] = imx_clk_gate2("uart1_per_gate", "uart_root", MXC_CCM_CCGR1, 8);
@@ -367,6 +366,8 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc,
 				mx51_ipu_di1_sel, ARRAY_SIZE(mx51_ipu_di1_sel));
 	clk[tve_ext_sel] = imx_clk_mux("tve_ext_sel", MXC_CCM_CSCMR1, 6, 1,
 				mx51_tve_ext_sel, ARRAY_SIZE(mx51_tve_ext_sel));
+	clk[tve_s] = imx_clk_mux("tve_sel", MXC_CCM_CSCMR1, 7, 1,
+				mx51_tve_sel, ARRAY_SIZE(mx51_tve_sel));
 	clk[tve_gate] = imx_clk_gate2("tve_gate", "tve_sel", MXC_CCM_CCGR2, 30);
 	clk[tve_pred] = imx_clk_divider("tve_pred", "pll3_sw", MXC_CCM_CDCDR, 28, 3);
 	clk[esdhc1_per_gate] = imx_clk_gate2("esdhc1_per_gate", "esdhc_a_podf", MXC_CCM_CCGR3, 2);
-- 
1.8.2.rc2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/5] ARM i.MX53: Remove unused tve_gate clkdev entry
  2013-04-08 14:46 [PATCH 0/5] i.MX53 TVE clock patches Philipp Zabel
  2013-04-08 14:46 ` [PATCH 1/5] ARM i.MX5: Remove tve_sel clock from i.MX53 clock tree Philipp Zabel
@ 2013-04-08 14:46 ` Philipp Zabel
  2013-04-08 14:46 ` [PATCH 3/5] ARM i.MX53: make tve_ext_sel propagate rate change to PLL Philipp Zabel
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2013-04-08 14:46 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
 arch/arm/mach-imx/clk-imx51-imx53.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c
index 9daef9d..890012e 100644
--- a/arch/arm/mach-imx/clk-imx51-imx53.c
+++ b/arch/arm/mach-imx/clk-imx51-imx53.c
@@ -319,7 +319,6 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil,
 	clk_register_clkdev(clk[dummy], NULL, "imx2-wdt.0");
 	clk_register_clkdev(clk[dummy], NULL, "imx2-wdt.1");
 	clk_register_clkdev(clk[dummy], NULL, "imx-keypad");
-	clk_register_clkdev(clk[tve_gate], NULL, "imx-tve.0");
 	clk_register_clkdev(clk[ipu_di1_gate], "di1", "imx-tve.0");
 	clk_register_clkdev(clk[gpc_dvfs], "gpc_dvfs", NULL);
 	clk_register_clkdev(clk[epit1_ipg_gate], "ipg", "imx-epit.0");
-- 
1.8.2.rc2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/5] ARM i.MX53: make tve_ext_sel propagate rate change to PLL
  2013-04-08 14:46 [PATCH 0/5] i.MX53 TVE clock patches Philipp Zabel
  2013-04-08 14:46 ` [PATCH 1/5] ARM i.MX5: Remove tve_sel clock from i.MX53 clock tree Philipp Zabel
  2013-04-08 14:46 ` [PATCH 2/5] ARM i.MX53: Remove unused tve_gate clkdev entry Philipp Zabel
@ 2013-04-08 14:46 ` Philipp Zabel
  2013-04-08 14:46 ` [PATCH 4/5] ARM i.MX53: tve_di clock is not part of the CCM, but of TVE Philipp Zabel
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2013-04-08 14:46 UTC (permalink / raw)
  To: linux-arm-kernel

This is needed so the Television Encoder driver can set the rate
on tve_clk and have it propagated up to pll4_sw.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
 arch/arm/mach-imx/clk-imx51-imx53.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c
index 890012e..9226940 100644
--- a/arch/arm/mach-imx/clk-imx51-imx53.c
+++ b/arch/arm/mach-imx/clk-imx51-imx53.c
@@ -469,8 +469,8 @@ int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc,
 				mx53_ipu_di0_sel, ARRAY_SIZE(mx53_ipu_di0_sel));
 	clk[ipu_di1_sel] = imx_clk_mux("ipu_di1_sel", MXC_CCM_CSCMR2, 29, 3,
 				mx53_ipu_di1_sel, ARRAY_SIZE(mx53_ipu_di1_sel));
-	clk[tve_ext_sel] = imx_clk_mux("tve_ext_sel", MXC_CCM_CSCMR1, 6, 1,
-				mx53_tve_ext_sel, ARRAY_SIZE(mx53_tve_ext_sel));
+	clk[tve_ext_sel] = imx_clk_mux_flags("tve_ext_sel", MXC_CCM_CSCMR1, 6, 1,
+				mx53_tve_ext_sel, ARRAY_SIZE(mx53_tve_ext_sel), CLK_SET_RATE_PARENT);
 	clk[tve_gate] = imx_clk_gate2("tve_gate", "tve_pred", MXC_CCM_CCGR2, 30);
 	clk[tve_pred] = imx_clk_divider("tve_pred", "tve_ext_sel", MXC_CCM_CDCDR, 28, 3);
 	clk[esdhc1_per_gate] = imx_clk_gate2("esdhc1_per_gate", "esdhc_a_podf", MXC_CCM_CCGR3, 2);
-- 
1.8.2.rc2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/5] ARM i.MX53: tve_di clock is not part of the CCM, but of TVE
  2013-04-08 14:46 [PATCH 0/5] i.MX53 TVE clock patches Philipp Zabel
                   ` (2 preceding siblings ...)
  2013-04-08 14:46 ` [PATCH 3/5] ARM i.MX53: make tve_ext_sel propagate rate change to PLL Philipp Zabel
@ 2013-04-08 14:46 ` Philipp Zabel
  2013-04-08 14:46 ` [PATCH 5/5] ARM i.MX53: set CLK_SET_RATE_PARENT flag on the tve_ext_sel clock Philipp Zabel
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2013-04-08 14:46 UTC (permalink / raw)
  To: linux-arm-kernel

Remove the tve_di clock from the CCM clock tree. It will be provided
by the Television Encoder driver, as this clock is an output signal
of the TVE module.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
 Documentation/devicetree/bindings/clock/imx5-clock.txt | 1 -
 arch/arm/mach-imx/clk-imx51-imx53.c                    | 3 +--
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/imx5-clock.txt b/Documentation/devicetree/bindings/clock/imx5-clock.txt
index 84cae1f..d71b4b2 100644
--- a/Documentation/devicetree/bindings/clock/imx5-clock.txt
+++ b/Documentation/devicetree/bindings/clock/imx5-clock.txt
@@ -38,7 +38,6 @@ clocks and IDs.
 	usb_phy_podf		23
 	cpu_podf		24
 	di_pred			25
-	tve_di			26
 	tve_s			27
 	uart1_ipg_gate		28
 	uart1_per_gate		29
diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c
index 9226940..189d654 100644
--- a/arch/arm/mach-imx/clk-imx51-imx53.c
+++ b/arch/arm/mach-imx/clk-imx51-imx53.c
@@ -78,7 +78,7 @@ enum imx5_clks {
 	dummy, ckil, osc, ckih1, ckih2, ahb, ipg, axi_a, axi_b, uart_pred,
 	uart_root, esdhc_a_pred, esdhc_b_pred, esdhc_c_s, esdhc_d_s,
 	emi_sel, emi_slow_podf, nfc_podf, ecspi_pred, ecspi_podf, usboh3_pred,
-	usboh3_podf, usb_phy_pred, usb_phy_podf, cpu_podf, di_pred, tve_di,
+	usboh3_podf, usb_phy_pred, usb_phy_podf, cpu_podf, di_pred, tve_di_unused,
 	tve_s, uart1_ipg_gate, uart1_per_gate, uart2_ipg_gate,
 	uart2_per_gate, uart3_ipg_gate, uart3_per_gate, i2c1_gate, i2c2_gate,
 	gpt_ipg_gate, pwm1_ipg_gate, pwm1_hf_gate, pwm2_ipg_gate, pwm2_hf_gate,
@@ -187,7 +187,6 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil,
 				usb_phy_sel_str, ARRAY_SIZE(usb_phy_sel_str));
 	clk[cpu_podf] = imx_clk_divider("cpu_podf", "pll1_sw", MXC_CCM_CACRR, 0, 3);
 	clk[di_pred] = imx_clk_divider("di_pred", "pll3_sw", MXC_CCM_CDCDR, 6, 3);
-	clk[tve_di] = imx_clk_fixed("tve_di", 65000000); /* FIXME */
 	clk[iim_gate] = imx_clk_gate2("iim_gate", "ipg", MXC_CCM_CCGR0, 30);
 	clk[uart1_ipg_gate] = imx_clk_gate2("uart1_ipg_gate", "ipg", MXC_CCM_CCGR1, 6);
 	clk[uart1_per_gate] = imx_clk_gate2("uart1_per_gate", "uart_root", MXC_CCM_CCGR1, 8);
-- 
1.8.2.rc2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/5] ARM i.MX53: set CLK_SET_RATE_PARENT flag on the tve_ext_sel clock
  2013-04-08 14:46 [PATCH 0/5] i.MX53 TVE clock patches Philipp Zabel
                   ` (3 preceding siblings ...)
  2013-04-08 14:46 ` [PATCH 4/5] ARM i.MX53: tve_di clock is not part of the CCM, but of TVE Philipp Zabel
@ 2013-04-08 14:46 ` Philipp Zabel
  2013-04-08 15:26 ` [PATCH 0/5] i.MX53 TVE clock patches Fabio Estevam
  2013-04-09 12:49 ` Shawn Guo
  6 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2013-04-08 14:46 UTC (permalink / raw)
  To: linux-arm-kernel

Use imx_clk_mux_flags to set the appropriate flags for the TVE
selector clock. This is needed so tve_clk rate changes can propagate
up to pll4_sw.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
 arch/arm/mach-imx/clk-imx51-imx53.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c
index 189d654..6fc486b 100644
--- a/arch/arm/mach-imx/clk-imx51-imx53.c
+++ b/arch/arm/mach-imx/clk-imx51-imx53.c
@@ -362,8 +362,8 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc,
 				mx51_ipu_di0_sel, ARRAY_SIZE(mx51_ipu_di0_sel));
 	clk[ipu_di1_sel] = imx_clk_mux("ipu_di1_sel", MXC_CCM_CSCMR2, 29, 3,
 				mx51_ipu_di1_sel, ARRAY_SIZE(mx51_ipu_di1_sel));
-	clk[tve_ext_sel] = imx_clk_mux("tve_ext_sel", MXC_CCM_CSCMR1, 6, 1,
-				mx51_tve_ext_sel, ARRAY_SIZE(mx51_tve_ext_sel));
+	clk[tve_ext_sel] = imx_clk_mux_flags("tve_ext_sel", MXC_CCM_CSCMR1, 6, 1,
+				mx51_tve_ext_sel, ARRAY_SIZE(mx51_tve_ext_sel), CLK_SET_RATE_PARENT);
 	clk[tve_s] = imx_clk_mux("tve_sel", MXC_CCM_CSCMR1, 7, 1,
 				mx51_tve_sel, ARRAY_SIZE(mx51_tve_sel));
 	clk[tve_gate] = imx_clk_gate2("tve_gate", "tve_sel", MXC_CCM_CCGR2, 30);
-- 
1.8.2.rc2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 0/5] i.MX53 TVE clock patches
  2013-04-08 14:46 [PATCH 0/5] i.MX53 TVE clock patches Philipp Zabel
                   ` (4 preceding siblings ...)
  2013-04-08 14:46 ` [PATCH 5/5] ARM i.MX53: set CLK_SET_RATE_PARENT flag on the tve_ext_sel clock Philipp Zabel
@ 2013-04-08 15:26 ` Fabio Estevam
  2013-04-08 16:11   ` Fabio Estevam
  2013-04-08 16:17   ` Philipp Zabel
  2013-04-09 12:49 ` Shawn Guo
  6 siblings, 2 replies; 10+ messages in thread
From: Fabio Estevam @ 2013-04-08 15:26 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Phiipp,

On Mon, Apr 8, 2013 at 11:46 AM, Philipp Zabel <p.zabel@pengutronix.de> wrote:
> Hi,
>
> the first two are just cleanups, the following three patches are changes
> to the i.MX53 clock tree that are necessary to use the TVEv2 module as
> VGA output on the Freescale i.MX53-QSB or TQ MBa53 boards.

I would like to test this series on a mx53qsb.

Is the TVE driver available in some git tree?

Thanks,

Fabio Estevam

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/5] i.MX53 TVE clock patches
  2013-04-08 15:26 ` [PATCH 0/5] i.MX53 TVE clock patches Fabio Estevam
@ 2013-04-08 16:11   ` Fabio Estevam
  2013-04-08 16:17   ` Philipp Zabel
  1 sibling, 0 replies; 10+ messages in thread
From: Fabio Estevam @ 2013-04-08 16:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 8, 2013 at 12:26 PM, Fabio Estevam <festevam@gmail.com> wrote:
> Hi Phiipp,
>
> On Mon, Apr 8, 2013 at 11:46 AM, Philipp Zabel <p.zabel@pengutronix.de> wrote:
>> Hi,
>>
>> the first two are just cleanups, the following three patches are changes
>> to the i.MX53 clock tree that are necessary to use the TVEv2 module as
>> VGA output on the Freescale i.MX53-QSB or TQ MBa53 boards.
>
> I would like to test this series on a mx53qsb.
>
> Is the TVE driver available in some git tree?

Just found the driver in my Inbox now.

Thanks for your work,Philipp

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/5] i.MX53 TVE clock patches
  2013-04-08 15:26 ` [PATCH 0/5] i.MX53 TVE clock patches Fabio Estevam
  2013-04-08 16:11   ` Fabio Estevam
@ 2013-04-08 16:17   ` Philipp Zabel
  1 sibling, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2013-04-08 16:17 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Fabio,

Am Montag, den 08.04.2013, 12:26 -0300 schrieb Fabio Estevam:
> Hi Phiipp,
> 
> On Mon, Apr 8, 2013 at 11:46 AM, Philipp Zabel <p.zabel@pengutronix.de> wrote:
> > Hi,
> >
> > the first two are just cleanups, the following three patches are changes
> > to the i.MX53 clock tree that are necessary to use the TVEv2 module as
> > VGA output on the Freescale i.MX53-QSB or TQ MBa53 boards.
> 
> I would like to test this series on a mx53qsb.
>
> Is the TVE driver available in some git tree?

I have pushed the series for you at:

    git://git.pengutronix.de/git/pza/linux.git imx-ipu-tve/wip

regards
Philipp

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/5] i.MX53 TVE clock patches
  2013-04-08 14:46 [PATCH 0/5] i.MX53 TVE clock patches Philipp Zabel
                   ` (5 preceding siblings ...)
  2013-04-08 15:26 ` [PATCH 0/5] i.MX53 TVE clock patches Fabio Estevam
@ 2013-04-09 12:49 ` Shawn Guo
  6 siblings, 0 replies; 10+ messages in thread
From: Shawn Guo @ 2013-04-09 12:49 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 08, 2013 at 04:46:18PM +0200, Philipp Zabel wrote:
> Hi,
> 
> the first two are just cleanups, the following three patches are changes
> to the i.MX53 clock tree that are necessary to use the TVEv2 module as
> VGA output on the Freescale i.MX53-QSB or TQ MBa53 boards.
> 
> regards
> Philipp
> 
> ---
>  Documentation/devicetree/bindings/clock/imx5-clock.txt |  1 -
>  arch/arm/mach-imx/clk-imx51-imx53.c                    | 17 ++++++++---------
>  2 files changed, 8 insertions(+), 10 deletions(-)

All 5 patches applied, thanks.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-04-09 12:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-08 14:46 [PATCH 0/5] i.MX53 TVE clock patches Philipp Zabel
2013-04-08 14:46 ` [PATCH 1/5] ARM i.MX5: Remove tve_sel clock from i.MX53 clock tree Philipp Zabel
2013-04-08 14:46 ` [PATCH 2/5] ARM i.MX53: Remove unused tve_gate clkdev entry Philipp Zabel
2013-04-08 14:46 ` [PATCH 3/5] ARM i.MX53: make tve_ext_sel propagate rate change to PLL Philipp Zabel
2013-04-08 14:46 ` [PATCH 4/5] ARM i.MX53: tve_di clock is not part of the CCM, but of TVE Philipp Zabel
2013-04-08 14:46 ` [PATCH 5/5] ARM i.MX53: set CLK_SET_RATE_PARENT flag on the tve_ext_sel clock Philipp Zabel
2013-04-08 15:26 ` [PATCH 0/5] i.MX53 TVE clock patches Fabio Estevam
2013-04-08 16:11   ` Fabio Estevam
2013-04-08 16:17   ` Philipp Zabel
2013-04-09 12:49 ` Shawn Guo

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).