Я пытаюсь включить USB на своей плате NanoPi Neo с помощью сборки root (Linux 4.15.7). Я считаю, что включил все правильные параметры menuconfig, но в моем файле .dts что-то не хватает. Похоже, что ядро регистрирует EHCI и OHCI, но когда я подключаю что-либо к USB-порту, я не вижу никаких изменений в выводе dmesg при любой попытке перечислить устройство:
$ dmesg |grep -i usb
[ 0.051279] usbcore: registered new interface driver usbfs
[ 0.051323] usbcore: registered new interface driver hub
[ 0.051375] usbcore: registered new device driver usb
[ 0.067331] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[ 1.020783] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.032702] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 1.038401] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 1.046278] ehci-platform 1c1a000.usb: irq 26, io mem 0x01c1a000
[ 1.072431] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 1.078730] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.085532] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.092757] usb usb1: Product: EHCI Host Controller
[ 1.097629] usb usb1: Manufacturer: Linux 4.15.7 ehci_hcd
[ 1.103031] usb usb1: SerialNumber: 1c1a000.usb
[ 1.107942] hub 1-0:1.0: USB hub found
[ 1.115961] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.127546] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 1.134324] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 1.142157] ohci-platform 1c1a400.usb: irq 27, io mem 0x01c1a400
[ 1.216579] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.223384] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.230597] usb usb2: Product: Generic Platform OHCI controller
[ 1.236523] usb usb2: Manufacturer: Linux 4.15.7 ohci_hcd
[ 1.241914] usb usb2: SerialNumber: 1c1a400.usb
[ 1.246817] hub 2-0:1.0: USB hub found
[ 1.254905] usbcore: registered new interface driver usb-storage
[ 1.434538] usbcore: registered new interface driver usbhid
[ 1.440111] usbhid: USB HID core driver
[ 1.465707] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
My system.dts имеет следующие разделы для USB:
&ehci0 {
status = "okay";
};
&ohci0 {
status = "okay";
};
&usb_otg {
dr_mode = "peripheral";
status = "okay";
};
&usbphy {
status = "okay";
usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
};
Есть ли что-то, чего мне не хватает, чтобы включить USB1 или USB2 и разрешить перечисление устройств?
Решено: Добавление следующих строк в мои файлы .dts решило проблему:
&ohci1 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&ohci2 {
status = "okay";
};
&ehci2 {
status = "okay";
};