問題
在啟動(dòng)基于K26設(shè)計(jì)的擴(kuò)展板時(shí),遇到下列錯(cuò)誤。
[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è)計(jì),SATA使用Lane 3,ref_clk2。時(shí)鐘是固定時(shí)鐘。
首先定義參考時(shí)鐘。其中的psgtr_ref_clk_2 ,是SATA使用的125MHz的參考時(shí)鐘。
/{ 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定義每個(gè)GTR Lan使用的參考時(shí)鐘。
/* 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定義每個(gè)GTR Lan使用的參考時(shí)鐘。
/* 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有四個(gè)屬性。第1個(gè)是GTR lane,因此設(shè)置為3。第2個(gè)是PHY type,設(shè)置為PHY_TYPE_SATA。第3個(gè)是PHY instance,設(shè)置為1 (for DP, SATA or USB)。第4個(gè)是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啟動(dòng)正常。Linux的啟動(dòng)信息如下。
U-Boot的啟動(dòng)信息如下。
SATAlink0timeout. Targetspinuptook0ms. AHCI0001.030132slots2ports6Gbps0x3implSATAmode flags:64bitncqpmcloonlypmpfbsspioslumpartcccapst Device0:(1:0)Vendor:ATAProd.:ThinkplusST600Rev:V092 Type:HardDisk Capacity:953869.7MB=931.5GB(1953525168x512) Hitanykeytostopautoboot:0
Linux的啟動(dòng)信息如下。
[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
測(cè)試單板
K26
2022.1
審核編輯:湯梓紅
-
amd
+關(guān)注
關(guān)注
25文章
5565瀏覽量
135908 -
SATA
+關(guān)注
關(guān)注
0文章
268瀏覽量
84595 -
Xilinx
+關(guān)注
關(guān)注
73文章
2182瀏覽量
124379 -
MPSoC
+關(guān)注
關(guān)注
0文章
200瀏覽量
24626
發(fā)布評(píng)論請(qǐng)先 登錄
AMD Xilinx 7系列FPGA的Multiboot多bit配置

什么是Xilinx ZynqUltraScale+ MPSoC技術(shù)?
【AMD KV260視覺入門開發(fā)套件試用】1、開箱&燒錄鏡像系統(tǒng)體驗(yàn)
哪些SATA驅(qū)動(dòng)器支持的SATA解決方案有哪些?
SoM充分利用Zynq UltraScale+ MPSoC FPGA系列的強(qiáng)大功能

AMD Xilinx K26從eMMC啟動(dòng)Ubuntu
AMD-Xilinx MPSoC的Watchdog在Linux中使用的簡(jiǎn)明教程
Rpi SenseHAT與AMD-Xilinx Kria KR260和Petalinux的接口

怎樣去使用Xilinx電源管理庫XilPM呢?

適用于Xilinx Zynq UltraScale+ MPSoC應(yīng)用的電源參考設(shè)計(jì)

羅徹斯特電子攜手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 評(píng)估套件

評(píng)論