問題
在啟動基于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
+關注
關注
25文章
5657瀏覽量
139136 -
SATA
+關注
關注
0文章
272瀏覽量
86142 -
Xilinx
+關注
關注
73文章
2195瀏覽量
130123 -
MPSoC
+關注
關注
0文章
202瀏覽量
25093
發布評論請先 登錄
AMD Xilinx 7系列FPGA的Multiboot多bit配置
什么是Xilinx ZynqUltraScale+ MPSoC技術?
【AMD KV260視覺入門開發套件試用】1、開箱&燒錄鏡像系統體驗
哪些SATA驅動器支持的SATA解決方案有哪些?
SoM充分利用Zynq UltraScale+ MPSoC FPGA系列的強大功能
AMD Xilinx K26從eMMC啟動Ubuntu
AMD-Xilinx MPSoC的Watchdog在Linux中使用的簡明教程
Rpi SenseHAT與AMD-Xilinx Kria KR260和Petalinux的接口
怎樣去使用Xilinx電源管理庫XilPM呢?
適用于Xilinx Zynq UltraScale+ MPSoC應用的電源參考設計
羅徹斯特電子攜手AMD/Xilinx可持續供應Xilinx傳統FPGA產品
適用于 Xilinx? MPSoC 和 FPGA 的可配置多軌PMU TPS650864數據表
適用于 Xilinx? MPSoC 和 FPGA的可配置多軌PMU TPS650864數據表
AMD/Xilinx Zynq? UltraScale+ ? MPSoC ZCU102 評估套件

AMD-Xilinx MPSoC的SATA的psgtr的配置
評論