|
本帖最后由 rtlhq 于 2020-10-26 23:38 编辑
第一个,TL-WVR450L没有放出 GPL代码这个需参考TL-R600^du v4 的 GPL代码uboot部分。
第二个,https://github.com/j-d-r/u-boot-QCA956x,这个版本好处是可以生成64k带web恢复的uboot,但有Bug将一些RAM:128M的设备识别为RAM:1M后停止启动,可以试用tp-link_eap245_v1配置改下,uboot下没有初始化rtl8367s,只是uboot下网口不通,是不会影响openwrt下的rtl8367s驱动,两者是驱动独立的。但若uboot下没有初始化pcie,openwrt下是不能识别pcie上的设备。
第三个,openwrt的dts文件要添加rtl8367s的设备,参考qca9563_tplink_tl-r600^du-v4.dts的 rtl8367s{}, ð0 {}, &mdio0 {}部分,但是 target/linux/generic/files/drivers/net/phy/rtl8367b.c 文件中的 redData[][2] 和 redDataH[][2]中的定义需要 TL-WVR450L的 GPL代码中提取(官方网站没有提供),使用TL-R600^du v4的固件log,可能是由于redData[][2] 和 redDataH[][2]的差异造成无法初始化
Tips: 根据 TL-WVR450L编程器固件格式分析,与qca9563_tplink_tl-r600^du-v4.dts中的分区定义略有差异
"flash大小 ": "0x01000000",
"分区表": [{
"分区名称": "bootloader",
"开始地址": "0x00000000",
" 长度 ": "0x00030000",
}, {
"分区名称": "partition-table",
"开始地址": "0x00030000",
" 长度 ": "0x00010000",
}, {
"分区名称": "kernel",
"开始地址": "0x00040000",
" 长度 ": "0x00150000",
}, {
"分区名称": "rootfs",
"开始地址": "0x00190000",
" 长度 ": "0x00BA0000",
}, {
"分区名称": "device-info",
"开始地址": "0x00D30000",
" 长度 ": "0x00010000",
}, {
"分区名称": "firmware-info",
"开始地址": "0x00D40000",
" 长度 ": "0x00010000",
}, {
"分区名称": "tddp",
"开始地址": "0x00D50000",
" 长度 ": "0x00010000",
}, {
"分区名称": "log",
"开始地址": "0x00D60000",
" 长度 ": "0x00020000",
}, {
"分区名称": "rootfs_data",
"开始地址": "0x00DF0000",
" 长度 ": "0x00200000",
}, {
"分区名称": "art",
"开始地址": "0x00FF0000",
" 长度 ": "0x00010000",
}]
|
|