kqqnhzl 发表于 2017-6-28 18:24:41

rk3288 reload usb host1 识别问题

经过修改 host1   为 usb接口 ,原装的usb host 1 是接了硬盘接口 JM20329    经过测试时是可以识别移动硬盘,
后来修改了 usb host 1   电路做 普通的 usb 接口 来使用发现 usb 识别不了U盘和其他普通的usb设备 ,   请问 是不是要修改 usb host1 的驱动 吗?
而我另外的一个 usb host2以前原装的板子是接 hub 的现在 我们修改电路去掉了 hub直接接出来 做usb 口 是可以识别设备 。
现在是问题是usb host1 直接接出来是没有用的。

以图片是我的电路图 是usb host1的电路图   (应该是没有问题),大家看看是我驱动要修改 还是电路图有问题,怎么解决这个问题

















dts 我也是没有修改过的和原本sdk 的dts 一致,以下是我的dts相关usb    是否要修改 dst 请 帮忙指导一下。谢谢。




firefly-rk3288-reload.dts dts中   和 usb 相关中


   7 / {
   8         fiq-debugger {
   9               status = "disabled";
10         };
11
12         hsic-usb-hub{
13               compatible = "hub_reset";
14               reset,pin =<&gpio7 GPIO_A6 GPIO_ACTIVE_HIGH>;   // hub reset pin
15               status = "disabled";
16         };
17

....................

169         usb_control {
170               compatible = "rockchip,rk3288-usb-control";
171
172               host_drv_gpio = <&gpio0 GPIO_B6 GPIO_ACTIVE_LOW>;
173               otg_drv_gpio = <&gpio0 GPIO_B4 GPIO_ACTIVE_LOW>;
174
175               rockchip,remote_wakeup;
176               rockchip,usb_irq_wakeup;
177         };

............................

783 /include/ "act8846.dtsi"
784 &act8846 {
785         gpios =<&gpio7 GPIO_B6 GPIO_ACTIVE_LOW>,<&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
786         cpu_det_gpio =<&gpio7 GPIO_B2 GPIO_ACTIVE_LOW>;
787         usb_hub_reset_gpio =<&gpio8 GPIO_A3 GPIO_ACTIVE_LOW>;
788         act8846,system-power-controller;
789
790         regulators {

......................


在 rk3288.dtsi 和usb 相关


dwc_control_usb: dwc-control-usb@ff770284 {
                compatible = "rockchip,rk3288-dwc-control-usb";
                reg = <0xff770284 0x04>, <0xff770288 0x04>,
                      <0xff7702cc 0x04>, <0xff7702d4 0x04>,
                      <0xff770320 0x14>, <0xff770334 0x14>,
                      <0xff770348 0x10>, <0xff770358 0x08>,
                      <0xff770360 0x08>;
                reg-names = "GRF_SOC_STATUS1" ,"GRF_SOC_STATUS2",
                          "GRF_SOC_STATUS19", "GRF_SOC_STATUS21",
                          "GRF_UOC0_BASE", "GRF_UOC1_BASE",
                          "GRF_UOC2_BASE", "GRF_UOC3_BASE",
                          "GRF_UOC4_BASE";
                interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "otg_id", "otg_bvalid",
                                  "otg_linestate", "host0_linestate",
                                  "host1_linestate";
                clocks = <&clk_gates7 9>, <&usbphy_480m>,
                       <&otgphy1_480m>, <&otgphy2_480m>;
                clock-names = "hclk_usb_peri", "usbphy_480m",
                              "usbphy1_480m", "usbphy2_480m";

                usb_bc {
                        compatible = "synopsys,phy";
                                        /* offset bit mask */
                        rk_usb,bvalid   = <0x288 14 1>;
                        rk_usb,iddig      = <0x288 17 1>;
                        rk_usb,dcdenb   = <0x328 14 1>;
                        rk_usb,vdatsrcenb = <0x3287 1>;
                        rk_usb,vdatdetenb = <0x3286 1>;
                        rk_usb,chrgsel    = <0x3285 1>;
                        rk_usb,chgdet   = <0x2cc 23 1>;
                        rk_usb,fsvminus   = <0x2cc 25 1>;
                        rk_usb,fsvplus    = <0x2cc 24 1>;
                };
        };

        usb0: usb@ff580000 {
                compatible = "rockchip,rk3288_usb20_otg";
                reg = <0xff580000 0x40000>;
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clk_gates13 4>, <&clk_gates7 4>;
                clock-names = "clk_usbphy0", "hclk_usb0";
                resets = <&reset RK3288_SOFT_RST_USBOTG_H>, <&reset RK3288_SOFT_RST_USBOTGPHY>,
                                <&reset RK3288_SOFT_RST_USBOTGC>;
                reset-names = "otg_ahb", "otg_phy", "otg_controller";
                /*0 - Normal, 1 - Force Host, 2 - Force Device*/
                rockchip,usb-mode = <0>;
        };

        usb1: usb@ff540000 {
                compatible = "rockchip,rk3288_usb20_host";
                reg = <0xff540000 0x40000>;
                interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clk_gates13 6>, <&clk_gates7 7>,
                       <&usbphy_480m>;
                clock-names = "clk_usbphy1", "hclk_usb1",
                              "usbphy_480m";
                resets = <&reset RK3288_SOFT_RST_USBHOST1_H>, <&reset RK3288_SOFT_RST_USBHOST1PHY>,
                                <&reset RK3288_SOFT_RST_USBHOST1C>;
                reset-names = "host1_ahb", "host1_phy", "host1_controller";
        };

        usb2: usb@ff500000 {
                compatible = "rockchip,rk3288_rk_ehci_host";
                reg = <0xff500000 0x20000>;
                interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clk_gates13 5>, <&clk_gates7 6>;
                clock-names = "clk_usbphy2", "hclk_usb2";
                resets = <&reset RK3288_SOFT_RST_USBHOST0_H>, <&reset RK3288_SOFT_RST_USBHOST0PHY>,
                                <&reset RK3288_SOFT_RST_USBHOST0C>, <&reset RK3288_SOFT_RST_USB_HOST0>;
                reset-names = "ehci_ahb", "ehci_phy", "ehci_controller", "ehci";
        };

        usb3: usb@ff520000 {
                compatible = "rockchip,rk3288_rk_ohci_host";
                reg = <0xff520000 0x20000>;
                interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clk_gates13 5>, <&clk_gates7 6>;
                clock-names = "clk_usbphy3", "hclk_usb3";
                status = "okay";
        };

        usb4: usb@ff5c0000 {
                compatible = "rockchip,rk3288_rk_ehci1_host";
                reg = <0xff5c0000 0x40000>;
                interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&ehci1phy_480m>, <&clk_gates7 8>,
                       <&ehci1phy_12m>, <&usbphy_480m>,
                       <&otgphy1_480m>, <&otgphy2_480m>;
                clock-names = "ehci1phy_480m", "hclk_ehci1",
                              "ehci1phy_12m", "usbphy_480m",
                              "ehci1_usbphy1", "ehci1_usbphy2";
                resets = <&reset RK3288_SOFT_RST_EHCI1>, <&reset RK3288_SOFT_RST_EHCI1_AUX>,
                                <&reset RK3288_SOFT_RST_EHCI1PHY>;
                reset-names = "ehci1_ahb", "ehci1_aux", "ehci1_phy";
        };











xi0325 发表于 2017-9-20 11:13:50

你好,请问下你解决了该问题吗?我现在也遇到了usb host1无法接任何usb设备

loading 发表于 2017-9-20 13:50:06

host1不支持usb1.1

yubang 发表于 2017-9-20 17:36:54

楼上 loading的 说法是对的, host1不支持usb1.1, 只支持usb2.0 ; 要用host1, 不加hub时,外接的设备要为usb2.0的; 若加了hub,则没有要求,1.1 或2.0的都是可以的;

yubang 发表于 2017-9-20 17:37:24

host2的,则对与1.1, 2.0都支持,则不管是否加hub,都是可以的;

goodman 发表于 2019-11-25 16:42:45

我们现在也遇到了这个问题,请问怎么解决的。host1直接拉出,然后识别不了任何USB设备1.12.0都不行,host2也是直接拉出,可以用。

陪伴 发表于 2023-11-9 10:59:39

goodman 发表于 2019-11-25 16:42
我们现在也遇到了这个问题,请问怎么解决的。host1直接拉出,然后识别不了任何USB设备1.12.0都不行,ho ...

麻烦问一下,最后是通过什么问题解决的呢,我的也是host1无法识别设备
页: [1]
查看完整版本: rk3288 reload usb host1 识别问题