[PATCH v12 13/13] arm64: dts: ls1088ardb: Add serdes descriptions
Sean Anderson
sean.anderson at seco.com
Mon Mar 27 12:56:31 PDT 2023
On 3/27/23 14:15, Sean Anderson wrote:
> On 3/24/23 09:17, Ioana Ciornei wrote:
>> On Tue, Mar 21, 2023 at 04:13:12PM -0400, Sean Anderson wrote:
>>> This adds serdes support to the LS1088ARDB. I have tested the QSGMII
>>> ports as well as the two 10G ports. The SFP slot is now fully supported,
>>> instead of being modeled as a fixed-link.
>>>
>>> Linux hangs around when the serdes is initialized if the si5341 is
>>> enabled with the in-tree driver, so I have modeled it as a two fixed
>>> clocks instead. There are a few registers in the QIXIS FPGA which
>>> control the SFP GPIOs; I have modeled them as discrete GPIO controllers
>>> for now. I never saw the AQR105 interrupt fire; not sure what was going
>>> on, but I have removed it to force polling.
>>
>> So you didn't see the interrupt fire even without these patches?
>
> Not sure. I went to check this, and discovered I could no longer get the
> link to come up in Linux, even on v6.0 (before the rate adaptation
> tuff). I see the LEDs blinking in U-Boot, so presumably it's some
> configuration problem. I'm going to look into this further when I have
> more time.
I figured it out. I forgot the dpmac2 was 10G only (no rate adaptation
for the AQR105).
And the interrupt does not fire on net/main:
# cat /proc/interrupts | grep extirq
22: 0 0 0 0 0 0 0 0 ls-extirq 2 Level 0x0000000008b97000:00
Inspecting the phy manually shows the link coming up. By removing the
interrupt, the link comes up as usual. I wanted to look into this
further, but the IRQ goes through the QIXIS and the firmware source
isn't available so I wasn't able to do so.
If you'd like, I can try probing the signal (to see where the problem
is), but I won't have time for a bit.
>> I just tested this on a LS1088ARDB and it works.
>>
>> root at localhost:~# cat /proc/interrupts | grep extirq
>> 99: 5 ls-extirq 2 Level 0x0000000008b97000:00
>> root at localhost:~# ip link set dev endpmac2 up
>> root at localhost:~# cat /proc/interrupts | grep extirq
>> 99: 6 ls-extirq 2 Level 0x0000000008b97000:00
>> root at localhost:~# ip link set dev endpmac2 down
>> root at localhost:~# cat /proc/interrupts | grep extirq
>> 99: 7 ls-extirq 2 Level 0x0000000008b97000:00
>>
>> Please don't just remove things.
>
> Well, polling isn't the worst thing for a single interface... I do
> remember having a problem with the interrupt. If this series works
> with interrupts enabled, I can leave it in.
Anyway, given that interrupts seem to be broken for some boards? some
configurations? I would like to keep polling.
> Did you have a chance to look at the core (patches 7 and 8) of this
> series? Does it make sense to you? Am I missing something which would
> allow switching from 1G->10G?
--Sean
More information about the linux-arm-kernel
mailing list