GPU on a Rock 2

This is a completely useless project but it may be fun.

I want to put a GPU the Rock 2F. The plan is to purchase a 1x PCI-E HAT, (like this one: https://a.aliexpress.com/_EQpgiQQ), convert to an x16 slot (either with a riser or by brute force cutting) and mount a GPU.
I heard that AMD cards are somewhat better because they have more compatible open source drivers.

I don’t want to spend a lot of money and the card should not draw a lot of power, so the most optimal so far seems to be Geforce 1030 (up to 20 W or 30 W, depending on the version). But it’s NVidia so a blob driver will need to be used. It’s from the Pascal generation so no NVK, just Nuveau. Which is less compatible.

So the question is: is it worth even trying out geforce, or should I try to get an old AMD card? And how to power it? So far I wanted to use a simple 12 V barrel charger (the HAT linked above can use it) but the less hungry AMD cards can still draw up to 50 W.

you can just use a cheap powersupply. To power it on, you simply need to short out two pins, where it connects with the motherboard (the really big cable).
atx-connector-20-24pin-246820487
if I’m not mistaken, you just need to connect COM to PS_ON and it will give you power.

PS: if you go the riser route don’t buy a exp-gdc. They have a histroy of static isolation issues.

1 Like

Also for the gpu I have a few ideas.
Istead of the 1030 I’d go with a 1050ti or 1650, since they cost basicly the same and don’t need aditional connectors.
If you really wanna go with and or NVK you could look at a rx 6400 or rtx 3050 lowprofile.
They are all below 75W so they are pci-e powered. But ofcource the latter two are far more expensive.

1 Like

Thanks. Geforce 1650 looks promising (NVK would also work with it, it’s the same architecture as the 20 series). But a bit expensive already.
What about Radeon 550? (I omit the letters between the brand and the number on purpose, they are stupid)

Are there any disadvantages to using a 12v barrel power supply?

I decided to play it safe and procured a second hand RX 550.
As for the GPU driver, it is a bit difficult now. I tried compiling Armbian with amdgpu and the rockchip kernel 6.1. The compilation failed. However, when I tried to compile the Armbian mainline kernel with the amdgpu module, it finished successfully. The catch is now that Rock 2F now won’t boot with the mainline kernel, and even if it did, I don’t know if PCI is enabled.
There is no mainline device tree for now, an initial one can be found here: https://github.com/Kwiboo/linux-rockchip/commits/next-20250319-rk3528/ but I am not proficient enough to apply it.

Any suggestions?

I’ve now secured the RX 550 card and a pcie hat + a 1x to 16x slot converter. The HAT is powered by a 12V barrel power supply for now as I don’t have a desktop PSU.
Alas, the HAT seems to be problematic. This is what I get on the Radxa distro (kernel 5.10.160-39-rk356x):

$ sudo dmesg |grep -i pci
[    5.936194] vcc3v3_pcie20: 3300 mV, enabled
[    5.936297] reg-fixed-voltage vcc3v3-pcie20: Looking up vin-supply from device tree
[    5.936305] vcc3v3_pcie20: supplied by vcc5v0_sys
[    5.936389] reg-fixed-voltage vcc3v3-pcie20: vcc3v3_pcie20 supplying 3300000uV
[    6.847109] PCI: CLS 0 bytes, default 64
[    7.320743] rk-pcie fe4f0000.pcie: invalid prsnt-gpios property in node
[    7.320759] rk-pcie fe4f0000.pcie: Looking up vpcie3v3-supply from device tree
[    7.321479] rk-pcie fe4f0000.pcie: max MSI vector is 8
[    7.321490] rk-pcie fe4f0000.pcie: Missing *config* reg space
[    7.321562] rk-pcie fe4f0000.pcie: host bridge /pcie@fe4f0000 ranges:
[    7.321591] rk-pcie fe4f0000.pcie:      err 0x00fc000000..0x00fc0fffff -> 0x00fc000000
[    7.321616] rk-pcie fe4f0000.pcie:       IO 0x00fc100000..0x00fc1fffff -> 0x00fc100000
[    7.321635] rk-pcie fe4f0000.pcie:      MEM 0x00fc200000..0x00fdffffff -> 0x00fc200000
[    7.321647] rk-pcie fe4f0000.pcie:      MEM 0x0100000000..0x013fffffff -> 0x0100000000
[    7.321686] rk-pcie fe4f0000.pcie: Missing *config* reg space
[    7.321771] rk-pcie fe4f0000.pcie: invalid resource
[    7.526535] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[    7.552058] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[    7.578725] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[    7.605409] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x1
[    7.632065] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[    7.658758] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[    7.659502] ehci-pci: EHCI PCI platform driver
[    7.685393] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[    7.712060] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[    7.738783] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[    7.765427] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   10.202105] rk-pcie fe4f0000.pcie: PCIe Link Fail
[   10.202231] rk-pcie fe4f0000.pcie: failed to initialize host
[   37.902159] vcc3v3_pcie20: disabling

And this on armbian (kernel 6.1.115-vendor-rk35xx):

[   15.439905] vcc3v3_pcie20: will resolve supply early: vin
[   15.439913] reg-fixed-voltage vcc3v3-pcie20: Looking up vin-supply from device tree
[   15.439923] vcc3v3_pcie20: supplied by vcc5v0_sys
[   15.439977] vcc3v3_pcie20: 3300 mV, enabled
[   15.440115] reg-fixed-voltage vcc3v3-pcie20: vcc3v3_pcie20 supplying 3300000uV
[   15.473838] PCI: CLS 0 bytes, default 64
[   16.123911] dw-pcie fe4f0000.pcie: invalid resource
[   16.123931] dw-pcie fe4f0000.pcie: Failed to initialize host
[   16.123938] dw-pcie: probe of fe4f0000.pcie failed with error -22
[   16.124570] rk-pcie fe4f0000.pcie: invalid prsnt-gpios property in node
[   16.124726] rk-pcie fe4f0000.pcie: Looking up vpcie3v3-supply from device tree
[   16.125110] rk-pcie fe4f0000.pcie: skip reset controller
[   16.125187] rk-pcie fe4f0000.pcie: can't get current limit.
[   16.125621] rk-pcie fe4f0000.pcie: max MSI vector is 32
[   16.125682] rk-pcie fe4f0000.pcie: host bridge /pcie@fe4f0000 ranges:
[   16.125725] rk-pcie fe4f0000.pcie:       IO 0x00fc100000..0x00fc1fffff -> 0x00fc100000
[   16.125746] rk-pcie fe4f0000.pcie:      MEM 0x00fc200000..0x00fdffffff -> 0x00fc200000
[   16.125760] rk-pcie fe4f0000.pcie:      MEM 0x0100000000..0x013fffffff -> 0x0100000000
[   16.126010] rk-pcie fe4f0000.pcie: iATU unroll: enabled
[   16.126029] rk-pcie fe4f0000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[   16.328229] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   16.349274] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   16.370296] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   16.391330] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   16.412354] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   16.433375] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   16.454397] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   16.475417] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   16.496437] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   16.517458] rk-pcie fe4f0000.pcie: PCIe Linking... LTSSM is 0x0
[   18.429661] rk-pcie fe4f0000.pcie: PCIe Link Fail, LTSSM is 0x0, hw_retries=0
[   18.429684] rk-pcie fe4f0000.pcie: failed to initialize host

Seems to be similar @radxa, what can be the problem?

Nothing changes if I connect the GPU or not.

Looks like it cannot find the device. Do you have other PCIe device to try? You might get very bad signal

I don’t have another device now but I will try to test something. Also, please tell me if this is the expected output if nothing is connected.

It does look like something where no PCIe device was connected. You can confirm by comparing between device connected and not connected yourself.

The radeon kernel module does build with the 6.1 armbian kernel. I have access to a very old and quite underpowered Radeon gpu which should work with it.

But ultimately I would like to be able to build amdgpu and use the newer card instead.

I have tested 2 cards now.
An old radeon CEDAR gpu:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series] (prog-if 00 [VGA controller])
	Subsystem: Hightech Information System Ltd. Cedar [Radeon HD 5000/6000/7350/8350 Series]
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 55
	Region 0: Memory at 100000000 (64-bit, prefetchable) [size=256M]
	Region 2: Memory at fc200000 (64-bit, non-prefetchable) [size=128K]
	Region 4: I/O ports at 1000 [size=256]
	Expansion ROM at fc220000 [disabled] [size=128K]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
		LnkCap:	Port #4, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1 (downgraded)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- 10BitTagReq- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Kernel modules: radeon

RX 550:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] (rev ff) (prog-if 00 [VGA controller])
	Subsystem: Sapphire Technology Limited Radeon RX 550 640SP
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 255
	Region 0: Memory at 100000000 (64-bit, prefetchable) [disabled] [size=256M]
	Region 2: Memory at 110000000 (64-bit, prefetchable) [disabled] [size=2M]
	Region 4: I/O ports at 1000 [disabled] [size=256]
	Region 5: Memory at fc200000 (32-bit, non-prefetchable) [disabled] [size=256K]
	Expansion ROM at fc240000 [virtual] [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
		LnkCap:	Port #4, Speed 8GT/s, Width x8, ASPM L1, Exit Latency L1 <1us
			ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s (downgraded), Width x1 (downgraded)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR+
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS-
			 AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
		LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150 v2] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP+ BadDLLP+ Rollover- Timeout+ AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [200 v1] Physical Resizable BAR
		BAR 0: current size: 256MB, supported: 256MB 512MB 1GB 2GB 4GB
	Capabilities: [270 v1] Secondary PCI Express
		LnkCtl3: LnkEquIntrruptEn- PerformEqu-
		LaneErrStat: LaneErr at lane: 0
	Capabilities: [2b0 v1] Address Translation Service (ATS)
		ATSCap:	Invalidate Queue Depth: 00
		ATSCtl:	Enable-, Smallest Translation Unit: 00
	Capabilities: [2c0 v1] Page Request Interface (PRI)
		PRICtl: Enable- Reset-
		PRISta: RF- UPRGI- Stopped+
		Page Request Capacity: 00000020, Page Request Allocation: 00000000
	Capabilities: [2d0 v1] Process Address Space ID (PASID)
		PASIDCap: Exec+ Priv+, Max PASID Width: 10
		PASIDCtl: Enable- Exec- Priv-
	Capabilities: [320 v1] Latency Tolerance Reporting
		Max snoop latency: 0ns
		Max no snoop latency: 0ns
	Capabilities: [328 v1] Alternative Routing-ID Interpretation (ARI)
		ARICap:	MFVC- ACS-, Next Function: 1
		ARICtl:	MFVC- ACS-, Function Group: 0
	Capabilities: [370 v1] L1 PM Substates
		L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
			  PortCommonModeRestoreTime=0us PortTPowerOnTime=170us
		L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
			   T_CommonMode=0us LTR1.2_Threshold=0ns
		L1SubCtl2: T_PwrOn=10us

The largest obstacle now seems to be that the amdgpu module does not with, this is with the old “radeon” driver. I have more data (dmesg, journalctl) if someone would like to debug.

I am now installing armbian-firmware-full, maybe this can help. The standard armbian-firmware is minimal.

With the firmware it (Cedar GPU, Radeon R5 220) actually works, with HDMI output! I could not get to the greeter or start the X server but TTY worked. Hardly useful as a graphics card for now.
Here is the lspci with the card working:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series] (prog-if 00 [VGA controller])
	Subsystem: Hightech Information System Ltd. Cedar [Radeon HD 5000/6000/7350/8350 Series]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 55
	Region 0: Memory at 100000000 (64-bit, prefetchable) [size=256M]
	Region 2: Memory at fc200000 (64-bit, non-prefetchable) [size=128K]
	Region 4: I/O ports at 1000 [size=256]
	Expansion ROM at fc220000 [disabled] [size=128K]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
		LnkCap:	Port #4, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s, Width x1 (downgraded)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- 10BitTagReq- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Kernel driver in use: radeon
	Kernel modules: radeon