ibox4412 开发板 3.5内核,
开发板使用 HSIC 外接HUB usb3503,与odroid的4412 开发板一样
使用reboot命令重启后,usb hub不能识别。
查看代码
电路图
发现 代码GPIO配置完全跟电路图匹配不上,
代码配置的是GPIO C0_2和 C0_3
但是电路图显示是GPIO C0_0和C0_4
按照3.0内核配置的是C0_0和C0_4
进行配置,关机启动USB也不能识别了,但是只要配置2和3,输出为1,虽然重启不识别,但是关机启动时可以识别的。
最后,仔细查看电路图,发现HUB_CONNECT是悬空的,这个不配置了,HUB_RESET对应的是NRESET,怀疑是 应该输出低电平。
gpio_request_one(EXYNOS4_GPC0(0), GPIOF_OUT_INIT_HIGH, "HUB_RESET"); s3c_gpio_setpull(EXYNOS4_GPC0(0), S3C_GPIO_PULL_DOWN); gpio_direction_output(EXYNOS4_GPC0(0), 0); gpio_free(EXYNOS4_GPC0(0));
重启后,惊奇的看到 无论重启还是关机启动,USB HUB 都能识别了。
批评下九鼎的客服,直接告诉我3.5内核不稳定,让用3.0内核, 3.0内核也是配置输出高,也是错的,虽然搞不清楚为啥正常使用,但是USB这么重要的设备GPIO的初始化都能搞错,不知道驱动开发是怎么做的。
时间: 2024-10-30 03:12:48