diff mbox series

[5/8] arm64: dts: qcom: ipq5332: Add clocks for USB Super-Speed

Message ID 20230929084209.3033093-6-quic_ipkumar@quicinc.com (mailing list archive)
State New, archived
Headers show
Series Enable USB3 for Qualcomm IPQ5332 | expand

Commit Message

Praveenkumar I Sept. 29, 2023, 8:42 a.m. UTC
Add aux and lfps clocks in USB node for Super-Speed support.

Signed-off-by: Praveenkumar I <quic_ipkumar@quicinc.com>
---
 arch/arm64/boot/dts/qcom/ipq5332.dtsi | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Dmitry Baryshkov Sept. 30, 2023, 5:25 p.m. UTC | #1
On 29/09/2023 11:42, Praveenkumar I wrote:
> Add aux and lfps clocks in USB node for Super-Speed support.
> 
> Signed-off-by: Praveenkumar I <quic_ipkumar@quicinc.com>
> ---
>   arch/arm64/boot/dts/qcom/ipq5332.dtsi | 9 +++++++--
>   1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
> index b08ffd8c094e..1813b9fa4bb5 100644
> --- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
> @@ -336,11 +336,16 @@ usb: usb@8af8800 {
>   			clocks = <&gcc GCC_USB0_MASTER_CLK>,
>   				 <&gcc GCC_SNOC_USB_CLK>,
>   				 <&gcc GCC_USB0_SLEEP_CLK>,
> -				 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
> +				 <&gcc GCC_USB0_MOCK_UTMI_CLK>,
> +				 <&gcc GCC_USB0_AUX_CLK>,
> +				 <&gcc GCC_USB0_LFPS_CLK>;

This looks like a strange change. Usually the DTB is considered to be 
the ABI, so older DTBs should continue to work with newer kernels. Is 
there a reason why the AUX and LFPS clocks were not a part of the 
original submission?

> +
>   			clock-names = "core",
>   				      "iface",
>   				      "sleep",
> -				      "mock_utmi";
> +				      "mock_utmi",
> +				      "aux",
> +				      "lfps";
>   
>   			resets = <&gcc GCC_USB_BCR>;
>
Praveenkumar I Oct. 3, 2023, 2:42 p.m. UTC | #2
On 9/30/2023 10:55 PM, Dmitry Baryshkov wrote:
> On 29/09/2023 11:42, Praveenkumar I wrote:
>> Add aux and lfps clocks in USB node for Super-Speed support.
>>
>> Signed-off-by: Praveenkumar I <quic_ipkumar@quicinc.com>
>> ---
>>   arch/arm64/boot/dts/qcom/ipq5332.dtsi | 9 +++++++--
>>   1 file changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi 
>> b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
>> index b08ffd8c094e..1813b9fa4bb5 100644
>> --- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
>> @@ -336,11 +336,16 @@ usb: usb@8af8800 {
>>               clocks = <&gcc GCC_USB0_MASTER_CLK>,
>>                    <&gcc GCC_SNOC_USB_CLK>,
>>                    <&gcc GCC_USB0_SLEEP_CLK>,
>> -                 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
>> +                 <&gcc GCC_USB0_MOCK_UTMI_CLK>,
>> +                 <&gcc GCC_USB0_AUX_CLK>,
>> +                 <&gcc GCC_USB0_LFPS_CLK>;
>
> This looks like a strange change. Usually the DTB is considered to be 
> the ABI, so older DTBs should continue to work with newer kernels. Is 
> there a reason why the AUX and LFPS clocks were not a part of the 
> original submission?
This AUX and LFPS clocks are required only when USB controller uses the 
UNIPHY and works in 3.0. Original change added 2.0 support and used m31-phy.
>
>> +
>>               clock-names = "core",
>>                         "iface",
>>                         "sleep",
>> -                      "mock_utmi";
>> +                      "mock_utmi",
>> +                      "aux",
>> +                      "lfps";
>>                 resets = <&gcc GCC_USB_BCR>;
>
--
Thanks,
Praveenkumar
Praveenkumar I Oct. 3, 2023, 2:45 p.m. UTC | #3
On 9/30/2023 10:55 PM, Dmitry Baryshkov wrote:
> On 29/09/2023 11:42, Praveenkumar I wrote:
>> Add aux and lfps clocks in USB node for Super-Speed support.
>>
>> Signed-off-by: Praveenkumar I <quic_ipkumar@quicinc.com>
>> ---
>>   arch/arm64/boot/dts/qcom/ipq5332.dtsi | 9 +++++++--
>>   1 file changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi 
>> b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
>> index b08ffd8c094e..1813b9fa4bb5 100644
>> --- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
>> @@ -336,11 +336,16 @@ usb: usb@8af8800 {
>>               clocks = <&gcc GCC_USB0_MASTER_CLK>,
>>                    <&gcc GCC_SNOC_USB_CLK>,
>>                    <&gcc GCC_USB0_SLEEP_CLK>,
>> -                 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
>> +                 <&gcc GCC_USB0_MOCK_UTMI_CLK>,
>> +                 <&gcc GCC_USB0_AUX_CLK>,
>> +                 <&gcc GCC_USB0_LFPS_CLK>;
>
> This looks like a strange change. Usually the DTB is considered to be 
> the ABI, so older DTBs should continue to work with newer kernels. Is 
> there a reason why the AUX and LFPS clocks were not a part of the 
> original submission?
This AUX and LFPS clocks are required only when USB controller uses the 
UNIPHY and works in 3.0. Original change added 2.0 support and used m31-phy.
>
>> +
>>               clock-names = "core",
>>                         "iface",
>>                         "sleep",
>> -                      "mock_utmi";
>> +                      "mock_utmi",
>> +                      "aux",
>> +                      "lfps";
>>                 resets = <&gcc GCC_USB_BCR>;
>
--
Thanks,
Praveenkumar
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
index b08ffd8c094e..1813b9fa4bb5 100644
--- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
@@ -336,11 +336,16 @@  usb: usb@8af8800 {
 			clocks = <&gcc GCC_USB0_MASTER_CLK>,
 				 <&gcc GCC_SNOC_USB_CLK>,
 				 <&gcc GCC_USB0_SLEEP_CLK>,
-				 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
+				 <&gcc GCC_USB0_MOCK_UTMI_CLK>,
+				 <&gcc GCC_USB0_AUX_CLK>,
+				 <&gcc GCC_USB0_LFPS_CLK>;
+
 			clock-names = "core",
 				      "iface",
 				      "sleep",
-				      "mock_utmi";
+				      "mock_utmi",
+				      "aux",
+				      "lfps";
 
 			resets = <&gcc GCC_USB_BCR>;