I am using linux 3.8.13+
Board Beaglebone Black
writing Musb device drive (type B)
>>>I am compiling my driver Separately, For that in Linux Kernel
>>i commented driver/usb/Kconfig file #source "drivers/usb/musb/Kconfig"
>> and in driver/usb/Makefile #obj-$(CONFIG_USB_MUSB_HDRC) += musb/
#clock configuratiion/enabling the clock in the smart mode
INITIALIZATION of Registers is as follows
#Control Module Register
CM_PER_USB0_CLKCTRL.MODULEMODE = 0x1;
poll until(CM_PER_USB0_CLKCTRL.IDLEST == 0);
CM_CLKDCOLDO_DPLL_PER.DPLL_CLKDCOLDO_GATE_CTRL = 1;
CTRLR.RST = 1; //this is Mentor core register bit
#Software reset of USBSS,modules.
#Write 1 = Initiate software reset.
SYSCONFIG.SOFT_RESET= 1;
poll until(SYSCONFIG.SOFT_RESET == 0);
##Software reset of USB0, modules.
USB0CTRLR.SOFT_RESET = 1;
poll until(USB0CTRLR.SOFT_RESET == 0);
#USB interrupt enable
USB0CTRLR.UINT = 0;
USBMODE0.IDDIG_MUX = 1;
USBMODE0.IDDIG = 1;
DEVCTL.SESSION = 1;
#PHY MODULE
USB_CTRL0.cm_pwrdn = 0; //normal mode
USB_CTRL0.otg_pwrdn = 0;
USB_CTRL0.otgvdet_en = 1;
USB_CTRL0.otgsessenden = 1;
#USB0UTMI
USB0UTMI.FSSE0EXT = 1;
USB0UTMI.VBUSVLDEXTSEL = 1;
USB0UTMI.VBUSVLDEXT = 1;
#mentor core initilization
INTRUSBE=0XF7;
INTRTXE = 0xFFFF;
INTRRXE = 0xFFFF;
RXMAP = 64;
TXMAP = 64;
INDEXD.EPSEL = 0;
INTCLRR,TX,=1;
INTCLRR,RX=1;
INTCLRR.USB =1;
#Transparent DMA Transfer Setup
USB0CTRLR.RNDIS = 0;
USB0TXMODE = 0;
USB0RXMODE = 0;
#CPPI DMA Scheduler Initialization
DMA_SCHED_CTRL.ENABLE_FLD = 1;
unable to write in control module register and interrupt is not getting generate.
please any one can help me to resolve this problem,