Re: [PATCH 1/7] drm/exynos: move hdmiphy related code to hdmiphy driver
From: Inki Dae <inki.dae@samsung.com>
Date: 2013-09-28 16:10:42
Also in:
dri-devel, linux-samsung-soc
2013/9/27 Rahul Sharma [off-list ref]
On 16 September 2013 18:10, Inki Dae [off-list ref] wrote:quoted
CCing devicetree,quoted
-----Original Message----- From: Rahul Sharma [mailto:r.sh.open@gmail.com] Sent: Tuesday, September 10, 2013 5:28 PM To: Sean Paul Cc: Inki Dae; Rahul Sharma; linux-samsung-soc; dri-devel; kgene.kim; sw0312.kim; Lucas Stach; Tomasz Figa; Sylwester Nawrocki; sunil joshi; Shirish S Subject: Re: [PATCH 1/7] drm/exynos: move hdmiphy related code tohdmiphyquoted
quoted
driver On 6 September 2013 19:21, Sean Paul [off-list ref] wrote:quoted
On Thu, Sep 5, 2013 at 11:37 PM, Rahul Sharma [off-list ref]wrote:quoted
quoted
On 5 September 2013 19:20, Inki Dae [off-list ref] wrote:quoted
quoted
-----Original Message----- From: Sean Paul [mailto:seanpaul@chromium.org] Sent: Thursday, September 05, 2013 10:20 PM To: Inki Dae Cc: Rahul Sharma; Rahul Sharma; linux-samsung-soc; dri-devel;kgene.kim;quoted
quoted
quoted
quoted
sw0312.kim; Lucas Stach; Tomasz Figa; Sylwester Nawrocki; suniljoshi;quoted
quoted
quoted
quoted
quoted
Shirish S Subject: Re: [PATCH 1/7] drm/exynos: move hdmiphy related code tohdmiphyquoted
quoted
quoted
quoted
driver On Thu, Sep 5, 2013 at 2:19 AM, Inki Dae [off-list ref]wrote:quoted
quoted
quoted
quoted
quoted
quoted
quoted
-----Original Message----- From: linux-samsung-soc-owner@vger.kernel.org [mailto:linux-samsung-quoted
quoted
quoted
quoted
soc-quoted
quoted
owner@vger.kernel.org] On Behalf Of Rahul Sharma Sent: Thursday, September 05, 2013 3:04 PM To: Inki Dae Cc: Sean Paul; Rahul Sharma; linux-samsung-soc; dri-devel;kgene.kim;quoted
quoted
quoted
quoted
quoted
quoted
sw0312.kim; Lucas Stach; Tomasz Figa; Sylwester Nawrocki; suniljoshi;quoted
quoted
quoted
quoted
quoted
quoted
Shirish S Subject: Re: [PATCH 1/7] drm/exynos: move hdmiphy related codetoquoted
quoted
quoted
quoted
quoted
quoted
hdmiphyquoted
quoted
driver On 5 September 2013 10:52, Inki Dae [off-list ref]wrote:quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
+static struct hdmiphy_confighdmiphy_4210_configs[] =quoted
quoted
{quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
+ { + .pixel_clock = 27000000, + .conf = { + 0x01, 0x05, 0x00, 0xD8,0x10,quoted
0x1C,quoted
quoted
quoted
quoted
quoted
quoted
0x30,quoted
quoted
quoted
quoted
0x40,quoted
quoted
quoted
quoted
quoted
+ 0x6B, 0x10, 0x02, 0x51,0xDF,quoted
0xF2,quoted
quoted
quoted
quoted
quoted
quoted
0x54,quoted
quoted
quoted
quoted
0x87,quoted
quoted
quoted
quoted
quoted
+ 0x84, 0x00, 0x30, 0x38,0x00,quoted
0x08,quoted
quoted
quoted
quoted
quoted
quoted
0x10,quoted
quoted
quoted
quoted
0xE0,quoted
quoted
quoted
quoted
quoted
+ 0x22, 0x40, 0xE3, 0x26,0x00,quoted
0x00,quoted
quoted
quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
quoted
+ }, + }, + { + .pixel_clock = 27027000, + .conf = { + 0x01, 0x05, 0x00, 0xD4,0x10,quoted
0x9C,quoted
quoted
quoted
quoted
quoted
quoted
0x09,quoted
quoted
quoted
quoted
0x64,quoted
quoted
quoted
quoted
quoted
+ 0x6B, 0x10, 0x02, 0x51,0xDF,quoted
0xF2,quoted
quoted
quoted
quoted
quoted
quoted
0x54,quoted
quoted
quoted
quoted
0x87,quoted
quoted
quoted
quoted
quoted
+ 0x84, 0x00, 0x30, 0x38,0x00,quoted
0x08,quoted
quoted
quoted
quoted
quoted
quoted
0x10,quoted
quoted
quoted
quoted
0xE0,quoted
quoted
quoted
quoted
quoted
+ 0x22, 0x40, 0xE3, 0x26,0x00,quoted
0x00,quoted
quoted
quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
quoted
+ }, + }, + { + .pixel_clock = 74176000, + .conf = { + 0x01, 0x05, 0x00, 0xD8,0x10,quoted
0x9C,quoted
quoted
quoted
quoted
quoted
quoted
0xef,quoted
quoted
quoted
quoted
0x5B,quoted
quoted
quoted
quoted
quoted
+ 0x6D, 0x10, 0x01, 0x51,0xef,quoted
0xF3,quoted
quoted
quoted
quoted
quoted
quoted
0x54,quoted
quoted
quoted
quoted
0xb9,quoted
quoted
quoted
quoted
quoted
+ 0x84, 0x00, 0x30, 0x38,0x00,quoted
0x08,quoted
quoted
quoted
quoted
quoted
quoted
0x10,quoted
quoted
quoted
quoted
0xE0,quoted
quoted
quoted
quoted
quoted
+ 0x22, 0x40, 0xa5, 0x26,0x01,quoted
0x00,quoted
quoted
quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
quoted
+ }, + }, + { + .pixel_clock = 74250000, + .conf = { + 0x01, 0x05, 0x00, 0xd8,0x10,quoted
0x9c,quoted
quoted
quoted
quoted
quoted
quoted
0xf8,quoted
quoted
quoted
quoted
0x40,quoted
quoted
quoted
quoted
quoted
+ 0x6a, 0x10, 0x01, 0x51,0xff,quoted
0xf1,quoted
quoted
quoted
quoted
quoted
quoted
0x54,quoted
quoted
quoted
quoted
0xba,quoted
quoted
quoted
quoted
quoted
+ 0x84, 0x00, 0x10, 0x38,0x00,quoted
0x08,quoted
quoted
quoted
quoted
quoted
quoted
0x10,quoted
quoted
quoted
quoted
0xe0,quoted
quoted
quoted
quoted
quoted
+ 0x22, 0x40, 0xa4, 0x26,0x01,quoted
0x00,quoted
quoted
quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
quoted
+ }, + }, + { + .pixel_clock = 148500000, + .conf = { + 0x01, 0x05, 0x00, 0xD8,0x10,quoted
0x9C,quoted
quoted
quoted
quoted
quoted
quoted
0xf8,quoted
quoted
quoted
quoted
0x40,quoted
quoted
quoted
quoted
quoted
+ 0x6A, 0x18, 0x00, 0x51,0xff,quoted
0xF1,quoted
quoted
quoted
quoted
quoted
quoted
0x54,quoted
quoted
quoted
quoted
0xba,quoted
quoted
quoted
quoted
quoted
+ 0x84, 0x00, 0x10, 0x38,0x00,quoted
0x08,quoted
quoted
quoted
quoted
quoted
quoted
0x10,quoted
quoted
quoted
quoted
0xE0,quoted
quoted
quoted
quoted
quoted
+ 0x22, 0x40, 0xa4, 0x26,0x02,quoted
0x00,quoted
quoted
quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
0x00,quoted
quoted
quoted
quoted
quoted
+ }, + }, +}; +Are you aware of the effort to move these to dt?Sincequoted
quoted
thesequoted
quoted
quoted
quoted
quoted
quoted
arequoted
quoted
quoted
quoted
quoted
quoted
quoted
board-specific values, it seems incorrect to applythemquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
universally.quoted
quoted
quoted
quoted
quoted
Shirish has uploaded a patch to the chromium reviewsite toquoted
quoted
quoted
quoted
quoted
quoted
pushquoted
quoted
quoted
quoted
thesequoted
quoted
quoted
into dt(https://chromium-review.googlesource.com/#/c/65581).quoted
quoted
quoted
quoted
quoted
Maybequoted
quoted
quoted
quoted
quoted
you can work that into your patch set?Are these really board-specific values?According to your hardware people: "If the signal pattern doesn't change for new board, thephyquoted
quoted
quoted
quoted
quoted
quoted
settingquoted
quoted
quoted
quoted
quoted
quoted
is same as the current board. But if changed, you need toconfirmquoted
quoted
quoted
quoted
quoted
quoted
withquoted
quoted
quoted
quoted
measurement of signals, because it may vary slightly byresistancequoted
quoted
ofquoted
quoted
quoted
quoted
board pattern"Right. it seems that the phy configuration should beadjustedquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
accordingquoted
quoted
toquoted
PCB environment: OSC clock rate, 24MHz or 27MHz, could bedecidedquoted
quoted
quoted
quoted
byquoted
quoted
PCBquoted
quoted
quoted
even though most PCBs use 27MHz.quoted
That indicates to me that we might need to tweak these onaquoted
quoted
per-quoted
quoted
quoted
quoted
quoted
quoted
boardquoted
quoted
quoted
quoted
basis. In the 5420 datasheet, there are a few registerdescriptionsquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
availablequoted
quoted
quoted
quoted
for the phy. 0x145D0004 is CLK_SEL which seems like itwouldquoted
quoted
bequoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
board-specific, same with TX_* registers.And we can select HDMI Tx PHY internal PLL input clock bysettingquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
CLK_SEL.quoted
Ok, Shirish's patch set is reasonable to me. However, thatpatchquoted
quoted
quoted
quoted
setquoted
quoted
quoted
quoted
shouldquoted
be rebased on top of Rahul's patch set. Shirish and Rahul,pleasequoted
quoted
quoted
quoted
re-quoted
quoted
quoted
quoted
postquoted
your patch set after discussing how to rebase these patchset.quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
Thanks, Inki DaeIn that case, we need to test the phy confs for all theexynosquoted
quoted
quoted
quoted
quoted
quoted
boards,quoted
quoted
quoted
quoted
supported in mainline. Probably needs a analyser as well to preciselycompare thequoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
deviation.Shirish patch adds phy config data only to arndale andsmdk5250quoted
quoted
quoted
quoted
quoted
quoted
boards,quoted
quoted
andquoted
these config data should have each board specific values.Therefore,quoted
quoted
quoted
quoted
forquoted
quoted
quoted
other boards, shouldn't correct phy config data suitable totheirquoted
quoted
quoted
quoted
boardsquoted
quoted
bequoted
added to their board dts files? Is the above analyzer reallyneeded?quoted
quoted
quoted
quoted
quoted
quoted
quoted
Sorry, I had only seen his patches for chromium tree. Inmainlinequoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
version, he added for 5250 as well. But both sets (for arndaleandquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
smdk) are exactly same as original 5250 configs which also works with 4412 origen. Some problem has been identified during conformance testing for 5420 peach board, which happens with analyser. It was always working fine on the TV sets that I have. @Shirish/Sean please correct me if wrong.quoted
quoted
Shirish patch is only for 5420 Peach board. Else, to startwithquoted
quoted
wequoted
quoted
quoted
quoted
canquoted
quoted
quoted
quoted
mark phyconf as optional property which overrides the default PhyConfsquoted
quoted
quoted
quoted
forquoted
quoted
quoted
quoted
given SoC.Hm.... you mean that hdmiphy driver use the default phy configdataquoted
quoted
quoted
quoted
inquoted
quoted
quoted
driver; most boards use the same data, and only in specialcase;quoted
quoted
aquoted
quoted
quoted
quoted
boardquoted
quoted
quoted
uses different OSC clock rate, the hdmiphy driver use phyconfigquoted
quoted
dataquoted
quoted
quoted
quoted
quoted
quoted
fromquoted
dts file checking hdmiphy-confs property?Yes. I meant same. I don't see the real need to duplicate somuchquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
of data in all board dts files. We can add it for a particularboard,quoted
quoted
quoted
quoted
ifquoted
quoted
really required.Yes, reasonable to me. It's not good that board dts files havesamequoted
quoted
phyquoted
quoted
quoted
quoted
quoted
config data. How about using the phy config data from dts file if hdmiphy-confs property exists, otherwise using default phy configdataquoted
quoted
quoted
quoted
then?quoted
This means that we don't need to remove the phy config data fromdriver;quoted
quoted
quoted
quoted
quoted
that will be used as default values.Can you add the "default" configs to exynos5250.dtsi and exynos5420.dtsi, then overwrite it in the board file if it needs tobequoted
quoted
quoted
quoted
different?This will still introduce some duplication as 4412 and 5250 sharesamequoted
quoted
quoted
quoted
phy confs and have no common dtsi. Similar situation can arise forlaterquoted
quoted
SoCs in exynos series.quoted
Good idea but how about adding default-hdmiphy-config property toeachquoted
quoted
boardquoted
quoted
quoted
dts file and removing phy config data from board dts file if theyarequoted
quoted
samequoted
quoted
quoted
as default one of driver? With this, hdmiphy driver checks if default-hdmiphy-config property exists, and then use default configdata ifquoted
quoted
quoted
exists. And if not exists, hdmiphy driver gets and uses boardspecificquoted
quoted
phyquoted
quoted
quoted
config data from board dts file. And it seems that the phy config values of Shirish's patch set aresame asquoted
quoted
quoted
default ones of driver. So we can remove the phy config data fromeachquoted
quoted
boardquoted
quoted
quoted
dts files and add default-hdmiphy-config property to there so thatdefaultquoted
quoted
quoted
data of driver can be used. Thanks, Inki DaeWe can simplify it further by letting the driver use phy-conf property from DT. If phy-conf property is not available switch to default confs, provided in the driver. This way we don't need to add default-hdmiphy-config property to all board files.This is probably a worthwhile discussion to have on Shirish's patch with devicetree-discuss. I'm unsure which is the preferred way to do something like this.I agree. Shall we keep those patches for "phy conf from DT" independent to this series? Until this phy separation patches get merged, hdmi will remain broken for 5250 and 5420.Sorry for being late. I was so busy. I have pondered over whether we should use default phy config values of driver or not. My opinion is that we need to keep the default phy config values in dts file because the values couldn't be used as default for all boards: the default means that all boards should work well with thedefaultquoted
values, but wouldn't work. Therefore, the default values we arediscussingquoted
are specific to some boards even though most boards work well with the values. So I tend to agree with Sean Paul. Let's just add the default phy config values to each board dts file that works well even though the values are duplicated. For this, Rahul, we could rebase your patch set on top of Shirish's patch. Other opinions?Any opinion from Device-Tree folks? IMO, we should have same consensus on Shirish patches before proceeding.
Rahul, it seems that DT people have no interest in this issue. So let's have a consensus about this issue internally. To Mr. Kyungmin, Sylwester, Kukjin Kim, and Tomasz, How about keeping hdmiphy config data in each board dts file? Thanks, Inki Dae
Regards, Rahul Sharma.quoted
Thanks, Inki Daequoted
regards, Rahul Sharma.quoted
Seanquoted
The number of exceptions where we need to override the default confs is zero (as if now). 5420 based Peach and Smdk boards work exactly the same with same set of phy confs on 3 hdmi displays, I have. It may differ on Analyser. IMO we can defer this part till we have unacceptable analyser results for any specific board. Regards, Rahul Sharma.quoted
quoted
Seanquoted
Rahul, let's go if there is other opinion. we SHOULD MERGE thesethisquoted
quoted
quoted
quoted
quoted
time.:) Thanks, Inki Daequoted
Regards, Rahul Sharma.quoted
quoted
regards, Rahul Sharma.quoted
quoted
Sean-- To unsubscribe from this list: send the line "unsubscribe linux-samsung-quoted
quoted
soc" in the body of a message to majordomo@vger.kernel.org More majordomo info athttp://vger.kernel.org/majordomo-info.htmlquoted
quoted
quoted
quoted
quoted
quoted
quoted
_______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel