From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 06/23] ARM: OMAP: add OMAP5 DSI muxing
Date: Fri, 25 Apr 2014 14:08:00 +0000 [thread overview]
Message-ID: <535A6C40.10609@ti.com> (raw)
In-Reply-To: <535A5C0A.7040808@ti.com>
[-- Attachment #1: Type: text/plain, Size: 2660 bytes --]
On 25/04/14 15:58, Archit Taneja wrote:
> On Friday 25 April 2014 04:48 PM, Tomi Valkeinen wrote:
>> On 25/04/14 14:11, Archit Taneja wrote:
>>> Hi,
>>>
>>> On Thursday 24 April 2014 03:47 PM, Tomi Valkeinen wrote:
>>>> Add support to set OMAP5 DSI pin muxing.
>>>>
>>>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>>>> Cc: Tony Lindgren <tony@atomide.com>
>>>> ---
>>>> arch/arm/mach-omap2/display.c | 35
>>>> ++++++++++++++++++++++++++++++++++-
>>>> 1 file changed, 34 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/mach-omap2/display.c
>>>> b/arch/arm/mach-omap2/display.c
>>>> index 16d33d831287..974461441fc3 100644
>>>> --- a/arch/arm/mach-omap2/display.c
>>>> +++ b/arch/arm/mach-omap2/display.c
>>>> @@ -137,11 +137,42 @@ static int omap4_dsi_mux_pads(int dsi_id,
>>>> unsigned lanes)
>>>> return 0;
>>>> }
>>>>
>>>> +#define CONTROL_PAD_BASE 0x4A002800
>>>> +#define CONTROL_DSIPHY 0x614
>>>> +
>>>
>>> I guess this is something we can move to our driver, and use sysconf to
>>> get the register from DT.
>>
>> I just copied the same method as used for OMAP4.
>>
>> I guess sysconf is an option. But I really dislike the idea of moving
>> omap control module code to a display driver... I'm not sure what other
>> options we have, though. Maybe an OMAP DSI specific pinctrl driver?
>
> OMAP4 has CONTROL_DSIPHY for configuring both lane enable/disbale, and
> pull up/down, but OMAP5 has normal PAD_CONF registers for DSI lines(2
> pins per register) for configuring pull up/down, and CONTROL_DSIPHY for
> lane enable/disable.
>
> We would have a very messed up pinctrl driver, but it would probably be
> better than doing all this stuff in the driver.
Actually, this patch is not good. I should've looked at the code more
carefully =).
This one does ioremap every time the function is called, which could be
done multiple times.
And I think omap4_ctrl_pad_readl() can be used to access the registers.
Like this (not tested):
#define OMAP5_CONTROL_DSIPHY 0x614
static int omap5_dsi_mux_pads(int dsi_id, unsigned lanes)
{
u32 enable_mask, enable_shift, reg;
if (dsi_id == 0) {
enable_mask = OMAP4_DSI1_LANEENABLE_MASK;
enable_shift = OMAP4_DSI1_LANEENABLE_SHIFT;
} else if (dsi_id == 1) {
enable_mask = OMAP4_DSI2_LANEENABLE_MASK;
enable_shift = OMAP4_DSI2_LANEENABLE_SHIFT;
} else {
return -ENODEV;
}
reg = omap4_ctrl_pad_readl(OMAP5_CONTROL_DSIPHY);
reg &= ~enable_mask;
reg |= (lanes << enable_shift) & enable_mask;
omap4_ctrl_pad_writel(reg, OMAP5_CONTROL_DSIPHY);
return 0;
}
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Archit Taneja <archit@ti.com>,
linux-fbdev@vger.kernel.org, linux-omap@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Cc: Tony Lindgren <tony@atomide.com>
Subject: Re: [PATCH 06/23] ARM: OMAP: add OMAP5 DSI muxing
Date: Fri, 25 Apr 2014 17:08:00 +0300 [thread overview]
Message-ID: <535A6C40.10609@ti.com> (raw)
In-Reply-To: <535A5C0A.7040808@ti.com>
[-- Attachment #1: Type: text/plain, Size: 2660 bytes --]
On 25/04/14 15:58, Archit Taneja wrote:
> On Friday 25 April 2014 04:48 PM, Tomi Valkeinen wrote:
>> On 25/04/14 14:11, Archit Taneja wrote:
>>> Hi,
>>>
>>> On Thursday 24 April 2014 03:47 PM, Tomi Valkeinen wrote:
>>>> Add support to set OMAP5 DSI pin muxing.
>>>>
>>>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>>>> Cc: Tony Lindgren <tony@atomide.com>
>>>> ---
>>>> arch/arm/mach-omap2/display.c | 35
>>>> ++++++++++++++++++++++++++++++++++-
>>>> 1 file changed, 34 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/mach-omap2/display.c
>>>> b/arch/arm/mach-omap2/display.c
>>>> index 16d33d831287..974461441fc3 100644
>>>> --- a/arch/arm/mach-omap2/display.c
>>>> +++ b/arch/arm/mach-omap2/display.c
>>>> @@ -137,11 +137,42 @@ static int omap4_dsi_mux_pads(int dsi_id,
>>>> unsigned lanes)
>>>> return 0;
>>>> }
>>>>
>>>> +#define CONTROL_PAD_BASE 0x4A002800
>>>> +#define CONTROL_DSIPHY 0x614
>>>> +
>>>
>>> I guess this is something we can move to our driver, and use sysconf to
>>> get the register from DT.
>>
>> I just copied the same method as used for OMAP4.
>>
>> I guess sysconf is an option. But I really dislike the idea of moving
>> omap control module code to a display driver... I'm not sure what other
>> options we have, though. Maybe an OMAP DSI specific pinctrl driver?
>
> OMAP4 has CONTROL_DSIPHY for configuring both lane enable/disbale, and
> pull up/down, but OMAP5 has normal PAD_CONF registers for DSI lines(2
> pins per register) for configuring pull up/down, and CONTROL_DSIPHY for
> lane enable/disable.
>
> We would have a very messed up pinctrl driver, but it would probably be
> better than doing all this stuff in the driver.
Actually, this patch is not good. I should've looked at the code more
carefully =).
This one does ioremap every time the function is called, which could be
done multiple times.
And I think omap4_ctrl_pad_readl() can be used to access the registers.
Like this (not tested):
#define OMAP5_CONTROL_DSIPHY 0x614
static int omap5_dsi_mux_pads(int dsi_id, unsigned lanes)
{
u32 enable_mask, enable_shift, reg;
if (dsi_id == 0) {
enable_mask = OMAP4_DSI1_LANEENABLE_MASK;
enable_shift = OMAP4_DSI1_LANEENABLE_SHIFT;
} else if (dsi_id == 1) {
enable_mask = OMAP4_DSI2_LANEENABLE_MASK;
enable_shift = OMAP4_DSI2_LANEENABLE_SHIFT;
} else {
return -ENODEV;
}
reg = omap4_ctrl_pad_readl(OMAP5_CONTROL_DSIPHY);
reg &= ~enable_mask;
reg |= (lanes << enable_shift) & enable_mask;
omap4_ctrl_pad_writel(reg, OMAP5_CONTROL_DSIPHY);
return 0;
}
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: tomi.valkeinen@ti.com (Tomi Valkeinen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/23] ARM: OMAP: add OMAP5 DSI muxing
Date: Fri, 25 Apr 2014 17:08:00 +0300 [thread overview]
Message-ID: <535A6C40.10609@ti.com> (raw)
In-Reply-To: <535A5C0A.7040808@ti.com>
On 25/04/14 15:58, Archit Taneja wrote:
> On Friday 25 April 2014 04:48 PM, Tomi Valkeinen wrote:
>> On 25/04/14 14:11, Archit Taneja wrote:
>>> Hi,
>>>
>>> On Thursday 24 April 2014 03:47 PM, Tomi Valkeinen wrote:
>>>> Add support to set OMAP5 DSI pin muxing.
>>>>
>>>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>>>> Cc: Tony Lindgren <tony@atomide.com>
>>>> ---
>>>> arch/arm/mach-omap2/display.c | 35
>>>> ++++++++++++++++++++++++++++++++++-
>>>> 1 file changed, 34 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/mach-omap2/display.c
>>>> b/arch/arm/mach-omap2/display.c
>>>> index 16d33d831287..974461441fc3 100644
>>>> --- a/arch/arm/mach-omap2/display.c
>>>> +++ b/arch/arm/mach-omap2/display.c
>>>> @@ -137,11 +137,42 @@ static int omap4_dsi_mux_pads(int dsi_id,
>>>> unsigned lanes)
>>>> return 0;
>>>> }
>>>>
>>>> +#define CONTROL_PAD_BASE 0x4A002800
>>>> +#define CONTROL_DSIPHY 0x614
>>>> +
>>>
>>> I guess this is something we can move to our driver, and use sysconf to
>>> get the register from DT.
>>
>> I just copied the same method as used for OMAP4.
>>
>> I guess sysconf is an option. But I really dislike the idea of moving
>> omap control module code to a display driver... I'm not sure what other
>> options we have, though. Maybe an OMAP DSI specific pinctrl driver?
>
> OMAP4 has CONTROL_DSIPHY for configuring both lane enable/disbale, and
> pull up/down, but OMAP5 has normal PAD_CONF registers for DSI lines(2
> pins per register) for configuring pull up/down, and CONTROL_DSIPHY for
> lane enable/disable.
>
> We would have a very messed up pinctrl driver, but it would probably be
> better than doing all this stuff in the driver.
Actually, this patch is not good. I should've looked at the code more
carefully =).
This one does ioremap every time the function is called, which could be
done multiple times.
And I think omap4_ctrl_pad_readl() can be used to access the registers.
Like this (not tested):
#define OMAP5_CONTROL_DSIPHY 0x614
static int omap5_dsi_mux_pads(int dsi_id, unsigned lanes)
{
u32 enable_mask, enable_shift, reg;
if (dsi_id == 0) {
enable_mask = OMAP4_DSI1_LANEENABLE_MASK;
enable_shift = OMAP4_DSI1_LANEENABLE_SHIFT;
} else if (dsi_id == 1) {
enable_mask = OMAP4_DSI2_LANEENABLE_MASK;
enable_shift = OMAP4_DSI2_LANEENABLE_SHIFT;
} else {
return -ENODEV;
}
reg = omap4_ctrl_pad_readl(OMAP5_CONTROL_DSIPHY);
reg &= ~enable_mask;
reg |= (lanes << enable_shift) & enable_mask;
omap4_ctrl_pad_writel(reg, OMAP5_CONTROL_DSIPHY);
return 0;
}
Tomi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140425/7f6fc7a2/attachment.sig>
next prev parent reply other threads:[~2014-04-25 14:08 UTC|newest]
Thread overview: 135+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-24 10:16 [PATCH 00/23] OMAPDSS: OMAP5 display support Tomi Valkeinen
2014-04-24 10:16 ` Tomi Valkeinen
2014-04-24 10:16 ` Tomi Valkeinen
2014-04-24 10:16 ` [PATCH 01/23] OMAPDSS: HDMI: lane config support Tomi Valkeinen
2014-04-24 10:16 ` Tomi Valkeinen
2014-04-24 10:16 ` Tomi Valkeinen
2014-04-25 10:06 ` Archit Taneja
2014-04-25 10:18 ` Archit Taneja
2014-04-25 10:06 ` Archit Taneja
2014-04-25 10:28 ` Tomi Valkeinen
2014-04-25 10:28 ` Tomi Valkeinen
2014-04-25 10:28 ` Tomi Valkeinen
2014-04-24 10:16 ` [PATCH 02/23] Doc/DT: ti,omap4-dss: hdmi lanes Tomi Valkeinen
2014-04-24 10:16 ` Tomi Valkeinen
2014-04-24 10:16 ` Tomi Valkeinen
2014-04-24 10:16 ` [PATCH 03/23] OMAPDSS: HDMI4: set regulator voltage to 1.8V Tomi Valkeinen
2014-04-24 10:16 ` Tomi Valkeinen
2014-04-24 10:16 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 04/23] OMAPDSS: DSI: " Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 05/23] ARM: OMAP: hwmod: OMAP5 DSS hwmod data Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 06/23] ARM: OMAP: add OMAP5 DSI muxing Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-25 11:11 ` Archit Taneja
2014-04-25 11:23 ` Archit Taneja
2014-04-25 11:11 ` Archit Taneja
2014-04-25 11:18 ` Tomi Valkeinen
2014-04-25 11:18 ` Tomi Valkeinen
2014-04-25 11:18 ` Tomi Valkeinen
2014-04-25 12:58 ` Archit Taneja
2014-04-25 13:10 ` Archit Taneja
2014-04-25 12:58 ` Archit Taneja
2014-04-25 14:08 ` Tomi Valkeinen [this message]
2014-04-25 14:08 ` Tomi Valkeinen
2014-04-25 14:08 ` Tomi Valkeinen
2014-04-25 15:31 ` Tony Lindgren
2014-04-25 15:31 ` Tony Lindgren
2014-04-25 15:31 ` Tony Lindgren
2014-04-28 6:52 ` Tomi Valkeinen
2014-04-28 6:52 ` Tomi Valkeinen
2014-04-28 6:52 ` Tomi Valkeinen
2014-04-28 16:45 ` Tony Lindgren
2014-04-28 16:45 ` Tony Lindgren
2014-04-28 16:45 ` Tony Lindgren
2014-04-29 5:26 ` Tomi Valkeinen
2014-04-29 5:26 ` Tomi Valkeinen
2014-04-29 5:26 ` Tomi Valkeinen
2014-04-29 15:05 ` Tony Lindgren
2014-04-29 15:05 ` Tony Lindgren
2014-04-29 15:05 ` Tony Lindgren
2014-04-29 16:19 ` Tomi Valkeinen
2014-04-29 16:19 ` Tomi Valkeinen
2014-04-29 16:19 ` Tomi Valkeinen
2014-04-29 16:32 ` Tomi Valkeinen
2014-04-29 16:32 ` Tomi Valkeinen
2014-04-29 16:32 ` Tomi Valkeinen
2014-04-29 17:38 ` Tony Lindgren
2014-04-29 17:38 ` Tony Lindgren
2014-04-29 17:38 ` Tony Lindgren
2014-04-30 6:13 ` Tomi Valkeinen
2014-04-30 6:13 ` Tomi Valkeinen
2014-04-30 6:13 ` Tomi Valkeinen
2014-04-30 17:56 ` Tony Lindgren
2014-04-30 17:56 ` Tony Lindgren
2014-04-30 17:56 ` Tony Lindgren
2014-05-02 13:06 ` Tomi Valkeinen
2014-05-02 13:06 ` Tomi Valkeinen
2014-05-02 13:06 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 07/23] ARM: OMAP: add detection of omap5-dss Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 08/23] ARM: dts: omap5-clocks.dtsi: add dss iclk Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 09/23] ARM: dts: omap5-clocks.dtsi: add ti,set-rate-parent to dss_dss_clk Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 09/23] ARM: dts: omap5-clocks.dtsi: add ti, set-rate-parent " Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 09/23] ARM: dts: omap5-clocks.dtsi: add ti,set-rate-parent " Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 10/23] ARM: dts: omap5.dtsi: add DSS nodes Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 11/23] ARM: dts: omap5-uevm.dts: add tca6424a Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 13:49 ` Sergei Shtylyov
2014-04-24 13:49 ` Sergei Shtylyov
2014-04-24 13:49 ` Sergei Shtylyov
2014-04-24 14:33 ` Tomi Valkeinen
2014-04-24 14:33 ` Tomi Valkeinen
2014-04-24 14:33 ` Tomi Valkeinen
2014-04-24 16:53 ` Sergei Shtylyov
2014-04-24 16:53 ` Sergei Shtylyov
2014-04-24 16:53 ` Sergei Shtylyov
2014-04-25 14:20 ` Tomi Valkeinen
2014-04-25 14:20 ` Tomi Valkeinen
2014-04-25 14:20 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 12/23] ARM: dts: omap5-uevm.dts: add display nodes Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 13/23] OMAPDSS: DSS & DISPC DT support for OMAP5 Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 14/23] OMAPDSS: features: fix OMAP5 features Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 15/23] OMAPDSS: DPI: fix LCD3 DSI source Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 16/23] OMAPDSS: DSI: Add OMAP5 DSI module IDs Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 17/23] OMAPDSS: HDMI: improve Makefile Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 18/23] OMAPDSS: HDMI: move irq & phy pwr handling Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 19/23] OMAPDSS: HDMI: support larger register offsets for OMAP5 HDMI core Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 20/23] OMAPDSS: HDMI: PHY changes for OMAP5 Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 21/23] OMAPDSS: HDMI: PLL " Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 22/23] OMAPDSS: HDMI: Add OMAP5 HDMI support Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` [PATCH 23/23] Doc/DT: Add OMAP5 DSS DT bindings Tomi Valkeinen
2014-04-24 10:17 ` Tomi Valkeinen
2014-04-24 10:17 ` 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=535A6C40.10609@ti.com \
--to=tomi.valkeinen@ti.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.