2010-08-27 20 views
1

Je dois configurer USB OTG sur iMX31 pour le mode périphérique. Nous avons besoin d'un canal brut entre l'hôte et la cible et l'usb semble être le mieux adapté. Cependant, je n'ai pas été en mesure de configurer correctement le contrôleur OTG. Je ne sais pas ce que je manque. J'ai effectué les étapes mentionnées à la section 32.14.1 du Manuel de référence de l'iMX31. J'ai également configuré le registre PORTSC1 pour ULPI.comment activer et configurer USB OTG pour le mode périphérique sur iMX31 Litekit?

Quelqu'un peut-il m'aider ici? n'importe quel pointeur/code/n'importe quelle chose qui peut m'aider est le bienvenu.

Merci

+0

Le kit ne contenait-il pas de code d'échantillon pour cela? –

+0

Non. Pas de code source et il y a 3000 pages de documentation :( – binW

+0

Appartient à chiphacker. – leppie

Répondre

2

Le litekit est pris en charge par le vanilla Linux kernel.

Il est assez facile de déclarer OTG pour le mode périphérique. Vous avez juste besoin de le déclarer en tant que périphérique lorsque vous enregistrez votre appareil:

static struct fsl_usb2_platform_data usb_pdata = { 
    .operating_mode = FSL_USB2_DR_DEVICE, 
    .phy_mode  = FSL_USB2_PHY_ULPI, 
}; 

Code Registre:

mxc_register_device(&mxc_otg_udc_device, &usb_pdata); 

Ne pas oublier de configurer les pads pour les lignes de ULPI physiques, et éventuellement faire la première transactions pour votre émetteur-récepteur.

Vous pouvez trouver tout le code nécessaire comme je l'ai fait pour le moboard platform et le fichier marxbot board.