public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: 敬锐 <micky_ching@realsil.com.cn>
To: Lee Jones <lee.jones@linaro.org>
Cc: "sameo@linux.intel.com" <sameo@linux.intel.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"rogerable@realtek.com" <rogerable@realtek.com>,
	王炜 <wei_wang@realsil.com.cn>
Subject: Re: [PATCH 06/10] mfd: rtsx: update phy register
Date: Mon, 19 Jan 2015 01:55:50 +0000	[thread overview]
Message-ID: <54BC6426.40902@realsil.com.cn> (raw)
In-Reply-To: <20150118122947.GM3574@x1>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 4026 bytes --]


On 01/18/2015 08:29 PM, Lee Jones wrote:
> On Thu, 15 Jan 2015, micky_ching@realsil.com.cn wrote:
>
>> From: Micky Ching <micky_ching@realsil.com.cn>
>>
>> update phy register value and using direct value instead of macros.
>> It is much easier to debug using constant value than a lot of macros.
>> We usually need compare the value directly to check the configure.
> NACK.  This is the opposite of what I would like to see.
>
When we debug, we usually need to compare the value provided from hardware,
of course we can compare by print them to kernel log. but I think it more
convenient from source code. And we only set phy register when 
initialize chip,
so the value will not scattered everywhere, we will not benefit from macros.

if we want to know the meaning of setting, we can look at the register 
define.

>> Signed-off-by: Micky Ching <micky_ching@realsil.com.cn>
>> ---
>>   drivers/mfd/rts5249.c | 46 ++++++++++++++--------------------------------
>>   1 file changed, 14 insertions(+), 32 deletions(-)
>>
>> diff --git a/drivers/mfd/rts5249.c b/drivers/mfd/rts5249.c
>> index 2fe2854..00208d1 100644
>> --- a/drivers/mfd/rts5249.c
>> +++ b/drivers/mfd/rts5249.c
>> @@ -132,57 +132,39 @@ static int rts5249_optimize_phy(struct rtsx_pcr *pcr)
>>   	if (err < 0)
>>   		return err;
>>   
>> -	err = rtsx_pci_write_phy_register(pcr, PHY_REG_REV,
>> -			PHY_REG_REV_RESV | PHY_REG_REV_RXIDLE_LATCHED |
>> -			PHY_REG_REV_P1_EN | PHY_REG_REV_RXIDLE_EN |
>> -			PHY_REG_REV_RX_PWST | PHY_REG_REV_CLKREQ_DLY_TIMER_1_0 |
>> -			PHY_REG_REV_STOP_CLKRD | PHY_REG_REV_STOP_CLKWR);
>> +	err = rtsx_pci_write_phy_register(pcr, 0x19, 0xFE6C);
>>   	if (err < 0)
>>   		return err;
>>   
>>   	msleep(1);
>>   
>> -	err = rtsx_pci_write_phy_register(pcr, PHY_BPCR,
>> -			PHY_BPCR_IBRXSEL | PHY_BPCR_IBTXSEL |
>> -			PHY_BPCR_IB_FILTER | PHY_BPCR_CMIRROR_EN);
>> +	err = rtsx_pci_write_phy_register(pcr, 0x0A, 0x05C0);
>>   	if (err < 0)
>>   		return err;
>> -	err = rtsx_pci_write_phy_register(pcr, PHY_PCR,
>> -			PHY_PCR_FORCE_CODE | PHY_PCR_OOBS_CALI_50 |
>> -			PHY_PCR_OOBS_VCM_08 | PHY_PCR_OOBS_SEN_90 |
>> -			PHY_PCR_RSSI_EN);
>> +
>> +	err = rtsx_pci_write_phy_register(pcr, 0x00, 0xBA43);
>> +	if (err < 0)
>> +		return err;
>> +	err = rtsx_pci_write_phy_register(pcr, 0x03, 0xC152);
>>   	if (err < 0)
>>   		return err;
>> -	err = rtsx_pci_write_phy_register(pcr, PHY_RCR2,
>> -			PHY_RCR2_EMPHASE_EN | PHY_RCR2_NADJR |
>> -			PHY_RCR2_CDR_CP_10 | PHY_RCR2_CDR_SR_2 |
>> -			PHY_RCR2_FREQSEL_12 | PHY_RCR2_CPADJEN |
>> -			PHY_RCR2_CDR_SC_8 | PHY_RCR2_CALIB_LATE);
>> +	err = rtsx_pci_write_phy_register(pcr, 0x1E, 0x78EB);
>>   	if (err < 0)
>>   		return err;
>> -	err = rtsx_pci_write_phy_register(pcr, PHY_FLD4,
>> -			PHY_FLD4_FLDEN_SEL | PHY_FLD4_REQ_REF |
>> -			PHY_FLD4_RXAMP_OFF | PHY_FLD4_REQ_ADDA |
>> -			PHY_FLD4_BER_COUNT | PHY_FLD4_BER_TIMER |
>> -			PHY_FLD4_BER_CHK_EN);
>> +	err = rtsx_pci_write_phy_register(pcr, 0x05, 0x4600);
>>   	if (err < 0)
>>   		return err;
>> -	err = rtsx_pci_write_phy_register(pcr, PHY_RDR, PHY_RDR_RXDSEL_1_9);
>> +	err = rtsx_pci_write_phy_register(pcr, 0x02, 0x041F);
>>   	if (err < 0)
>>   		return err;
>> -	err = rtsx_pci_write_phy_register(pcr, PHY_RCR1,
>> -			PHY_RCR1_ADP_TIME | PHY_RCR1_VCO_COARSE);
>> +	err = rtsx_pci_write_phy_register(pcr, 0x1D, 0x0824);
>>   	if (err < 0)
>>   		return err;
>> -	err = rtsx_pci_write_phy_register(pcr, PHY_FLD3,
>> -			PHY_FLD3_TIMER_4 | PHY_FLD3_TIMER_6 |
>> -			PHY_FLD3_RXDELINK);
>> +	err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4FE4);
>>   	if (err < 0)
>>   		return err;
>> -	return rtsx_pci_write_phy_register(pcr, PHY_TUNE,
>> -			PHY_TUNE_TUNEREF_1_0 | PHY_TUNE_VBGSEL_1252 |
>> -			PHY_TUNE_SDBUS_33 | PHY_TUNE_TUNED18 |
>> -			PHY_TUNE_TUNED12);
>> +
>> +	return 0;
>>   }
>>   
>>   static int rts5249_turn_on_led(struct rtsx_pcr *pcr)
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

  reply	other threads:[~2015-01-19  1:56 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-15 11:18 [PATCH 00/10] mfd: rtsx: add support for new rts524A and rts525A micky_ching
2015-01-15 11:18 ` [PATCH 01/10] mfd: rtsx: replace TAB by SPC after #define micky_ching
2015-01-18 12:39   ` Lee Jones
2015-01-19  1:23     ` 敬锐
2015-01-19  7:49       ` Lee Jones
2015-01-15 11:18 ` [PATCH 02/10] mfd: rtsx: place register address and values togather micky_ching
2015-01-18 12:35   ` Lee Jones
2015-01-15 11:19 ` [PATCH 03/10] mfd: rtsx: add debug info when access register failed micky_ching
2015-01-18 12:35   ` Lee Jones
2015-01-15 11:19 ` [PATCH 04/10] mfd: rtsx: update PETXCFG address micky_ching
2015-01-18 12:31   ` Lee Jones
2015-01-15 11:19 ` [PATCH 05/10] mfd: rtsx: update driving settings micky_ching
2015-01-18 12:32   ` Lee Jones
2015-01-15 11:19 ` [PATCH 06/10] mfd: rtsx: update phy register micky_ching
2015-01-18 12:29   ` Lee Jones
2015-01-19  1:55     ` 敬锐 [this message]
2015-01-19  7:47       ` Lee Jones
2015-01-20  2:07         ` 敬锐
2015-01-20  9:45           ` Lee Jones
2015-01-15 11:19 ` [PATCH 07/10] mfd: rtsx: remove LCTLR defination micky_ching
2015-01-18 12:28   ` Lee Jones
2015-01-19  1:12     ` 敬锐
2015-01-19  8:06       ` Lee Jones
2015-01-15 11:19 ` [PATCH 08/10] mfd: rtsx: add support for rts524A micky_ching
2015-01-18 12:20   ` Lee Jones
2015-01-19  2:32     ` 敬锐
2015-01-19  2:36     ` 敬锐
2015-01-19  7:40       ` Lee Jones
2015-01-19  3:09     ` 敬锐
2015-01-19  7:38       ` Lee Jones
2015-01-15 11:19 ` [PATCH 09/10] mfd: rtsx: add support for rts525A micky_ching
2015-01-18 11:13   ` Lee Jones
2015-01-19  2:53     ` 敬锐
2015-01-19  7:41       ` Lee Jones
2015-01-15 11:19 ` [PATCH 10/10] mfd: rtsx: using pcr_dbg replace dev_dbg micky_ching
2015-01-18 10:43   ` Lee Jones

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=54BC6426.40902@realsil.com.cn \
    --to=micky_ching@realsil.com.cn \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=lee.jones@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rogerable@realtek.com \
    --cc=sameo@linux.intel.com \
    --cc=wei_wang@realsil.com.cn \
    /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