* [PATCH 1/5] phy: phy-mtk-tphy: use SPDX license tag
@ 2018-06-29 2:20 Chunfeng Yun
2018-06-29 2:20 ` [PATCH 2/5] dt-bindings: phy-mtk-tphy: add optional properties for u2phy Chunfeng Yun
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Chunfeng Yun @ 2018-06-29 2:20 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Matthias Brugger, Rob Herring, Chunfeng Yun, linux-kernel,
linux-arm-kernel, linux-usb, linux-mediatek, devicetree
Use SPDX-License-Identifier tag instead of the GPL license text
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
drivers/phy/mediatek/Makefile | 1 +
drivers/phy/mediatek/phy-mtk-tphy.c | 10 +---------
2 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/drivers/phy/mediatek/Makefile b/drivers/phy/mediatek/Makefile
index e5074b6..ee49edc 100644
--- a/drivers/phy/mediatek/Makefile
+++ b/drivers/phy/mediatek/Makefile
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the phy drivers.
#
diff --git a/drivers/phy/mediatek/phy-mtk-tphy.c b/drivers/phy/mediatek/phy-mtk-tphy.c
index 38c281b..b962339 100644
--- a/drivers/phy/mediatek/phy-mtk-tphy.c
+++ b/drivers/phy/mediatek/phy-mtk-tphy.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2015 MediaTek Inc.
* Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
*
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
*/
#include <dt-bindings/phy/phy.h>
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/5] dt-bindings: phy-mtk-tphy: add optional properties for u2phy
2018-06-29 2:20 [PATCH 1/5] phy: phy-mtk-tphy: use SPDX license tag Chunfeng Yun
@ 2018-06-29 2:20 ` Chunfeng Yun
2018-07-03 23:33 ` Rob Herring
2018-06-29 2:20 ` [PATCH 3/5] phy: phy-mtk-tphy: add properties for eye diagram test Chunfeng Yun
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Chunfeng Yun @ 2018-06-29 2:20 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Matthias Brugger, Rob Herring, Chunfeng Yun, linux-kernel,
linux-arm-kernel, linux-usb, linux-mediatek, devicetree
Add some optional properties for eye diagram test and BC12 of
u2phy
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt b/Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt
index 0d34b2b..a5f7a4f 100644
--- a/Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt
+++ b/Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt
@@ -47,6 +47,12 @@ Required properties (port (child) node):
- PHY_TYPE_PCIE
- PHY_TYPE_SATA
+Optional properties (PHY_TYPE_USB2 port (child) node):
+- mediatek,eye-src : u32, the value of slew rate calibrate
+- mediatek,eye-vrt : u32, the selection of VRT reference voltage
+- mediatek,eye-term : u32, the selection of HS_TX TERM reference voltage
+- mediatek,bc12 : bool, enable BC12 of u2phy if support it
+
Example:
u3phy: usb-phy@11290000 {
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/5] phy: phy-mtk-tphy: add properties for eye diagram test
2018-06-29 2:20 [PATCH 1/5] phy: phy-mtk-tphy: use SPDX license tag Chunfeng Yun
2018-06-29 2:20 ` [PATCH 2/5] dt-bindings: phy-mtk-tphy: add optional properties for u2phy Chunfeng Yun
@ 2018-06-29 2:20 ` Chunfeng Yun
2018-06-29 2:20 ` [PATCH 4/5] phy: phy-mtk-tphy: add property for BC12 Chunfeng Yun
2018-06-29 2:20 ` [PATCH 5/5] MAINTAINERS: update files of MediaTek USB3 PHYs Chunfeng Yun
3 siblings, 0 replies; 6+ messages in thread
From: Chunfeng Yun @ 2018-06-29 2:20 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Matthias Brugger, Rob Herring, Chunfeng Yun, linux-kernel,
linux-arm-kernel, linux-usb, linux-mediatek, devicetree
Add properties for Eye diagram test of HQA which sometimes need
adjust some parameters of u2phy
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
drivers/phy/mediatek/phy-mtk-tphy.c | 62 +++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/drivers/phy/mediatek/phy-mtk-tphy.c b/drivers/phy/mediatek/phy-mtk-tphy.c
index b962339..9ab6f2e 100644
--- a/drivers/phy/mediatek/phy-mtk-tphy.c
+++ b/drivers/phy/mediatek/phy-mtk-tphy.c
@@ -42,6 +42,12 @@
#define PA0_RG_U2PLL_FORCE_ON BIT(15)
#define PA0_RG_USB20_INTR_EN BIT(5)
+#define U3P_USBPHYACR1 0x004
+#define PA1_RG_VRT_SEL GENMASK(14, 12)
+#define PA1_RG_VRT_SEL_VAL(x) ((0x7 & (x)) << 12)
+#define PA1_RG_TERM_SEL GENMASK(10, 8)
+#define PA1_RG_TERM_SEL_VAL(x) ((0x7 & (x)) << 8)
+
#define U3P_USBPHYACR2 0x008
#define PA2_RG_SIF_U2PLL_FORCE_EN BIT(18)
@@ -288,6 +294,9 @@ struct mtk_phy_instance {
struct clk *ref_clk; /* reference clock of anolog phy */
u32 index;
u8 type;
+ int eye_src;
+ int eye_vrt;
+ int eye_term;
};
struct mtk_tphy {
@@ -312,6 +321,10 @@ static void hs_slew_rate_calibrate(struct mtk_tphy *tphy,
int fm_out;
u32 tmp;
+ /* use force value */
+ if (instance->eye_src)
+ return;
+
/* enable USB ring oscillator */
tmp = readl(com + U3P_USBPHYACR5);
tmp |= PA5_RG_U2_HSTX_SRCAL_EN;
@@ -818,6 +831,52 @@ static void phy_v2_banks_init(struct mtk_tphy *tphy,
}
}
+static void phy_parse_property(struct mtk_tphy *tphy,
+ struct mtk_phy_instance *instance)
+{
+ struct device *dev = &instance->phy->dev;
+
+ if (instance->type != PHY_TYPE_USB2)
+ return;
+
+ device_property_read_u32(dev, "mediatek,eye-src",
+ &instance->eye_src);
+ device_property_read_u32(dev, "mediatek,eye-vrt",
+ &instance->eye_vrt);
+ device_property_read_u32(dev, "mediatek,eye-term",
+ &instance->eye_term);
+}
+
+static void u2_phy_props_set(struct mtk_tphy *tphy,
+ struct mtk_phy_instance *instance)
+{
+ struct u2phy_banks *u2_banks = &instance->u2_banks;
+ void __iomem *com = u2_banks->com;
+ u32 tmp;
+
+
+ if (instance->eye_src) {
+ tmp = readl(com + U3P_USBPHYACR5);
+ tmp &= ~PA5_RG_U2_HSTX_SRCTRL;
+ tmp |= PA5_RG_U2_HSTX_SRCTRL_VAL(instance->eye_src);
+ writel(tmp, com + U3P_USBPHYACR5);
+ }
+
+ if (instance->eye_vrt) {
+ tmp = readl(com + U3P_USBPHYACR1);
+ tmp &= ~PA1_RG_VRT_SEL;
+ tmp |= PA1_RG_VRT_SEL_VAL(instance->eye_vrt);
+ writel(tmp, com + U3P_USBPHYACR1);
+ }
+
+ if (instance->eye_term) {
+ tmp = readl(com + U3P_USBPHYACR1);
+ tmp &= ~PA1_RG_TERM_SEL;
+ tmp |= PA1_RG_TERM_SEL_VAL(instance->eye_term);
+ writel(tmp, com + U3P_USBPHYACR1);
+ }
+}
+
static int mtk_phy_init(struct phy *phy)
{
struct mtk_phy_instance *instance = phy_get_drvdata(phy);
@@ -839,6 +898,7 @@ static int mtk_phy_init(struct phy *phy)
switch (instance->type) {
case PHY_TYPE_USB2:
u2_phy_instance_init(tphy, instance);
+ u2_phy_props_set(tphy, instance);
break;
case PHY_TYPE_USB3:
u3_phy_instance_init(tphy, instance);
@@ -951,6 +1011,8 @@ static struct phy *mtk_phy_xlate(struct device *dev,
return ERR_PTR(-EINVAL);
}
+ phy_parse_property(tphy, instance);
+
return instance->phy;
}
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/5] phy: phy-mtk-tphy: add property for BC12
2018-06-29 2:20 [PATCH 1/5] phy: phy-mtk-tphy: use SPDX license tag Chunfeng Yun
2018-06-29 2:20 ` [PATCH 2/5] dt-bindings: phy-mtk-tphy: add optional properties for u2phy Chunfeng Yun
2018-06-29 2:20 ` [PATCH 3/5] phy: phy-mtk-tphy: add properties for eye diagram test Chunfeng Yun
@ 2018-06-29 2:20 ` Chunfeng Yun
2018-06-29 2:20 ` [PATCH 5/5] MAINTAINERS: update files of MediaTek USB3 PHYs Chunfeng Yun
3 siblings, 0 replies; 6+ messages in thread
From: Chunfeng Yun @ 2018-06-29 2:20 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Matthias Brugger, Rob Herring, Chunfeng Yun, linux-kernel,
linux-arm-kernel, linux-usb, linux-mediatek, devicetree
Some platforms support BC12 which is disabled by default,
here add a property to enable it if need
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
drivers/phy/mediatek/phy-mtk-tphy.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/phy/mediatek/phy-mtk-tphy.c b/drivers/phy/mediatek/phy-mtk-tphy.c
index 9ab6f2e..3eb8e1b 100644
--- a/drivers/phy/mediatek/phy-mtk-tphy.c
+++ b/drivers/phy/mediatek/phy-mtk-tphy.c
@@ -101,6 +101,9 @@
#define P2C_RG_AVALID BIT(2)
#define P2C_RG_IDDIG BIT(1)
+#define U3P_U2PHYBC12C 0x080
+#define P2C_RG_CHGDT_EN BIT(0)
+
#define U3P_U3_CHIP_GPIO_CTLD 0x0c
#define P3C_REG_IP_SW_RST BIT(31)
#define P3C_MCU_BUS_CK_GATE_EN BIT(30)
@@ -297,6 +300,7 @@ struct mtk_phy_instance {
int eye_src;
int eye_vrt;
int eye_term;
+ bool bc12_en;
};
struct mtk_tphy {
@@ -839,12 +843,16 @@ static void phy_parse_property(struct mtk_tphy *tphy,
if (instance->type != PHY_TYPE_USB2)
return;
+ instance->bc12_en = device_property_read_bool(dev, "mediatek,bc12");
device_property_read_u32(dev, "mediatek,eye-src",
&instance->eye_src);
device_property_read_u32(dev, "mediatek,eye-vrt",
&instance->eye_vrt);
device_property_read_u32(dev, "mediatek,eye-term",
&instance->eye_term);
+ dev_dbg(dev, "bc12:%d, src:%d, vrt:%d, term:%d\n",
+ instance->bc12_en, instance->eye_src,
+ instance->eye_vrt, instance->eye_term);
}
static void u2_phy_props_set(struct mtk_tphy *tphy,
@@ -854,6 +862,11 @@ static void u2_phy_props_set(struct mtk_tphy *tphy,
void __iomem *com = u2_banks->com;
u32 tmp;
+ if (instance->bc12_en) {
+ tmp = readl(com + U3P_U2PHYBC12C);
+ tmp |= P2C_RG_CHGDT_EN; /* BC1.2 path Enable */
+ writel(tmp, com + U3P_U2PHYBC12C);
+ }
if (instance->eye_src) {
tmp = readl(com + U3P_USBPHYACR5);
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 5/5] MAINTAINERS: update files of MediaTek USB3 PHYs
2018-06-29 2:20 [PATCH 1/5] phy: phy-mtk-tphy: use SPDX license tag Chunfeng Yun
` (2 preceding siblings ...)
2018-06-29 2:20 ` [PATCH 4/5] phy: phy-mtk-tphy: add property for BC12 Chunfeng Yun
@ 2018-06-29 2:20 ` Chunfeng Yun
3 siblings, 0 replies; 6+ messages in thread
From: Chunfeng Yun @ 2018-06-29 2:20 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Matthias Brugger, Rob Herring, Chunfeng Yun, linux-kernel,
linux-arm-kernel, linux-usb, linux-mediatek, devicetree
Update maintained files include MediaTek USB3 PHYs drivers and
their bindings
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
MAINTAINERS | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 9d5eeff..2b782f1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1647,7 +1647,8 @@ M: Chunfeng Yun <chunfeng.yun@mediatek.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
S: Maintained
-F: drivers/phy/mediatek/phy-mtk-tphy.c
+F: drivers/phy/mediatek/
+F: Documentation/devicetree/bindings/phy/phy-mtk-*
ARM/MICREL KS8695 ARCHITECTURE
M: Greg Ungerer <gerg@uclinux.org>
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/5] dt-bindings: phy-mtk-tphy: add optional properties for u2phy
2018-06-29 2:20 ` [PATCH 2/5] dt-bindings: phy-mtk-tphy: add optional properties for u2phy Chunfeng Yun
@ 2018-07-03 23:33 ` Rob Herring
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2018-07-03 23:33 UTC (permalink / raw)
To: Chunfeng Yun
Cc: Kishon Vijay Abraham I, Matthias Brugger, linux-kernel,
linux-arm-kernel, linux-usb, linux-mediatek, devicetree
On Fri, Jun 29, 2018 at 10:20:28AM +0800, Chunfeng Yun wrote:
> Add some optional properties for eye diagram test and BC12 of
> u2phy
>
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> ---
> Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt | 6 ++++++
> 1 file changed, 6 insertions(+)
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-07-03 23:33 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-29 2:20 [PATCH 1/5] phy: phy-mtk-tphy: use SPDX license tag Chunfeng Yun
2018-06-29 2:20 ` [PATCH 2/5] dt-bindings: phy-mtk-tphy: add optional properties for u2phy Chunfeng Yun
2018-07-03 23:33 ` Rob Herring
2018-06-29 2:20 ` [PATCH 3/5] phy: phy-mtk-tphy: add properties for eye diagram test Chunfeng Yun
2018-06-29 2:20 ` [PATCH 4/5] phy: phy-mtk-tphy: add property for BC12 Chunfeng Yun
2018-06-29 2:20 ` [PATCH 5/5] MAINTAINERS: update files of MediaTek USB3 PHYs 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).