redbrain has quit [Read error: Connection reset by peer]
redbrain has joined #u-boot
swiftgeek has quit [Ping timeout: 246 seconds]
swiftgeek has joined #u-boot
<hanetzer>
I don't suppose anyone here knows if there's a register one can query in the gic to see if it supports virtualization extensions?
mmu_man has quit [Ping timeout: 248 seconds]
apritzel has quit [Ping timeout: 240 seconds]
akaWolf has quit [Ping timeout: 276 seconds]
akaWolf has joined #u-boot
vagrantc has joined #u-boot
thopiekar has quit [Ping timeout: 240 seconds]
thopiekar has joined #u-boot
vagrantc has quit [Quit: leaving]
littlebobeep has quit [Ping timeout: 240 seconds]
littlebobeep has joined #u-boot
darkapex has joined #u-boot
littlebobeep has quit [Ping timeout: 240 seconds]
littlebobeep has joined #u-boot
thopiekar has quit [Ping timeout: 248 seconds]
thopiekar has joined #u-boot
littlebo1eep has joined #u-boot
littlebobeep has quit [Ping timeout: 240 seconds]
apritzel has joined #u-boot
apritzel has quit [Ping timeout: 240 seconds]
littlebo1eep has quit [Ping timeout: 240 seconds]
littlebobeep has joined #u-boot
stefanro has quit [Ping timeout: 250 seconds]
frieder has joined #u-boot
frieder has quit [Remote host closed the connection]
guillaume_g has joined #u-boot
stefanro has joined #u-boot
mckoan|away is now known as mckoan
sszy has joined #u-boot
tnovotny has joined #u-boot
kveremitz has joined #u-boot
matthias_bgg has joined #u-boot
tnovotny has quit [Quit: Leaving]
ide12 has quit [Quit: Cya!]
ide12 has joined #u-boot
mmu_man has joined #u-boot
GNUtoo has quit [Remote host closed the connection]
GNUtoo has joined #u-boot
monstr has joined #u-boot
torez has joined #u-boot
mmu_man has quit [Ping timeout: 276 seconds]
monstr has quit [Remote host closed the connection]
vagrantc has joined #u-boot
emz229 has joined #u-boot
<emz229>
Hello everyone! would someone be willing / available to answer a few questions about automatic SOM detection?
sobkas has joined #u-boot
<marex>
emz229: just ask the questions
prabhakarlad has quit [Quit: Client closed]
mckoan is now known as mckoan|away
apritzel_ has joined #u-boot
<emz229>
I have 2 different SOM modules, each have a different list of I2C devices (thus providing a way to differentiate them) I would like to know the best way to implement a way to setup things like early UART and secondary DIMM address.
<marex>
i2c is not a discoverable bus (i2c probe can confuse the i2c devices, dont do it)
<marex>
so , do you have some e.g. GPIO straps to differentiate the SoMs ?
<emz229>
unfortunately not, they are by two separate vendors with no available GPIO to my knowledge
<emz229>
we currently probe i2c address 0x27 to detect what carrier board the SOM is on.. and then load the appropriate image
<rfs613>
emz229: as marex said, there is no safe way to "probe" for i2c devices. It carries a risk of issuing the wrong command (eg. a read could become a write). So you while this might work in your particular situation, it is not a general purpose solution.
<rfs613>
You said there was no gpio, so maybe there is somethign that is shared? Perhaps an i2c eeprom that is always present, into which you could store the information of which carrier it is?
<emz229>
rfs613: what is considered general best practice instead of probing I2C devices?
<emz229>
The carrier board will always have the SPI flash mounted on it that u-boot is running from.
<rfs613>
emz229: the same u-boot binary regardless of SoM?
<emz229>
yes the goal is to have a single u-boot binary that can use either SoM
<emz229>
These are baytrail based Intel Atom modules, the only difference is one uses the internal legacy UART, and has 2nd DIMM addr 0xA4. The other (original) has an embedded controller that outputs UART, and 2nd DIMM addr 0xA2
<cambrian_invader>
well, if you know there is only a choice between X and Y it may be discoverable
<cambrian_invader>
since you can examine the registers of the devices and determine what is safe to access
<rfs613>
yes, thats what I mean by "it might work in your particular situation"
<cambrian_invader>
but this is no different than having a device-tree which specifies what is at each address
<cambrian_invader>
so IMO it's safe as long as you are smart about it
<emz229>
so currently the function `setup_internal_uart()` is called from `board_early_init_f` but from my testing I have very limited functionality at this point
matthias_bgg has quit [Quit: Leaving]
<rfs613>
yes, this is really quite early in the boot, the real serial console comes a bit later
<emz229>
rfs613: yes, it is very early.. however I have tried as a test to call that function from a later stage `board_late_init` and it has no effect at that point
<emz229>
also I find it rather challenging to interface with I2C devices from within the code instead of using the commands like I would within CONFIG_STD_DEVICES_SETTINGS for example
lovesegfault[m]1 has joined #u-boot
<lovesegfault[m]1>
Hi folks, would anyone be able to direct me on debugging NVME booting on a RaspberryPi CM4 with u-boot?
<lovesegfault[m]1>
I have the RPi's bootloader loading u-boot on the NVME, but then u-boot doesn't seem to discover the NVME and hangs
<lovesegfault[m]1>
if I do `pci`, I can see the PCIe device for the NVME drive listed, but `nvme scan`/`nvme info` don't show it
<lovesegfault[m]1>
Any ideas?
apritzel_ has quit [Ping timeout: 256 seconds]
chrfle has quit [Ping timeout: 248 seconds]
chrfle has joined #u-boot
<emz229>
cambrian_invader: Do you have any suggestions?
<cambrian_invader>
define board_fit_config_name_match in your board file
<cambrian_invader>
and in it try probing the appropriate i2c driver at the address above
<cambrian_invader>
depending on what you get, yield a different compatible
<cambrian_invader>
that is, if you are using SPL
<cambrian_invader>
I think U-Boot proper uses that function too?
<marex>
or you can use minimal DT with RESELECT
<marex>
or enable both UARTs and use both at the same time
<cambrian_invader>
neat, I didn't know about reselect
<cambrian_invader>
AFAIK you can't have multiple active serial consoles
<emz229>
marex: can you provide any documentation I can review?
<marex>
emz229: git grep DTB_RESELECT for examples
<emz229>
cambrain_invader: I am using U-Boot proper, the first thing that gets printed out is: U-Boot 2018.09 (Apr 26 2022 - 16:48:27 +0000)
<marex>
upgrade
<emz229>
I agree an upgrade is required.. convincing the team of that is another story.. what are your reasons for the upgrade suggestion? maybe it will help convince them
<cambrian_invader>
if you are doing secure boot there are some CVEs which would otherwise need backporting
<cambrian_invader>
the easiest way is to do `git log --grep=Fixes` on your arch's directory
apritzel_ has joined #u-boot
<emz229>
we are using secure boot, including several TPM setup / test steps, I have backported numerous CVEs most recent looks like CVE-2019-14195
<emz229>
I can change the second DIMM address to match the current SOM using `fsp,mrc-init-spd-addr2 = <0xa2>;` in the device tree, however what do you suggest for setting up early UART? im not sure how to change that, that early in the boot process (unless I save a env variable and read it back at that early boot stage)
<emz229>
for reference the dts I am working with is `x86/dts/baytrail_som-db5800-som-6867.dts`
prabhakarlad has joined #u-boot
<emz229>
i guess the question becomes, can I read environment variables such as `bootcmd` within `board_early_init_f` and if so, what function can I use to do so?
<cambrian_invader>
emz229: CVE-2021-27097
<cambrian_invader>
you can use env_get to read variables
<cambrian_invader>
but you shouldn't need to read bootcmd