devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sachin Kamat <sachin.kamat@linaro.org>
To: YoungJun Cho <yj44.cho@samsung.com>
Cc: Dave Airlie <airlied@linux.ie>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Inki Dae <inki.dae@samsung.com>,
	Kukjin Kim <kgene.kim@samsung.com>,
	Joonyoung Shim <jy0922.shim@samsung.com>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	Andrzej Hajda <a.hajda@samsung.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [RFC v3 PATCH v2 10/16] drm/exynos: dsi: add driver data to support Exynos5420
Date: Tue, 29 Apr 2014 20:56:57 +0530	[thread overview]
Message-ID: <CAK9yfHwY85FuMvTQo-HUKocyXkjjK9=5-oXVd9CL8hS7B5++=A@mail.gmail.com> (raw)
In-Reply-To: <1398563412-21781-11-git-send-email-yj44.cho@samsung.com>

On 27 April 2014 07:20, YoungJun Cho <yj44.cho@samsung.com> wrote:
> The offset of register DSIM_PLLTMR_REG in Exynos5420 is different
> from the one in Exynos4 SoC.
>
> In case of Exynos5420 SoC, there is no frequency band bit in DSIM_PLLCTRL_REG,
> and it uses DSIM_PHYCTRL_REG and DSIM_PHYTIMING*_REG instead.
> So this patch adds driver data to distinguish it.
>
> Changelog v2:
> - Moves exynos_dsi_enable_clocks() after exynos_dsi_reset()
>   (commented by Andrzej Hajda)
> - Splits D-PHY control setting routines from PLL setting one
>   (commented by Andrzej Hajda)
>
> Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
> Acked-by: Inki Dae <inki.dae@samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
>  drivers/gpu/drm/exynos/exynos_drm_dsi.c |  154 ++++++++++++++++++++++++++-----
>  1 file changed, 132 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> index 4a918ec..c18dba3 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> @@ -17,6 +17,7 @@
>
>  #include <linux/clk.h>
>  #include <linux/irq.h>
> +#include <linux/of_device.h>
>  #include <linux/phy/phy.h>
>  #include <linux/regulator/consumer.h>
>
> @@ -54,9 +55,12 @@
>
>  /* FIFO memory AC characteristic register */
>  #define DSIM_PLLCTRL_REG       0x4c    /* PLL control register */
> -#define DSIM_PLLTMR_REG                0x50    /* PLL timer register */
>  #define DSIM_PHYACCHR_REG      0x54    /* D-PHY AC characteristic register */
>  #define DSIM_PHYACCHR1_REG     0x58    /* D-PHY AC characteristic register1 */
> +#define DSIM_PHYCTRL_REG       0x5c
> +#define DSIM_PHYTIMING_REG     0x64
> +#define DSIM_PHYTIMING1_REG    0x68
> +#define DSIM_PHYTIMING2_REG    0x6c
>
>  /* DSIM_STATUS */
>  #define DSIM_STOP_STATE_DAT(x)         (((x) & 0xf) << 0)
> @@ -200,6 +204,21 @@
>  #define DSIM_PLL_M(x)                  ((x) << 4)
>  #define DSIM_PLL_S(x)                  ((x) << 1)
>
> +/* DSIM_PHYTIMING */
> +#define DSIM_PHYTIMING_LPX(x)          ((x) << 8)
> +#define DSIM_PHYTIMING_HS_EXIT(x)      ((x) << 0)
> +
> +/* DSIM_PHYTIMING1 */
> +#define DSIM_PHYTIMING1_CLK_PREPARE(x) ((x) << 24)
> +#define DSIM_PHYTIMING1_CLK_ZERO(x)    ((x) << 16)
> +#define DSIM_PHYTIMING1_CLK_POST(x)    ((x) << 8)
> +#define DSIM_PHYTIMING1_CLK_TRAIL(x)   ((x) << 0)
> +
> +/* DSIM_PHYTIMING2 */
> +#define DSIM_PHYTIMING2_HS_PREPARE(x)  ((x) << 16)
> +#define DSIM_PHYTIMING2_HS_ZERO(x)     ((x) << 8)
> +#define DSIM_PHYTIMING2_HS_TRAIL(x)    ((x) << 0)
> +
>  #define DSI_MAX_BUS_WIDTH              4
>  #define DSI_NUM_VIRTUAL_CHANNELS       4
>  #define DSI_TX_FIFO_SIZE               2048
> @@ -233,6 +252,12 @@ struct exynos_dsi_transfer {
>  #define DSIM_STATE_INITIALIZED         BIT(1)
>  #define DSIM_STATE_CMD_LPM             BIT(2)
>
> +struct exynos_dsi_driver_data {

Shouldn't this be static?

> +       unsigned int plltmr_reg;
> +

nit: stray blank line

> +       unsigned int has_freqband:1;
> +};
> +

<snip>

> +static void exynos_dsi_set_phy_ctrl(struct exynos_dsi *dsi)
> +{
> +       struct exynos_dsi_driver_data *driver_data = dsi->driver_data;
> +       u32 reg;
> +
> +       if (driver_data->has_freqband)
> +               return;
> +
> +       /* B D-PHY */
> +       reg = 0x0af & 0x1ff;

Please use macros instead of magic numbers.

-- 
With warm regards,
Sachin

  reply	other threads:[~2014-04-29 15:26 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-27  1:49 [RFC v3 PATCH 00/16] drm/exynos: support MIPI DSI command mode display YoungJun Cho
2014-04-27  1:49 ` [RFC v3 PATCH 01/16] drm/exynos: dsi: move the Eot packets configuration point YoungJun Cho
2014-04-27  1:49 ` [RFC v3 PATCH 02/16] drm/exynos: use wait_event_timeout() for safety usage YoungJun Cho
2014-04-27  1:49 ` [RFC v3 PATCH v2 03/16] ARM: dts: sysreg: add exynos5 compatible to DT bindings YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH v3 04/16] ARM: dts: samsung-fimd: add I80 specific properties YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH 05/16] drm/panel: add CPU mode timings structure YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH 06/16] drm/exynos: add TE handler to support MIPI DSI command mode interface YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH 07/16] drm/exynos: dsi: add TE handler to support " YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH 08/16] drm/exynos: fimd: support I80 interface YoungJun Cho
2014-04-29 15:35   ` Sachin Kamat
2014-04-30  0:36     ` YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH v2 09/16] ARM: dts: exynos_dsim: add exynos5420 compatible to DT bindings YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH v2 10/16] drm/exynos: dsi: add driver data to support Exynos5420 YoungJun Cho
2014-04-29 15:26   ` Sachin Kamat [this message]
2014-04-30  0:36     ` YoungJun Cho
     [not found]   ` <1398563412-21781-11-git-send-email-yj44.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-05-05 11:27     ` Andrzej Hajda
2014-05-07  0:48       ` YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH v6 11/16] ARM: dts: s6e3fa0: add DT bindings YoungJun Cho
2014-05-05 10:35   ` Andrzej Hajda
2014-05-07  1:05     ` YoungJun Cho
2014-05-07 16:00       ` Laurent Pinchart
2014-05-08  0:20         ` YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH v4 12/16] drm/panel: add S6E3FA0 driver YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH 13/16] ARM: dts: exynos4: add system register node YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH 14/16] ARM: dts: exynos5: add system register support YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH 15/16] ARM: dts: exynos5420: add mipi-phy node YoungJun Cho
2014-04-27  1:50 ` [RFC v3 PATCH 16/16] ARM: dts: exynos5420: add dsi node YoungJun Cho

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='CAK9yfHwY85FuMvTQo-HUKocyXkjjK9=5-oXVd9CL8hS7B5++=A@mail.gmail.com' \
    --to=sachin.kamat@linaro.org \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=inki.dae@samsung.com \
    --cc=jy0922.shim@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sw0312.kim@samsung.com \
    --cc=thierry.reding@gmail.com \
    --cc=yj44.cho@samsung.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 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).