imx6 udc gadget not file found with new kernel

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6 udc gadget not file found with new kernel

Jump to solution
836 Views
tgl
Contributor III

I am trying to migrate from 3.0.35 to 4.14.98 and I am having issues with flashing the board, practically the kernel boots but no file is mounted, this works fine with 3.0.35 

in the device tree I have:

&usbotg {
pinctrl-names = "default";
pinctrl-0 = <>;
status = "okay";
}; 

 

this works:

reg_usb_otg_vbus: usb_otg_vbus {
compatible = "regulator-fixed";
regulator-name = "usb_otg_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
 
 
In dmesg I get:

I did some debugging myself trying to trace the code:

[ 2.467061] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.473662] ehci-mxc: Freescale On-Chip EHCI Host driver
[ 2.479372] CHIPIDEA MODULE LOADED
[ 2.489840] ci_hdrc ci_hdrc.0: doesn't support host
[ 2.494857] We are in chipidea/udc.c udc_start
[ 2.499530] Entering usb_add_gadget_udc_release()
[ 2.505796] Calling usb_composite_probe from mass_storage.c
[ 2.511409] Calling usb_gadget_probe_driver() from composite.c
[ 2.517357] Driver name: g_mass_storage
[ 2.521215] Entering usb_gadget_probe_driver()
[ 2.525693] Driver name: g_mass_storage
[ 2.529537] udc-dev name: 2184000.usb
[ 2.533223] We are at found()
[ 2.536247] Mass Storage Function, version: 2009/09/11
[ 2.541396] LUN: removable file: (no medium)
[ 2.545707] no file given for LUN0
[ 2.549139] g_mass_storage ci_hdrc.0: failed to start g_mass_storage: -22
[ 2.556666] snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
[ 2.565561] i2c /dev entries driver

I enabled the possible kernel config options that I found to be suitable:

CONFIG_USB_OTG=y

CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_MXC=y

CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG=y
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2

CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_OF=y
CONFIG_USB_CHIPIDEA_UDC=y

CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_CONFIGFS=y

CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_MASS_STORAGE=y

CONFIG_USB_PHY=y
CONFIG_USB_MXS_PHY=y

CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_FSL_USB2=y (dual role)

Could you confirm the kernel configs I should have for imx6 in order do detect this device?

In the manual it seems to be CHIPIDEA, is this so?

 

serial works fine:

 

linuxrc: line 13: can't create /dev/tty0: No such device or address
Starting the hotplug events dispatcher udevd
[ 2.976097] udevd (878): /proc/878/oom_adj is deprecated, please use /proc/878/oom_score_adj instead.
Synthesizing initial hotplug events
[ 3.027411] g_serial gadget: high-speed config #2: CDC ACM config
uuc 0.4 [built Aug 16 2013 01:24:08]
UTP: Waiting for device to appear

 

0 Kudos
1 Solution
794 Views
tgl
Contributor III

nevermind, i forgot to to configure g_mass_storage u-boot args, e.g.:

 

g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),-(rootfs)

 

i'll see if i encounter any issues after that

View solution in original post

0 Kudos
2 Replies
815 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

I think you may be missing the following one:

CONFIG_USB_FUNCTIONFS=y

Best regards,
Aldo.

0 Kudos
795 Views
tgl
Contributor III

nevermind, i forgot to to configure g_mass_storage u-boot args, e.g.:

 

g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),-(rootfs)

 

i'll see if i encounter any issues after that

0 Kudos