linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII
@ 2022-08-19  9:13 Chunfeng Yun
  2022-08-19  9:13 ` [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis Chunfeng Yun
                   ` (7 more replies)
  0 siblings, 8 replies; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-19  9:13 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring
  Cc: Chunfeng Yun, Kishon Vijay Abraham I, Krzysztof Kozlowski,
	Matthias Brugger, linux-arm-kernel, linux-mediatek, linux-phy,
	devicetree, linux-kernel, Eddie Hung

Add support ethernet SGMII, forgot to update type supported.

Fixes: c01608b3b46b ("dt-bindings: phy: mediatek: tphy: support type switch by pericfg")
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 Documentation/devicetree/bindings/phy/mediatek,tphy.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
index b3e409988c17..848edfb1f677 100644
--- a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
+++ b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
@@ -163,6 +163,7 @@ patternProperties:
                 - PHY_TYPE_USB3
                 - PHY_TYPE_PCIE
                 - PHY_TYPE_SATA
+                - PHY_TYPE_SGMII
 
       nvmem-cells:
         items:
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-19  9:13 [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Chunfeng Yun
@ 2022-08-19  9:13 ` Chunfeng Yun
  2022-08-19 12:15   ` Krzysztof Kozlowski
  2022-08-19  9:13 ` [PATCH 3/7] phy: phy-mtk-tphy: " Chunfeng Yun
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-19  9:13 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring
  Cc: Chunfeng Yun, Kishon Vijay Abraham I, Krzysztof Kozlowski,
	Matthias Brugger, linux-arm-kernel, linux-mediatek, linux-phy,
	devicetree, linux-kernel, Eddie Hung

Add a property to set usb2 phy's pre-emphasis.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 Documentation/devicetree/bindings/phy/mediatek,tphy.yaml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
index 848edfb1f677..aee2f3027371 100644
--- a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
+++ b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
@@ -219,6 +219,13 @@ patternProperties:
         minimum: 1
         maximum: 15
 
+      mediatek,pre-emphasis:
+        description:
+          The selection of pre-emphasis (U2 phy)
+        $ref: /schemas/types.yaml#/definitions/uint32
+        minimum: 1
+        maximum: 3
+
       mediatek,bc12:
         description:
           Specify the flag to enable BC1.2 if support it
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 3/7] phy: phy-mtk-tphy: add property to set pre-emphasis
  2022-08-19  9:13 [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Chunfeng Yun
  2022-08-19  9:13 ` [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis Chunfeng Yun
@ 2022-08-19  9:13 ` Chunfeng Yun
  2022-08-19  9:13 ` [PATCH 4/7] phy: phy-mtk-tphy: disable hardware efuse when set INTR Chunfeng Yun
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-19  9:13 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring
  Cc: Chunfeng Yun, Kishon Vijay Abraham I, Krzysztof Kozlowski,
	Matthias Brugger, linux-arm-kernel, linux-mediatek, linux-phy,
	devicetree, linux-kernel, Eddie Hung

Add a property to set usb2 phy's pre-emphasis, it's disabled by default
on some SoCs.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/phy/mediatek/phy-mtk-tphy.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/phy/mediatek/phy-mtk-tphy.c b/drivers/phy/mediatek/phy-mtk-tphy.c
index 8ee7682b8e93..986fde0f63a0 100644
--- a/drivers/phy/mediatek/phy-mtk-tphy.c
+++ b/drivers/phy/mediatek/phy-mtk-tphy.c
@@ -72,6 +72,8 @@
 #define PA5_RG_U2_HS_100U_U3_EN	BIT(11)
 
 #define U3P_USBPHYACR6		0x018
+#define PA6_RG_U2_PRE_EMP		GENMASK(31, 30)
+#define PA6_RG_U2_PRE_EMP_VAL(x)	((0x3 & (x)) << 30)
 #define PA6_RG_U2_BC11_SW_EN		BIT(23)
 #define PA6_RG_U2_OTG_VBUSCMP_EN	BIT(20)
 #define PA6_RG_U2_DISCTH		GENMASK(7, 4)
@@ -370,6 +372,7 @@ struct mtk_phy_instance {
 	int eye_term;
 	int intr;
 	int discth;
+	int pre_emphasis;
 	bool bc12_en;
 };
 
@@ -841,10 +844,13 @@ static void phy_parse_property(struct mtk_tphy *tphy,
 				 &instance->intr);
 	device_property_read_u32(dev, "mediatek,discth",
 				 &instance->discth);
+	device_property_read_u32(dev, "mediatek,pre-emphasis",
+				 &instance->pre_emphasis);
 	dev_dbg(dev, "bc12:%d, src:%d, vrt:%d, term:%d, intr:%d, disc:%d\n",
 		instance->bc12_en, instance->eye_src,
 		instance->eye_vrt, instance->eye_term,
 		instance->intr, instance->discth);
+	dev_dbg(dev, "pre-emp:%d\n", instance->pre_emphasis);
 }
 
 static void u2_phy_props_set(struct mtk_tphy *tphy,
@@ -875,6 +881,10 @@ static void u2_phy_props_set(struct mtk_tphy *tphy,
 	if (instance->discth)
 		mtk_phy_update_bits(com + U3P_USBPHYACR6, PA6_RG_U2_DISCTH,
 				    PA6_RG_U2_DISCTH_VAL(instance->discth));
+
+	if (instance->pre_emphasis)
+		mtk_phy_update_bits(com + U3P_USBPHYACR6, PA6_RG_U2_PRE_EMP,
+				    PA6_RG_U2_PRE_EMP_VAL(instance->pre_emphasis));
 }
 
 /* type switch for usb3/pcie/sgmii/sata */
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 4/7] phy: phy-mtk-tphy: disable hardware efuse when set INTR
  2022-08-19  9:13 [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Chunfeng Yun
  2022-08-19  9:13 ` [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis Chunfeng Yun
  2022-08-19  9:13 ` [PATCH 3/7] phy: phy-mtk-tphy: " Chunfeng Yun
@ 2022-08-19  9:13 ` Chunfeng Yun
  2022-08-19  9:13 ` [PATCH 5/7] phy: phy-mtk-tphy: disable gpio mode for all usb2 phys Chunfeng Yun
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-19  9:13 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring
  Cc: Chunfeng Yun, Kishon Vijay Abraham I, Krzysztof Kozlowski,
	Matthias Brugger, linux-arm-kernel, linux-mediatek, linux-phy,
	devicetree, linux-kernel, Eddie Hung

INTR's value is able autoload from hardware efuse by default, when
software tries to update its value, should disable hardware efuse
firstly.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/phy/mediatek/phy-mtk-tphy.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/phy/mediatek/phy-mtk-tphy.c b/drivers/phy/mediatek/phy-mtk-tphy.c
index 986fde0f63a0..7f40b8b052bd 100644
--- a/drivers/phy/mediatek/phy-mtk-tphy.c
+++ b/drivers/phy/mediatek/phy-mtk-tphy.c
@@ -874,9 +874,14 @@ static void u2_phy_props_set(struct mtk_tphy *tphy,
 		mtk_phy_update_bits(com + U3P_USBPHYACR1, PA1_RG_TERM_SEL,
 				    PA1_RG_TERM_SEL_VAL(instance->eye_term));
 
-	if (instance->intr)
+	if (instance->intr) {
+		if (u2_banks->misc)
+			mtk_phy_set_bits(u2_banks->misc + U3P_MISC_REG1,
+					 MR1_EFUSE_AUTO_LOAD_DIS);
+
 		mtk_phy_update_bits(com + U3P_USBPHYACR1, PA1_RG_INTR_CAL,
 				    PA1_RG_INTR_CAL_VAL(instance->intr));
+	}
 
 	if (instance->discth)
 		mtk_phy_update_bits(com + U3P_USBPHYACR6, PA6_RG_U2_DISCTH,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 5/7] phy: phy-mtk-tphy: disable gpio mode for all usb2 phys
  2022-08-19  9:13 [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Chunfeng Yun
                   ` (2 preceding siblings ...)
  2022-08-19  9:13 ` [PATCH 4/7] phy: phy-mtk-tphy: disable hardware efuse when set INTR Chunfeng Yun
@ 2022-08-19  9:13 ` Chunfeng Yun
  2022-08-19  9:13 ` [PATCH 6/7] phy: phy-mtk-tphy: set utmi 0 register in init() ops Chunfeng Yun
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-19  9:13 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring
  Cc: Chunfeng Yun, Kishon Vijay Abraham I, Krzysztof Kozlowski,
	Matthias Brugger, linux-arm-kernel, linux-mediatek, linux-phy,
	devicetree, linux-kernel, Eddie Hung

Disable DP/DM's GPIO mode for all usb2 phy, not only for the first
usb2 phy which usually supports dual-role mode.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/phy/mediatek/phy-mtk-tphy.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/phy/mediatek/phy-mtk-tphy.c b/drivers/phy/mediatek/phy-mtk-tphy.c
index 7f40b8b052bd..79920c066e59 100644
--- a/drivers/phy/mediatek/phy-mtk-tphy.c
+++ b/drivers/phy/mediatek/phy-mtk-tphy.c
@@ -532,8 +532,7 @@ static void u2_phy_instance_init(struct mtk_tphy *tphy,
 	/* disable switch 100uA current to SSUSB */
 	mtk_phy_clear_bits(com + U3P_USBPHYACR5, PA5_RG_U2_HS_100U_U3_EN);
 
-	if (!index)
-		mtk_phy_clear_bits(com + U3P_U2PHYACR4, P2C_U2_GPIO_CTR_MSK);
+	mtk_phy_clear_bits(com + U3P_U2PHYACR4, P2C_U2_GPIO_CTR_MSK);
 
 	if (tphy->pdata->avoid_rx_sen_degradation) {
 		if (!index) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 6/7] phy: phy-mtk-tphy: set utmi 0 register in init() ops
  2022-08-19  9:13 [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Chunfeng Yun
                   ` (3 preceding siblings ...)
  2022-08-19  9:13 ` [PATCH 5/7] phy: phy-mtk-tphy: disable gpio mode for all usb2 phys Chunfeng Yun
@ 2022-08-19  9:13 ` Chunfeng Yun
  2022-08-19  9:13 ` [PATCH 7/7] phy: phy-mtk-tphy: fix the phy type setting issue Chunfeng Yun
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-19  9:13 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring
  Cc: Chunfeng Yun, Kishon Vijay Abraham I, Krzysztof Kozlowski,
	Matthias Brugger, linux-arm-kernel, linux-mediatek, linux-phy,
	devicetree, linux-kernel, Eddie Hung

No need repeat to clear utmi 0 register in ->power_on() and
->power_off(), just do it in ->init()

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/phy/mediatek/phy-mtk-tphy.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/phy/mediatek/phy-mtk-tphy.c b/drivers/phy/mediatek/phy-mtk-tphy.c
index 79920c066e59..e0f227a0d3cc 100644
--- a/drivers/phy/mediatek/phy-mtk-tphy.c
+++ b/drivers/phy/mediatek/phy-mtk-tphy.c
@@ -522,8 +522,8 @@ static void u2_phy_instance_init(struct mtk_tphy *tphy,
 	/* switch to USB function, and enable usb pll */
 	mtk_phy_clear_bits(com + U3P_U2PHYDTM0, P2C_FORCE_UART_EN | P2C_FORCE_SUSPENDM);
 
-	mtk_phy_update_bits(com + U3P_U2PHYDTM0, P2C_RG_XCVRSEL | P2C_RG_DATAIN,
-			    P2C_RG_XCVRSEL_VAL(1) | P2C_RG_DATAIN_VAL(0));
+	mtk_phy_clear_bits(com + U3P_U2PHYDTM0,
+			   P2C_RG_XCVRSEL | P2C_RG_DATAIN | P2C_DTM0_PART_MASK);
 
 	mtk_phy_clear_bits(com + U3P_U2PHYDTM1, P2C_RG_UART_EN);
 
@@ -565,9 +565,6 @@ static void u2_phy_instance_power_on(struct mtk_tphy *tphy,
 	void __iomem *com = u2_banks->com;
 	u32 index = instance->index;
 
-	mtk_phy_clear_bits(com + U3P_U2PHYDTM0,
-			   P2C_RG_XCVRSEL | P2C_RG_DATAIN | P2C_DTM0_PART_MASK);
-
 	/* OTG Enable */
 	mtk_phy_set_bits(com + U3P_USBPHYACR6, PA6_RG_U2_OTG_VBUSCMP_EN);
 
@@ -590,8 +587,6 @@ static void u2_phy_instance_power_off(struct mtk_tphy *tphy,
 	void __iomem *com = u2_banks->com;
 	u32 index = instance->index;
 
-	mtk_phy_clear_bits(com + U3P_U2PHYDTM0, P2C_RG_XCVRSEL | P2C_RG_DATAIN);
-
 	/* OTG Disable */
 	mtk_phy_clear_bits(com + U3P_USBPHYACR6, PA6_RG_U2_OTG_VBUSCMP_EN);
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 7/7] phy: phy-mtk-tphy: fix the phy type setting issue
  2022-08-19  9:13 [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Chunfeng Yun
                   ` (4 preceding siblings ...)
  2022-08-19  9:13 ` [PATCH 6/7] phy: phy-mtk-tphy: set utmi 0 register in init() ops Chunfeng Yun
@ 2022-08-19  9:13 ` Chunfeng Yun
  2022-08-22 18:25 ` [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Rob Herring
  2022-08-23 20:44 ` Nícolas F. R. A. Prado
  7 siblings, 0 replies; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-19  9:13 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring
  Cc: Chunfeng Yun, Kishon Vijay Abraham I, Krzysztof Kozlowski,
	Matthias Brugger, linux-arm-kernel, linux-mediatek, linux-phy,
	devicetree, linux-kernel, Eddie Hung

The PHY type is not set if the index is non zero, prepare type
value according to the index, like as mask value.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/phy/mediatek/phy-mtk-tphy.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/phy/mediatek/phy-mtk-tphy.c b/drivers/phy/mediatek/phy-mtk-tphy.c
index e0f227a0d3cc..cc10298bc70d 100644
--- a/drivers/phy/mediatek/phy-mtk-tphy.c
+++ b/drivers/phy/mediatek/phy-mtk-tphy.c
@@ -915,7 +915,7 @@ static int phy_type_syscon_get(struct mtk_phy_instance *instance,
 static int phy_type_set(struct mtk_phy_instance *instance)
 {
 	int type;
-	u32 mask;
+	u32 offset;
 
 	if (!instance->type_sw)
 		return 0;
@@ -938,8 +938,9 @@ static int phy_type_set(struct mtk_phy_instance *instance)
 		return 0;
 	}
 
-	mask = RG_PHY_SW_TYPE << (instance->type_sw_index * BITS_PER_BYTE);
-	regmap_update_bits(instance->type_sw, instance->type_sw_reg, mask, type);
+	offset = instance->type_sw_index * BITS_PER_BYTE;
+	regmap_update_bits(instance->type_sw, instance->type_sw_reg,
+			   RG_PHY_SW_TYPE << offset, type << offset);
 
 	return 0;
 }
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-19  9:13 ` [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis Chunfeng Yun
@ 2022-08-19 12:15   ` Krzysztof Kozlowski
  2022-08-22  7:07     ` Chunfeng Yun
  0 siblings, 1 reply; 23+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-19 12:15 UTC (permalink / raw)
  To: Chunfeng Yun, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On 19/08/2022 12:13, Chunfeng Yun wrote:
> Add a property to set usb2 phy's pre-emphasis.
> 
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> ---
>  Documentation/devicetree/bindings/phy/mediatek,tphy.yaml | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> index 848edfb1f677..aee2f3027371 100644
> --- a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> +++ b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> @@ -219,6 +219,13 @@ patternProperties:
>          minimum: 1
>          maximum: 15
>  
> +      mediatek,pre-emphasis:
> +        description:
> +          The selection of pre-emphasis (U2 phy)
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +        minimum: 1
> +        maximum: 3

Instead of hard-coding register values in bindings, you should rather
describe here feature/effect. If it is in units, use unit suffixes. If
it is some choice, usually string enum is appropriate.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-19 12:15   ` Krzysztof Kozlowski
@ 2022-08-22  7:07     ` Chunfeng Yun
  2022-08-23 10:24       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-22  7:07 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski wrote:
> On 19/08/2022 12:13, Chunfeng Yun wrote:
> > Add a property to set usb2 phy's pre-emphasis.
> > 
> > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> > ---
> >  Documentation/devicetree/bindings/phy/mediatek,tphy.yaml | 7
> > +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git
> > a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > index 848edfb1f677..aee2f3027371 100644
> > --- a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > +++ b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > @@ -219,6 +219,13 @@ patternProperties:
> >          minimum: 1
> >          maximum: 15
> >  
> > +      mediatek,pre-emphasis:
> > +        description:
> > +          The selection of pre-emphasis (U2 phy)
> > +        $ref: /schemas/types.yaml#/definitions/uint32
> > +        minimum: 1
> > +        maximum: 3
> 
> Instead of hard-coding register values in bindings, you should rather
> describe here feature/effect. If it is in units, use unit suffixes.
> If
> it is some choice, usually string enum is appropriate.
How about changing description as bellow:

"The level of pre-emphasis, increases one level, boosts the relative
amplitudes of signal's higher frequencies components about 4.16% (U2
phy)"

Thanks

> 
> Best regards,
> Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII
  2022-08-19  9:13 [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Chunfeng Yun
                   ` (5 preceding siblings ...)
  2022-08-19  9:13 ` [PATCH 7/7] phy: phy-mtk-tphy: fix the phy type setting issue Chunfeng Yun
@ 2022-08-22 18:25 ` Rob Herring
  2022-08-23 20:44 ` Nícolas F. R. A. Prado
  7 siblings, 0 replies; 23+ messages in thread
From: Rob Herring @ 2022-08-22 18:25 UTC (permalink / raw)
  To: Chunfeng Yun
  Cc: Krzysztof Kozlowski, Vinod Koul, linux-mediatek, devicetree,
	Rob Herring, linux-kernel, linux-phy, linux-arm-kernel,
	Matthias Brugger, Eddie Hung, Kishon Vijay Abraham I

On Fri, 19 Aug 2022 17:13:38 +0800, Chunfeng Yun wrote:
> Add support ethernet SGMII, forgot to update type supported.
> 
> Fixes: c01608b3b46b ("dt-bindings: phy: mediatek: tphy: support type switch by pericfg")
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> ---
>  Documentation/devicetree/bindings/phy/mediatek,tphy.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-22  7:07     ` Chunfeng Yun
@ 2022-08-23 10:24       ` Krzysztof Kozlowski
  2022-08-26  5:36         ` Chunfeng Yun
  0 siblings, 1 reply; 23+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-23 10:24 UTC (permalink / raw)
  To: Chunfeng Yun, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On 22/08/2022 10:07, Chunfeng Yun wrote:
> On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski wrote:
>> On 19/08/2022 12:13, Chunfeng Yun wrote:
>>> Add a property to set usb2 phy's pre-emphasis.
>>>
>>> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
>>> ---
>>>  Documentation/devicetree/bindings/phy/mediatek,tphy.yaml | 7
>>> +++++++
>>>  1 file changed, 7 insertions(+)
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>> b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>> index 848edfb1f677..aee2f3027371 100644
>>> --- a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>> +++ b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>> @@ -219,6 +219,13 @@ patternProperties:
>>>          minimum: 1
>>>          maximum: 15
>>>  
>>> +      mediatek,pre-emphasis:
>>> +        description:
>>> +          The selection of pre-emphasis (U2 phy)
>>> +        $ref: /schemas/types.yaml#/definitions/uint32
>>> +        minimum: 1
>>> +        maximum: 3
>>
>> Instead of hard-coding register values in bindings, you should rather
>> describe here feature/effect. If it is in units, use unit suffixes.
>> If
>> it is some choice, usually string enum is appropriate.
> How about changing description as bellow:
> 
> "The level of pre-emphasis, increases one level, boosts the relative
> amplitudes of signal's higher frequencies components about 4.16% (U2
> phy)"
> 

Still the question is what is the unit. 4.16%?

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII
  2022-08-19  9:13 [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Chunfeng Yun
                   ` (6 preceding siblings ...)
  2022-08-22 18:25 ` [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Rob Herring
@ 2022-08-23 20:44 ` Nícolas F. R. A. Prado
  2022-08-29  6:30   ` Chunfeng Yun
  7 siblings, 1 reply; 23+ messages in thread
From: Nícolas F. R. A. Prado @ 2022-08-23 20:44 UTC (permalink / raw)
  To: Chunfeng Yun
  Cc: Vinod Koul, Rob Herring, Kishon Vijay Abraham I,
	Krzysztof Kozlowski, Matthias Brugger, linux-arm-kernel,
	linux-mediatek, linux-phy, devicetree, linux-kernel, Eddie Hung

On Fri, Aug 19, 2022 at 05:13:38PM +0800, Chunfeng Yun wrote:
> Add support ethernet SGMII, forgot to update type supported.
> 
> Fixes: c01608b3b46b ("dt-bindings: phy: mediatek: tphy: support type switch by pericfg")
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>

Hi Chunfeng,

when sending a patch series of more than 1 patch, please add a cover letter
describing a higher level overview of the changes done in the patches. Example:
[1]

Thanks,
Nícolas

[1] https://lore.kernel.org/all/20220629155956.1138955-1-nfraprado@collabora.com/

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-23 10:24       ` Krzysztof Kozlowski
@ 2022-08-26  5:36         ` Chunfeng Yun
  2022-08-26  6:36           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-26  5:36 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski wrote:
> On 22/08/2022 10:07, Chunfeng Yun wrote:
> > On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski wrote:
> > > On 19/08/2022 12:13, Chunfeng Yun wrote:
> > > > Add a property to set usb2 phy's pre-emphasis.
> > > > 
> > > > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> > > > ---
> > > >  Documentation/devicetree/bindings/phy/mediatek,tphy.yaml | 7
> > > > +++++++
> > > >  1 file changed, 7 insertions(+)
> > > > 
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > > > b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > > > index 848edfb1f677..aee2f3027371 100644
> > > > --- a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > > > +++ b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > > > @@ -219,6 +219,13 @@ patternProperties:
> > > >          minimum: 1
> > > >          maximum: 15
> > > >  
> > > > +      mediatek,pre-emphasis:
> > > > +        description:
> > > > +          The selection of pre-emphasis (U2 phy)
> > > > +        $ref: /schemas/types.yaml#/definitions/uint32
> > > > +        minimum: 1
> > > > +        maximum: 3
> > > 
> > > Instead of hard-coding register values in bindings, you should
> > > rather
> > > describe here feature/effect. If it is in units, use unit
> > > suffixes.
> > > If
> > > it is some choice, usually string enum is appropriate.
> > 
> > How about changing description as bellow:
> > 
> > "The level of pre-emphasis, increases one level, boosts the
> > relative
> > amplitudes of signal's higher frequencies components about 4.16%
> > (U2
> > phy)"
> > 
> 
> Still the question is what is the unit. 4.16%?
No unit, it's a level value, like an index of array.

> 
> Best regards,
> Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-26  5:36         ` Chunfeng Yun
@ 2022-08-26  6:36           ` Krzysztof Kozlowski
  2022-08-29  2:37             ` Chunfeng Yun
  0 siblings, 1 reply; 23+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-26  6:36 UTC (permalink / raw)
  To: Chunfeng Yun, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On 26/08/2022 08:36, Chunfeng Yun wrote:
> On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski wrote:
>> On 22/08/2022 10:07, Chunfeng Yun wrote:
>>> On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski wrote:
>>>> On 19/08/2022 12:13, Chunfeng Yun wrote:
>>>>> Add a property to set usb2 phy's pre-emphasis.
>>>>>
>>>>> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
>>>>> ---
>>>>>  Documentation/devicetree/bindings/phy/mediatek,tphy.yaml | 7
>>>>> +++++++
>>>>>  1 file changed, 7 insertions(+)
>>>>>
>>>>> diff --git
>>>>> a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>>>> b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>>>> index 848edfb1f677..aee2f3027371 100644
>>>>> --- a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>>>> +++ b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>>>> @@ -219,6 +219,13 @@ patternProperties:
>>>>>          minimum: 1
>>>>>          maximum: 15
>>>>>  
>>>>> +      mediatek,pre-emphasis:
>>>>> +        description:
>>>>> +          The selection of pre-emphasis (U2 phy)
>>>>> +        $ref: /schemas/types.yaml#/definitions/uint32
>>>>> +        minimum: 1
>>>>> +        maximum: 3
>>>>
>>>> Instead of hard-coding register values in bindings, you should
>>>> rather
>>>> describe here feature/effect. If it is in units, use unit
>>>> suffixes.
>>>> If
>>>> it is some choice, usually string enum is appropriate.
>>>
>>> How about changing description as bellow:
>>>
>>> "The level of pre-emphasis, increases one level, boosts the
>>> relative
>>> amplitudes of signal's higher frequencies components about 4.16%
>>> (U2
>>> phy)"
>>>
>>
>> Still the question is what is the unit. 4.16%?
> No unit, it's a level value, like an index of array.
> 

So a value from register/device programming? Rather a regular units
should be used if that's possible. If not, this should be clearly
described here, not some magical number which you encode into DTS...

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-26  6:36           ` Krzysztof Kozlowski
@ 2022-08-29  2:37             ` Chunfeng Yun
  2022-08-30 10:08               ` Krzysztof Kozlowski
  0 siblings, 1 reply; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-29  2:37 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On Fri, 2022-08-26 at 09:36 +0300, Krzysztof Kozlowski wrote:
> On 26/08/2022 08:36, Chunfeng Yun wrote:
> > On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski wrote:
> > > On 22/08/2022 10:07, Chunfeng Yun wrote:
> > > > On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski wrote:
> > > > > On 19/08/2022 12:13, Chunfeng Yun wrote:
> > > > > > Add a property to set usb2 phy's pre-emphasis.
> > > > > > 
> > > > > > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> > > > > > ---
> > > > > >  Documentation/devicetree/bindings/phy/mediatek,tphy.yaml |
> > > > > > 7
> > > > > > +++++++
> > > > > >  1 file changed, 7 insertions(+)
> > > > > > 
> > > > > > diff --git
> > > > > > a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > > > > > b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > > > > > index 848edfb1f677..aee2f3027371 100644
> > > > > > ---
> > > > > > a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > > > > > +++
> > > > > > b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
> > > > > > @@ -219,6 +219,13 @@ patternProperties:
> > > > > >          minimum: 1
> > > > > >          maximum: 15
> > > > > >  
> > > > > > +      mediatek,pre-emphasis:
> > > > > > +        description:
> > > > > > +          The selection of pre-emphasis (U2 phy)
> > > > > > +        $ref: /schemas/types.yaml#/definitions/uint32
> > > > > > +        minimum: 1
> > > > > > +        maximum: 3
> > > > > 
> > > > > Instead of hard-coding register values in bindings, you
> > > > > should
> > > > > rather
> > > > > describe here feature/effect. If it is in units, use unit
> > > > > suffixes.
> > > > > If
> > > > > it is some choice, usually string enum is appropriate.
> > > > 
> > > > How about changing description as bellow:
> > > > 
> > > > "The level of pre-emphasis, increases one level, boosts the
> > > > relative
> > > > amplitudes of signal's higher frequencies components about
> > > > 4.16%
> > > > (U2
> > > > phy)"
> > > > 
> > > 
> > > Still the question is what is the unit. 4.16%?
> > 
> > No unit, it's a level value, like an index of array.
> > 
> 
> So a value from register/device programming? 
Yes
> Rather a regular units
> should be used if that's possible. If not, this should be clearly
> described here, not some magical number which you encode into DTS...
Ok, I'll add more descriptions.

Thanks a lot

> 
> Best regards,
> Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII
  2022-08-23 20:44 ` Nícolas F. R. A. Prado
@ 2022-08-29  6:30   ` Chunfeng Yun
  0 siblings, 0 replies; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-29  6:30 UTC (permalink / raw)
  To: Nícolas F. R. A. Prado
  Cc: Vinod Koul, Rob Herring, Kishon Vijay Abraham I,
	Krzysztof Kozlowski, Matthias Brugger, linux-arm-kernel,
	linux-mediatek, linux-phy, devicetree, linux-kernel, Eddie Hung

On Tue, 2022-08-23 at 16:44 -0400, Nícolas F. R. A. Prado wrote:
> On Fri, Aug 19, 2022 at 05:13:38PM +0800, Chunfeng Yun wrote:
> > Add support ethernet SGMII, forgot to update type supported.
> > 
> > Fixes: c01608b3b46b ("dt-bindings: phy: mediatek: tphy: support
> > type switch by pericfg")
> > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> 
> Hi Chunfeng,
> 
> when sending a patch series of more than 1 patch, please add a cover
> letter
> describing a higher level overview of the changes done in the
> patches. Example:
> [1]
For these small and independent changes, it's difficult to give a brief
description on a higher level overview, I prefer to add a cover letter
when the series are associated or dependent.

Thanks a lot

> 
> Thanks,
> Nícolas
> 
> [1] 
> https://lore.kernel.org/all/20220629155956.1138955-1-nfraprado@collabora.com/


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-29  2:37             ` Chunfeng Yun
@ 2022-08-30 10:08               ` Krzysztof Kozlowski
  2022-08-31  3:00                 ` Chunfeng Yun
  0 siblings, 1 reply; 23+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-30 10:08 UTC (permalink / raw)
  To: Chunfeng Yun, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On 29/08/2022 05:37, Chunfeng Yun wrote:
> On Fri, 2022-08-26 at 09:36 +0300, Krzysztof Kozlowski wrote:
>> On 26/08/2022 08:36, Chunfeng Yun wrote:
>>> On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski wrote:
>>>> On 22/08/2022 10:07, Chunfeng Yun wrote:
>>>>> On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski wrote:
>>>>>> On 19/08/2022 12:13, Chunfeng Yun wrote:
>>>>>>> Add a property to set usb2 phy's pre-emphasis.
>>>>>>>
>>>>>>> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
>>>>>>> ---
>>>>>>>  Documentation/devicetree/bindings/phy/mediatek,tphy.yaml |
>>>>>>> 7
>>>>>>> +++++++
>>>>>>>  1 file changed, 7 insertions(+)
>>>>>>>
>>>>>>> diff --git
>>>>>>> a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>>>>>> b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>>>>>> index 848edfb1f677..aee2f3027371 100644
>>>>>>> ---
>>>>>>> a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>>>>>> +++
>>>>>>> b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
>>>>>>> @@ -219,6 +219,13 @@ patternProperties:
>>>>>>>          minimum: 1
>>>>>>>          maximum: 15
>>>>>>>  
>>>>>>> +      mediatek,pre-emphasis:
>>>>>>> +        description:
>>>>>>> +          The selection of pre-emphasis (U2 phy)
>>>>>>> +        $ref: /schemas/types.yaml#/definitions/uint32
>>>>>>> +        minimum: 1
>>>>>>> +        maximum: 3
>>>>>>
>>>>>> Instead of hard-coding register values in bindings, you
>>>>>> should
>>>>>> rather
>>>>>> describe here feature/effect. If it is in units, use unit
>>>>>> suffixes.
>>>>>> If
>>>>>> it is some choice, usually string enum is appropriate.
>>>>>
>>>>> How about changing description as bellow:
>>>>>
>>>>> "The level of pre-emphasis, increases one level, boosts the
>>>>> relative
>>>>> amplitudes of signal's higher frequencies components about
>>>>> 4.16%
>>>>> (U2
>>>>> phy)"
>>>>>
>>>>
>>>> Still the question is what is the unit. 4.16%?
>>>
>>> No unit, it's a level value, like an index of array.
>>>
>>
>> So a value from register/device programming? 
> Yes
>> Rather a regular units
>> should be used if that's possible. If not, this should be clearly
>> described here, not some magical number which you encode into DTS...
> Ok, I'll add more descriptions.

Better use logical value, e.g.
https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml#L38

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-30 10:08               ` Krzysztof Kozlowski
@ 2022-08-31  3:00                 ` Chunfeng Yun
  2022-08-31  6:03                   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 23+ messages in thread
From: Chunfeng Yun @ 2022-08-31  3:00 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On Tue, 2022-08-30 at 13:08 +0300, Krzysztof Kozlowski wrote:
> On 29/08/2022 05:37, Chunfeng Yun wrote:
> > On Fri, 2022-08-26 at 09:36 +0300, Krzysztof Kozlowski wrote:
> > > On 26/08/2022 08:36, Chunfeng Yun wrote:
> > > > On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski wrote:
> > > > > On 22/08/2022 10:07, Chunfeng Yun wrote:
> > > > > > On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski
> > > > > > wrote:
> > > > > > > On 19/08/2022 12:13, Chunfeng Yun wrote:
> > > > > > > > Add a property to set usb2 phy's pre-emphasis.
> > > > > > > > 
> > > > > > > > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> > > > > > > > ---
> > > > > > > >  Documentation/devicetree/bindings/phy/mediatek,tphy.ya
> > > > > > > > ml |
> > > > > > > > 7
> > > > > > > > +++++++
> > > > > > > >  1 file changed, 7 insertions(+)
> > > > > > > > 
> > > > > > > > diff --git
> > > > > > > > a/Documentation/devicetree/bindings/phy/mediatek,tphy.y
> > > > > > > > aml
> > > > > > > > b/Documentation/devicetree/bindings/phy/mediatek,tphy.y
> > > > > > > > aml
> > > > > > > > index 848edfb1f677..aee2f3027371 100644
> > > > > > > > ---
> > > > > > > > a/Documentation/devicetree/bindings/phy/mediatek,tphy.y
> > > > > > > > aml
> > > > > > > > +++
> > > > > > > > b/Documentation/devicetree/bindings/phy/mediatek,tphy.y
> > > > > > > > aml
> > > > > > > > @@ -219,6 +219,13 @@ patternProperties:
> > > > > > > >          minimum: 1
> > > > > > > >          maximum: 15
> > > > > > > >  
> > > > > > > > +      mediatek,pre-emphasis:
> > > > > > > > +        description:
> > > > > > > > +          The selection of pre-emphasis (U2 phy)
> > > > > > > > +        $ref: /schemas/types.yaml#/definitions/uint32
> > > > > > > > +        minimum: 1
> > > > > > > > +        maximum: 3
> > > > > > > 
> > > > > > > Instead of hard-coding register values in bindings, you
> > > > > > > should
> > > > > > > rather
> > > > > > > describe here feature/effect. If it is in units, use unit
> > > > > > > suffixes.
> > > > > > > If
> > > > > > > it is some choice, usually string enum is appropriate.
> > > > > > 
> > > > > > How about changing description as bellow:
> > > > > > 
> > > > > > "The level of pre-emphasis, increases one level, boosts the
> > > > > > relative
> > > > > > amplitudes of signal's higher frequencies components about
> > > > > > 4.16%
> > > > > > (U2
> > > > > > phy)"
> > > > > > 
> > > > > 
> > > > > Still the question is what is the unit. 4.16%?
> > > > 
> > > > No unit, it's a level value, like an index of array.
> > > > 
> > > 
> > > So a value from register/device programming? 
> > 
> > Yes
> > > Rather a regular units
> > > should be used if that's possible. If not, this should be clearly
> > > described here, not some magical number which you encode into
> > > DTS...
> > 
> > Ok, I'll add more descriptions.
> 
> Better use logical value, e.g.
> 
https://urldefense.com/v3/__https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml*L38__;Iw!!CTRNKA9wMg0ARbw!1e-h0R_uwcaHKfKC9qYfaRWYeuWRq1sLCGy3yupNmkFyuW5s1nmRotL7Y0vFG9ETLLTA$
>  
Optional unit may be -percent or -bp, but the value 4.16% * X
(X=1,2,3...)is not an exact value, they are variable in a range and
dependent more factors.
So I think use level value is simple enough.

> 
> Best regards,
> Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-31  3:00                 ` Chunfeng Yun
@ 2022-08-31  6:03                   ` Krzysztof Kozlowski
  2022-09-08  1:45                     ` Chunfeng Yun
  2022-09-09  3:03                     ` Chunfeng Yun
  0 siblings, 2 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-31  6:03 UTC (permalink / raw)
  To: Chunfeng Yun, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On 31/08/2022 06:00, Chunfeng Yun wrote:
> On Tue, 2022-08-30 at 13:08 +0300, Krzysztof Kozlowski wrote:
>> On 29/08/2022 05:37, Chunfeng Yun wrote:
>>> On Fri, 2022-08-26 at 09:36 +0300, Krzysztof Kozlowski wrote:
>>>> On 26/08/2022 08:36, Chunfeng Yun wrote:
>>>>> On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski wrote:
>>>>>> On 22/08/2022 10:07, Chunfeng Yun wrote:
>>>>>>> On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski
>>>>>>> wrote:
>>>>>>>> On 19/08/2022 12:13, Chunfeng Yun wrote:
>>>>>>>>> Add a property to set usb2 phy's pre-emphasis.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
>>>>>>>>> ---
>>>>>>>>>  Documentation/devicetree/bindings/phy/mediatek,tphy.ya
>>>>>>>>> ml |
>>>>>>>>> 7
>>>>>>>>> +++++++
>>>>>>>>>  1 file changed, 7 insertions(+)
>>>>>>>>>
>>>>>>>>> diff --git
>>>>>>>>> a/Documentation/devicetree/bindings/phy/mediatek,tphy.y
>>>>>>>>> aml
>>>>>>>>> b/Documentation/devicetree/bindings/phy/mediatek,tphy.y
>>>>>>>>> aml
>>>>>>>>> index 848edfb1f677..aee2f3027371 100644
>>>>>>>>> ---
>>>>>>>>> a/Documentation/devicetree/bindings/phy/mediatek,tphy.y
>>>>>>>>> aml
>>>>>>>>> +++
>>>>>>>>> b/Documentation/devicetree/bindings/phy/mediatek,tphy.y
>>>>>>>>> aml
>>>>>>>>> @@ -219,6 +219,13 @@ patternProperties:
>>>>>>>>>          minimum: 1
>>>>>>>>>          maximum: 15
>>>>>>>>>  
>>>>>>>>> +      mediatek,pre-emphasis:
>>>>>>>>> +        description:
>>>>>>>>> +          The selection of pre-emphasis (U2 phy)
>>>>>>>>> +        $ref: /schemas/types.yaml#/definitions/uint32
>>>>>>>>> +        minimum: 1
>>>>>>>>> +        maximum: 3
>>>>>>>>
>>>>>>>> Instead of hard-coding register values in bindings, you
>>>>>>>> should
>>>>>>>> rather
>>>>>>>> describe here feature/effect. If it is in units, use unit
>>>>>>>> suffixes.
>>>>>>>> If
>>>>>>>> it is some choice, usually string enum is appropriate.
>>>>>>>
>>>>>>> How about changing description as bellow:
>>>>>>>
>>>>>>> "The level of pre-emphasis, increases one level, boosts the
>>>>>>> relative
>>>>>>> amplitudes of signal's higher frequencies components about
>>>>>>> 4.16%
>>>>>>> (U2
>>>>>>> phy)"
>>>>>>>
>>>>>>
>>>>>> Still the question is what is the unit. 4.16%?
>>>>>
>>>>> No unit, it's a level value, like an index of array.
>>>>>
>>>>
>>>> So a value from register/device programming? 
>>>
>>> Yes
>>>> Rather a regular units
>>>> should be used if that's possible. If not, this should be clearly
>>>> described here, not some magical number which you encode into
>>>> DTS...
>>>
>>> Ok, I'll add more descriptions.
>>
>> Better use logical value, e.g.
>>
> https://urldefense.com/v3/__https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml*L38__;Iw!!CTRNKA9wMg0ARbw!1e-h0R_uwcaHKfKC9qYfaRWYeuWRq1sLCGy3yupNmkFyuW5s1nmRotL7Y0vFG9ETLLTA$
>>  
> Optional unit may be -percent or -bp, but the value 4.16% * X
> (X=1,2,3...)is not an exact value, they are variable in a range and
> dependent more factors.
> So I think use level value is simple enough.

Then again explain exactly what are the levels. How you wrote it last
time, -bp would do the trick.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-31  6:03                   ` Krzysztof Kozlowski
@ 2022-09-08  1:45                     ` Chunfeng Yun
  2022-09-09  3:03                     ` Chunfeng Yun
  1 sibling, 0 replies; 23+ messages in thread
From: Chunfeng Yun @ 2022-09-08  1:45 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On Wed, 2022-08-31 at 09:03 +0300, Krzysztof Kozlowski wrote:
> On 31/08/2022 06:00, Chunfeng Yun wrote:
> > On Tue, 2022-08-30 at 13:08 +0300, Krzysztof Kozlowski wrote:
> > > On 29/08/2022 05:37, Chunfeng Yun wrote:
> > > > On Fri, 2022-08-26 at 09:36 +0300, Krzysztof Kozlowski wrote:
> > > > > On 26/08/2022 08:36, Chunfeng Yun wrote:
> > > > > > On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski
> > > > > > wrote:
> > > > > > > On 22/08/2022 10:07, Chunfeng Yun wrote:
> > > > > > > > On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski
> > > > > > > > wrote:
> > > > > > > > > On 19/08/2022 12:13, Chunfeng Yun wrote:
> > > > > > > > > > Add a property to set usb2 phy's pre-emphasis.
> > > > > > > > > > 
> > > > > > > > > > Signed-off-by: Chunfeng Yun <
> > > > > > > > > > chunfeng.yun@mediatek.com>
> > > > > > > > > > ---
> > > > > > > > > >  Documentation/devicetree/bindings/phy/mediatek,tph
> > > > > > > > > > y.ya
> > > > > > > > > > ml |
> > > > > > > > > > 7
> > > > > > > > > > +++++++
> > > > > > > > > >  1 file changed, 7 insertions(+)
> > > > > > > > > > 
> > > > > > > > > > diff --git
> > > > > > > > > > a/Documentation/devicetree/bindings/phy/mediatek,tp
> > > > > > > > > > hy.y
> > > > > > > > > > aml
> > > > > > > > > > b/Documentation/devicetree/bindings/phy/mediatek,tp
> > > > > > > > > > hy.y
> > > > > > > > > > aml
> > > > > > > > > > index 848edfb1f677..aee2f3027371 100644
> > > > > > > > > > ---
> > > > > > > > > > a/Documentation/devicetree/bindings/phy/mediatek,tp
> > > > > > > > > > hy.y
> > > > > > > > > > aml
> > > > > > > > > > +++
> > > > > > > > > > b/Documentation/devicetree/bindings/phy/mediatek,tp
> > > > > > > > > > hy.y
> > > > > > > > > > aml
> > > > > > > > > > @@ -219,6 +219,13 @@ patternProperties:
> > > > > > > > > >          minimum: 1
> > > > > > > > > >          maximum: 15
> > > > > > > > > >  
> > > > > > > > > > +      mediatek,pre-emphasis:
> > > > > > > > > > +        description:
> > > > > > > > > > +          The selection of pre-emphasis (U2 phy)
> > > > > > > > > > +        $ref:
> > > > > > > > > > /schemas/types.yaml#/definitions/uint32
> > > > > > > > > > +        minimum: 1
> > > > > > > > > > +        maximum: 3
> > > > > > > > > 
> > > > > > > > > Instead of hard-coding register values in bindings,
> > > > > > > > > you
> > > > > > > > > should
> > > > > > > > > rather
> > > > > > > > > describe here feature/effect. If it is in units, use
> > > > > > > > > unit
> > > > > > > > > suffixes.
> > > > > > > > > If
> > > > > > > > > it is some choice, usually string enum is
> > > > > > > > > appropriate.
> > > > > > > > 
> > > > > > > > How about changing description as bellow:
> > > > > > > > 
> > > > > > > > "The level of pre-emphasis, increases one level, boosts
> > > > > > > > the
> > > > > > > > relative
> > > > > > > > amplitudes of signal's higher frequencies components
> > > > > > > > about
> > > > > > > > 4.16%
> > > > > > > > (U2
> > > > > > > > phy)"
> > > > > > > > 
> > > > > > > 
> > > > > > > Still the question is what is the unit. 4.16%?
> > > > > > 
> > > > > > No unit, it's a level value, like an index of array.
> > > > > > 
> > > > > 
> > > > > So a value from register/device programming? 
> > > > 
> > > > Yes
> > > > > Rather a regular units
> > > > > should be used if that's possible. If not, this should be
> > > > > clearly
> > > > > described here, not some magical number which you encode into
> > > > > DTS...
> > > > 
> > > > Ok, I'll add more descriptions.
> > > 
> > > Better use logical value, e.g.
> > > 
> > 
> > 
https://urldefense.com/v3/__https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml*L38__;Iw!!CTRNKA9wMg0ARbw!1e-h0R_uwcaHKfKC9qYfaRWYeuWRq1sLCGy3yupNmkFyuW5s1nmRotL7Y0vFG9ETLLTA$
> > >  
> > 
> > Optional unit may be -percent or -bp, but the value 4.16% * X
> > (X=1,2,3...)is not an exact value, they are variable in a range and
> > dependent more factors.
> > So I think use level value is simple enough.
> 
> Then again explain exactly what are the levels. 
Ok, I've asked help from our DE to get more information and reply
later, thanks a lot

> How you wrote it last
> time, -bp would do the trick.
> 
> Best regards,
> Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-08-31  6:03                   ` Krzysztof Kozlowski
  2022-09-08  1:45                     ` Chunfeng Yun
@ 2022-09-09  3:03                     ` Chunfeng Yun
  2022-09-09  8:27                       ` Krzysztof Kozlowski
  1 sibling, 1 reply; 23+ messages in thread
From: Chunfeng Yun @ 2022-09-09  3:03 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On Wed, 2022-08-31 at 09:03 +0300, Krzysztof Kozlowski wrote:
> On 31/08/2022 06:00, Chunfeng Yun wrote:
> > On Tue, 2022-08-30 at 13:08 +0300, Krzysztof Kozlowski wrote:
> > > On 29/08/2022 05:37, Chunfeng Yun wrote:
> > > > On Fri, 2022-08-26 at 09:36 +0300, Krzysztof Kozlowski wrote:
> > > > > On 26/08/2022 08:36, Chunfeng Yun wrote:
> > > > > > On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski
> > > > > > wrote:
> > > > > > > On 22/08/2022 10:07, Chunfeng Yun wrote:
> > > > > > > > On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski
> > > > > > > > wrote:
> > > > > > > > > On 19/08/2022 12:13, Chunfeng Yun wrote:
> > > > > > > > > > Add a property to set usb2 phy's pre-emphasis.
> > > > > > > > > > 
> > > > > > > > > > Signed-off-by: Chunfeng Yun <
> > > > > > > > > > chunfeng.yun@mediatek.com>
> > > > > > > > > > ---
> > > > > > > > > >  Documentation/devicetree/bindings/phy/mediatek,tph
> > > > > > > > > > y.ya
> > > > > > > > > > ml |
> > > > > > > > > > 7
> > > > > > > > > > +++++++
> > > > > > > > > >  1 file changed, 7 insertions(+)
> > > > > > > > > > 
> > > > > > > > > > diff --git
> > > > > > > > > > a/Documentation/devicetree/bindings/phy/mediatek,tp
> > > > > > > > > > hy.y
> > > > > > > > > > aml
> > > > > > > > > > b/Documentation/devicetree/bindings/phy/mediatek,tp
> > > > > > > > > > hy.y
> > > > > > > > > > aml
> > > > > > > > > > index 848edfb1f677..aee2f3027371 100644
> > > > > > > > > > ---
> > > > > > > > > > a/Documentation/devicetree/bindings/phy/mediatek,tp
> > > > > > > > > > hy.y
> > > > > > > > > > aml
> > > > > > > > > > +++
> > > > > > > > > > b/Documentation/devicetree/bindings/phy/mediatek,tp
> > > > > > > > > > hy.y
> > > > > > > > > > aml
> > > > > > > > > > @@ -219,6 +219,13 @@ patternProperties:
> > > > > > > > > >          minimum: 1
> > > > > > > > > >          maximum: 15
> > > > > > > > > >  
> > > > > > > > > > +      mediatek,pre-emphasis:
> > > > > > > > > > +        description:
> > > > > > > > > > +          The selection of pre-emphasis (U2 phy)
> > > > > > > > > > +        $ref:
> > > > > > > > > > /schemas/types.yaml#/definitions/uint32
> > > > > > > > > > +        minimum: 1
> > > > > > > > > > +        maximum: 3
> > > > > > > > > 
> > > > > > > > > Instead of hard-coding register values in bindings,
> > > > > > > > > you
> > > > > > > > > should
> > > > > > > > > rather
> > > > > > > > > describe here feature/effect. If it is in units, use
> > > > > > > > > unit
> > > > > > > > > suffixes.
> > > > > > > > > If
> > > > > > > > > it is some choice, usually string enum is
> > > > > > > > > appropriate.
> > > > > > > > 
> > > > > > > > How about changing description as bellow:
> > > > > > > > 
> > > > > > > > "The level of pre-emphasis, increases one level, boosts
> > > > > > > > the
> > > > > > > > relative
> > > > > > > > amplitudes of signal's higher frequencies components
> > > > > > > > about
> > > > > > > > 4.16%
> > > > > > > > (U2
> > > > > > > > phy)"
> > > > > > > > 
> > > > > > > 
> > > > > > > Still the question is what is the unit. 4.16%?
> > > > > > 
> > > > > > No unit, it's a level value, like an index of array.
> > > > > > 
> > > > > 
> > > > > So a value from register/device programming? 
> > > > 
> > > > Yes
> > > > > Rather a regular units
> > > > > should be used if that's possible. If not, this should be
> > > > > clearly
> > > > > described here, not some magical number which you encode into
> > > > > DTS...
> > > > 
> > > > Ok, I'll add more descriptions.
> > > 
> > > Better use logical value, e.g.
> > > 
> > 
> > 
https://urldefense.com/v3/__https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml*L38__;Iw!!CTRNKA9wMg0ARbw!1e-h0R_uwcaHKfKC9qYfaRWYeuWRq1sLCGy3yupNmkFyuW5s1nmRotL7Y0vFG9ETLLTA$
> > >  
> > 
> > Optional unit may be -percent or -bp, but the value 4.16% * X
> > (X=1,2,3...)is not an exact value, they are variable in a range and
> > dependent more factors.
> > So I think use level value is simple enough.
> 
> Then again explain exactly what are the levels. How you wrote it last
> time, -bp would do the trick.

There are many different methods of measuring pre-emphasis.
The way used in MediaTek USB2 PHY as below:

pre-emphasis level equation = Vpp/Vs -1;
Vpp: peak-peak voltage of differential signal;
Vs : static voltage of differential signal, normal voltage, e.g. 400mV
for u2 phy;

The pre-emphasis circuitry within t-phy can be dynamically programmed
to three different levels of pre-emphasis. The exact value of
pre-emphasis cannot be predetermined, because each device requires
a percentage of pre-emphasis that is dependent on the output signal
strength and transmission path characteristics.

Below shows three programmable pre-emphasis levels for a differential
drive signal of 400 mV. The amount of pre-emphasis changes according
to the transmission path parameters.

programmable level   typical pre-emphasis level
1                    4.16%
2                    8.30%
3                    12.40%

The reasons that why prefer to use programmable level in dt-binding as
following:
1. as you said, -bp may do the trick, but the main problem is that
   pre-emphasis level is variable on different SoC, and is also
   variable even on different pcb for the same SoC. e.g. for the
   programmable level 1, pre-emphasis level may be 6% on a platform,
   but for the programmable level 2, pre-emphasis level may be also
   6% on another platform;
   I think use pre-emphasis level in property, e.g. 4.16%, the
   deviation may be bigger than 40%, may cause confusion for users,
   due to we can't promise that the actual measurement is about 4.16%,
   it may be 2%, or 5% when measured;
2. the programmable / logical level is flexible when we support more
   and pre-emphasis level, ans it is easy for us to tune the level
   due to it's continuous value.
3. all other vendor properties that can't provide exact measurable
   value in this dt-binding make use of logic level, I want to
   keep them align;

Thanks a lot

> 
> Best regards,
> Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-09-09  3:03                     ` Chunfeng Yun
@ 2022-09-09  8:27                       ` Krzysztof Kozlowski
  2022-09-14  5:42                         ` Chunfeng Yun
  0 siblings, 1 reply; 23+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-09  8:27 UTC (permalink / raw)
  To: Chunfeng Yun, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On 09/09/2022 05:03, Chunfeng Yun wrote:
> On Wed, 2022-08-31 at 09:03 +0300, Krzysztof Kozlowski wrote:
>> On 31/08/2022 06:00, Chunfeng Yun wrote:
>>> On Tue, 2022-08-30 at 13:08 +0300, Krzysztof Kozlowski wrote:
>>>> On 29/08/2022 05:37, Chunfeng Yun wrote:
>>>>> On Fri, 2022-08-26 at 09:36 +0300, Krzysztof Kozlowski wrote:
>>>>>> On 26/08/2022 08:36, Chunfeng Yun wrote:
>>>>>>> On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski
>>>>>>> wrote:
>>>>>>>> On 22/08/2022 10:07, Chunfeng Yun wrote:
>>>>>>>>> On Fri, 2022-08-19 at 15:15 +0300, Krzysztof Kozlowski
>>>>>>>>> wrote:
>>>>>>>>>> On 19/08/2022 12:13, Chunfeng Yun wrote:
>>>>>>>>>>> Add a property to set usb2 phy's pre-emphasis.
>>>>>>>>>>>
>>>>>>>>>>> Signed-off-by: Chunfeng Yun <
>>>>>>>>>>> chunfeng.yun@mediatek.com>
>>>>>>>>>>> ---
>>>>>>>>>>>  Documentation/devicetree/bindings/phy/mediatek,tph
>>>>>>>>>>> y.ya
>>>>>>>>>>> ml |
>>>>>>>>>>> 7
>>>>>>>>>>> +++++++
>>>>>>>>>>>  1 file changed, 7 insertions(+)
>>>>>>>>>>>
>>>>>>>>>>> diff --git
>>>>>>>>>>> a/Documentation/devicetree/bindings/phy/mediatek,tp
>>>>>>>>>>> hy.y
>>>>>>>>>>> aml
>>>>>>>>>>> b/Documentation/devicetree/bindings/phy/mediatek,tp
>>>>>>>>>>> hy.y
>>>>>>>>>>> aml
>>>>>>>>>>> index 848edfb1f677..aee2f3027371 100644
>>>>>>>>>>> ---
>>>>>>>>>>> a/Documentation/devicetree/bindings/phy/mediatek,tp
>>>>>>>>>>> hy.y
>>>>>>>>>>> aml
>>>>>>>>>>> +++
>>>>>>>>>>> b/Documentation/devicetree/bindings/phy/mediatek,tp
>>>>>>>>>>> hy.y
>>>>>>>>>>> aml
>>>>>>>>>>> @@ -219,6 +219,13 @@ patternProperties:
>>>>>>>>>>>          minimum: 1
>>>>>>>>>>>          maximum: 15
>>>>>>>>>>>  
>>>>>>>>>>> +      mediatek,pre-emphasis:
>>>>>>>>>>> +        description:
>>>>>>>>>>> +          The selection of pre-emphasis (U2 phy)
>>>>>>>>>>> +        $ref:
>>>>>>>>>>> /schemas/types.yaml#/definitions/uint32
>>>>>>>>>>> +        minimum: 1
>>>>>>>>>>> +        maximum: 3
>>>>>>>>>>
>>>>>>>>>> Instead of hard-coding register values in bindings,
>>>>>>>>>> you
>>>>>>>>>> should
>>>>>>>>>> rather
>>>>>>>>>> describe here feature/effect. If it is in units, use
>>>>>>>>>> unit
>>>>>>>>>> suffixes.
>>>>>>>>>> If
>>>>>>>>>> it is some choice, usually string enum is
>>>>>>>>>> appropriate.
>>>>>>>>>
>>>>>>>>> How about changing description as bellow:
>>>>>>>>>
>>>>>>>>> "The level of pre-emphasis, increases one level, boosts
>>>>>>>>> the
>>>>>>>>> relative
>>>>>>>>> amplitudes of signal's higher frequencies components
>>>>>>>>> about
>>>>>>>>> 4.16%
>>>>>>>>> (U2
>>>>>>>>> phy)"
>>>>>>>>>
>>>>>>>>
>>>>>>>> Still the question is what is the unit. 4.16%?
>>>>>>>
>>>>>>> No unit, it's a level value, like an index of array.
>>>>>>>
>>>>>>
>>>>>> So a value from register/device programming? 
>>>>>
>>>>> Yes
>>>>>> Rather a regular units
>>>>>> should be used if that's possible. If not, this should be
>>>>>> clearly
>>>>>> described here, not some magical number which you encode into
>>>>>> DTS...
>>>>>
>>>>> Ok, I'll add more descriptions.
>>>>
>>>> Better use logical value, e.g.
>>>>
>>>
>>>
> https://urldefense.com/v3/__https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml*L38__;Iw!!CTRNKA9wMg0ARbw!1e-h0R_uwcaHKfKC9qYfaRWYeuWRq1sLCGy3yupNmkFyuW5s1nmRotL7Y0vFG9ETLLTA$
>>>>  
>>>
>>> Optional unit may be -percent or -bp, but the value 4.16% * X
>>> (X=1,2,3...)is not an exact value, they are variable in a range and
>>> dependent more factors.
>>> So I think use level value is simple enough.
>>
>> Then again explain exactly what are the levels. How you wrote it last
>> time, -bp would do the trick.
> 
> There are many different methods of measuring pre-emphasis.
> The way used in MediaTek USB2 PHY as below:
> 
> pre-emphasis level equation = Vpp/Vs -1;
> Vpp: peak-peak voltage of differential signal;
> Vs : static voltage of differential signal, normal voltage, e.g. 400mV
> for u2 phy;
> 
> The pre-emphasis circuitry within t-phy can be dynamically programmed
> to three different levels of pre-emphasis. The exact value of
> pre-emphasis cannot be predetermined, because each device requires
> a percentage of pre-emphasis that is dependent on the output signal
> strength and transmission path characteristics.
> 
> Below shows three programmable pre-emphasis levels for a differential
> drive signal of 400 mV. The amount of pre-emphasis changes according
> to the transmission path parameters.
> 
> programmable level   typical pre-emphasis level
> 1                    4.16%
> 2                    8.30%
> 3                    12.40%
> 
> The reasons that why prefer to use programmable level in dt-binding as
> following:
> 1. as you said, -bp may do the trick, but the main problem is that
>    pre-emphasis level is variable on different SoC, and is also
>    variable even on different pcb for the same SoC. e.g. for the
>    programmable level 1, pre-emphasis level may be 6% on a platform,
>    but for the programmable level 2, pre-emphasis level may be also
>    6% on another platform;
>    I think use pre-emphasis level in property, e.g. 4.16%, the
>    deviation may be bigger than 40%, may cause confusion for users,
>    due to we can't promise that the actual measurement is about 4.16%,
>    it may be 2%, or 5% when measured;
> 2. the programmable / logical level is flexible when we support more
>    and pre-emphasis level, ans it is easy for us to tune the level
>    due to it's continuous value.
> 3. all other vendor properties that can't provide exact measurable
>    value in this dt-binding make use of logic level, I want to
>    keep them align;

Hm, that's clarifies a lot. Thanks for explanation. It's ok for me.


Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis
  2022-09-09  8:27                       ` Krzysztof Kozlowski
@ 2022-09-14  5:42                         ` Chunfeng Yun
  0 siblings, 0 replies; 23+ messages in thread
From: Chunfeng Yun @ 2022-09-14  5:42 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Vinod Koul, Rob Herring
  Cc: Kishon Vijay Abraham I, Krzysztof Kozlowski, Matthias Brugger,
	linux-arm-kernel, linux-mediatek, linux-phy, devicetree,
	linux-kernel, Eddie Hung

On Fri, 2022-09-09 at 10:27 +0200, Krzysztof Kozlowski wrote:
> On 09/09/2022 05:03, Chunfeng Yun wrote:
> > On Wed, 2022-08-31 at 09:03 +0300, Krzysztof Kozlowski wrote:
> > > On 31/08/2022 06:00, Chunfeng Yun wrote:
> > > > On Tue, 2022-08-30 at 13:08 +0300, Krzysztof Kozlowski wrote:
> > > > > On 29/08/2022 05:37, Chunfeng Yun wrote:
> > > > > > On Fri, 2022-08-26 at 09:36 +0300, Krzysztof Kozlowski
> > > > > > wrote:
> > > > > > > On 26/08/2022 08:36, Chunfeng Yun wrote:
> > > > > > > > On Tue, 2022-08-23 at 13:24 +0300, Krzysztof Kozlowski
> > > > > > > > wrote:
> > > > > > > > > On 22/08/2022 10:07, Chunfeng Yun wrote:
> > > > > > > > > > On Fri, 2022-08-19 at 15:15 +0300, Krzysztof
> > > > > > > > > > Kozlowski
> > > > > > > > > > wrote:
> > > > > > > > > > > On 19/08/2022 12:13, Chunfeng Yun wrote:
> > > > > > > > > > > > Add a property to set usb2 phy's pre-emphasis.
> > > > > > > > > > > > 
> > > > > > > > > > > > Signed-off-by: Chunfeng Yun <
> > > > > > > > > > > > chunfeng.yun@mediatek.com>
> > > > > > > > > > > > ---
> > > > > > > > > > > >  Documentation/devicetree/bindings/phy/mediatek
> > > > > > > > > > > > ,tph
> > > > > > > > > > > > y.ya
> > > > > > > > > > > > ml |
> > > > > > > > > > > > 7
> > > > > > > > > > > > +++++++
> > > > > > > > > > > >  1 file changed, 7 insertions(+)
> > > > > > > > > > > > 
> > > > > > > > > > > > diff --git
> > > > > > > > > > > > a/Documentation/devicetree/bindings/phy/mediate
> > > > > > > > > > > > k,tp
> > > > > > > > > > > > hy.y
> > > > > > > > > > > > aml
> > > > > > > > > > > > b/Documentation/devicetree/bindings/phy/mediate
> > > > > > > > > > > > k,tp
> > > > > > > > > > > > hy.y
> > > > > > > > > > > > aml
> > > > > > > > > > > > index 848edfb1f677..aee2f3027371 100644
> > > > > > > > > > > > ---
> > > > > > > > > > > > a/Documentation/devicetree/bindings/phy/mediate
> > > > > > > > > > > > k,tp
> > > > > > > > > > > > hy.y
> > > > > > > > > > > > aml
> > > > > > > > > > > > +++
> > > > > > > > > > > > b/Documentation/devicetree/bindings/phy/mediate
> > > > > > > > > > > > k,tp
> > > > > > > > > > > > hy.y
> > > > > > > > > > > > aml
> > > > > > > > > > > > @@ -219,6 +219,13 @@ patternProperties:
> > > > > > > > > > > >          minimum: 1
> > > > > > > > > > > >          maximum: 15
> > > > > > > > > > > >  
> > > > > > > > > > > > +      mediatek,pre-emphasis:
> > > > > > > > > > > > +        description:
> > > > > > > > > > > > +          The selection of pre-emphasis (U2
> > > > > > > > > > > > phy)
> > > > > > > > > > > > +        $ref:
> > > > > > > > > > > > /schemas/types.yaml#/definitions/uint32
> > > > > > > > > > > > +        minimum: 1
> > > > > > > > > > > > +        maximum: 3
> > > > > > > > > > > 
> > > > > > > > > > > Instead of hard-coding register values in
> > > > > > > > > > > bindings,
> > > > > > > > > > > you
> > > > > > > > > > > should
> > > > > > > > > > > rather
> > > > > > > > > > > describe here feature/effect. If it is in units,
> > > > > > > > > > > use
> > > > > > > > > > > unit
> > > > > > > > > > > suffixes.
> > > > > > > > > > > If
> > > > > > > > > > > it is some choice, usually string enum is
> > > > > > > > > > > appropriate.
> > > > > > > > > > 
> > > > > > > > > > How about changing description as bellow:
> > > > > > > > > > 
> > > > > > > > > > "The level of pre-emphasis, increases one level,
> > > > > > > > > > boosts
> > > > > > > > > > the
> > > > > > > > > > relative
> > > > > > > > > > amplitudes of signal's higher frequencies
> > > > > > > > > > components
> > > > > > > > > > about
> > > > > > > > > > 4.16%
> > > > > > > > > > (U2
> > > > > > > > > > phy)"
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Still the question is what is the unit. 4.16%?
> > > > > > > > 
> > > > > > > > No unit, it's a level value, like an index of array.
> > > > > > > > 
> > > > > > > 
> > > > > > > So a value from register/device programming? 
> > > > > > 
> > > > > > Yes
> > > > > > > Rather a regular units
> > > > > > > should be used if that's possible. If not, this should be
> > > > > > > clearly
> > > > > > > described here, not some magical number which you encode
> > > > > > > into
> > > > > > > DTS...
> > > > > > 
> > > > > > Ok, I'll add more descriptions.
> > > > > 
> > > > > Better use logical value, e.g.
> > > > > 
> > > > 
> > > > 
> > 
> > 
https://urldefense.com/v3/__https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml*L38__;Iw!!CTRNKA9wMg0ARbw!1e-h0R_uwcaHKfKC9qYfaRWYeuWRq1sLCGy3yupNmkFyuW5s1nmRotL7Y0vFG9ETLLTA$
> > > > >  
> > > > 
> > > > Optional unit may be -percent or -bp, but the value 4.16% * X
> > > > (X=1,2,3...)is not an exact value, they are variable in a range
> > > > and
> > > > dependent more factors.
> > > > So I think use level value is simple enough.
> > > 
> > > Then again explain exactly what are the levels. How you wrote it
> > > last
> > > time, -bp would do the trick.
> > 
> > There are many different methods of measuring pre-emphasis.
> > The way used in MediaTek USB2 PHY as below:
> > 
> > pre-emphasis level equation = Vpp/Vs -1;
> > Vpp: peak-peak voltage of differential signal;
> > Vs : static voltage of differential signal, normal voltage, e.g.
> > 400mV
> > for u2 phy;
> > 
> > The pre-emphasis circuitry within t-phy can be dynamically
> > programmed
> > to three different levels of pre-emphasis. The exact value of
> > pre-emphasis cannot be predetermined, because each device requires
> > a percentage of pre-emphasis that is dependent on the output signal
> > strength and transmission path characteristics.
> > 
> > Below shows three programmable pre-emphasis levels for a
> > differential
> > drive signal of 400 mV. The amount of pre-emphasis changes
> > according
> > to the transmission path parameters.
> > 
> > programmable level   typical pre-emphasis level
> > 1                    4.16%
> > 2                    8.30%
> > 3                    12.40%
> > 
> > The reasons that why prefer to use programmable level in dt-binding 
> > as
> > following:
> > 1. as you said, -bp may do the trick, but the main problem is that
> >    pre-emphasis level is variable on different SoC, and is also
> >    variable even on different pcb for the same SoC. e.g. for the
> >    programmable level 1, pre-emphasis level may be 6% on a
> > platform,
> >    but for the programmable level 2, pre-emphasis level may be also
> >    6% on another platform;
> >    I think use pre-emphasis level in property, e.g. 4.16%, the
> >    deviation may be bigger than 40%, may cause confusion for users,
> >    due to we can't promise that the actual measurement is about
> > 4.16%,
> >    it may be 2%, or 5% when measured;
> > 2. the programmable / logical level is flexible when we support
> > more
> >    and pre-emphasis level, ans it is easy for us to tune the level
> >    due to it's continuous value.
> > 3. all other vendor properties that can't provide exact measurable
> >    value in this dt-binding make use of logic level, I want to
> >    keep them align;
> 
> Hm, that's clarifies a lot. Thanks for explanation.
I couldn't know more about pre-emphasis without your questions, thank
you very much.

>  It's ok for me.
> 
> 
> Best regards,
> Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2022-09-14  5:43 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-19  9:13 [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Chunfeng Yun
2022-08-19  9:13 ` [PATCH 2/7] dt-bindings: phy: mediatek,tphy: add property to set pre-emphasis Chunfeng Yun
2022-08-19 12:15   ` Krzysztof Kozlowski
2022-08-22  7:07     ` Chunfeng Yun
2022-08-23 10:24       ` Krzysztof Kozlowski
2022-08-26  5:36         ` Chunfeng Yun
2022-08-26  6:36           ` Krzysztof Kozlowski
2022-08-29  2:37             ` Chunfeng Yun
2022-08-30 10:08               ` Krzysztof Kozlowski
2022-08-31  3:00                 ` Chunfeng Yun
2022-08-31  6:03                   ` Krzysztof Kozlowski
2022-09-08  1:45                     ` Chunfeng Yun
2022-09-09  3:03                     ` Chunfeng Yun
2022-09-09  8:27                       ` Krzysztof Kozlowski
2022-09-14  5:42                         ` Chunfeng Yun
2022-08-19  9:13 ` [PATCH 3/7] phy: phy-mtk-tphy: " Chunfeng Yun
2022-08-19  9:13 ` [PATCH 4/7] phy: phy-mtk-tphy: disable hardware efuse when set INTR Chunfeng Yun
2022-08-19  9:13 ` [PATCH 5/7] phy: phy-mtk-tphy: disable gpio mode for all usb2 phys Chunfeng Yun
2022-08-19  9:13 ` [PATCH 6/7] phy: phy-mtk-tphy: set utmi 0 register in init() ops Chunfeng Yun
2022-08-19  9:13 ` [PATCH 7/7] phy: phy-mtk-tphy: fix the phy type setting issue Chunfeng Yun
2022-08-22 18:25 ` [PATCH 1/7] dt-bindings: phy: mediatek,tphy: add support type of SGMII Rob Herring
2022-08-23 20:44 ` Nícolas F. R. A. Prado
2022-08-29  6:30   ` Chunfeng Yun

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).