神州龙芯GSC3290适配裕太YT8521S操作说明

这篇具有很好参考价值的文章主要介绍了神州龙芯GSC3290适配裕太YT8521S操作说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,环境介绍

        1.主控芯片        

            GSC3290是北京神州龙芯集成电路设计有限公司基于自主知识产权龙芯32位处理器核设计的工业级SoC芯片。芯片采用先进 CMOS工艺,主频300MHz,片内集成了丰富的功能模块与外围设备。
         GSC3290保持了工业级高可靠性,是GSC328X的升级版,相比GSC3280功能升级为双千兆网口、双CAN接口、16位外部并行总线、I/O配置与分布更适于整体系统设计,可广泛应用于工业控制、能源电力等终端类应用

神州龙芯GSC3290适配裕太YT8521S操作说明

        2.PHY芯片

        YT8521S是一款单口千兆以太网PHY,支持RGMII,SGMII等接口,支持输出25M,125M clk  

二.操作说明

  1.硬件检查

   电源检查
  VDDL = DVDDL = AVDDL = 1.2V;由 YT8521S的32 脚 LX 输出;
   该电压为PHY芯片内部供电 

神州龙芯GSC3290适配裕太YT8521S操作说明

检查DVDD_RGMII 电压是否符合下表,由YT8521S的 36、37 脚来选择电压;
检查电压值是否符合配置的电压值,是否与MAC端电压匹配
根据外部电路我们配置的电压为3.3V,所以该寄存器的值为“00”
  神州龙芯GSC3290适配裕太YT8521S操作说明

 时钟检查
  
YT8521由外部晶振提供一个25MHz的时钟
 MAC端需要phy 额外提供一个 125M 的 clk 信号,硬件上需要利用到,YT8521的 clk out,管脚(pin44), 所以该管脚应输出125M clk。

 接线检查
  
检查MDI、RGMII、MDIO、MDC 等是否正确连接;

 检查PHY地址
   
神州龙芯GSC3290适配裕太YT8521S操作说明

  2.软件调试

      在uboot下使用mii info命令查看是否可以获取到两张网卡的phy id,如果没有获取多半是
 硬件的问题。
  神州龙芯GSC3290适配裕太YT8521S操作说明

网卡驱动使用裕太官方提供的即可,以下是YT8521芯片寄存器的配置:
                 

 SMI_SDS_PHY (EXT_0xA000) (EXT_0xA000):
extReg0xA000 bit1 置 0 // 硬件配置该位默认为 0,用来切换UTP与SDS模式,0为UTP模式,1为
为SDS模式
我们使用的模式为UTP电口模式,所以该位置0。

0xC
 对于龙芯芯片,当PHY与主控通过RGMII相连时,主控要求RX CLK(YT8521 pin28)  的   时钟信号要一直提供,YT8521上电默认的 rx clk 信号是 link down 时会被取消。
 extReg0x0C bit12 清 0 // 该位默认为 1表示当 phy link down时rx clk不输出

 0x27:
 extReg0x27 bit15 清 0 // 该位默认为 1表示检测到不插网线一段时间后,phy进入sleep  模式

 SyncE_CFG (EXT_0xA012):
 上电后,phy需要额外提供一个125M的clk信号
  extReg0xA012 bit5 置 1 // 该位默认为 0,disable clk out;改为 1,则使其 输出

  Basic Control Register (0x00) :
  0x00寄存器bit15 置1,芯片软复位,使上述配置生效

 Uboot下gsc3290_eth.c部分代码如下
 (ADDR_OFFSET_REG为地址偏移寄存器0x1e   DATA_REG为数据寄存器0x1f)

if ((phy_id & YT8521_PHY_ID_MASK) == YT8521_PHY_ID){
				printf("Found phy YT8521(%d:%d) 0x%08x\n", index, i, phy_id);
				phy_dev->phy_addr = i;
				phy_dev->phy_id = YT8521_PHY_ID;
				phy_dev->phy_mode = 1;
				phy_dev->phy_speed = 1000;
				if((index == 0)){
					*(u32 *)(GSC3290_REGADDR_SYSCTL_GMAC0_CFG) = 1;
				}
				else{
					*(u32 *)(GSC3290_REGADDR_SYSCTL_GMAC1_CFG) = 1;
				}
				
				/* Config the mode to UTP_TO_RGMII */
				ret = ytphy_write(dev->name, i, ADDR_OFFSET_REG, 0xa001);
				if(ret < 0)
					return ret;
				ret = ytphy_read(dev->name, i, DATA_REG, &value);
				if(ret < 0)
					return ret;
				ret = ytphy_write(dev->name, i, ADDR_OFFSET_REG, 0xa001);
				if(ret < 0)
					return ret;
				ret = ytphy_write(dev->name, i, DATA_REG, value & ~(7<<0));
				if(ret < 0)
					return ret;
				/* Waiting for the whole chip reset finished */
				while(1){
					ret = ytphy_write(dev->name, i, ADDR_OFFSET_REG, 0xa001);
					if(ret < 0)
						return ret;
					ret = ytphy_read(dev->name, i, DATA_REG, &value);
					if(ret < 0)
						return ret;
					if((value & (1<<15)) != 0){
						break;
					}
				}

				/* Config the mode to UTP_TO_RGMII */
				ytphy_write(dev->name, i, ADDR_OFFSET_REG, 0xa000);
				if(ret < 0)
					return ret;
				ytphy_write(dev->name, i, DATA_REG, 0x0);
				if(ret < 0)
					return ret;
				ytphy_write(dev->name, i, ADDR_OFFSET_REG, 0x27);
				if(ret < 0)
					return ret;
				ytphy_read(dev->name, i, DATA_REG, &value);
				if(ret < 0)
					return ret;
				ytphy_write(dev->name, i, ADDR_OFFSET_REG, 0x27);
				if(ret < 0)
										return ret;
				ytphy_write(dev->name, i,DATA_REG, value & ~(1<<15));
				if(ret < 0)
					return ret;

				/*ebnable SyncE clock output all the time*/
				ytphy_write(dev->name, i, ADDR_OFFSET_REG, 0xa012);
				if(ret < 0)
					return ret;
				ytphy_read(dev->name, i, DATA_REG, &value);
				if(ret < 0)
					return ret;
				ytphy_write(dev->name, i, ADDR_OFFSET_REG, 0xa012);
				if(ret < 0)
					return ret;
				ytphy_write(dev->name, i, DATA_REG, value | (1<<5));
				if(ret < 0)
					return ret;
				
				ytphy_read(dev->name, i, 0xc, &value);
				if(ret < 0)
					return ret;
				ytphy_write(dev->name, i, 0xc, value | (1<<12));
				if(ret < 0)
					return ret;

				/* Soft reset */
				ytphy_read(dev->name, i, MII_BMCR, &value);
				if(ret < 0)
					return ret;
				ytphy_write(dev->name, i, MII_BMCR, value | (1<<15));
				if(ret < 0)
					return ret;
				while(1){
					ytphy_read(dev->name, i, MII_BMCR, &value);
					if(ret < 0)
						return ret;
					if((value & (1<<15)) == 0){
						break;
					}
				}

  三.网络测试

    配置完成后,设置网卡ip,ping操作查看网络是否通
     Uboot下测试:
                eth0:
                神州龙芯GSC3290适配裕太YT8521S操作说明
                eth1:
                神州龙芯GSC3290适配裕太YT8521S操作说明

      内核下测试:
                神州龙芯GSC3290适配裕太YT8521S操作说明

                神州龙芯GSC3290适配裕太YT8521S操作说明

              经过上面的配置,完成GSC3290芯片适配YT8521,网络可以正常ping通。文章来源地址https://www.toymoban.com/news/detail-400528.html

到了这里,关于神州龙芯GSC3290适配裕太YT8521S操作说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 神州数码设备命令大全

    目录 组网小知识 1、网线制作 2、交换机、路由器设备管理(配置管理、文件管理及密码管理等) 3、时间设定 4、网络子网VLAN划分及应用(跨交换机相同VLAN间通信、私有VLAN、多层交换机VLAN的划分和VLAN间路由、公用端口等) 5、交换机端口配置(注:要进到端口中才能配置)

    2024年02月07日
    浏览(42)
  • RK3568 + YT 9215交换机芯片,MAC TO MAC 调试记录

    阅读rk3568 数据手册,搞清楚mdio的实现,smi 时序 等情况,rk3568的实现是这样的: 1.查询mido_addr 地址,mdio_data 地址,我查询到的一个gamc地址如下 static long mdio_addr = 0x0200 + 0xFE010000; static long mdio_data = 0x0204 + 0xFE010000; 2.物理地址和虚拟地址转换

    2024年02月03日
    浏览(54)
  • 神州数码命令:路由器配置

    一、路由器基本配置 1、进入特权模式: 2、进入全局配置模式: 3、定义路由器的名字为DCR : 4、特权用户的口令: 5、启动远程服务功能: 6、配置远程用户的口令: 7、配置时钟频率: 8、配置用户登录路由器时认证: 9、配置进入特权模式时认证: 10、配置路由器的用户名

    2024年04月29日
    浏览(41)
  • 神州数码:防火墙上配置NAT

    二层安全域:不能分IP 三层安全域:要分IP 重置防火墙:unset all 查看防火墙配置:show config 已知f0/0默认ip为192.168.1.1;账户和密码均为:admin 进入192.168.1.1的网址:用户:admin 密码:admin 网址上配置:rip 1、选择路由 2、RIP 3、新建虚拟路由器(若里面有可以不用改) CRT上配置

    2024年02月07日
    浏览(43)
  • Win10 Python yt-dlp下载youtube视频 | 安装使用详细教程

    yt-dlp是一个命令行程序,可在youtube、twitch、bilbili、西瓜视频等一千多个网站下载视频资源 1 。国内平台的解析工具已经存在很多,像you-get之类,我们主要用它来下载海外视频。 作为youtube-dl的增补版,yt-dlp有着比起前辈更快的速度,以及众多新特性。本文仅记录win10系统py

    2024年02月02日
    浏览(60)
  • 神州数码-路由器基本配置

    互联网接入: 1.在互联网接口配置默认路由 2.三层设备路由协议引入默认路由 3.配置nat 查看配置文件:dir 查看版本信息:show version 设置Telnet(console): 创建用户:username qinhao pri 15 password 123 设置登录方式:aaa authentication login test local 使用登录方式:login authentication test 设置

    2024年02月03日
    浏览(75)
  • 神州数码-DCFW-1800原理及配置

    防火墙作为一种网络安全产品,通过控制进出网络的流量,保护网络的安全。 防火墙的基本原理是通过分析数据包,根据已有的策略规则,允许或阻断数据流量。 除此之外,防火墙也具有连通网络的功能,实现安全可信区域(内部网络)和不信任区域(外部网 络)之间的桥

    2024年02月06日
    浏览(54)
  • 神州数码-交换机基本配置

    一、端口安全设置命令: 查看端口信息:show interface ethernet 1/1 查看端口安全信息:show port-security interface ethernet 1/1 查看端口绑定的mac地址:show port-security address 二、初始化设置命令: ​恢复初始化设置:set default ​保存:write ​重启:reload telnet配置: ​创建用户:username 用

    2024年01月24日
    浏览(46)
  • git 相关操作说明

    下载地址: 下载其中一个安装 2.打开gitee网站,注册账号 3.打开个人中心,选择ssh公钥,查看如何生成公钥 4.生成公钥后,添加相应的公钥 具体仓库操作 1.第一次提交需要配置账号 或者直接通过终端修改 如果是克隆项目指定分支到本地 3.拉取指定分支(更新,记住第一次

    2024年02月05日
    浏览(48)
  • ElasticSearchHead操作说明

    (76条消息) Elasticsearch-Head(简称Head)-Java文档类资源-CSDN文库 1、下载资源包,解压 2、进入elasticsearch-head-master,执行:npm install  (在这之前需要安装nodejs) 3、输入npm run start命令启动elasticsearch-head 使用补充:本地使用的时候启动一下,服务器上如果安装一个,关闭终端就停止运行

    2023年04月16日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包