zoukankan      html  css  js  c++  java
  • am335x usb host patch设计

    USB直接作为host时省掉一个5V的DCDC,直接连接到5V的输入上面。对于Linux SDK,需要一个patch去确保这个设计能够正常工作,patch内容请参考:

    static struct omap_musb_board_data musb_board_data = {
        .interface_type = MUSB_INTERFACE_UTMI, /* EVM: MUSB_INTERFACE_ULPI */
        /*
         * mode[0:3] = USB0PORT's mode
         * mode[4:7] = USB1PORT's mode
         * AM335X beta EVM has USB0 in OTG mode and USB1 in host mode.
         */
    /* Note: USB0 is for hub host, and USB1 should be connected with B or mini-B connector */
        .mode           = (MUSB_PERIPHERAL << 4) | MUSB_HOST,  /* EVM: (MUSB_HOST << 4) | MUSB_OTG */
        .power      = 100, /* EVM: 500 */
    #endif
        .instances  = 1,
    };

    diff --git a/arch/arm/mach-omap2/omap_phy_internal.c b/arch/arm/mach-omap2/omap_phy_internal.c
    index 13bfef3..e41b224 100644
    --- a/arch/arm/mach-omap2/omap_phy_internal.c
    +++ b/arch/arm/mach-omap2/omap_phy_internal.c
    @@ -288,8 +288,17 @@ void ti81xx_musb_phy_power(u8 id, u8 on , bool wkup)
                                                    TI816X_USBPHY0_NORMAL_MODE;
                            usbphycfg &= ~TI816X_USBPHY_REFCLK_OSC;
                    } else if (cpu_is_am33xx()) {
    -                       usbphycfg &= ~(USBPHY_CM_PWRDN | USBPHY_OTG_PWRDN);
    -                       usbphycfg |= (USBPHY_OTGVDET_EN | USBPHY_OTGSESSEND_EN);
    +                       usbphycfg &= ~(USBPHY_CM_PWRDN | USBPHY_OTG_PWRDN | USBPHY_OTGVDET_EN);
    +
    +                       /* HACK: If USB0 port is in host-only mode, clear its
    +                        * USBPHY_OTGVDET_EN bit to ignore first VBUS sensing.
    +                        * Change 0 to 1 if USB1 port is in host-only mode.
    +                        */
    +                       if (id == 0)
    +                               usbphycfg |= USBPHY_OTGSESSEND_EN;
    +                       else
    +                               usbphycfg |= (USBPHY_OTGVDET_EN | USBPHY_OTGSESSEND_EN);
    +
                            usbwkupctrl = AM33XX_USB_WKUP_CTRL_DISABLE;
                    }
            } else {
  • 相关阅读:
    SpringBoot页面访问处理
    体验SpringBoot
    体验SpringBoot
    Scala基础
    修改容器配置使其永久生效
    [徐培成系列实战课程]docker篇
    v1.0.2-2017.04.26
    修改容器的hosts文件
    配置spark集群
    配置docker容器上ssh无密登录
  • 原文地址:https://www.cnblogs.com/zym0805/p/4349132.html
Copyright © 2011-2022 走看看