[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <391b8214-37f2-460d-94d0-3bd0daa00066@oss.qualcomm.com>
Date: Thu, 31 Jul 2025 16:45:33 +0800
From: Yijie Yang <yijie.yang@....qualcomm.com>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Cc: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley
<conor+dt@...nel.org>, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 4/4] arm64: dts: qcom: Add base HAMOA-IOT-EVK board
On 2025-07-31 02:42, Dmitry Baryshkov wrote:
> On Wed, Jul 30, 2025 at 02:28:25PM +0800, Yijie Yang wrote:
>>
>>
>> On 2025-07-29 18:37, Dmitry Baryshkov wrote:
>>> On Tue, Jul 29, 2025 at 09:32:00AM +0800, Yijie Yang wrote:
>>>> The HAMOA-IOT-EVK is an evaluation platform for IoT products, composed of
>>>> the Hamoa IoT SoM and a carrier board. Together, they form a complete
>>>> embedded system capable of booting to UART.
>>>>
>>>> This change enables and overlays the following peripherals on the carrier
>>>> board:
>>>> - UART
>>>> - On-board regulators
>>>> - USB Type-C mux
>>>> - Pinctrl
>>>> - Embedded USB (EUSB) repeaters
>>>> - NVMe
>>>> - pmic-glink
>>>> - USB DisplayPorts
>>>>
>
>
>>>> + vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
>>>
>>> Hmm, so there are regulators for the retimer, but they are not used.
>>> Could you please point out, why?
>>
>> According to the schematic, there is a regulator and a retimer (PS8830).
>> However, as mentioned above, the retimer is not connected to USB 0 and is
>> therefore not used in the EVK. As a result, the regulator is left unused in
>> this context.
>
> What is connected to the retimer then?
All data lines are broken, except for some power lines.
>
>>
>>>
>>>> + compatible = "regulator-fixed";
>>>> +
>
> [...]
>
>>>> +
>>>> + usb_1_ss0_sbu_default: usb-1-ss0-sbu-state {
>>>> + mode-pins {
>>>> + pins = "gpio166";
>>>> + function = "gpio";
>>>> + bias-disable;
>>>> + drive-strength = <2>;
>>>> + output-high;
>>>
>>> What does this pin do? It's not recommended to set GPIO values through
>>> pinctrl.
>>
>> It is used to switch data lines between USB Type-C orientation detection and
>> DisplayPort AUX channels.
>
> I don't think I follow it here. Which data lines? Type-C orientation
> detection uses CC1 / CC2, DP AUX use SBU lines.
I made a mistake here — this pin switches between two data sources: one
is DP AUX, and the other is a GPIO pair configured with the function
usb0_sbrx/usb0_sbtx. Both data sources originate from the SoC and are
routed to the USB0_SBU1 and USB0_SBU2 lines of the USB Type-C connector.
>
>> When this GPIO is high, USB0 operates in
>> orientation detection mode.
>
> What does this mean?
This means the switch will select the GPIO pair configured as
usb0_sbrx/usb0_sbtx.
>
>>
>>>
>>>> + };
>>>> +
>>>> + oe-n-pins {
>>>> + pins = "gpio168";
>>>> + function = "gpio";
>>>> + bias-disable;
>>>> + drive-strength = <2>;
>>>> + };
>>>> +
>>>> + sel-pins {
>>>> + pins = "gpio167";
>>>> + function = "gpio";
>>>> + bias-disable;
>>>> + drive-strength = <2>;
>>>> + };
>>>> + };
>>>> +
>>>> + wcn_bt_en: wcn-bt-en-state {
>>>> + pins = "gpio116";
>>>> + function = "gpio";
>>>> + drive-strength = <2>;
>>>> + bias-disable;
>>>> + };
>>>> +
>>>> + wwan_sw_en: wwan-sw-en-state {
>>>> + pins = "gpio221";
>>>> + function = "gpio";
>>>> + drive-strength = <4>;
>>>> + bias-disable;
>>>> + };
>>>> +
>>>> + wcn_sw_en: wcn-sw-en-state {
>>>> + pins = "gpio214";
>>>> + function = "gpio";
>>>> + drive-strength = <2>;
>>>> + bias-disable;
>>>> + };
>>>> +
>>>> + wcn_usb_sw_n: wcn-usb-sw-n-state {
>>>
>>> What does this pin do? Using pinctrl to set GPIO values is not
>>> recommended AFAIR.
>>
>> This pin functions similarly to usb-1-ss0-sbu-state; it controls the data
>> switch between signals from the USB connector and WLAN data.
>
> Could you please explain it? Does it toggle USB2 signals(you've added it
> to the USB2 PHY) being routed either to the USB connector or to the WiFi
> card? Or do you mean something else?
Yes, that's right. It routes signals between the USB connector and the
M.2 Wi-Fi card.
>
>>>> +&usb_2_hsphy {
>>>> + phys = <&eusb5_repeater>;
>>>> +
>>>> + pinctrl-0 = <&wcn_usb_sw_n>;
>>>> + pinctrl-names = "default";
>>>> +};
>>>> +
>>>> +&usb_mp_hsphy0 {
>>>> + phys = <&eusb6_repeater>;
>>>> +};
>>>> +
>>>> +&usb_mp_hsphy1 {
>>>> + phys = <&eusb3_repeater>;
>>>> +};
>>>>
>>>> --
>>>> 2.34.1
>>>>
>>>
>>
>> --
>> Best Regards,
>> Yijie
>>
>
--
Best Regards,
Yijie
Powered by blists - more mailing lists