public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: pankaj.dubey@samsung.com (Pankaj Dubey)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] clk: samsung: exynos3250: add uart2/3 related clocks
Date: Mon, 29 Sep 2014 08:17:33 +0530	[thread overview]
Message-ID: <001201cfdb8f$b9dae350$2d90a9f0$@samsung.com> (raw)
In-Reply-To: <5428BFFE.9090002@samsung.com>

Hi Chanwoo,

On Monday, September 29, 2014 7:42 AM, Chanwoo Choi wrote,
> To: Pankaj Dubey
> Cc: linux-arm-kernel at lists.infradead.org;
linux-samsung-soc at vger.kernel.org;
> kgene.kim at samsung.com; tomasz.figa at gmail.com; robh+dt at kernel.org;
> linux at arm.linux.org.uk; naushad at samsung.com; Mike Turquette; Sylwester
> Nawrocki
> Subject: Re: [PATCH 1/2] clk: samsung: exynos3250: add uart2/3 related
clocks
> 
> Hi Pankaj,
> 
> On 09/27/2014 01:58 PM, Pankaj Dubey wrote:
> > Exynos3250 has four UART channels UART0,1,2 and 3. This patch adds
> > missing clock entries for UART2 and UART3.
> >
> > CC: Mike Turquette <mturquette@linaro.org>
> > CC: Sylwester Nawrocki <s.nawrocki@samsung.com>
> > Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> > ---
> >  drivers/clk/samsung/clk-exynos3250.c   |   11 +++++++++++
> >  include/dt-bindings/clock/exynos3250.h |   10 +++++++++-
> >  2 files changed, 20 insertions(+), 1 deletion(-)
> 
> Exynos3250 has only two UART(0,1) port. Exynos3250 don't support UART 2,3.
> 

As per Exynos3250 user manual that I have with me it supports UART(0,1,2,3).
It has been mentioned 
in UART Chapter as well as CMU IP details also mentioned about the clock
entries. We have tested it 
also on Espresso3250 board which is based on Exynos3250 SoC.

Thanks,
Pankaj Dubey

> Thanks,
> Chanwoo Choi
> 
> >
> > diff --git a/drivers/clk/samsung/clk-exynos3250.c
> > b/drivers/clk/samsung/clk-exynos3250.c
> > index dc85f8e..0722fef 100644
> > --- a/drivers/clk/samsung/clk-exynos3250.c
> > +++ b/drivers/clk/samsung/clk-exynos3250.c
> > @@ -357,6 +357,8 @@ static struct samsung_mux_clock mux_clks[]
__initdata =
> {
> >  	MUX(CLK_MOUT_MMC0, "mout_mmc0", group_sclk_p, SRC_FSYS, 0, 3),
> >
> >  	/* SRC_PERIL0 */
> > +	MUX(CLK_MOUT_UART3, "mout_uart3", group_sclk_p, SRC_PERIL0,
> 12, 4),
> > +	MUX(CLK_MOUT_UART2, "mout_uart2", group_sclk_p, SRC_PERIL0, 8,
> 4),
> >  	MUX(CLK_MOUT_UART1, "mout_uart1", group_sclk_p, SRC_PERIL0, 4,
> 4),
> >  	MUX(CLK_MOUT_UART0, "mout_uart0", group_sclk_p, SRC_PERIL0, 0,
> 4),
> >
> > @@ -439,6 +441,8 @@ static struct samsung_div_clock div_clks[]
__initdata = {
> >  	DIV(CLK_DIV_MMC0, "div_mmc0", "mout_mmc0", DIV_FSYS1, 0, 4),
> >
> >  	/* DIV_PERIL0 */
> > +	DIV(CLK_DIV_UART3, "div_uart3", "mout_uart3", DIV_PERIL0, 12, 4),
> > +	DIV(CLK_DIV_UART2, "div_uart2", "mout_uart2", DIV_PERIL0, 8, 4),
> >  	DIV(CLK_DIV_UART1, "div_uart1", "mout_uart1", DIV_PERIL0, 4, 4),
> >  	DIV(CLK_DIV_UART0, "div_uart0", "mout_uart0", DIV_PERIL0, 0, 4),
> >
> > @@ -601,6 +605,10 @@ static struct samsung_gate_clock gate_clks[]
__initdata
> = {
> >  		GATE_SCLK_PERIL, 7, CLK_SET_RATE_PARENT, 0),
> >  	GATE(CLK_SCLK_SPI0, "sclk_spi0", "div_spi0_pre",
> >  		GATE_SCLK_PERIL, 6, CLK_SET_RATE_PARENT, 0),
> > +	GATE(CLK_SCLK_UART3, "sclk_uart3", "div_uart3",
> > +		GATE_SCLK_PERIL, 3, CLK_SET_RATE_PARENT, 0),
> > +	GATE(CLK_SCLK_UART2, "sclk_uart2", "div_uart2",
> > +		GATE_SCLK_PERIL, 2, CLK_SET_RATE_PARENT, 0),
> >  	GATE(CLK_SCLK_UART1, "sclk_uart1", "div_uart1",
> >  		GATE_SCLK_PERIL, 1, CLK_SET_RATE_PARENT, 0),
> >  	GATE(CLK_SCLK_UART0, "sclk_uart0", "div_uart0", @@ -679,6 +687,7
> @@
> > static struct samsung_gate_clock gate_clks[] __initdata = {
> >  	GATE(CLK_USBOTG, "usbotg", "div_aclk_200", GATE_IP_FSYS, 13, 0,
> 0),
> >  	GATE(CLK_USBHOST, "usbhost", "div_aclk_200", GATE_IP_FSYS, 12,
> 0, 0),
> >  	GATE(CLK_SROMC, "sromc", "div_aclk_200", GATE_IP_FSYS, 11, 0, 0),
> > +	GATE(CLK_SDMMC2, "sdmmc2", "div_aclk_200", GATE_IP_FSYS, 7, 0,
> 0),
> >  	GATE(CLK_SDMMC1, "sdmmc1", "div_aclk_200", GATE_IP_FSYS, 6, 0,
> 0),
> >  	GATE(CLK_SDMMC0, "sdmmc0", "div_aclk_200", GATE_IP_FSYS, 5, 0,
> 0),
> >  	GATE(CLK_PDMA1, "pdma1", "div_aclk_200", GATE_IP_FSYS, 1, 0, 0),
> @@
> > -698,6 +707,8 @@ static struct samsung_gate_clock gate_clks[] __initdata
= {
> >  	GATE(CLK_I2C2, "i2c2", "div_aclk_100", GATE_IP_PERIL, 8, 0, 0),
> >  	GATE(CLK_I2C1, "i2c1", "div_aclk_100", GATE_IP_PERIL, 7, 0, 0),
> >  	GATE(CLK_I2C0, "i2c0", "div_aclk_100", GATE_IP_PERIL, 6, 0, 0),
> > +	GATE(CLK_UART3, "uart3", "div_aclk_100", GATE_IP_PERIL, 3, 0, 0),
> > +	GATE(CLK_UART2, "uart2", "div_aclk_100", GATE_IP_PERIL, 2, 0, 0),
> >  	GATE(CLK_UART1, "uart1", "div_aclk_100", GATE_IP_PERIL, 1, 0, 0),
> >  	GATE(CLK_UART0, "uart0", "div_aclk_100", GATE_IP_PERIL, 0, 0, 0),
> > }; diff --git a/include/dt-bindings/clock/exynos3250.h
> > b/include/dt-bindings/clock/exynos3250.h
> > index b535e9d..ffeb695 100644
> > --- a/include/dt-bindings/clock/exynos3250.h
> > +++ b/include/dt-bindings/clock/exynos3250.h
> > @@ -78,6 +78,8 @@
> >  #define CLK_MOUT_CORE			58
> >  #define CLK_MOUT_APLL			59
> >  #define CLK_MOUT_ACLK_266_SUB		60
> > +#define CLK_MOUT_UART2			61
> > +#define CLK_MOUT_UART3			62
> >
> >  /* Dividers */
> >  #define CLK_DIV_GPL			64
> > @@ -126,6 +128,8 @@
> >  #define CLK_DIV_CORE			107
> >  #define CLK_DIV_HPM			108
> >  #define CLK_DIV_COPY			109
> > +#define CLK_DIV_UART2			110
> > +#define CLK_DIV_UART3			111
> >
> >  /* Gates */
> >  #define CLK_ASYNC_G3D			128
> > @@ -222,6 +226,8 @@
> >  #define CLK_BLOCK_MFC			219
> >  #define CLK_BLOCK_CAM			220
> >  #define CLK_SMIES			221
> > +#define CLK_UART2			222
> > +#define CLK_UART3			223
> >
> >  /* Special clocks */
> >  #define CLK_SCLK_JPEG			224
> > @@ -248,11 +254,13 @@
> >  #define CLK_SCLK_SPI0			245
> >  #define CLK_SCLK_UART1			246
> >  #define CLK_SCLK_UART0			247
> > +#define CLK_SCLK_UART2			248
> > +#define CLK_SCLK_UART3			249
> >
> >  /*
> >   * Total number of clocks of main CMU.
> >   * NOTE: Must be equal to last clock ID increased by one.
> >   */
> > -#define CLK_NR_CLKS			248
> > +#define CLK_NR_CLKS			250
> >
> >  #endif /* _DT_BINDINGS_CLOCK_SAMSUNG_EXYNOS3250_CLOCK_H
> */
> >

  reply	other threads:[~2014-09-29  2:47 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-27  4:58 [PATCH 0/2] Exynos3250: add DT node and clock for UART2 and UART3 Pankaj Dubey
2014-09-27  4:58 ` [PATCH 1/2] clk: samsung: exynos3250: add uart2/3 related clocks Pankaj Dubey
2014-09-29  2:12   ` Chanwoo Choi
2014-09-29  2:47     ` Pankaj Dubey [this message]
2014-09-29  3:37       ` Kyungmin Park
2014-09-29  7:22         ` Pankaj Dubey
2014-09-29  8:47           ` Kyungmin Park
2014-09-27  4:58 ` [PATCH 2/2] arm: dts: exynos3250: add device node support for serial2 and serial3 Pankaj Dubey

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='001201cfdb8f$b9dae350$2d90a9f0$@samsung.com' \
    --to=pankaj.dubey@samsung.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox