Author Topic: AST disable jumper doesn't disable AST video  (Read 921 times)

bobpaul

  • Newbie
  • *
  • Posts: 11
  • Karma: +3/-0
    • View Profile
AST disable jumper doesn't disable AST video
« on: November 30, 2024, 12:29:27 am »
I have PCIe graphics (AMD Radeon RX 550) with firmware in BOOTKERNFW. I put AST disable jumper in place and I've fully powered down the system.

When I power on the PPC, the Raptor splashscreen comes up on the AST video output and shows linux boot messages for Pettiboot. Pettiboot comes up on both the AST and the AMD graphics. When I select my distro the AMD graphics goes blank, boot messages continue to show on the AST, and not until the login prompt (either console login or GDM; both work) does the AMD graphics come back, but the AST output keeps whatever was last shown and never actually turns off.

I looked at the FPGA's i2c registers and I do think I have the jumper in the right spot and my FPGA firmware is new enough:

Code: [Select]
root@talos:~# i2cget -y 12 0x31 0x00
0x0a

# 0x0a > 0x07; version 0x07 required for AST disabled...

root@talos:~# i2cget -y 12 0x31 0x07
0x63
 # AST disabled, cpu2 present, no errors, atx power requested, atx power good


Is that normal? I thought with the AST disabled jumper in place the AST would be completely unused.

BMC version:     2.7.0-dev-571-g67efd9872 (from the 2.10 bundle)
PNOR: open-power-talos-v1.20-3240-gaef76a11

ClassicHasClass

  • Sr. Member
  • ****
  • Posts: 473
  • Karma: +37/-0
  • Talospace Earth Orbit
    • View Profile
    • Floodgap
Re: AST disable jumper doesn't disable AST video
« Reply #1 on: November 30, 2024, 02:20:21 pm »
My T2 is nearly exactly the same setup, with the Raptor BTO WX7100. I have the disable jumper on and firmware in BOOTKERNFW. On this machine, the ASPEED video is indeed still active, but it's showing the last stage of Hostboot; my understanding is this is deliberate so you can still monitor boot messages before the GPU is activated. However, after Hostboot completes, Petitboot never shows up on the ASPEED output, only on the WX7100.

Out of curiosity, what does lshw say when you're in the operating system? On this system BMC video is listed as unclaimed (Fedora Linux 41), which is what I would expect.

Code: [Select]
     *-pci:5
          description: PCI bridge
          product: POWER9 Host Bridge (PHB4)
          vendor: IBM
          physical id: 105
          bus info: pci@0005:00:00.0
          version: 00
          slot: UOPWR.A100059-Node0-BMC
          width: 32 bits
          clock: 33MHz
          capabilities: pci normal_decode bus_master cap_list
          resources: memory:600c280000000-600c2ffefffff
        *-pci
             description: PCI bridge
             product: AST1150 PCI-to-PCI Bridge
             vendor: ASPEED Technology, Inc.
             physical id: 0
             bus info: pci@0005:01:00.0
             version: 04
             slot: BMC
             width: 32 bits
             clock: 33MHz
             capabilities: pci normal_decode bus_master cap_list
             resources: memory:600c280000000-600c2ffefffff
           *-multimedia UNCLAIMED
                description: Multimedia video controller
                product: ASPEED Graphics Family
                vendor: ASPEED Technology, Inc.
                physical id: 0
                bus info: pci@0005:02:00.0
                version: 41
                slot: BMC
                width: 32 bits
                clock: 33MHz
                capabilities: cap_list
                configuration: latency=0
                resources: memory:600c280000000-600c280ffffff memory:600c281000000-600c28101ffff

And for the record,

Code: [Select]
root@tim-bmc:~# i2cget -y 12 0x31 0x00
0x0c
root@tim-bmc:~# i2cget -y 12 0x31 0x07
0x63

This seems later than yours.
« Last Edit: November 30, 2024, 02:24:01 pm by ClassicHasClass »

bobpaul

  • Newbie
  • *
  • Posts: 11
  • Karma: +3/-0
    • View Profile
Re: AST disable jumper doesn't disable AST video
« Reply #2 on: December 02, 2024, 10:33:16 am »
On this machine, the ASPEED video is indeed still active, but it's showing the last stage of Hostboot; my understanding is this is deliberate so you can still monitor boot messages before the GPU is activated. However, after Hostboot completes, Petitboot never shows up on the ASPEED output, only on the WX7100.

Yes, that's exactly what I would have expected.

On mine both the ASPEED shows hostboot with a nice framebuffer background, then the petiboot boot menu with a nice Raptor framebuffer backgound, then the AMDGPU gets the petiboot menu on just a black screen. When I navigate petiboot, nothing changes on the ASPEED and I have to use the AMDGPU display. But as soon as I press enter to boot up Fedora, the both screens show the kernel loading messages (at the bottom of petiboot) and then the AMDGPU freezes and all of the Fedora boot process is shown on the ASPEED until the login prompt is shown. At that point, I have only the login prompt on the AMDGPU, but (if gdm is disabled on fedora) everything up to and including the login prompt is shown on the ASPEED. The ASPEED is then frozen at that point and shows nothing more.

EDIT So the ASPEED output doesn't freeze, it's just in sync with the BMC's console. With the jumper in place, I can connect to the BMC, open `obmc-console-client`, and when I type there it shows up on the ASPEED vga. This is true both when I'm in Petiboot and when I'm in Fedora.

Out of curiosity, what does lshw say when you're in the operating system?

With the jumper in place, the `ast` kernel module isn't loaded (as expected, even without blacklisting). Like yours, my ASPEED shows as unclaimed.
Code: [Select]
        *-pci
             description: PCI bridge
             product: AST1150 PCI-to-PCI Bridge
             vendor: ASPEED Technology, Inc.
             physical id: 0
             bus info: pci@0005:01:00.0
             version: 04
             slot: BMC
             width: 32 bits
             clock: 33MHz
             capabilities: pci normal_decode bus_master cap_list
             resources: memory:600c280000000-600c2ffefffff
           *-multimedia UNCLAIMED
                description: Multimedia video controller
                product: ASPEED Graphics Family
                vendor: ASPEED Technology, Inc.
                physical id: 0
                bus info: pci@0005:02:00.0
                version: 41
                slot: BMC
                width: 32 bits
                clock: 33MHz
                capabilities: cap_list
                configuration: latency=0
                resources: memory:600c280000000-600c280ffffff memory:600c281000000-600c28101ffff


The last message shown on the ASPEED console before the login prompt appears (and the ASPEED output stops changing) is:
Code: [Select]
Dec 02 09:06:34 syndicate kernel: fbcon: Taking over console
Dec 02 09:06:34 syndicate kernel: Console: switching to colour frame buffer device 200x75

Code: [Select]
root@tim-bmc:~# i2cget -y 12 0x31 0x00
0x0c

This seems later than yours.

Now that's interesting. On the wiki don't see anything newer than FPGA firmware 1.08. Why do ours show 0x0a and 0x0c rather than something like 0x07 or 0x08?

This makes me think maybe I should upgrade the FPGA firmware or maybe look more into Petiboot configuration.



With the disable jumper removed I don't get petiboot on the AMDGPU at all, but GNOME in fedora 41 was able to see all displays (ASPEED + 2 on the AMDGPU; other distros behave differently...). My end goal, which I don't expect to solve in this thread, is to get petiboot + early console on the AMDGPU so I can just leave the ASPEED vga disconnected most of the time. (I intend to do encrypted rootfs and right now I've only gotten the password prompt displaying on either the ASPEED or the bmc console).
« Last Edit: December 02, 2024, 10:12:11 pm by bobpaul »

atomicdog

  • Newbie
  • *
  • Posts: 43
  • Karma: +4/-0
    • View Profile
Re: AST disable jumper doesn't disable AST video
« Reply #3 on: December 02, 2024, 01:37:28 pm »
Support for VGA disable was added in v1.01, https://wiki.raptorcs.com/wiki/Talos_II/Firmware, so your FPGA version might be older then that.

atomicdog

  • Newbie
  • *
  • Posts: 43
  • Karma: +4/-0
    • View Profile
Re: AST disable jumper doesn't disable AST video
« Reply #4 on: December 02, 2024, 04:54:28 pm »
Looks like 0x0C is for fpga-v1.08.rom and 0x0A is fpga-v1.07.rom so should be new enough.


bobpaul

  • Newbie
  • *
  • Posts: 11
  • Karma: +3/-0
    • View Profile
Re: AST disable jumper doesn't disable AST video
« Reply #5 on: December 03, 2024, 01:02:15 am »
I think it is working correctly, I just didn't expect the `hvc0` to keep showing on the ASPEED vga after petiboot loaded.

With the jumper neither petiboot nor the main OS have the ast kernel module loaded and the amdgpu is the only framebuffer device in both environments. And I found adding `console=tty0 console=hvc0` (just like petiboot uses) to all of my kernel commandlines causes a good portion of the OS startup to show before the login prompt. If I keep messing around, hopefully I can get things showing even sooner.