2021-12-02 12:28 AM
Hi, I am using my custom SOM board based on STM32MP157CAC3 chip. The DDR, SDMMC1, UART4, I2C4 & PMIC configuration is same as of stm32mp157c-DK2 board. even I have used the same pin configuration in my hardware.
For USB OTG, I have left USB ID and USB VBUS pin unconnected.
I am using USB B Type Micro Connector to use the board as device only.
My <board>-u-boot.dtsi file is as below,
&usbotg_hs{
u-boot,dm-pre-reloc;
u-boot,force-b-session-valid;
hnp-srp-disable;
dr_mode = "peripheral";
};
&usbh_ehci {
u-boot,dm-pre-reloc;
};
&usbh_ohci{
u-boot,dm-pre-reloc;
};
&usbphyc {
u-boot,dm-pre-reloc;
};
&usbphyc_port0 {
u-boot,dm-pre-reloc;
};
&usbphyc_port1 {
u-boot,dm-pre-reloc;
};
/* USER CODE BEGIN addons */
&pmic {
u-boot,dm-pre-reloc;
};
/* USER CODE END addons */
my <baord>.dts file is as below,
&usbh_ehci {
phys = <&usbphyc_port0>;
phy-names = "usb";
status = "okay";
};
&usbh_ohci{
status = "okay";
/* USER CODE BEGIN usbh_ohci */
phys = <&usbphyc_port0>;
phy-names = "usb";
/* USER CODE END usbh_ohci */
};
&usbotg_hs {
compatible = "st,stm32mp15-hsotg", "snps,dwc2";
phys = <&usbphyc_port1 0>; /* 0: UTMI switch selects the OTG controller */
phy-names = "usb2-phy" /* could be "host", see USB generic bindings [5] */
status = "okay";
};
&usbphyc {
status = "okay";
};
&usbphyc_port0 {
phy-supply = <&vdd>;
st,phy-tuning = <&usb_phy_tuning>;
status = "okay";
};
&usbphyc_port1 {
phy-supply = <&vin>;
st,phy-tuning = <&usb_phy_tuning>;
status = "okay";
};
&vrefbuf {
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
vdda-supply = <&vdd>;
status = "okay";
};
/* USER CODE BEGIN addons */
/* USER CODE END addons */
I have disabled the VBUS and USB_ID sensing but U-boot hangs after printing log
"DFU alt info setting: done"
when I stops u-boot and give command "usb start"
only USB EHSI Controller is present , no usb otg controller is present.
Please solve the issue what is wrong I am doing.