0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AMD-Xilinx MPSoC的SATA的psgtr的配置

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-07-07 14:15 次阅读

问题

在启动基于K26设计的扩展板时,遇到下列错误。

[5.858755]ata1:SATAmaxUDMA/133mmio[mem0xfd0c0000-0xfd0c1fff]port0x100irq46
[5.866665]ata2:SATAmaxUDMA/133mmio[mem0xfd0c0000-0xfd0c1fff]port0x180irq46
[6.187547]ata1:SATAlinkdown(SStatus0SControl330)
[8.085543]ata2:SATAlinkdown(SStatus1SControl330)

Devicetree 设置

检查硬件设计,SATA使用Lane 3,ref_clk2。时钟是固定时钟。

首先定义参考时钟。其中的psgtr_ref_clk_2 ,是SATA使用的125MHz的参考时钟。

/{
	psgtr_ref_clk_0_dp:psgtr_ref_clk_0{
		u-boot,dm-pre-reloc;
		compatible="fixed-clock";
		#clock-cells=<0>;
		clock-frequency=<27000000>;
	};

	psgtr_ref_clk_1_usb3:psgtr_ref_clk_1{
		u-boot,dm-pre-reloc;
		compatible="fixed-clock";
		#clock-cells=<0>;
		clock-frequency=<100000000>;
	};

	psgtr_ref_clk_2_sata:psgtr_ref_clk_2{
		u-boot,dm-pre-reloc;
		compatible="fixed-clock";
		#clock-cells=<0>;
		clock-frequency=<125000000>;
	};

	psgtr_ref_clk_3_unused:psgtr_ref_clk_3{
		u-boot,dm-pre-reloc;
		compatible="fixed-clock";
		#clock-cells=<0>;
		clock-frequency=<19200000>;
	};
};

其次通过psgtr的属性clocks定义每个GTR Lan使用的参考时钟。

/*
k26_Expref_clk2gt-lane3,ref_clk2
*/
&psgtr{
	/*nc,sata,usb3,dp*/
	clocks=<&psgtr_ref_clk_0_dp>,<&psgtr_ref_clk_1_usb3>,<&psgtr_ref_clk_2_sata>,<&psgtr_ref_clk_3_unused>;
	clock-names="ref0","ref1","ref2","ref3";
};

其次通过psgtr的属性clocks定义每个GTR Lan使用的参考时钟。

/*
k26_Expref_clk2gt-lane3,ref_clk2
*/
&psgtr{
	/*nc,sata,usb3,dp*/
	clocks=<&psgtr_ref_clk_0_dp>,<&psgtr_ref_clk_1_usb3>,<&psgtr_ref_clk_2_sata>,<&psgtr_ref_clk_3_unused>;
	clock-names="ref0","ref1","ref2","ref3";
};

最后定义SATA使用的Phy的属性phys。根据参考文档,phys有四个属性。第1个是GTR lane,因此设置为3。第2个是PHY type,设置为PHY_TYPE_SATA。第3个是PHY instance,设置为1 (for DP, SATA or USB)。第4个是reference clock number,设置为2。

&sata{
	/*SATAOOBtimingsettings*/
	ceva,p0-cominit-params=/bits/8<0x18 0x40 0x18 0x28>;
	ceva,p0-comwake-params=/bits/8<0x06 0x14 0x08 0x0E>;
	ceva,p0-burst-params=/bits/8<0x13 0x08 0x4A 0x06>;
	ceva,p0-retry-params=/bits/16<0x96A4 0x3FFC>;
	ceva,p1-cominit-params=/bits/8<0x18 0x40 0x18 0x28>;
	ceva,p1-comwake-params=/bits/8<0x06 0x14 0x08 0x0E>;
	ceva,p1-burst-params=/bits/8<0x13 0x08 0x4A 0x06>;
	ceva,p1-retry-params=/bits/16<0x96A4 0x3FFC>;
	phy-names="sata-phy";

	phys=<&psgtr 3 PHY_TYPE_SATA 1 2>;
};

正常日志

使用上述设置后,SATA启动正常。Linux的启动信息如下。

U-Boot的启动信息如下。

SATAlink0timeout.
Targetspinuptook0ms.
AHCI0001.030132slots2ports6Gbps0x3implSATAmode
flags:64bitncqpmcloonlypmpfbsspioslumpartcccapst
Device0:(1:0)Vendor:ATAProd.:ThinkplusST600Rev:V092
Type:HardDisk
Capacity:953869.7MB=931.5GB(1953525168x512)
Hitanykeytostopautoboot:0

Linux的启动信息如下。

[2.278328]zynqmp-displayfd4a0000.display:ZynqMPDisplayPortSubsystemdriverprobed
[2.286627]ahci-cevafd0c0000.ahci:supplyahcinotfound,usingdummyregulator
[2.294183]ahci-cevafd0c0000.ahci:supplyphynotfound,usingdummyregulator
[2.301650]ahci-cevafd0c0000.ahci:supplytargetnotfound,usingdummyregulator
[2.309511]ahci-cevafd0c0000.ahci:AHCI0001.030132slots2ports6Gbps0x3implplatformmode
[2.318469]ahci-cevafd0c0000.ahci:flags:64bitncqsntfpmcloonlypmpfbspioslumpartcccsdsapst
[2.328892]scsihost0:ahci-ceva
[2.332498]scsihost1:ahci-ceva
[2.335920]ata1:SATAmaxUDMA/133mmio[mem0xfd0c0000-0xfd0c1fff]port0x100irq47
[2.343838]ata2:SATAmaxUDMA/133mmio[mem0xfd0c0000-0xfd0c1fff]port0x180irq47p2

[2.664566]ata1:SATAlinkdown(SStatus0SControl330)

[2.834331]ata2:SATAlinkup6.0Gbps(SStatus133SControl330)
[2.841882]ata2.00:ATA-10:ThinkplusST600M.21TB,V0923A0,maxUDMA/133
[2.848840]ata2.00:1953525168sectors,multi1:LBA48NCQ(depth32)
[2.857553]ata2.00:configuredforUDMA/133
[2.862020]scsi1:0:0:0:Direct-AccessATAThinkplusST6003A0PQ:0ANSI:5

Linux下的块设备信息如下:

/dev/sda1455G4.0G451G1%/run/media/sda1
/dev/sda2469G7.6G437G2%/run/media/sda2

参考文档

Zynq Ultrascale MPSOC Linux SIOU driver

Documentation/devicetree/bindings/phy/xlnx,zynqmp-psgtr.yaml

测试单板

K26
2022.1

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • amd
    amd
    +关注

    关注

    25

    文章

    5197

    浏览量

    132633
  • SATA
    +关注

    关注

    0

    文章

    248

    浏览量

    82665
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119373
  • MPSoC
    +关注

    关注

    0

    文章

    194

    浏览量

    24111
收藏 人收藏

    评论

    相关推荐

    Zynq UltraScale + MPSoC USB 3.0 CDC器件类设计

    Zynq®UltraScale+™MPSoC USB 3.0控制器由两个独立的双角设备(DRD)控制器组成。两者都可以单独配置为在任何给定时间用作主机或设备。USB 3.0 DRD控制器通过高级可
    发表于 01-03 09:59

    什么是Xilinx ZynqUltraScale+ MPSoC技术?

    ZynqUltraScale+ MPSoCXilinx推出的第二代多处理SoC系统,在第一代Zynq-7000的基础上做了全面升级。包括先进的multi-domain,multi-island电源
    发表于 10-09 06:07

    使用AMD-Xilinx FPGA设计一个AI加速器通道

    介绍使用 AMD-Xilinx FPGA设计一个全连接DNN核心现在比较容易(Vitis AI),但是利用这个核心在 DNN 计算中使用它是另一回事。本项目主要是设计AI加速器,利用Xilinx
    发表于 02-21 15:01

    AMD KV260视觉入门开发套件试用】1、开箱&amp;烧录镜像系统体验

    /kv260-getting-started/getting-started.html 官方ubuntu镜像下载: https://ubuntu.com/download/amd-xilinx 英文官网下载很慢,换成中文
    发表于 07-15 22:00

    哪些SATA驱动器支持的SATA解决方案有哪些?

    有哪些? 哪些SATA驱动器可在 Xilinx Zynq UltraScale+ MPSoC 器件上测试以及能完成哪些类型的测试? Xilinx 只能为列表中标示为“
    发表于 06-30 17:56 3791次阅读

    Xilinx Zynq UltraScale+ MPSoC中实现的NVMe主机加速器

    在本演示中,Intelliprop演示了在Xilinx Zynq UltraScale + MPSoC中实现的NVMe主机加速器。
    的头像 发表于 11-26 06:18 5741次阅读

    Xilinx UltraScale+ FPGA和MPSoC互连宽度的使用

    从19到32Gb / s的互连宽度正在迅速扩大。 了解Xilinx UltraScale +™FPGA和MPSoC如何直接使用这些互连,以及KCU116和VCU118评估套件如何快速启动您的设计。
    的头像 发表于 11-22 07:21 2920次阅读

    SoM充分利用Zynq UltraScale+ MPSoC FPGA系列的强大功能

    基于AMD-Xilinx Zynq UltraScale+ MPSoC器件,Andromeda支持三种外形尺寸:S(40 x 56 mm),M(52 x 66 mm)和L(80 x 64 mm)。它们提供 2 到 6 个高速连接器,支持多达 780 个 I/O。
    的头像 发表于 04-25 09:14 743次阅读
    SoM充分利用Zynq UltraScale+ <b class='flag-5'>MPSoC</b> FPGA系列的强大功能

    AMD Xilinx K26从eMMC启动Ubuntu

    AMD Xilinx K26支持Ubuntu。从ubuntu amd-xilinx下载映像后,把image烧入到TF卡
    的头像 发表于 07-10 15:58 513次阅读

    AMD-Xilinx MPSoC的Watchdog在Linux中使用的简明教程

    AMD-Xilinx MPSoC的器件里,提供了内置的Watchdog
    的头像 发表于 07-07 14:15 617次阅读

    Rpi SenseHAT与AMD-Xilinx Kria KR260和Petalinux的接口

    电子发烧友网站提供《Rpi SenseHAT与AMD-Xilinx Kria KR260和Petalinux的接口.zip》资料免费下载
    发表于 07-13 10:18 0次下载
    Rpi SenseHAT与<b class='flag-5'>AMD-Xilinx</b> Kria KR260和Petalinux的接口

    怎样去使用Xilinx电源管理库XilPM呢?

    AMD-Xilinx MPSoC 和 Versal ACAP 系列均具有复杂的内部电源结构,其中包括全功率域 (FPD) 、低功耗域 (LPD) 、单个处理器电源域、外设等节点以及存储器电源域。
    发表于 08-25 09:18 257次阅读
    怎样去使用<b class='flag-5'>Xilinx</b>电源管理库XilPM呢?

    罗彻斯特电子携手AMD/Xilinx可持续供应Xilinx传统FPGA产品

    罗彻斯特电子携手AMD/Xilinx,为Xilinx传统FPGA和相关配置PROM产品提供供货支持。
    的头像 发表于 11-07 09:04 269次阅读

    适用于 Xilinx® MPSoC 和 FPGA 的可配置多轨PMU TPS650864数据表

    电子发烧友网站提供《适用于 Xilinx® MPSoC 和 FPGA 的可配置多轨PMU TPS650864数据表.pdf》资料免费下载
    发表于 03-06 17:07 0次下载
    适用于 <b class='flag-5'>Xilinx</b>® <b class='flag-5'>MPSoC</b> 和 FPGA 的可<b class='flag-5'>配置</b>多轨PMU TPS650864数据表

    适用于 Xilinx® MPSoC 和 FPGA的可配置多轨PMU TPS650864数据表

    电子发烧友网站提供《适用于 Xilinx® MPSoC 和 FPGA的可配置多轨PMU TPS650864数据表.pdf》资料免费下载
    发表于 04-01 09:58 0次下载
    适用于 <b class='flag-5'>Xilinx</b>® <b class='flag-5'>MPSoC</b> 和 FPGA的可<b class='flag-5'>配置</b>多轨PMU TPS650864数据表