Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom HSIO configuration (bios) #7

Open
g992 opened this issue Jul 7, 2024 · 12 comments
Open

Custom HSIO configuration (bios) #7

g992 opened this issue Jul 7, 2024 · 12 comments

Comments

@g992
Copy link

g992 commented Jul 7, 2024

Hi! How can i get bios config with next ports?

HSIO0: USB 3.2 10Gbps
HSIO1: PCIe 3.0 x1
HSIO2: PCIe 3.0 x1
HSIO3: PCIe 3.0 x1
==========
HSIO8: SATA 3.0
HSIO9: SATA 3.0
HSIO10: SATA 3.0
HSIO11: SATA 3.0
==========
HSIO6: PCIe 3.0 x1

And, if possible, status leds for each sata

@alphaarea
Copy link
Member

You can only configure interface features to the extent allowed by the hardware

image

If you need more than 2 SATA interfaces, please prioritize PCIe SATA host controllers.

The SATA activity led can be derived from the Pin 11 activity signal of each SATA device without the involvement of the host controller.

@g992
Copy link
Author

g992 commented Jul 8, 2024

hmm, okay, sorry, first time in configuring interfaces
so.. cinfiguration below is possible?
HSIO0: USB 3.2 10Gbps
HSIO2: PCIe 3.0 x1
HSIO2: PCIe 3.0 x1
HSIO3: PCIe 3.0 x1

HSIO8: PCIe 3.0 x4 (Lane 0)
HSIO9: PCIe 3.0 x4 (Lane 1)
HSIO10: SATA 3.0
HSIO11: SATA 3.0

HSIO6: PCIe 3.0 x1

And, can i use USB 3.2 like usb 3.0, just connect rx/tx lines to USB Type A Connector? Or i must use type-c connector with controller?

@alphaarea
Copy link
Member

alphaarea commented Jul 8, 2024

hmm, okay, sorry, first time in configuring interfaces so.. cinfiguration below is possible? HSIO0: USB 3.2 10Gbps HSIO2: PCIe 3.0 x1 HSIO2: PCIe 3.0 x1 HSIO3: PCIe 3.0 x1

HSIO8: PCIe 3.0 x4 (Lane 0) HSIO9: PCIe 3.0 x4 (Lane 1) HSIO10: SATA 3.0 HSIO11: SATA 3.0

HSIO6: PCIe 3.0 x1

And, can i use USB 3.2 like usb 3.0, just connect rx/tx lines to USB Type A Connector? Or i must use type-c connector with controller?

Yes, the current configuration will work.

USB 3.2 is not directly related to Type-C. It can still be designed as a Type-A connector.
However, the 10Gbps signal is more fragile and requires more careful design of the routing, or limiting the speed to USB 3.0 to avoid instability.

@g992
Copy link
Author

g992 commented Jul 8, 2024

Great! how can I get a BIOS with this configuration?

Also, are there instructions for flashing the BIOS somewhere?

about USB3.0: I understand, I don’t need 10Gbps, since only a flash drive will be connected to this connector

@alphaarea
Copy link
Member

This is the BIOS with the HSIO configuration modified as you requested. The flashing method can be found here. After updating the BIOS, you must power down and remove the RTC battery to restore the default settings.

Note that this is not an official release, and you should have a programmer (e.g. CH341A) ready to repair the LattePanda Mu when it cannot boot at all.

LP-BS-S70NC1R200-SR-A-g992.zip

@g992
Copy link
Author

g992 commented Jul 17, 2024

thanks! can I install my bios only on additional memory? (I did not provide for this in my project) I have a programmer, can I just flash the memory that is installed on the LattePanda MU module?

@jamesvici
Copy link

If I wanted M.2 M-Key for SATA and NVMe then the two SATA lines need to be the first lane on the M.2 ports. If I also want the port to be NVMe x4, are there any rules to which HSIO lanes can be grouped together? For example, could port 1 would be HSIO10:6 while port 2 is HSIO11+HSIO1:3? I know there's 1/2/4/8/16 group sizes, but I don't know if those have to be with certain lanes as well.

@alphaarea
Copy link
Member

If I wanted M.2 M-Key for SATA and NVMe then the two SATA lines need to be the first lane on the M.2 ports. If I also want the port to be NVMe x4, are there any rules to which HSIO lanes can be grouped together? For example, could port 1 would be HSIO10:6 while port 2 is HSIO11+HSIO1:3? I know there's 1/2/4/8/16 group sizes, but I don't know if those have to be with certain lanes as well.

The allowed PCIe port configurations are as follows:

image

The current BIOS does not support automatic switching between SATA/PCIe for the M.2 interface. You need to specify the interface's purpose, or switch functions by flashing the BIOS.

@alphaarea
Copy link
Member

thanks! can I install my bios only on additional memory? (I did not provide for this in my project) I have a programmer, can I just flash the memory that is installed on the LattePanda MU module?

Both the carrier and the Mu have ROMs that serve the same complete functions, and either ROM can be used by switching via the BIOS_SEL pin.

@El-Luhb
Copy link

El-Luhb commented Sep 22, 2024

Hello. I got a similar BIOS as g992.

HSIO0: USB 3.2 10Gbps
HSIO1: PCIe 3.0 x1
HSIO2: PCIe 3.0 x1
HSIO3: PCIe 3.0 x1
==========
HSIO8: PCIe 3.0 x1
HSIO9: PCIe 3.0 x1
HSIO10: PCIe 3.0 x1
HSIO11: PCIe 3.0 x1
==========
HSIO6: PCIe 3.0 x1

On my carrier it shows a strange behavior. Only certain configurations (assignments) work, but then only partially. And on the Lite carrier it runs normally, like both USB3 ports. I am still waiting for new BIOS chips as I bricked the first two (on both my carriers). Then I will test the BIOS again on fresh chips.

@El-Luhb
Copy link

El-Luhb commented Sep 25, 2024

Was now able to install the BIOS on my carrier.
It works, but I still observe some strange behavior.
It seems that a custom BIOS cannot easily be installed on the Mu itself without causing errors. At least in the configuration I need here.
Is this correct or have I done something wrong here?
Has anyone here had similar experiences?
I followed the linked flashing method, for the Mu BIOS. For my carrier BIOS I used a CH341A (modded to 3.3V).

@alphaarea
Copy link
Member

@El-Luhb I replied to you in your project repository, I'll close this issue if there are no further questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants