[PATCH v7 8/9] arm64: dts: qcom: sa8295p: Enable tertiary controller and its 4 USB ports

Krishna Kurapati posted 9 patches 2 years, 7 months ago
There is a newer version of this series
[PATCH v7 8/9] arm64: dts: qcom: sa8295p: Enable tertiary controller and its 4 USB ports
Posted by Krishna Kurapati 2 years, 7 months ago
Enable tertiary controller for SA8295P (based on SC8280XP).
Add pinctrl support for usb ports to provide VBUS to connected peripherals.

Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
---
 arch/arm64/boot/dts/qcom/sa8295p-adp.dts | 47 ++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
index fd253942e5e5..7e6061c43835 100644
--- a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
+++ b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
@@ -584,6 +584,19 @@ &usb_1_qmpphy {
 	status = "okay";
 };
 
+&usb_2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&usb2_en_state>,
+			<&usb3_en_state>,
+			<&usb4_en_state>,
+			<&usb5_en_state>;
+	status = "okay";
+};
+
+&usb_2_dwc3 {
+	dr_mode = "host";
+};
+
 &usb_2_hsphy0 {
 	vdda-pll-supply = <&vreg_l5a>;
 	vdda18-supply = <&vreg_l7g>;
@@ -729,3 +742,37 @@ wake-n-pins {
 		};
 	};
 };
+
+&pmm8540c_gpios {
+	usb2_en_state: usb2-en-state {
+		pins = "gpio9";
+		function = "normal";
+		output-high;
+		power-source = <0>;
+	};
+};
+
+&pmm8540e_gpios {
+	usb3_en_state: usb3-en-state {
+		pins = "gpio5";
+		function = "normal";
+		output-high;
+		power-source = <0>;
+	};
+};
+
+&pmm8540g_gpios {
+	usb4_en_state: usb4-en-state {
+		pins = "gpio5";
+		function = "normal";
+		output-high;
+		power-source = <0>;
+	};
+
+	usb5_en_state: usb5-en-state {
+		pins = "gpio9";
+		function = "normal";
+		output-high;
+		power-source = <0>;
+	};
+};
-- 
2.40.0
Re: [PATCH v7 8/9] arm64: dts: qcom: sa8295p: Enable tertiary controller and its 4 USB ports
Posted by Konrad Dybcio 2 years, 7 months ago

On 1.05.2023 16:34, Krishna Kurapati wrote:
> Enable tertiary controller for SA8295P (based on SC8280XP).
> Add pinctrl support for usb ports to provide VBUS to connected peripherals.
> 
> Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/sa8295p-adp.dts | 47 ++++++++++++++++++++++++
>  1 file changed, 47 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
> index fd253942e5e5..7e6061c43835 100644
> --- a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
> +++ b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
> @@ -584,6 +584,19 @@ &usb_1_qmpphy {
>  	status = "okay";
>  };
>  
> +&usb_2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&usb2_en_state>,
> +			<&usb3_en_state>,
> +			<&usb4_en_state>,
> +			<&usb5_en_state>;
This is misaligned. Also, please do property-n before property-names.

> +	status = "okay";
> +};
> +
> +&usb_2_dwc3 {
> +	dr_mode = "host";
> +};
> +
>  &usb_2_hsphy0 {
>  	vdda-pll-supply = <&vreg_l5a>;
>  	vdda18-supply = <&vreg_l7g>;
> @@ -729,3 +742,37 @@ wake-n-pins {
>  		};
>  	};
>  };
> +
> +&pmm8540c_gpios {
> +	usb2_en_state: usb2-en-state {
> +		pins = "gpio9";
> +		function = "normal";
> +		output-high;
> +		power-source = <0>;
No drive-strength values?

Konrad
> +	};
> +};
> +
> +&pmm8540e_gpios {
> +	usb3_en_state: usb3-en-state {
> +		pins = "gpio5";
> +		function = "normal";
> +		output-high;
> +		power-source = <0>;
> +	};
> +};
> +
> +&pmm8540g_gpios {
> +	usb4_en_state: usb4-en-state {
> +		pins = "gpio5";
> +		function = "normal";
> +		output-high;
> +		power-source = <0>;
> +	};
> +
> +	usb5_en_state: usb5-en-state {
> +		pins = "gpio9";
> +		function = "normal";
> +		output-high;
> +		power-source = <0>;
> +	};
> +};
Re: [PATCH v7 8/9] arm64: dts: qcom: sa8295p: Enable tertiary controller and its 4 USB ports
Posted by Krishna Kurapati PSSNV 2 years, 7 months ago

On 5/2/2023 4:36 PM, Konrad Dybcio wrote:
> 
> 
> On 1.05.2023 16:34, Krishna Kurapati wrote:
>> Enable tertiary controller for SA8295P (based on SC8280XP).
>> Add pinctrl support for usb ports to provide VBUS to connected peripherals.
>>
>> Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
>> ---
>>   arch/arm64/boot/dts/qcom/sa8295p-adp.dts | 47 ++++++++++++++++++++++++
>>   1 file changed, 47 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
>> index fd253942e5e5..7e6061c43835 100644
>> --- a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
>> +++ b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
>> @@ -584,6 +584,19 @@ &usb_1_qmpphy {
>>   	status = "okay";
>>   };
>>   
>> +&usb_2 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&usb2_en_state>,
>> +			<&usb3_en_state>,
>> +			<&usb4_en_state>,
>> +			<&usb5_en_state>;
> This is misaligned. Also, please do property-n before property-names.
> 
>> +	status = "okay";
>> +};
>> +
>> +&usb_2_dwc3 {
>> +	dr_mode = "host";
>> +};
>> +
>>   &usb_2_hsphy0 {
>>   	vdda-pll-supply = <&vreg_l5a>;
>>   	vdda18-supply = <&vreg_l7g>;
>> @@ -729,3 +742,37 @@ wake-n-pins {
>>   		};
>>   	};
>>   };
>> +
>> +&pmm8540c_gpios {
>> +	usb2_en_state: usb2-en-state {
>> +		pins = "gpio9";
>> +		function = "normal";
>> +		output-high;
>> +		power-source = <0>;
> No drive-strength values?
> 
> Konrad

Hi Konrad,

  TBH, I didn't add the drive strength values as things worked out of 
the box with the current changes (may be the default value of drive 
strength is sufficient for us).

Let me know if it is mandatory, I will add it up in the next version.

Regards,
Krishna,

>> +	};
>> +};
>> +
>> +&pmm8540e_gpios {
>> +	usb3_en_state: usb3-en-state {
>> +		pins = "gpio5";
>> +		function = "normal";
>> +		output-high;
>> +		power-source = <0>;
>> +	};
>> +};
>> +
>> +&pmm8540g_gpios {
>> +	usb4_en_state: usb4-en-state {
>> +		pins = "gpio5";
>> +		function = "normal";
>> +		output-high;
>> +		power-source = <0>;
>> +	};
>> +
>> +	usb5_en_state: usb5-en-state {
>> +		pins = "gpio9";
>> +		function = "normal";
>> +		output-high;
>> +		power-source = <0>;
>> +	};
>> +};
Re: [PATCH v7 8/9] arm64: dts: qcom: sa8295p: Enable tertiary controller and its 4 USB ports
Posted by Konrad Dybcio 2 years, 7 months ago

On 3.05.2023 05:55, Krishna Kurapati PSSNV wrote:
> 
> 
> On 5/2/2023 4:36 PM, Konrad Dybcio wrote:
>>
>>
>> On 1.05.2023 16:34, Krishna Kurapati wrote:
>>> Enable tertiary controller for SA8295P (based on SC8280XP).
>>> Add pinctrl support for usb ports to provide VBUS to connected peripherals.
>>>
>>> Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
>>> ---
>>>   arch/arm64/boot/dts/qcom/sa8295p-adp.dts | 47 ++++++++++++++++++++++++
>>>   1 file changed, 47 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
>>> index fd253942e5e5..7e6061c43835 100644
>>> --- a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts
>>> @@ -584,6 +584,19 @@ &usb_1_qmpphy {
>>>       status = "okay";
>>>   };
>>>   +&usb_2 {
>>> +    pinctrl-names = "default";
>>> +    pinctrl-0 = <&usb2_en_state>,
>>> +            <&usb3_en_state>,
>>> +            <&usb4_en_state>,
>>> +            <&usb5_en_state>;
>> This is misaligned. Also, please do property-n before property-names.
>>
>>> +    status = "okay";
>>> +};
>>> +
>>> +&usb_2_dwc3 {
>>> +    dr_mode = "host";
>>> +};
>>> +
>>>   &usb_2_hsphy0 {
>>>       vdda-pll-supply = <&vreg_l5a>;
>>>       vdda18-supply = <&vreg_l7g>;
>>> @@ -729,3 +742,37 @@ wake-n-pins {
>>>           };
>>>       };
>>>   };
>>> +
>>> +&pmm8540c_gpios {
>>> +    usb2_en_state: usb2-en-state {
>>> +        pins = "gpio9";
>>> +        function = "normal";
>>> +        output-high;
>>> +        power-source = <0>;
>> No drive-strength values?
>>
>> Konrad
> 
> Hi Konrad,
> 
>  TBH, I didn't add the drive strength values as things worked out of the box with the current changes (may be the default value of drive strength is sufficient for us).
> 
> Let me know if it is mandatory, I will add it up in the next version.
It's not, but it helps eliminate one more potential inconsistency

Konrad
> 
> Regards,
> Krishna,
> 
>>> +    };
>>> +};
>>> +
>>> +&pmm8540e_gpios {
>>> +    usb3_en_state: usb3-en-state {
>>> +        pins = "gpio5";
>>> +        function = "normal";
>>> +        output-high;
>>> +        power-source = <0>;
>>> +    };
>>> +};
>>> +
>>> +&pmm8540g_gpios {
>>> +    usb4_en_state: usb4-en-state {
>>> +        pins = "gpio5";
>>> +        function = "normal";
>>> +        output-high;
>>> +        power-source = <0>;
>>> +    };
>>> +
>>> +    usb5_en_state: usb5-en-state {
>>> +        pins = "gpio9";
>>> +        function = "normal";
>>> +        output-high;
>>> +        power-source = <0>;
>>> +    };
>>> +};