On 16/07/2025 06:57, Varadarajan Narayanan wrote:
> On Tue, Jul 15, 2025 at 02:30:09PM +0200, Casey Connolly wrote:
>> Hi Varadarajan,
>>
>> On 7/15/25 12:15, Varadarajan Narayanan wrote:
>>> This series enables MMC based fastboot flashing for IPQ9574 boards.
>>> For this the following are added/enabled
>>>     * USB2 & USB3 phys support
>>>     * USB Gadget support, Fastboot-MMC related configs
>>>     * Flashing related documentation
>>
>> This is awesome! Glad to see you have the superspeed phy working. I'm a bit
>> confused though since the of_fixup code in mach-snapdragon configures all
>> the usb controllers for high speed only and removes the reference to the
>> superspeed phy, is there some missing commit to adjust this?
> 
> CONFIG_EVENT is not defined in ipq defconfig. Hence of_live_build() doesn't
> notify the EVT_OF_LIVE_BUILT event and qcom_of_fixup_nodes -> fixup_usb_nodes
> is not called.

ohh I see, hmm

> 
>       => bdinfo
>       . . .
>       fdt_blob    = 0x000000006fe3b5e0
>       . . .
> 
>       => fdt addr 0x6fe3b5e0
>       Working FDT set to 6fe3b5e0
> 
>       => fdt print /soc@0/usb@8af8800

Just fyi, the fdt command won't show changes to the live tree, it does
direct FDT parsing whereas the live-tree is an internal representation
in U-Boot (which is what makes it faster to access and modify).

>       usb@8af8800 {
>               compatible = "qcom,ipq9574-dwc3", "qcom,dwc3";
>               reg = <0x08af8800 0x00000400>;
>               #address-cells = <0x00000001>;
>               #size-cells = <0x00000001>;
>               ranges;
>               clocks = <0x0000000c 0x0000005c 0x0000000c 0x0000005b 
> 0x0000000c 0x0000005d 0x0000000c 0x000000d1 0x0000000c 0x00000060>;
>               clock-names = "cfg_noc", "core", "iface", "sleep", "mock_utmi";
>               assigned-clocks = <0x0000000c 0x0000005b 0x0000000c 0x00000060>;
>               assigned-clock-rates = <0x0bebc200 0x016e3600>;
>               interrupts-extended = <0x00000001 0x00000000 0x00000086 
> 0x00000004>;
>               interrupt-names = "pwr_event";
>               resets = <0x0000000c 0x0000002c>;
>               status = "okay";
>               usb@8a00000 {
>                       compatible = "snps,dwc3";
>                       reg = <0x08a00000 0x0000cd00>;
>                       clocks = <0x0000000c 0x00000060>;
>                       clock-names = "ref";
>                       interrupts = <0x00000000 0x0000008c 0x00000004>;
>                       phys = <0x0000001d 0x0000001e>;
>                       phy-names = "usb2-phy", "usb3-phy";
>                       tx-fifo-resize;
>                       snps,is-utmi-l1-suspend;
>                       snps,hird-threshold = [00];
>                       snps,dis_u2_susphy_quirk;
>                       snps,dis_u3_susphy_quirk;
>                       dr_mode = "peripheral";
>               };
>       };
> 
> Initially, I manually overrode the 'phys' and 'phy-names' to just have the 
> usb2
> phy and it didn't seem to work. Only after bringing up the USB3 phy did it 
> work.
> Not sure what the relation is between the two.

Hmm, you don't even get high speed USB? probably an issue with clocks then.

> 
> Thanks
> Varada

-- 
// Casey (she/her)

Reply via email to