問題
在啟動基于K26設(shè)計的擴展板時,遇到下列錯誤。
[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 設(shè)置
檢查硬件設(shè)計,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。根據(jù)參考文檔,phys有四個屬性。第1個是GTR lane,因此設(shè)置為3。第2個是PHY type,設(shè)置為PHY_TYPE_SATA。第3個是PHY instance,設(shè)置為1 (for DP, SATA or USB)。第4個是reference clock number,設(shè)置為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>;
};
正常日志
使用上述設(shè)置后,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下的塊設(shè)備信息如下:
/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
+關(guān)注
關(guān)注
25文章
5627瀏覽量
138692 -
SATA
+關(guān)注
關(guān)注
0文章
271瀏覽量
85876 -
Xilinx
+關(guān)注
關(guān)注
73文章
2190瀏覽量
129234 -
MPSoC
+關(guān)注
關(guān)注
0文章
202瀏覽量
25012
發(fā)布評論請先 登錄
AMD Xilinx 7系列FPGA的Multiboot多bit配置
什么是Xilinx ZynqUltraScale+ MPSoC技術(shù)?
【AMD KV260視覺入門開發(fā)套件試用】1、開箱&燒錄鏡像系統(tǒng)體驗
哪些SATA驅(qū)動器支持的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應(yīng)用的電源參考設(shè)計
羅徹斯特電子攜手AMD/Xilinx可持續(xù)供應(yīng)Xilinx傳統(tǒng)FPGA產(chǎn)品
適用于 Xilinx? MPSoC 和 FPGA 的可配置多軌PMU TPS650864數(shù)據(jù)表
適用于 Xilinx? MPSoC 和 FPGA的可配置多軌PMU TPS650864數(shù)據(jù)表
AMD/Xilinx Zynq? UltraScale+ ? MPSoC ZCU102 評估套件

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