From: Chunfeng Yun <chunfeng.yun@mediatek.com>
To: Vinod Koul <vkoul@kernel.org>, Rob Herring <robh+dt@kernel.org>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>,
Kishon Vijay Abraham I <kishon@ti.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>,
<linux-phy@lists.infradead.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
Eddie Hung <eddie.hung@mediatek.com>
Subject: [PATCH 3/7] phy: phy-mtk-tphy: add property to set pre-emphasis
Date: Fri, 19 Aug 2022 17:13:40 +0800 [thread overview]
Message-ID: <20220819091344.2274-3-chunfeng.yun@mediatek.com> (raw)
In-Reply-To: <20220819091344.2274-1-chunfeng.yun@mediatek.com>
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
WARNING: multiple messages have this Message-ID (diff)
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
To: Vinod Koul <vkoul@kernel.org>, Rob Herring <robh+dt@kernel.org>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>,
Kishon Vijay Abraham I <kishon@ti.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>,
<linux-phy@lists.infradead.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
Eddie Hung <eddie.hung@mediatek.com>
Subject: [PATCH 3/7] phy: phy-mtk-tphy: add property to set pre-emphasis
Date: Fri, 19 Aug 2022 17:13:40 +0800 [thread overview]
Message-ID: <20220819091344.2274-3-chunfeng.yun@mediatek.com> (raw)
In-Reply-To: <20220819091344.2274-1-chunfeng.yun@mediatek.com>
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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
WARNING: multiple messages have this Message-ID (diff)
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
To: Vinod Koul <vkoul@kernel.org>, Rob Herring <robh+dt@kernel.org>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>,
Kishon Vijay Abraham I <kishon@ti.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>,
<linux-phy@lists.infradead.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
Eddie Hung <eddie.hung@mediatek.com>
Subject: [PATCH 3/7] phy: phy-mtk-tphy: add property to set pre-emphasis
Date: Fri, 19 Aug 2022 17:13:40 +0800 [thread overview]
Message-ID: <20220819091344.2274-3-chunfeng.yun@mediatek.com> (raw)
In-Reply-To: <20220819091344.2274-1-chunfeng.yun@mediatek.com>
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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-08-19 9:14 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
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 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
2022-08-19 9:13 ` Chunfeng Yun
2022-08-19 9:13 ` Chunfeng Yun
2022-08-19 12:15 ` Krzysztof Kozlowski
2022-08-19 12:15 ` Krzysztof Kozlowski
2022-08-19 12:15 ` Krzysztof Kozlowski
2022-08-22 7:07 ` Chunfeng Yun
2022-08-22 7:07 ` Chunfeng Yun
2022-08-22 7:07 ` Chunfeng Yun
2022-08-23 10:24 ` Krzysztof Kozlowski
2022-08-23 10:24 ` Krzysztof Kozlowski
2022-08-23 10:24 ` Krzysztof Kozlowski
2022-08-26 5:36 ` Chunfeng Yun
2022-08-26 5:36 ` Chunfeng Yun
2022-08-26 5:36 ` Chunfeng Yun
2022-08-26 6:36 ` Krzysztof Kozlowski
2022-08-26 6:36 ` Krzysztof Kozlowski
2022-08-26 6:36 ` Krzysztof Kozlowski
2022-08-29 2:37 ` Chunfeng Yun
2022-08-29 2:37 ` Chunfeng Yun
2022-08-29 2:37 ` Chunfeng Yun
2022-08-30 10:08 ` Krzysztof Kozlowski
2022-08-30 10:08 ` Krzysztof Kozlowski
2022-08-30 10:08 ` Krzysztof Kozlowski
2022-08-31 3:00 ` Chunfeng Yun
2022-08-31 3:00 ` Chunfeng Yun
2022-08-31 3:00 ` Chunfeng Yun
2022-08-31 6:03 ` Krzysztof Kozlowski
2022-08-31 6:03 ` Krzysztof Kozlowski
2022-08-31 6:03 ` Krzysztof Kozlowski
2022-09-08 1:45 ` Chunfeng Yun
2022-09-08 1:45 ` Chunfeng Yun
2022-09-08 1:45 ` Chunfeng Yun
2022-09-09 3:03 ` Chunfeng Yun
2022-09-09 3:03 ` Chunfeng Yun
2022-09-09 3:03 ` Chunfeng Yun
2022-09-09 8:27 ` Krzysztof Kozlowski
2022-09-09 8:27 ` Krzysztof Kozlowski
2022-09-09 8:27 ` Krzysztof Kozlowski
2022-09-14 5:42 ` Chunfeng Yun
2022-09-14 5:42 ` Chunfeng Yun
2022-09-14 5:42 ` Chunfeng Yun
2022-08-19 9:13 ` Chunfeng Yun [this message]
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 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 ` 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 ` 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
2022-08-19 9:13 ` 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
2022-08-19 9:13 ` 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-22 18:25 ` Rob Herring
2022-08-22 18:25 ` Rob Herring
2022-08-23 20:44 ` Nícolas F. R. A. Prado
2022-08-23 20:44 ` Nícolas F. R. A. Prado
2022-08-23 20:44 ` Nícolas F. R. A. Prado
2022-08-29 6:30 ` Chunfeng Yun
2022-08-29 6:30 ` Chunfeng Yun
2022-08-29 6:30 ` Chunfeng Yun
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=20220819091344.2274-3-chunfeng.yun@mediatek.com \
--to=chunfeng.yun@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=eddie.hung@mediatek.com \
--cc=kishon@ti.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-phy@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=robh+dt@kernel.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.