Hi Pali,
Am 28.03.2022 um 10:04 schrieb Pali Rohár: > On Monday 28 March 2022 09:57:41 Hajo Noerenberg wrote: >> I wonder if it would be a good idea to submit adding the PCI-ids for the >> 88SE6121 controller (drivers/ata/ahci-pci.c) as a separate patch. The >> controller is not specific to the NAS440, to my knowledge it is also used on >> the Iomega ix4-200d for example. > > Why is this patch needed? Sorry, but that's beyond my knowledge. Without the PCI ids the controller is handled by the generic driver. > > Could you please send 'lspci -nn -vv' output from Linux? Please find the logs below. For reference I have also attached the U-Boot logs (with / without PCI ids). Side note: as written in my first e-mail, I can access all hard disks and load files within U-Boot. Under Linux there are 'failed to IDENTIFY' errors. Regards, Hajo root@nas440:~# lspci -nn -vv 00:01.0 PCI bridge [0604]: Marvell Technology Group Ltd. 88F6281 [Kirkwood] ARM SoC [11ab:6281] (rev 03) (prog-if 00 [Normal decode]) Device tree node: /sys/firmware/devicetree/base/mbus@f1000000/pcie@82000000/pcie@1,0 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, Cache Line Size: 64 bytes Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 I/O behind bridge: 00010000-00010fff [size=4K] Memory behind bridge: e0000000-e00fffff [size=1M] Prefetchable memory behind bridge: 00000000-000fffff [size=1M] Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR- Expansion ROM at e0100000 [virtual] [disabled] [size=2K] BridgeCtl: Parity+ SERR+ NoISA- VGA- VGA16- MAbort+ >Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0 ExtTag- RBE+ 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 #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <256ns, L1 unlimited ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp- LnkCtl: ASPM Disabled; RCB 128 bytes, Disabled- CommClk- ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s (ok), Width x1 (ok) TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise- Slot #0, PowerLimit 0.000W; Interlock- NoCompl- SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg- Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock- SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock- Changed: MRL- PresDet- LinkState- RootCap: CRSVisible- RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible- RootSta: PME ReqID 0000, PMEStatus- PMEPending- DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR- 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix- EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit- FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd- AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS- DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled, ARIFwd- AtomicOpsCtl: ReqEn- EgressBlck- LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1- EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest- Retimer- 2Retimers- CrosslinkRes: unsupported 01:00.0 IDE interface [0101]: Marvell Technology Group Ltd. 88SE6111/6121 SATA II / PATA Controller [11ab:6121] (rev b2) (prog-if 8f [PCI native mode controller, supports both channels switched to ISA compatibility mode, supports bus mastering]) Subsystem: Marvell Technology Group Ltd. 88SE6111/6121 1/2 port SATA II + 1 port PATA Controller [11ab:6121] 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, Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 40 Region 0: I/O ports at 10010 [size=8] Region 1: I/O ports at 10020 [size=4] Region 2: I/O ports at 10018 [size=8] Region 3: I/O ports at 10024 [size=4] Region 4: I/O ports at 10000 [size=16] Region 5: Memory at e0000000 (32-bit, non-prefetchable) [size=1K] Capabilities: [48] Power Management version 2 Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME- Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit- Address: 00000000 Data: 0000 Capabilities: [e0] Express (v1) Legacy Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, 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 #0, Speed 2.5GT/s, Width x1, ASPM L0s, Exit Latency L0s <256ns ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp- LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk- ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s (ok), Width x1 (ok) TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- Capabilities: [100 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: 1f, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn- MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap- HeaderLog: 00000000 00000000 00000000 00000000 Kernel driver in use: ahci Kernel modules: ahci /* U-Boot with 88SE6121 PCI ids: */ nas440> version U-Boot 2022.04-rc3-00003-ge177499b76-dirty (Mar 03 2022 - 16:58:16 +0100) NAS 440 nas440> pci long Found PCI device 00.00.00: vendor ID = 0x11ab device ID = 0x6281 command register ID = 0x0007 status register = 0x0010 revision ID = 0x03 class code = 0x06 (Bridge device) sub class code = 0x04 programming interface = 0x00 cache line = 0x00 latency time = 0x00 header type = 0x01 BIST = 0x00 base address 0 = 0x00000000 base address 1 = 0x00000000 primary bus number = 0x00 secondary bus number = 0x01 subordinate bus number = 0x01 secondary latency timer = 0x00 IO base = 0x01 IO limit = 0x01 secondary status = 0x0000 memory base = 0x9000 memory limit = 0x9000 prefetch memory base = 0xfff1 prefetch memory limit = 0x0001 prefetch memory base upper = 0x00000000 prefetch memory limit upper = 0x00000000 IO base upper 16 bits = 0xc000 IO limit upper 16 bits = 0xc000 expansion ROM base address = 0x00000000 interrupt line = 0x00 interrupt pin = 0x01 bridge control = 0x0000 Found PCI device 01.00.00: vendor ID = 0x11ab device ID = 0x6121 command register ID = 0x0007 status register = 0x0010 revision ID = 0xb2 class code = 0x01 (Mass storage controller) sub class code = 0x01 programming interface = 0x8f cache line = 0x08 latency time = 0x00 header type = 0x00 BIST = 0x00 base address 0 = 0xc0000001 base address 1 = 0xc0000009 base address 2 = 0xc0000011 base address 3 = 0xc0000019 base address 4 = 0xc0000021 base address 5 = 0x90000000 cardBus CIS pointer = 0x00000000 sub system vendor ID = 0x11ab sub system ID = 0x6121 expansion ROM base address = 0x00000000 interrupt line = 0x00 interrupt pin = 0x01 min Grant = 0x00 max Latency = 0x00 nas440> nas440> scsi scan scanning bus for devices... Target spinup took 0 ms. Target spinup took 0 ms. SATA link 2 timeout. AHCI 0001.0000 32 slots 3 ports 3 Gbps 0x7 impl SATA mode flags: 64bit ncq stag led pmp slum part Device 0: (0:0) Vendor: ATA Prod.: WDC WD3202ABYS-0 Rev: 02.0 Type: Hard Disk Capacity: 305245.3 MB = 298.0 GB (625142448 x 512) Device 1: (1:0) Vendor: ATA Prod.: FUJITSU MHZ2160B Rev: 0084 Type: Hard Disk Capacity: 152627.8 MB = 149.0 GB (312581808 x 512) nas440> nas440> dm tree Class Index Probed Driver Name ----------------------------------------------------------- root 0 [ + ] root_driver root_driver simple_bus 0 [ + ] simple_bus |-- mbus@f1000000 misc 0 [ + ] pcie_mvebu_base | `-- pcie@82000000 pci 0 [ + ] pcie_mvebu | `-- pcie0.0 pci 1 [ + ] pci_bridge_drv | `-- pci_0:0.0 ahci 1 [ + ] ahci_pci | `-- ahci_pci scsi 0 [ + ] ahci_scsi | `-- ahci_scsi blk 0 [ ] scsi_blk | |-- ahci_scsi.id0lun0 blk 1 [ ] scsi_blk | `-- ahci_scsi.id1lun0 simple_bus 1 [ + ] simple_bus |-- ocp@f1000000 gpio 0 [ ] gpio_mvebu | |-- gpio@10100 gpio 1 [ ] gpio_mvebu | |-- gpio@10140 usb 0 [ ] ehci_mvebu | |-- ehci@50000 ethernet 0 [ + ] mvgbe | |-- ethernet-controller@72000 ethernet 1 [ + ] mvgbe | |-- ethernet-controller@76000 rtc 0 [ ] rtc-mv | |-- rtc@10300 ahci 0 [ ] sata_mv_ahci | `-- sata@80000 simple_bus 2 [ ] simple_bus `-- regulators nas440> /* U-Boot without 88SE6121 PCI ids: */ nas440> pci enum pcie0.0: Link up nas440> scsi scan scanning bus for devices... nas440> dm tree Class Index Probed Driver Name ----------------------------------------------------------- root 0 [ + ] root_driver root_driver simple_bus 0 [ + ] simple_bus |-- mbus@f1000000 misc 0 [ + ] pcie_mvebu_base | `-- pcie@82000000 pci 0 [ + ] pcie_mvebu | `-- pcie0.0 pci 1 [ + ] pci_bridge_drv | `-- pci_0:0.0 pci_generi 0 [ ] pci_generic_drv | `-- pci_1:0.0 simple_bus 1 [ + ] simple_bus |-- ocp@f1000000 gpio 0 [ ] gpio_mvebu | |-- gpio@10100 gpio 1 [ ] gpio_mvebu | |-- gpio@10140 usb 0 [ ] ehci_mvebu | |-- ehci@50000 ethernet 0 [ + ] mvgbe | |-- ethernet-controller@72000 ethernet 1 [ + ] mvgbe | |-- ethernet-controller@76000 rtc 0 [ ] rtc-mv | |-- rtc@10300 ahci 0 [ ] sata_mv_ahci | `-- sata@80000 simple_bus 2 [ ] simple_bus `-- regulators nas440>