ARMADA espressobin SATA drive detection failure

Pali Rohár pali at kernel.org
Fri Aug 12 18:03:51 PDT 2022


On Saturday 13 August 2022 01:00:34 Shinichiro Kawasaki wrote:
> On Aug 13, 2022 / 02:15, Pali Rohár wrote:
> > On Saturday 13 August 2022 00:02:37 Shinichiro Kawasaki wrote:
> > > On Aug 12, 2022 / 15:55, Pali Rohár wrote:
> > > > On Friday 12 August 2022 14:44:07 Pali Rohár wrote:
> > > 
> > > [...]
> > > 
> > > > > Probably this is SSD disk specific. I will try to prepare some kernel
> > > > > changes to test if it changes something.
> > > > 
> > > > Could you please try following change and provide full dmesg log?
> > > > First I need to know if issue is in SATA power on code or somewhere else.
> > > 
> > > My pleasure. I applied the patch to the kernel v5.18.16 and booted it from the
> > > latest U-Boot. Here I attach console output taken from the mox-imager command.
> > > It has all kernel messages as well as U-Boot console log. I find the message
> > > from added dev_err():
> > > 
> > >   mvebu-a3700-comphy d0018300.phy: OK mvebu_a3700_comphy_sata_power_on() call
> > > 
> > > -- 
> > > Shin'ichiro Kawasaki
> > 
> > Ok, so SATA does not work even when starting with original SMC
> > implementation.
> > 
> > Could you please try another test change?
> > 
> > @@ -1102,6 +1142,9 @@ static int mvebu_a3700_comphy_reset(struct phy *phy)
> >  	struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy);
> >  	u16 mask, data;
> >  
> > +	dev_err(lane->dev, "IGNORING mvebu_a3700_comphy_reset() call\n");
> > +	return;
> > +
> >  	dev_dbg(lane->dev, "resetting lane %d\n", lane->id);
> >  
> >  	/* COMPHY reset for internal logic */
> 
> Yes, I've applied the hunk above on top of the previous debug patch (I modified
> 'return' to 'return 0' to avoid a compile error). I attach the console log.

Ou, right.

> With this change,
> 
> - The added message "IGNORING mvebu_a3700_comphy_reset() call" was printed
>   three times.
> - The "ata1: SATA link down (SStatus 100 SControl 300)" message disappeared.
> - My SSD was detected as /dev/sda.

Perfect!

Could you now test only that last small change for
mvebu_a3700_comphy_reset() without previous changes?
To verify that issue is in mvebu_a3700_comphy_reset() function.



More information about the linux-phy mailing list