devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 0/4] Enable IPQ5332 USB2
@ 2023-08-22 10:29 Varadarajan Narayanan
  2023-08-22 10:29 ` [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues Varadarajan Narayanan
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Varadarajan Narayanan @ 2023-08-22 10:29 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, catalin.marinas, will, vkoul, kishon, arnd,
	geert+renesas, nfraprado, rafal, peng.fan, linux-arm-msm,
	devicetree, linux-kernel, linux-arm-kernel, linux-phy
  Cc: Varadarajan Narayanan

This patch series adds the relevant phy and controller
DT configurations for enabling USB2 on IPQ5332

v9:
	Driver: Since the driver code has been picked up for merge,
		(https://lore.kernel.org/linux-arm-msm/169226613917.81413.1200008047604336868.b4-ty@kernel.org/)
		adding the coding style fixes alone in this patch.

		Fix line break alignment
		Remove register success print
	DTS:	usb2@8a00000 -> usb@8a00000
		regulator_fixed_5p0: s0500 -> regulator_fixed_5p0: regulator
v8:
	Driver:-
		Change commit subject and message per review comments
		Don't include of_platform.h
		Change struct initialization coding style
		GENMASK -> BIT for one of the defines
v7:
	Binding:-
		Move 'compatible' to be the first entry
		In the example have 'usb-phy' instead of 'usb2-phy'
		Add 'Reviewed-by: Krzysztof Kozlowski'
v6:
	Binding and dts:-
		Dropped the qcom,dwc3.yaml patch as it has been picked up for linux-next
		Add const to compatible, vdd-supply
		Move nodes per register address
	Driver:-
		Add vdd-supply
		Cleanup error paths in probe with dev_err_probe
v5:
	Binding and dts:-
		Fix email id
		Removed 'Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>'
		as had to change bindings file to be able to use generic phy instead of
		usb-phy

	Driver:-
		Remove unused definition
		Use generic phy instead of usb-phy
v4:
	Binding and dts:-
		Change node name (bindings & dts)
	Driver:-
		Remove unused enum
		static const for '.data'
		Error handling for devm_clk_get
v3:
	Fix bindings file based on review comments

v1:
	Cleanup DTS
	Combine driver, kconfig and makefile patches
	Remove unused functions from M31 driver
	Drop the clock driver changes

Varadarajan Narayanan (4):
  phy: qcom: m31: Fix indentation issues
  arm64: dts: qcom: ipq5332: Add USB related nodes
  arm64: dts: qcom: ipq5332: Enable USB
  arm64: defconfig: Enable M31 USB phy driver

 arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts | 23 ++++++++++++
 arch/arm64/boot/dts/qcom/ipq5332.dtsi       | 55 +++++++++++++++++++++++++++++
 arch/arm64/configs/defconfig                |  1 +
 drivers/phy/qualcomm/phy-qcom-m31.c         |  8 ++---
 4 files changed, 82 insertions(+), 5 deletions(-)

-- 
2.7.4


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

* [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues
  2023-08-22 10:29 [PATCH v9 0/4] Enable IPQ5332 USB2 Varadarajan Narayanan
@ 2023-08-22 10:29 ` Varadarajan Narayanan
  2023-08-22 10:55   ` Dmitry Baryshkov
  2023-08-22 11:47   ` Krzysztof Kozlowski
  2023-08-22 10:29 ` [PATCH v9 2/4] arm64: dts: qcom: ipq5332: Add USB related nodes Varadarajan Narayanan
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 12+ messages in thread
From: Varadarajan Narayanan @ 2023-08-22 10:29 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, catalin.marinas, will, vkoul, kishon, arnd,
	geert+renesas, nfraprado, rafal, peng.fan, linux-arm-msm,
	devicetree, linux-kernel, linux-arm-kernel, linux-phy
  Cc: Varadarajan Narayanan

* Fix indentation
* Drop simple success messages

Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
---
v9:
	Fix line break alignment
	Remove register success print
	v8 version of the driver has been picked up for merge.
	(https://lore.kernel.org/linux-arm-msm/169226613917.81413.1200008047604336868.b4-ty@kernel.org/)
v8:
	Change commit subject and message per review comments
	Don't include of_platform.h
	Change struct init coding style
	GENMASK -> BIT for one define
v6:
	Kconfig:Add COMPILE_TEST and remove USB_GADGET from 'depends'
		Change 'selects' USB_PHY -> GENERIC_PHY
	Driver:	Use correct headers
		const int -> unsigned int for 'nregs' in private data
		Use generic names for clk, phy in m31 phy structure
		Init register details directly instead of using macro
		Use dev_err_probe in the error paths of driver probe
v5:
	Kconfig and Makefile:- place snippet according to sorted order
	Use generic phy instead of usb-phy
	Use ARRAY_SIZE for reg init instead of blank last entry
	Fix copyright year

v4:
	Remove unused enum
	Error handling for devm_clk_get
v1:
	Combine driver, makefile and kconfig into 1 patch
	Remove 'qscratch' region and its usage. The controller driver takes care
	of those settings
	Use compatible/data to handle ipq5332 init
	Drop the default case
	Get resources by index instead of name as there is only one resource
	Add clock
	Fix review comments in the driver
---
 drivers/phy/qualcomm/phy-qcom-m31.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/phy/qualcomm/phy-qcom-m31.c b/drivers/phy/qualcomm/phy-qcom-m31.c
index ed08072..ea79c18 100644
--- a/drivers/phy/qualcomm/phy-qcom-m31.c
+++ b/drivers/phy/qualcomm/phy-qcom-m31.c
@@ -242,7 +242,7 @@ static int m31usb_phy_probe(struct platform_device *pdev)
 	qphy->clk = devm_clk_get(dev, NULL);
 	if (IS_ERR(qphy->clk))
 		return dev_err_probe(dev, PTR_ERR(qphy->clk),
-						"failed to get clk\n");
+				     "failed to get clk\n");
 
 	data = of_device_get_match_data(dev);
 	qphy->regs		= data->regs;
@@ -252,18 +252,16 @@ static int m31usb_phy_probe(struct platform_device *pdev)
 	qphy->phy = devm_phy_create(dev, NULL, &m31usb_phy_gen_ops);
 	if (IS_ERR(qphy->phy))
 		return dev_err_probe(dev, PTR_ERR(qphy->phy),
-						"failed to create phy\n");
+				     "failed to create phy\n");
 
 	qphy->vreg = devm_regulator_get(dev, "vdda-phy");
 	if (IS_ERR(qphy->vreg))
 		return dev_err_probe(dev, PTR_ERR(qphy->phy),
-						"failed to get vreg\n");
+				     "failed to get vreg\n");
 
 	phy_set_drvdata(qphy->phy, qphy);
 
 	phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
-	if (!IS_ERR(phy_provider))
-		dev_info(dev, "Registered M31 USB phy\n");
 
 	return PTR_ERR_OR_ZERO(phy_provider);
 }
-- 
2.7.4


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

* [PATCH v9 2/4] arm64: dts: qcom: ipq5332: Add USB related nodes
  2023-08-22 10:29 [PATCH v9 0/4] Enable IPQ5332 USB2 Varadarajan Narayanan
  2023-08-22 10:29 ` [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues Varadarajan Narayanan
@ 2023-08-22 10:29 ` Varadarajan Narayanan
  2023-08-22 11:40   ` Krzysztof Kozlowski
  2023-08-22 10:29 ` [PATCH v9 3/4] arm64: dts: qcom: ipq5332: Enable USB Varadarajan Narayanan
  2023-08-22 10:29 ` [PATCH v9 4/4] arm64: defconfig: Enable M31 USB phy driver Varadarajan Narayanan
  3 siblings, 1 reply; 12+ messages in thread
From: Varadarajan Narayanan @ 2023-08-22 10:29 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, catalin.marinas, will, vkoul, kishon, arnd,
	geert+renesas, nfraprado, rafal, peng.fan, linux-arm-msm,
	devicetree, linux-kernel, linux-arm-kernel, linux-phy
  Cc: Varadarajan Narayanan

Add USB phy and controller nodes.

Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
---
v9:
	usb2@8a00000 -> usb@8a00000
	"make ARCH=arm64 -j 16 CHECK_DTBS=y DT_SCHEMA_FILES=qcom,ipq5332-usb-hsphy.yaml dtbs_check" passed
v6:
	Remove clock names
	Move the nodes to address sorted location
v5:
	Use generic phy instead of usb-phy
	'make CHECK_DTBS=y DT_SCHEMA_FILES=qcom dtbs_check' passed
	'DT_CHECKER_FLAGS='-v -m' DT_SCHEMA_FILES=qcom dt_binding_check' passed
v4:
	Change node name
	Remove blank line
	'make CHECK_DTBS=y DT_SCHEMA_FILES=qcom qcom/ipq5332-rdp441.dtb' passed
v1:
	Rename phy node
	Change compatible from m31,ipq5332-usb-hsphy -> qcom,ipq5332-usb-hsphy
	Remove 'qscratch' from phy node
	Fix alignment and upper-case hex no.s
	Add clock definition for the phy
	Remove snps,ref-clock-period-ns as it is not used. dwc3_ref_clk_period()
	in dwc3/core.c takes the frequency from ref clock and calculates fladj
	as appropriate.
---
 arch/arm64/boot/dts/qcom/ipq5332.dtsi | 55 +++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
index 8bfc2db..e6baf69 100644
--- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
@@ -145,6 +145,19 @@
 		#size-cells = <1>;
 		ranges = <0 0 0 0xffffffff>;
 
+		usbphy0: phy@7b000 {
+			compatible = "qcom,ipq5332-usb-hsphy";
+			reg = <0x0007b000 0x12c>;
+
+			clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>;
+
+			resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
+
+			#phy-cells = <0>;
+
+			status = "disabled";
+		};
+
 		qfprom: efuse@a4000 {
 			compatible = "qcom,ipq5332-qfprom", "qcom,qfprom";
 			reg = <0x000a4000 0x721>;
@@ -290,6 +303,48 @@
 			status = "disabled";
 		};
 
+		usb: usb@8a00000 {
+			compatible = "qcom,ipq5332-dwc3", "qcom,dwc3";
+			reg = <0x08af8800 0x400>;
+
+			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "hs_phy_irq";
+
+			clocks = <&gcc GCC_USB0_MASTER_CLK>,
+				 <&gcc GCC_SNOC_USB_CLK>,
+				 <&gcc GCC_USB0_SLEEP_CLK>,
+				 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
+			clock-names = "core",
+				      "iface",
+				      "sleep",
+				      "mock_utmi";
+
+			resets = <&gcc GCC_USB_BCR>;
+
+			qcom,select-utmi-as-pipe-clk;
+
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges;
+
+			status = "disabled";
+
+			usb2_0_dwc: usb@8a00000 {
+				compatible = "snps,dwc3";
+				reg = <0x08a00000 0xe000>;
+				clocks = <&gcc GCC_USB0_MOCK_UTMI_CLK>;
+				clock-names = "ref";
+				interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
+				phy-names = "usb2-phy";
+				phys = <&usbphy0>;
+				tx-fifo-resize;
+				snps,is-utmi-l1-suspend;
+				snps,hird-threshold = /bits/ 8 <0x0>;
+				snps,dis_u2_susphy_quirk;
+				snps,dis_u3_susphy_quirk;
+			};
+		};
+
 		intc: interrupt-controller@b000000 {
 			compatible = "qcom,msm-qgic2";
 			reg = <0x0b000000 0x1000>,	/* GICD */
-- 
2.7.4


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

* [PATCH v9 3/4] arm64: dts: qcom: ipq5332: Enable USB
  2023-08-22 10:29 [PATCH v9 0/4] Enable IPQ5332 USB2 Varadarajan Narayanan
  2023-08-22 10:29 ` [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues Varadarajan Narayanan
  2023-08-22 10:29 ` [PATCH v9 2/4] arm64: dts: qcom: ipq5332: Add USB related nodes Varadarajan Narayanan
@ 2023-08-22 10:29 ` Varadarajan Narayanan
  2023-08-22 11:39   ` Krzysztof Kozlowski
  2023-08-22 10:29 ` [PATCH v9 4/4] arm64: defconfig: Enable M31 USB phy driver Varadarajan Narayanan
  3 siblings, 1 reply; 12+ messages in thread
From: Varadarajan Narayanan @ 2023-08-22 10:29 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, catalin.marinas, will, vkoul, kishon, arnd,
	geert+renesas, nfraprado, rafal, peng.fan, linux-arm-msm,
	devicetree, linux-kernel, linux-arm-kernel, linux-phy
  Cc: Varadarajan Narayanan

Enable USB2 in host mode.

Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
---
v9:
	regulator_fixed_5p0: s0500 -> regulator_fixed_5p0: regulator_s0500
	"make ARCH=arm64 -j 16 CHECK_DTBS=y DT_SCHEMA_FILES=qcom,ipq5332-usb-hsphy.yaml dtbs_check" passed
v6:
	Add vdd-supply and corresponding regulator
v1:
	Enable usb-phy node
---
 arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts b/arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts
index f96b0c8..53696f4 100644
--- a/arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts
+++ b/arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts
@@ -12,6 +12,15 @@
 / {
 	model = "Qualcomm Technologies, Inc. IPQ5332 MI01.6";
 	compatible = "qcom,ipq5332-ap-mi01.6", "qcom,ipq5332";
+
+	regulator_fixed_5p0: regulator_s0500 {
+		compatible = "regulator-fixed";
+		regulator-min-microvolt = <500000>;
+		regulator-max-microvolt = <500000>;
+		regulator-boot-on;
+		regulator-always-on;
+		regulator-name = "fixed_5p0";
+	};
 };
 
 &blsp1_spi0 {
@@ -79,3 +88,17 @@
 		bias-pull-up;
 	};
 };
+
+&usbphy0 {
+	vdd-supply = <&regulator_fixed_5p0>;
+
+	status = "okay";
+};
+
+&usb {
+	status = "okay";
+};
+
+&usb2_0_dwc {
+	dr_mode = "host";
+};
-- 
2.7.4


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

* [PATCH v9 4/4] arm64: defconfig: Enable M31 USB phy driver
  2023-08-22 10:29 [PATCH v9 0/4] Enable IPQ5332 USB2 Varadarajan Narayanan
                   ` (2 preceding siblings ...)
  2023-08-22 10:29 ` [PATCH v9 3/4] arm64: dts: qcom: ipq5332: Enable USB Varadarajan Narayanan
@ 2023-08-22 10:29 ` Varadarajan Narayanan
  2023-08-22 11:33   ` Dmitry Baryshkov
  3 siblings, 1 reply; 12+ messages in thread
From: Varadarajan Narayanan @ 2023-08-22 10:29 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, catalin.marinas, will, vkoul, kishon, arnd,
	geert+renesas, nfraprado, rafal, peng.fan, linux-arm-msm,
	devicetree, linux-kernel, linux-arm-kernel, linux-phy
  Cc: Varadarajan Narayanan

Enable M31 USB phy driver present in IPQ5332.

Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
---
v2:
	Add full stop to commit log.
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 5315789..c1e2372 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1422,6 +1422,7 @@ CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=m
 CONFIG_PHY_QCOM_USB_HS_28NM=m
 CONFIG_PHY_QCOM_USB_SS=m
 CONFIG_PHY_QCOM_SGMII_ETH=m
+CONFIG_PHY_QCOM_M31_USB=m
 CONFIG_PHY_R8A779F0_ETHERNET_SERDES=y
 CONFIG_PHY_RCAR_GEN3_PCIE=y
 CONFIG_PHY_RCAR_GEN3_USB2=y
-- 
2.7.4


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

* Re: [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues
  2023-08-22 10:29 ` [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues Varadarajan Narayanan
@ 2023-08-22 10:55   ` Dmitry Baryshkov
  2023-08-22 11:33     ` Dmitry Baryshkov
  2023-08-22 11:47   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-08-22 10:55 UTC (permalink / raw)
  To: Varadarajan Narayanan
  Cc: agross, andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, catalin.marinas, will, vkoul, kishon, arnd,
	geert+renesas, nfraprado, rafal, peng.fan, linux-arm-msm,
	devicetree, linux-kernel, linux-arm-kernel, linux-phy

On Tue, 22 Aug 2023 at 13:31, Varadarajan Narayanan
<quic_varada@quicinc.com> wrote:
>
> * Fix indentation
> * Drop simple success messages
>
> Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
> ---
> v9:
>         Fix line break alignment
>         Remove register success print
>         v8 version of the driver has been picked up for merge.
>         (https://lore.kernel.org/linux-arm-msm/169226613917.81413.1200008047604336868.b4-ty@kernel.org/)
> v8:
>         Change commit subject and message per review comments
>         Don't include of_platform.h
>         Change struct init coding style
>         GENMASK -> BIT for one define
> v6:
>         Kconfig:Add COMPILE_TEST and remove USB_GADGET from 'depends'
>                 Change 'selects' USB_PHY -> GENERIC_PHY
>         Driver: Use correct headers
>                 const int -> unsigned int for 'nregs' in private data
>                 Use generic names for clk, phy in m31 phy structure
>                 Init register details directly instead of using macro
>                 Use dev_err_probe in the error paths of driver probe
> v5:
>         Kconfig and Makefile:- place snippet according to sorted order
>         Use generic phy instead of usb-phy
>         Use ARRAY_SIZE for reg init instead of blank last entry
>         Fix copyright year
>
> v4:
>         Remove unused enum
>         Error handling for devm_clk_get
> v1:
>         Combine driver, makefile and kconfig into 1 patch
>         Remove 'qscratch' region and its usage. The controller driver takes care
>         of those settings
>         Use compatible/data to handle ipq5332 init
>         Drop the default case
>         Get resources by index instead of name as there is only one resource
>         Add clock
>         Fix review comments in the driver
> ---
>  drivers/phy/qualcomm/phy-qcom-m31.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/phy/qualcomm/phy-qcom-m31.c b/drivers/phy/qualcomm/phy-qcom-m31.c
> index ed08072..ea79c18 100644
> --- a/drivers/phy/qualcomm/phy-qcom-m31.c
> +++ b/drivers/phy/qualcomm/phy-qcom-m31.c
> @@ -242,7 +242,7 @@ static int m31usb_phy_probe(struct platform_device *pdev)
>         qphy->clk = devm_clk_get(dev, NULL);
>         if (IS_ERR(qphy->clk))
>                 return dev_err_probe(dev, PTR_ERR(qphy->clk),
> -                                               "failed to get clk\n");
> +                                    "failed to get clk\n");

But why are you trying to fix this? aligning next line to the opening
bracket is perfectly fine (and is one of the endorsed styles).

>
>         data = of_device_get_match_data(dev);
>         qphy->regs              = data->regs;
> @@ -252,18 +252,16 @@ static int m31usb_phy_probe(struct platform_device *pdev)
>         qphy->phy = devm_phy_create(dev, NULL, &m31usb_phy_gen_ops);
>         if (IS_ERR(qphy->phy))
>                 return dev_err_probe(dev, PTR_ERR(qphy->phy),
> -                                               "failed to create phy\n");
> +                                    "failed to create phy\n");
>
>         qphy->vreg = devm_regulator_get(dev, "vdda-phy");
>         if (IS_ERR(qphy->vreg))
>                 return dev_err_probe(dev, PTR_ERR(qphy->phy),
> -                                               "failed to get vreg\n");
> +                                    "failed to get vreg\n");
>
>         phy_set_drvdata(qphy->phy, qphy);
>
>         phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
> -       if (!IS_ERR(phy_provider))
> -               dev_info(dev, "Registered M31 USB phy\n");

This is irrelevant to the indentation.

>
>         return PTR_ERR_OR_ZERO(phy_provider);
>  }
> --
> 2.7.4
>


-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues
  2023-08-22 10:55   ` Dmitry Baryshkov
@ 2023-08-22 11:33     ` Dmitry Baryshkov
  0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-08-22 11:33 UTC (permalink / raw)
  To: Varadarajan Narayanan
  Cc: agross, andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, catalin.marinas, will, vkoul, kishon, arnd,
	geert+renesas, nfraprado, rafal, peng.fan, linux-arm-msm,
	devicetree, linux-kernel, linux-arm-kernel, linux-phy

On 22/08/2023 13:55, Dmitry Baryshkov wrote:
> On Tue, 22 Aug 2023 at 13:31, Varadarajan Narayanan
> <quic_varada@quicinc.com> wrote:
>>
>> * Fix indentation
>> * Drop simple success messages
>>
>> Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
>> ---
>> v9:
>>          Fix line break alignment
>>          Remove register success print
>>          v8 version of the driver has been picked up for merge.
>>          (https://lore.kernel.org/linux-arm-msm/169226613917.81413.1200008047604336868.b4-ty@kernel.org/)
>> v8:
>>          Change commit subject and message per review comments
>>          Don't include of_platform.h
>>          Change struct init coding style
>>          GENMASK -> BIT for one define
>> v6:
>>          Kconfig:Add COMPILE_TEST and remove USB_GADGET from 'depends'
>>                  Change 'selects' USB_PHY -> GENERIC_PHY
>>          Driver: Use correct headers
>>                  const int -> unsigned int for 'nregs' in private data
>>                  Use generic names for clk, phy in m31 phy structure
>>                  Init register details directly instead of using macro
>>                  Use dev_err_probe in the error paths of driver probe
>> v5:
>>          Kconfig and Makefile:- place snippet according to sorted order
>>          Use generic phy instead of usb-phy
>>          Use ARRAY_SIZE for reg init instead of blank last entry
>>          Fix copyright year
>>
>> v4:
>>          Remove unused enum
>>          Error handling for devm_clk_get
>> v1:
>>          Combine driver, makefile and kconfig into 1 patch
>>          Remove 'qscratch' region and its usage. The controller driver takes care
>>          of those settings
>>          Use compatible/data to handle ipq5332 init
>>          Drop the default case
>>          Get resources by index instead of name as there is only one resource
>>          Add clock
>>          Fix review comments in the driver
>> ---
>>   drivers/phy/qualcomm/phy-qcom-m31.c | 8 +++-----
>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/phy/qualcomm/phy-qcom-m31.c b/drivers/phy/qualcomm/phy-qcom-m31.c
>> index ed08072..ea79c18 100644
>> --- a/drivers/phy/qualcomm/phy-qcom-m31.c
>> +++ b/drivers/phy/qualcomm/phy-qcom-m31.c
>> @@ -242,7 +242,7 @@ static int m31usb_phy_probe(struct platform_device *pdev)
>>          qphy->clk = devm_clk_get(dev, NULL);
>>          if (IS_ERR(qphy->clk))
>>                  return dev_err_probe(dev, PTR_ERR(qphy->clk),
>> -                                               "failed to get clk\n");
>> +                                    "failed to get clk\n");
> 
> But why are you trying to fix this? aligning next line to the opening
> bracket is perfectly fine (and is one of the endorsed styles).

Ugh, excuse me. My mailer displayed alignment in a wrong way.

This LGTM except the last chunk (removal of the info message).

> 
>>
>>          data = of_device_get_match_data(dev);
>>          qphy->regs              = data->regs;
>> @@ -252,18 +252,16 @@ static int m31usb_phy_probe(struct platform_device *pdev)
>>          qphy->phy = devm_phy_create(dev, NULL, &m31usb_phy_gen_ops);
>>          if (IS_ERR(qphy->phy))
>>                  return dev_err_probe(dev, PTR_ERR(qphy->phy),
>> -                                               "failed to create phy\n");
>> +                                    "failed to create phy\n");
>>
>>          qphy->vreg = devm_regulator_get(dev, "vdda-phy");
>>          if (IS_ERR(qphy->vreg))
>>                  return dev_err_probe(dev, PTR_ERR(qphy->phy),
>> -                                               "failed to get vreg\n");
>> +                                    "failed to get vreg\n");
>>
>>          phy_set_drvdata(qphy->phy, qphy);
>>
>>          phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
>> -       if (!IS_ERR(phy_provider))
>> -               dev_info(dev, "Registered M31 USB phy\n");
> 
> This is irrelevant to the indentation.
> 
>>
>>          return PTR_ERR_OR_ZERO(phy_provider);
>>   }
>> --
>> 2.7.4
>>
> 
> 

-- 
With best wishes
Dmitry


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

* Re: [PATCH v9 4/4] arm64: defconfig: Enable M31 USB phy driver
  2023-08-22 10:29 ` [PATCH v9 4/4] arm64: defconfig: Enable M31 USB phy driver Varadarajan Narayanan
@ 2023-08-22 11:33   ` Dmitry Baryshkov
  0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2023-08-22 11:33 UTC (permalink / raw)
  To: Varadarajan Narayanan, agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, catalin.marinas, will, vkoul,
	kishon, arnd, geert+renesas, nfraprado, rafal, peng.fan,
	linux-arm-msm, devicetree, linux-kernel, linux-arm-kernel,
	linux-phy

On 22/08/2023 13:29, Varadarajan Narayanan wrote:
> Enable M31 USB phy driver present in IPQ5332.
> 
> Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
> ---
> v2:
> 	Add full stop to commit log.
> ---
>   arch/arm64/configs/defconfig | 1 +
>   1 file changed, 1 insertion(+)

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

-- 
With best wishes
Dmitry


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

* Re: [PATCH v9 3/4] arm64: dts: qcom: ipq5332: Enable USB
  2023-08-22 10:29 ` [PATCH v9 3/4] arm64: dts: qcom: ipq5332: Enable USB Varadarajan Narayanan
@ 2023-08-22 11:39   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2023-08-22 11:39 UTC (permalink / raw)
  To: Varadarajan Narayanan, agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, catalin.marinas, will, vkoul,
	kishon, arnd, geert+renesas, nfraprado, rafal, peng.fan,
	linux-arm-msm, devicetree, linux-kernel, linux-arm-kernel,
	linux-phy

On 22/08/2023 12:29, Varadarajan Narayanan wrote:
> Enable USB2 in host mode.
> 
> Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
> ---
> v9:
> 	regulator_fixed_5p0: s0500 -> regulator_fixed_5p0: regulator_s0500
> 	"make ARCH=arm64 -j 16 CHECK_DTBS=y DT_SCHEMA_FILES=qcom,ipq5332-usb-hsphy.yaml dtbs_check" passed
> v6:
> 	Add vdd-supply and corresponding regulator
> v1:
> 	Enable usb-phy node
> ---
>  arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts b/arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts
> index f96b0c8..53696f4 100644
> --- a/arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts
> +++ b/arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts
> @@ -12,6 +12,15 @@
>  / {
>  	model = "Qualcomm Technologies, Inc. IPQ5332 MI01.6";
>  	compatible = "qcom,ipq5332-ap-mi01.6", "qcom,ipq5332";
> +
> +	regulator_fixed_5p0: regulator_s0500 {

No underscores in node names. If you look at any source code, you will
notice lack of them.

Best regards,
Krzysztof


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

* Re: [PATCH v9 2/4] arm64: dts: qcom: ipq5332: Add USB related nodes
  2023-08-22 10:29 ` [PATCH v9 2/4] arm64: dts: qcom: ipq5332: Add USB related nodes Varadarajan Narayanan
@ 2023-08-22 11:40   ` Krzysztof Kozlowski
  2023-08-23  5:18     ` Varadarajan Narayanan
  0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2023-08-22 11:40 UTC (permalink / raw)
  To: Varadarajan Narayanan, agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, catalin.marinas, will, vkoul,
	kishon, arnd, geert+renesas, nfraprado, rafal, peng.fan,
	linux-arm-msm, devicetree, linux-kernel, linux-arm-kernel,
	linux-phy

On 22/08/2023 12:29, Varadarajan Narayanan wrote:
> Add USB phy and controller nodes.
> 
> Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
> ---
> v9:
> 	usb2@8a00000 -> usb@8a00000
> 	"make ARCH=arm64 -j 16 CHECK_DTBS=y DT_SCHEMA_FILES=qcom,ipq5332-usb-hsphy.yaml dtbs_check" passed

I asked about W=1.


> v6:
> 	Remove clock names
> 	Move the nodes to address sorted location
> v5:
> 	Use generic phy instead of usb-phy
> 	'make CHECK_DTBS=y DT_SCHEMA_FILES=qcom dtbs_check' passed
> 	'DT_CHECKER_FLAGS='-v -m' DT_SCHEMA_FILES=qcom dt_binding_check' passed
> v4:
> 	Change node name
> 	Remove blank line
> 	'make CHECK_DTBS=y DT_SCHEMA_FILES=qcom qcom/ipq5332-rdp441.dtb' passed
> v1:
> 	Rename phy node
> 	Change compatible from m31,ipq5332-usb-hsphy -> qcom,ipq5332-usb-hsphy
> 	Remove 'qscratch' from phy node
> 	Fix alignment and upper-case hex no.s
> 	Add clock definition for the phy
> 	Remove snps,ref-clock-period-ns as it is not used. dwc3_ref_clk_period()
> 	in dwc3/core.c takes the frequency from ref clock and calculates fladj
> 	as appropriate.
> ---
>  arch/arm64/boot/dts/qcom/ipq5332.dtsi | 55 +++++++++++++++++++++++++++++++++++
>  1 file changed, 55 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
> index 8bfc2db..e6baf69 100644
> --- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
> @@ -145,6 +145,19 @@
>  		#size-cells = <1>;
>  		ranges = <0 0 0 0xffffffff>;
>  
> +		usbphy0: phy@7b000 {
> +			compatible = "qcom,ipq5332-usb-hsphy";
> +			reg = <0x0007b000 0x12c>;
> +
> +			clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>;
> +
> +			resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
> +
> +			#phy-cells = <0>;
> +
> +			status = "disabled";
> +		};
> +
>  		qfprom: efuse@a4000 {
>  			compatible = "qcom,ipq5332-qfprom", "qcom,qfprom";
>  			reg = <0x000a4000 0x721>;
> @@ -290,6 +303,48 @@
>  			status = "disabled";
>  		};
>  
> +		usb: usb@8a00000 {
> +			compatible = "qcom,ipq5332-dwc3", "qcom,dwc3";
> +			reg = <0x08af8800 0x400>;

Still wrong address. I pointed it last time. Please fix it instead of
just sending the same. If you do not agree, keep discussing. I could
have make a mistake, but ignoring error and not responding is not the way.



Best regards,
Krzysztof


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

* Re: [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues
  2023-08-22 10:29 ` [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues Varadarajan Narayanan
  2023-08-22 10:55   ` Dmitry Baryshkov
@ 2023-08-22 11:47   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2023-08-22 11:47 UTC (permalink / raw)
  To: Varadarajan Narayanan, agross, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, catalin.marinas, will, vkoul,
	kishon, arnd, geert+renesas, nfraprado, rafal, peng.fan,
	linux-arm-msm, devicetree, linux-kernel, linux-arm-kernel,
	linux-phy

On 22/08/2023 12:29, Varadarajan Narayanan wrote:
> * Fix indentation
> * Drop simple success messages
> 
> Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
> ---
> v9:
> 	Fix line break alignment

I wished we run checkpatch before sending patches, not after :/

Best regards,
Krzysztof


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

* Re: [PATCH v9 2/4] arm64: dts: qcom: ipq5332: Add USB related nodes
  2023-08-22 11:40   ` Krzysztof Kozlowski
@ 2023-08-23  5:18     ` Varadarajan Narayanan
  0 siblings, 0 replies; 12+ messages in thread
From: Varadarajan Narayanan @ 2023-08-23  5:18 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: agross, andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, catalin.marinas, will, vkoul, kishon, arnd,
	geert+renesas, nfraprado, rafal, peng.fan, linux-arm-msm,
	devicetree, linux-kernel, linux-arm-kernel, linux-phy

On Tue, Aug 22, 2023 at 01:40:57PM +0200, Krzysztof Kozlowski wrote:
> On 22/08/2023 12:29, Varadarajan Narayanan wrote:
> > Add USB phy and controller nodes.
> >
> > Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
> > ---
> > v9:
> > 	usb2@8a00000 -> usb@8a00000
> > 	"make ARCH=arm64 -j 16 CHECK_DTBS=y DT_SCHEMA_FILES=qcom,ipq5332-usb-hsphy.yaml dtbs_check" passed
>
> I asked about W=1.
>
>
> > v6:
> > 	Remove clock names
> > 	Move the nodes to address sorted location
> > v5:
> > 	Use generic phy instead of usb-phy
> > 	'make CHECK_DTBS=y DT_SCHEMA_FILES=qcom dtbs_check' passed
> > 	'DT_CHECKER_FLAGS='-v -m' DT_SCHEMA_FILES=qcom dt_binding_check' passed
> > v4:
> > 	Change node name
> > 	Remove blank line
> > 	'make CHECK_DTBS=y DT_SCHEMA_FILES=qcom qcom/ipq5332-rdp441.dtb' passed
> > v1:
> > 	Rename phy node
> > 	Change compatible from m31,ipq5332-usb-hsphy -> qcom,ipq5332-usb-hsphy
> > 	Remove 'qscratch' from phy node
> > 	Fix alignment and upper-case hex no.s
> > 	Add clock definition for the phy
> > 	Remove snps,ref-clock-period-ns as it is not used. dwc3_ref_clk_period()
> > 	in dwc3/core.c takes the frequency from ref clock and calculates fladj
> > 	as appropriate.
> > ---
> >  arch/arm64/boot/dts/qcom/ipq5332.dtsi | 55 +++++++++++++++++++++++++++++++++++
> >  1 file changed, 55 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
> > index 8bfc2db..e6baf69 100644
> > --- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
> > @@ -145,6 +145,19 @@
> >  		#size-cells = <1>;
> >  		ranges = <0 0 0 0xffffffff>;
> >
> > +		usbphy0: phy@7b000 {
> > +			compatible = "qcom,ipq5332-usb-hsphy";
> > +			reg = <0x0007b000 0x12c>;
> > +
> > +			clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>;
> > +
> > +			resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
> > +
> > +			#phy-cells = <0>;
> > +
> > +			status = "disabled";
> > +		};
> > +
> >  		qfprom: efuse@a4000 {
> >  			compatible = "qcom,ipq5332-qfprom", "qcom,qfprom";
> >  			reg = <0x000a4000 0x721>;
> > @@ -290,6 +303,48 @@
> >  			status = "disabled";
> >  		};
> >
> > +		usb: usb@8a00000 {
> > +			compatible = "qcom,ipq5332-dwc3", "qcom,dwc3";
> > +			reg = <0x08af8800 0x400>;
>
> Still wrong address. I pointed it last time. Please fix it instead of
> just sending the same. If you do not agree, keep discussing. I could
> have make a mistake, but ignoring error and not responding is not the way.

Sorry, my mistake. I changed usb2 to usb and missed this.

Thanks
Varada

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

end of thread, other threads:[~2023-08-23  5:19 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-22 10:29 [PATCH v9 0/4] Enable IPQ5332 USB2 Varadarajan Narayanan
2023-08-22 10:29 ` [PATCH v9 1/4] phy: qcom: m31: Fix indentation issues Varadarajan Narayanan
2023-08-22 10:55   ` Dmitry Baryshkov
2023-08-22 11:33     ` Dmitry Baryshkov
2023-08-22 11:47   ` Krzysztof Kozlowski
2023-08-22 10:29 ` [PATCH v9 2/4] arm64: dts: qcom: ipq5332: Add USB related nodes Varadarajan Narayanan
2023-08-22 11:40   ` Krzysztof Kozlowski
2023-08-23  5:18     ` Varadarajan Narayanan
2023-08-22 10:29 ` [PATCH v9 3/4] arm64: dts: qcom: ipq5332: Enable USB Varadarajan Narayanan
2023-08-22 11:39   ` Krzysztof Kozlowski
2023-08-22 10:29 ` [PATCH v9 4/4] arm64: defconfig: Enable M31 USB phy driver Varadarajan Narayanan
2023-08-22 11:33   ` Dmitry Baryshkov

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