Hello. Thank you very much for your comment. > Since USB OTG FSM has not been accepted by industry during last ten years, we decide > to give up maintaining OTG FSM at Linux kernel. For role switch use case, please use > /sys/../role instead, see below commit for detail: > > https://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git/commit/drivers/usb/chipidea/core.c?h=ci-for-usb- next&id=a932a8041ff9941a244619555f1c75ecf299f662 I am still learning so just point me to existing memo / notes which I should look into, before go furher. 1) HNP aware devices That means it does not work (or will not work) with HNP-aware device anymore, or I can expect that it still works when I enable CONFIG_USB_OTG and CONFIG_USB_OTG_FSM? 2) role I/F. As for the role I/F. I tried like below and confirmed that the role value changes gadget <-> host. And new bus is added can see on lsusb output, when I change the role from gadget to host. echo host > /sys/bus/platform/devices/ci_hdrc.0/role However, I am still confused since it does not more. Say, I have two boards A and B connected with C-C cable. And by command like above, I set A host role and B gadget role, and also load mass storage driver on B. I expect to see on B is enumerated as mass storage device attached to the newly added bus on A, but I cannot see it on lsusb output. Not sure I am missing / skipping steps. 3) USB-C lines As for USB-C receptacle on my board, I can see the following. In my case I am just trying to use it in place of old one (micro-A/B receptacle), but I wonder if I further need kernel configuration specific to TYPEC. board cable ---- ---- USB_OTG_DP - Dp1/Dp2 USB_OTG_DN - Dn1/Dn2 USB_OTG_ID - CC1/CC2 Peter -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html