* [PATCH v2 0/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude
@ 2020-10-22 20:50 Florian Fainelli
2020-10-22 20:50 ` [PATCH v2 1/2] dt-bindings: phy: Allow defining the " Florian Fainelli
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Florian Fainelli @ 2020-10-22 20:50 UTC (permalink / raw)
To: linux-kernel
Cc: bcm-kernel-feedback-list, Florian Fainelli,
Kishon Vijay Abraham I, Vinod Koul, Rob Herring,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
Hi Vinod, Kishon,
This patch series allows the configuration of the Broadcom SATA PHY TX
amplitude which may be required in order to meet specific tests.
Thanks!
Changes in v2:
- rebased against phy/next
- added Rob's Acked-by to the dt-binding patch
Florian Fainelli (2):
dt-bindings: phy: Allow defining the SATA AFE TX amplitude
phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude
.../devicetree/bindings/phy/brcm-sata-phy.txt | 3 ++
drivers/phy/broadcom/phy-brcm-sata.c | 32 +++++++++++++++++++
2 files changed, 35 insertions(+)
--
2.25.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/2] dt-bindings: phy: Allow defining the SATA AFE TX amplitude
2020-10-22 20:50 [PATCH v2 0/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude Florian Fainelli
@ 2020-10-22 20:50 ` Florian Fainelli
2020-10-22 20:50 ` [PATCH v2 2/2] phy: phy-brcm-sata: Allow configuration " Florian Fainelli
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Florian Fainelli @ 2020-10-22 20:50 UTC (permalink / raw)
To: linux-kernel
Cc: bcm-kernel-feedback-list, Florian Fainelli, Rob Herring,
Kishon Vijay Abraham I, Vinod Koul, Rob Herring,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
Document a new property which allows the selection of the SATA AFE TX
amplitude in milli Volts. Possible values are 400, 500, 600 and 800mV.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
Documentation/devicetree/bindings/phy/brcm-sata-phy.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt b/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
index c03ad2198410..e5abbace93a3 100644
--- a/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
+++ b/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
@@ -38,6 +38,9 @@ Sub-nodes optional properties:
- brcm,rxaeq-value: when 'rxaeq-mode' is set to "manual", provides the RX
equalizer value that should be used. Allowed range is 0..63.
+- brcm,tx-amplitude-millivolt: transmit amplitude voltage in millivolt.
+ Possible values are 400, 500, 600 or 800 mV.
+
Example
sata-phy@f0458100 {
compatible = "brcm,bcm7445-sata-phy", "brcm,phy-sata3";
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude
2020-10-22 20:50 [PATCH v2 0/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude Florian Fainelli
2020-10-22 20:50 ` [PATCH v2 1/2] dt-bindings: phy: Allow defining the " Florian Fainelli
@ 2020-10-22 20:50 ` Florian Fainelli
2020-11-10 17:48 ` [PATCH v2 0/2] " Florian Fainelli
2020-11-16 7:42 ` Vinod Koul
3 siblings, 0 replies; 6+ messages in thread
From: Florian Fainelli @ 2020-10-22 20:50 UTC (permalink / raw)
To: linux-kernel
Cc: bcm-kernel-feedback-list, Florian Fainelli,
Kishon Vijay Abraham I, Vinod Koul, Rob Herring,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
Read the 'brcm,tx-amplitude-millivolt' property from Device Tree and
propagate its value into the appropriate test transmit register to
change the TX amplitude.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/phy/broadcom/phy-brcm-sata.c | 32 ++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/drivers/phy/broadcom/phy-brcm-sata.c b/drivers/phy/broadcom/phy-brcm-sata.c
index 18251f232172..7be3586b16cb 100644
--- a/drivers/phy/broadcom/phy-brcm-sata.c
+++ b/drivers/phy/broadcom/phy-brcm-sata.c
@@ -65,6 +65,7 @@ struct brcm_sata_port {
bool ssc_en;
enum brcm_sata_phy_rxaeq_mode rxaeq_mode;
u32 rxaeq_val;
+ u32 tx_amplitude_val;
};
struct brcm_sata_phy {
@@ -84,6 +85,10 @@ enum sata_phy_regs {
BLOCK0_SPARE_OOB_CLK_SEL_MASK = 0x3,
BLOCK0_SPARE_OOB_CLK_SEL_REFBY2 = 0x1,
+ BLOCK1_REG_BANK = 0x10,
+ BLOCK1_TEST_TX = 0x83,
+ BLOCK1_TEST_TX_AMP_SHIFT = 12,
+
PLL_REG_BANK_0 = 0x050,
PLL_REG_BANK_0_PLLCONTROL_0 = 0x81,
PLLCONTROL_0_FREQ_DET_RESTART = BIT(13),
@@ -379,6 +384,29 @@ static int brcm_stb_sata_16nm_ssc_init(struct brcm_sata_port *port)
brcm_sata_phy_wr(port, RXPMD_REG_BANK, RXPMD_RX_FREQ_MON_CONTROL1,
~tmp, RXPMD_MON_CORRECT_EN | value);
+ tmp = GENMASK(15, 12);
+ switch (port->tx_amplitude_val) {
+ case 400:
+ value = BIT(12) | BIT(13);
+ break;
+ case 500:
+ value = BIT(13);
+ break;
+ case 600:
+ value = BIT(12);
+ break;
+ case 800:
+ value = 0;
+ break;
+ default:
+ value = tmp;
+ break;
+ }
+
+ if (value != tmp)
+ brcm_sata_phy_wr(port, BLOCK1_REG_BANK, BLOCK1_TEST_TX, ~tmp,
+ value);
+
/* Turn on/off SSC */
brcm_sata_phy_wr(port, TX_REG_BANK, TX_ACTRL5, ~TX_ACTRL5_SSC_EN,
port->ssc_en ? TX_ACTRL5_SSC_EN : 0);
@@ -791,6 +819,10 @@ static int brcm_sata_phy_probe(struct platform_device *pdev)
if (port->rxaeq_mode == RXAEQ_MODE_MANUAL)
of_property_read_u32(child, "brcm,rxaeq-value",
&port->rxaeq_val);
+
+ of_property_read_u32(child, "brcm,tx-amplitude-millivolt",
+ &port->tx_amplitude_val);
+
port->ssc_en = of_property_read_bool(child, "brcm,enable-ssc");
if (IS_ERR(port->phy)) {
dev_err(dev, "failed to create PHY\n");
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude
2020-10-22 20:50 [PATCH v2 0/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude Florian Fainelli
2020-10-22 20:50 ` [PATCH v2 1/2] dt-bindings: phy: Allow defining the " Florian Fainelli
2020-10-22 20:50 ` [PATCH v2 2/2] phy: phy-brcm-sata: Allow configuration " Florian Fainelli
@ 2020-11-10 17:48 ` Florian Fainelli
2020-11-16 7:42 ` Vinod Koul
3 siblings, 0 replies; 6+ messages in thread
From: Florian Fainelli @ 2020-11-10 17:48 UTC (permalink / raw)
To: Florian Fainelli, linux-kernel, Kishon Vijay Abraham I, Vinod Koul
Cc: bcm-kernel-feedback-list, Rob Herring,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
On 10/22/20 1:50 PM, Florian Fainelli wrote:
> Hi Vinod, Kishon,
>
> This patch series allows the configuration of the Broadcom SATA PHY TX
> amplitude which may be required in order to meet specific tests.
>
> Thanks!
>
> Changes in v2:
Vinod, Kishon, can this be applied if you are okay with the changes?
Thank you!
>
> - rebased against phy/next
> - added Rob's Acked-by to the dt-binding patch
>
> Florian Fainelli (2):
> dt-bindings: phy: Allow defining the SATA AFE TX amplitude
> phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude
>
> .../devicetree/bindings/phy/brcm-sata-phy.txt | 3 ++
> drivers/phy/broadcom/phy-brcm-sata.c | 32 +++++++++++++++++++
> 2 files changed, 35 insertions(+)
>
--
Florian
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude
2020-10-22 20:50 [PATCH v2 0/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude Florian Fainelli
` (2 preceding siblings ...)
2020-11-10 17:48 ` [PATCH v2 0/2] " Florian Fainelli
@ 2020-11-16 7:42 ` Vinod Koul
2020-11-16 22:51 ` Florian Fainelli
3 siblings, 1 reply; 6+ messages in thread
From: Vinod Koul @ 2020-11-16 7:42 UTC (permalink / raw)
To: Florian Fainelli
Cc: linux-kernel, bcm-kernel-feedback-list, Kishon Vijay Abraham I,
Rob Herring,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
On 22-10-20, 13:50, Florian Fainelli wrote:
> Hi Vinod, Kishon,
>
> This patch series allows the configuration of the Broadcom SATA PHY TX
> amplitude which may be required in order to meet specific tests.
Applied, thanks
Btw please do convert the binding doc to yaml
Thanks
--
~Vinod
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude
2020-11-16 7:42 ` Vinod Koul
@ 2020-11-16 22:51 ` Florian Fainelli
0 siblings, 0 replies; 6+ messages in thread
From: Florian Fainelli @ 2020-11-16 22:51 UTC (permalink / raw)
To: Vinod Koul, Florian Fainelli
Cc: linux-kernel, bcm-kernel-feedback-list, Kishon Vijay Abraham I,
Rob Herring,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
On 11/15/20 11:42 PM, Vinod Koul wrote:
> On 22-10-20, 13:50, Florian Fainelli wrote:
>> Hi Vinod, Kishon,
>>
>> This patch series allows the configuration of the Broadcom SATA PHY TX
>> amplitude which may be required in order to meet specific tests.
>
> Applied, thanks
>
> Btw please do convert the binding doc to yaml
Will do, thanks!
--
Florian
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-11-16 22:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-22 20:50 [PATCH v2 0/2] phy: phy-brcm-sata: Allow configuration SATA AFE TX amplitude Florian Fainelli
2020-10-22 20:50 ` [PATCH v2 1/2] dt-bindings: phy: Allow defining the " Florian Fainelli
2020-10-22 20:50 ` [PATCH v2 2/2] phy: phy-brcm-sata: Allow configuration " Florian Fainelli
2020-11-10 17:48 ` [PATCH v2 0/2] " Florian Fainelli
2020-11-16 7:42 ` Vinod Koul
2020-11-16 22:51 ` Florian Fainelli
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).