19

19

0个粉丝

1

问答

0

专栏

0

资料

19  发布于  2023-06-30 18:39:18
采纳率 0%
1个问答
597

SS928V100用串口烧录正常,用网口烧录不正常。网口烧录出厂固件正常。

 

SS928V100用串口烧录正常,用网口烧录不正常。网口烧录出厂固件20230529-spi-nand正常。具体提示如下,请问可能是什么原因导致的?


我来回答
回答5个
时间排序
认可量排序

UncleRoderick

28个粉丝

14

问答

1

专栏

14

资料

UncleRoderick 2023-06-30 19:06:55
认可0

需要修改uboot和内核源码才行,开发资料有带修改过的源码

19
19   回复   UncleRoderick  2023-07-03 09:06:35
0

好的,我试了用20230529-spi-nand中的uboot和我自己编译的image和rootfs用网口是可以正常升级的,非常感谢。

19
19   回复   UncleRoderick  2023-07-03 09:59:08
0

03.EB-SS928-DC-393型开发板软件资料\02.例程包\u-boot-2020.01\u-boot-2020.01目录与
~/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/open_source/u-boot/u-boot-2020.01目录对比差异文件比较多,请问能否指教下具体的位置?

UncleRoderick
UncleRoderick   回复   19  2023-07-03 13:20:57
1

对比修改后的UBOOT和内核发现有以下改动:
①.修改了GMAC数量
include/configs/ss928v100.h

define CONFIG_GMAC_NUMS 2

define CONFIG_GMAC_PHY1_ADDR 1

②.内核配置项多了CONFIG_MII=y,以及CONFIG_USB_DRD0_IN_HOST=y

③.增加Flash下EMMC支持以及mdio1地址
arch/arm64/boot/dts/vendor/ss928v100-demb-flash.dts
&mmc0 {
bus-width = <4>;
status = “okay”;
};

arch/arm64/boot/dts/vendor/ss928v100-demb.dts
&mdio1 {
ethphy1: ethernet-phy@1 {
reg = <1>;
};
}

对比uboot发现u-boot-2020.01\drivers\net\gmacv300\gmac.c有修改

/ PHY-RTL8211F by-3 /
if (phy_id == PHY_ID_RTL8211FS) {
unsigned int val = 0;
miiphy_write(devname, phyaddr, 0x1F, 0xD08);
miiphy_read(devname, phyaddr,17,&val);
val |= bit(8);
miiphy_write(devname, phyaddr,17,val);
miiphy_write(devname, phyaddr, 0x1F, 0); //set to page 0
}

内核修改

linux-4.19.y\drivers\net\ethernet\vendor\gmac\gmac.h
linux-4.19.y\drivers\net\ethernet\vendor\gmac\util.c
static int rtl8211fs_phy_fix(struct phy_device *phy_dev)
{
u32 v;
// RX or TX delay
phy_write(phy_dev, 0x1F, 0xd08);
v = phy_read(phy_dev, 17);
v |= (1<<8);
phy_write(phy_dev, 17, v);

// change back to page0 
phy_write(phy_dev, 0x1F, 0);
return 0;

}

void gmac_phy_register_fixups(void)
{
phy_register_fixup_for_uid(PHY_ID_UNKNOWN, DEFAULT_PHY_MASK,
unknown_phy_fix);
phy_register_fixup_for_uid(PHY_ID_KSZ8051MNL, DEFAULT_PHY_MASK,
ksz8051mnl_phy_fix);
phy_register_fixup_for_uid(PHY_ID_KSZ8081RNB, DEFAULT_PHY_MASK,
ksz8081rnb_phy_fix);
phy_register_fixup_for_uid(REALTEK_PHY_ID_8211E, REALTEK_PHY_MASK,
rtl8211e_phy_fix);
phy_register_fixup_for_uid(REALTEK_PHY_ID_8211FS, REALTEK_PHY_MASK,
rtl8211fs_phy_fix);

}

void gmac_phy_unregister_fixups(void)
{
phy_unregister_fixup_for_uid(PHY_ID_UNKNOWN, DEFAULT_PHY_MASK);
phy_unregister_fixup_for_uid(PHY_ID_KSZ8051MNL, DEFAULT_PHY_MASK);
phy_unregister_fixup_for_uid(PHY_ID_KSZ8081RNB, DEFAULT_PHY_MASK);
phy_unregister_fixup_for_uid(REALTEK_PHY_ID_8211E, REALTEK_PHY_MASK);
phy_unregister_fixup_for_uid(REALTEK_PHY_ID_8211FS, REALTEK_PHY_MASK);
}

19
19   回复   UncleRoderick  2023-07-10 17:22:13
0

uboot按照如上修改之后可以通过网口升级,非常感谢。

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区