发个贴纪念下,仅供参考。
usb gadget参考帖:
https://whycan.cn/t_1672.html#p14652
花了一点时间对Icenowy的patch和chong的patch进行了比较,结果发现chong的patch包基本上就是在Icenowy的基础上更改了下面的这个文件:
--- ../linux/drivers/clk/sunxi-ng/ccu-suniv.c 2019-01-15 22:48:18.824587965 +0800
+++ drivers/clk/sunxi-ng/ccu-suniv.c 2019-01-23 09:05:17.959348454 +0800
@@ -238,7 +238,7 @@
/* The BSP header file has a CIR_CFG, but no mod clock uses this definition */static SUNXI_CCU_GATE(usb_phy0_clk, "usb-phy0", "osc24M",
- 0x0cc, BIT(8), 0);
+ 0x0cc, BIT(1), 0);static SUNXI_CCU_GATE(dram_ve_clk, "dram-ve", "pll-ddr",
0x100, BIT(0), 0);理论上将上面这个patch应用到Icenowy的4.14内核中,USB应该也就能跑了。
Icenowy 的 f1c100s 分支是linux 4.15-next, uboot直接引导时musb部分会报错,原因未知。fel usb加载uboot没问题。
f1c100s-480272lcd-test 分支修改后可正常冷机启动, usb gadget也是可以驱动的。
gt911触控参考帖
https://whycan.cn/t_2482.html#p19396
注意到原理图中 电容屏中断口连接的是PE3?
https://whycan.cn/files/members/735/ts_i2c.jpg
而且实际复位端口也是直接用了RC,即图中1口,实际dts并没有配置到gt911的中断端口以及复位端口?
尝试如下修改,不过好像没什么用处:
gt911:touchscreen@14{ compatible = "goodix,gt911"; reg = <0x14>; interrupt-parent = <&pio>; interrupts = <4 3 IRQ_TYPE_EDGE_FALLING>;/*(PE3)*/ pinctrl-names = "default"; pinctrl-0 = <&ts_reset_pin>; irq-gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>;/*(PE3)*/ reset-gpios = <&pio 4 9 GPIO_ACTIVE_HIGH>; /*RST (PE9)*/ /*touchscreen-swapped-x-y*/ };
还想请问一下,如果中断配置成功的话,是不是/dev/下就会有input文件夹,因为现在板上一直是没有这个文件夹
gt911根据reset pin和interrupt pin拉高的顺序决定使用i2c地址0x14或0x5d, 但似乎linux的goodix驱动尚未支持设置两个时序,导致在调试时地址会变化,从而无法驱动。可通过在dts中添加两个不同地址的gt911来解决,总有一个能驱动成功。
还要根据官方的说明,在goodix.c里面加载一个二进制的配置表。
UBoot瘦身 :
https://github.com/summershrimp/u-boot-lichee/commit/ce09ef150a2f08729ed7efa3be38c35918cbedf4
Icenowy 的 U-Boot 很多地方没有使用宏来控制功能的可用性。在这里我修改了一下,可以正常的裁剪掉网络/分区表/EFI/USB/nvram等相关功能,可以缩减到128k左右,留出更多的空间给内核和文件系统。
瘦身最关键的是调整NVRAM的储存位置。
littlegv :在官方的framebuffer demo基础上添加了libinput设备的初始化,就可以用触屏了。
目前终于USBHID可以双向通讯了,触屏显示和触摸也完美,可以开始写业务程序了TAT
稍后补上各种patch和config
以下是楼主 2019-07-22 8# patch & config 更新:
----------------------------------------------------------
littlevgl 触屏适配:
https://github.com/summershrimp/opendeck-gui/commit/f4261556206038160f9b85e6c911c020eb0727dd
linux 4.14 Icenowy内核 patch:
https://github.com/summershrimp/opendeck-linux/commit/eb7a274d02b52a02198e3b2726df822eed0f36c8
以下是楼主 2019-07-25 16# 更新:
----------------------------------------------------------
uboot, linux, buildroot 的配置文件
buildroot 用的2019.04
configs.tgz
编译好的二进制:
0x0 u-boot
0x40000 dtb
0x50000 kernel
0x510000 rootfs
nano-spi-touchscreenok.tgz
rootfs_jffs2.tgz
u-boot 和 kernel中不含splash image,因此开机会黑屏。
rootfs中有编译的littlegv demo程序,开机会自动运行(约10s),可以用lichee nano官方套装的电容屏实现触控。
最近编辑记录 xm1994 (2019-07-21 23:14:15)
离线
怎么无法编辑了。。
littlevgl 触屏适配:
https://github.com/summershrimp/opendeck-gui/commit/f4261556206038160f9b85e6c911c020eb0727dd
linux 4.14 Icenowy内核 patch:
https://github.com/summershrimp/opendeck-linux/commit/eb7a274d02b52a02198e3b2726df822eed0f36c8
离线
更新:
uboot, linux, buildroot 的配置文件
buildroot 用的2019.04
configs.tgz
编译好的二进制:
0x0 u-boot
0x40000 dtb
0x50000 kernel
0x510000 rootfs
nano-spi-touchscreenok.tgz
rootfs_jffs2.tgz
u-boot 和 kernel中不含splash image,因此开机会黑屏。
rootfs中有编译的littlegv demo程序,开机会自动运行(约10s),可以用lichee nano官方套装的电容屏实现触控。
最近编辑记录 xm1994 (2019-07-24 22:04:46)
离线
楼主,
能不能发一个 800x480液晶 + GT911能用的bin文件,测试一下啊
已更新
离线
厚着脸皮问 楼主 xm1994
这个帖子的源程序,能不能提供?
代码,二进制,配置文件上面都贴了,可以仔细翻翻
离线
如果你下载过以前Icenowy的f1c100s-480272lcd-test那个分支,直接把patch上的修改自己添加过去就好。
如果没下过的话 建议科学上网后再下载。
离线
楼主的资料很全面,进到登陆界面的账号是 root 密码是 opendeck。 找了找没看见有写,猜了下
buildroot是 2019.02.4
密码在buildroot的config里面是能看到的
离线
请问,xm1994
你用的gcc-linaro 是什么版本?
就lichee nano官方文档那个版本,7.2
离线
后来去掉了libinput和eudev,开机6秒左右进界面
离线
xm1994 说:后来去掉了libinput和eudev,开机6秒左右进界面
不错,能到3秒不
3s有点悬。。把Uboot的两秒等待去掉,估计能压到4s左右
离线