![]() |
RT-Thread RTOS
An open source embedded real-time operating system
|
Minimal PHY provider for **usb-nop-xceiv** — reset, clock, and regulators without complex **set_mode**.
Kconfig: **RT_PHYE_GENERIC_USB** (requires **RT_USING_PHYE**).
Consumer (e.g. DWC3):
rt_phye_ops | Behavior |
|---|---|
**power_on** | **vcc** enable → **clk_prepare_enable** → **reset** pulse (15 ms assert, 20 ms deassert) |
**power_off** | **vcc** disable, clock off |
**reset** | GPIO reset only |
No **init**, **exit**, or **set_mode** — USB mode assumed fixed after power-on.
reset** GPIO from **reset-gpios** main_clk** via **rt_clk_get_by_name**; optional **clock-frequency** vcc**, **vbus** regulators — **vbus** enabled at probe if present rt_phye_register****INIT_PLATFORM_EXPORT(generic_usb_phy_drv_register)** — registers platform driver at init.
Use **rt_phye_init** only if provider adds **init** later.
| Issue | Mitigation |
|---|---|
| Wrong clock rate | Set **clock-frequency** in DTS |
**vbus always on** | Probe enables **vbus** — OK for host; device role may differ |
Expect **set_mode for SS** | Add SoC PHY driver or extend ops |