Tartarus changed the topic of #u-boot to: SOURCE MOVED TO https://source.denx.de/u-boot/u-boot.git / U-Boot v2025.01, v2025.04-rc3 are OUT / Merge Window is CLOSED, next branch is OPEN / Release v2025.04 is scheduled for 07 April 2025 / Channel archives at https://libera.irclog.whitequark.org/u-boot
warpme has joined #u-boot
warpme has quit [Ping timeout: 252 seconds]
sukrutb_ has joined #u-boot
warpme has joined #u-boot
sukrutb has quit [Ping timeout: 244 seconds]
warpme has quit [Ping timeout: 252 seconds]
warpme has joined #u-boot
apritzel has quit [Ping timeout: 252 seconds]
warpme has quit [Ping timeout: 244 seconds]
malte has quit [Remote host closed the connection]
malte has joined #u-boot
warpme has joined #u-boot
warpme has quit [Ping timeout: 252 seconds]
sally has quit [Changing host]
sally has joined #u-boot
jclsn has quit [Ping timeout: 272 seconds]
warpme has joined #u-boot
jclsn has joined #u-boot
warpme has quit [Ping timeout: 265 seconds]
mmu_man has quit [Ping timeout: 272 seconds]
warpme has joined #u-boot
manny68 has joined #u-boot
warpme has quit [Ping timeout: 248 seconds]
warpme has joined #u-boot
warpme has quit [Ping timeout: 252 seconds]
Daanct12 has joined #u-boot
vardhan has joined #u-boot
warpme has joined #u-boot
warpme has quit [Ping timeout: 260 seconds]
vardhan_ has joined #u-boot
warpme has joined #u-boot
ja_02 has quit [Remote host closed the connection]
vardhan has quit [Ping timeout: 252 seconds]
warpme has quit [Ping timeout: 245 seconds]
ja_02 has joined #u-boot
warpme has joined #u-boot
clamor has joined #u-boot
warpme has quit [Ping timeout: 252 seconds]
dsimic has quit [Ping timeout: 252 seconds]
dsimic has joined #u-boot
warpme has joined #u-boot
manny68 has quit [Quit: Client closed]
warpme has quit [Ping timeout: 248 seconds]
warpme has joined #u-boot
warpme has quit [Ping timeout: 252 seconds]
enok has quit [Read error: Connection reset by peer]
warpme has joined #u-boot
warpme has quit [Ping timeout: 244 seconds]
Daanct12 has quit [Ping timeout: 252 seconds]
warpme has joined #u-boot
warpme has quit [Ping timeout: 276 seconds]
shadowless has quit [Ping timeout: 248 seconds]
goliath has joined #u-boot
shadowless has joined #u-boot
warpme has joined #u-boot
Daanct12 has joined #u-boot
warpme has quit [Ping timeout: 252 seconds]
warpme has joined #u-boot
ldevulder has joined #u-boot
enok has joined #u-boot
warpme has quit [Ping timeout: 248 seconds]
apritzel has joined #u-boot
naoki has joined #u-boot
mrnuke has quit [Ping timeout: 244 seconds]
apritzel has quit [Ping timeout: 272 seconds]
mrnuke has joined #u-boot
ikarso has joined #u-boot
vardhan_ has quit [Remote host closed the connection]
vardhan_ has joined #u-boot
warpme has joined #u-boot
mripard has quit [Ping timeout: 252 seconds]
mripard has joined #u-boot
warpme has quit [Ping timeout: 248 seconds]
ungeskriptet has quit [Ping timeout: 272 seconds]
ungeskriptet has joined #u-boot
warpme has joined #u-boot
mckoan|away is now known as mckoan
enok has quit [Ping timeout: 248 seconds]
vardhan_ has quit [Ping timeout: 244 seconds]
jclsn has quit [Quit: WeeChat 4.5.1]
sszy has joined #u-boot
ungeskriptet has quit [Ping timeout: 265 seconds]
ungeskriptet_ has joined #u-boot
ungeskriptet_ is now known as ungeskriptet
f_ is now known as [LLM]f_
ungeskriptet has quit [Ping timeout: 252 seconds]
ungeskriptet has joined #u-boot
ldevulder has quit [Remote host closed the connection]
ldevulder has joined #u-boot
clamor has quit [Ping timeout: 260 seconds]
clamor has joined #u-boot
clamor has quit [Read error: Connection reset by peer]
clamor has joined #u-boot
___nick___ has joined #u-boot
apritzel has joined #u-boot
___nick___ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
___nick___ has joined #u-boot
___nick___ has quit [Client Quit]
___nick___ has joined #u-boot
apritzel has quit [Ping timeout: 246 seconds]
enok has joined #u-boot
enok has quit [Client Quit]
enok has joined #u-boot
enok has quit [Client Quit]
enok has joined #u-boot
warpme has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
___nick___ has quit [Ping timeout: 252 seconds]
___nick___ has joined #u-boot
apritzel has joined #u-boot
enok has quit [Ping timeout: 244 seconds]
enok has joined #u-boot
enok has quit [Ping timeout: 260 seconds]
enok has joined #u-boot
ladis has joined #u-boot
mmu_man has joined #u-boot
m5zs7k has quit [Ping timeout: 276 seconds]
clever has quit [Ping timeout: 244 seconds]
warpme has joined #u-boot
m5zs7k has joined #u-boot
___nick___ has quit [Ping timeout: 272 seconds]
enok has quit [Ping timeout: 268 seconds]
drmpeg has quit [Ping timeout: 248 seconds]
drmpeg has joined #u-boot
ladis has quit [Read error: Connection reset by peer]
enok has joined #u-boot
enok has quit [Quit: enok]
enok71 has joined #u-boot
enok71 is now known as enok
srk has quit [Ping timeout: 244 seconds]
srk has joined #u-boot
apritzel has quit [Remote host closed the connection]
prabhakalad has quit [Ping timeout: 268 seconds]
prabhakalad has joined #u-boot
enok has quit [Quit: enok]
enok71 has joined #u-boot
enok71 is now known as enok
umbramalison_alt has joined #u-boot
umbramalison has quit [Ping timeout: 252 seconds]
enok has quit [Quit: enok]
enok71 has joined #u-boot
enok71 has quit [Ping timeout: 252 seconds]
vardhan_ has joined #u-boot
goliath has quit [Quit: SIGSEGV]
wooosaiiii has quit [Remote host closed the connection]
wooosaiiii has joined #u-boot
naoki has quit [Quit: naoki]
Daanct12 has quit [Quit: WeeChat 4.6.0]
wooosaiiii has quit [Remote host closed the connection]
wooosaiiii has joined #u-boot
<sjg1> calebccff: OK I see, fair enough. Anyway, that series was sent before I added the base-commit to patman. It is resolved now, so future series should always show the base commit
wooosaiiii has quit [Remote host closed the connection]
warpme has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
wooosaiiii has joined #u-boot
wooosaiiii has quit [Remote host closed the connection]
wooosaiiii has joined #u-boot
wooosaiiii has quit [Remote host closed the connection]
Guest92 has joined #u-boot
wooosaiiii has joined #u-boot
Guest92 has quit [Client Quit]
Guest92 has joined #u-boot
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #u-boot
Guest92 has quit [Quit: Client closed]
<sjg1> apalos: Here is the failure that I am seeing if it helps: https://sjg.u-boot.org/u-boot/u-boot/-/jobs/43063
<sjg1> apalos: Could you point me to the rpi TPM you mentioned?
Guest92 has joined #u-boot
enok has joined #u-boot
mmu_man has quit [Ping timeout: 252 seconds]
mmu_man has joined #u-boot
<apalos> sjg1: AFACIT it's a reset timeout that fails
<apalos> you can asily test with qemu as wel though https://apalos.github.io/EFI%20TCG2%20protocol%20in%20U-Boot%20and%20QEMU.html#EFI%20TCG2%20protocol%20in%20U-Boot%20and%20QEMU
enok has quit [Ping timeout: 245 seconds]
Guest92 has quit [Quit: Client closed]
mckoan is now known as mckoan|away
vardhan_ has quit [Ping timeout: 246 seconds]
umbramalison has joined #u-boot
umbramalison_alt has quit [Ping timeout: 252 seconds]
enok has joined #u-boot
<sjg1> apalos: But why is 'tpm2 autostart' resetting? Does the rest run OK on your hardware?
<sjg1> apalos: I ordered the TPM module but balked at $50 for postage, so I'll pick it up when next in the UK. Thanks for the link
<apalos> sjg1: I dont think it resets anything
<apalos> but I'll have to check, that tpm is working pretty well though, iirc you just need to add spi bitbanging & a DT entry on the rpi
sszy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
enok has quit [Ping timeout: 245 seconds]
enok has joined #u-boot
<sjg1> apalos: OK. Now I remember mentioning that trying to reset the TPM twice doesn't work on this board. I wonder if that is it? I think you said that to be spec compliant it is supposed to ignore a second reset
<sjg1> Tartarus: I am trying to send the sunxi series again as you requested
<sjg1> Tartarus: But I am still seeing a dependency loop:
<sjg1> Tartarus: Am I missing something?
<sjg1> Tartarus: The tree is at u-boot-dm/std-working if you want to look at it
enok has quit [Quit: enok]
enok has joined #u-boot
<Tartarus> sjg1: You said you would drop the first patch
<Tartarus> sjg1: I also said you should just post the plain text env and other sunxi specific stuff and not the migration
<Tartarus> As the migration is blocked.
<sjg1> Tartarus: The first patch is 'bootstd: Avoid depending on BLK', right?
<Tartarus> sjg1: Yes
[LLM]f_ is now known as f_
<sjg1> Tartarus: If I drop that patch, then 'sunxi: Move to bootstd' causes build errors. I'm confused because I thought you did some BLK work to correct that
f_ is now known as [LLM]f_
<Tartarus> sjg1: Yes, I did all of the work for everything in-tree, you might need to rework bootstd? But I also don't know what would lead to build errors now as opposed to then.
clamor has quit [Ping timeout: 260 seconds]
<Tartarus> You should likely have bootstd select BLK, not depends on BLK
enok71 has joined #u-boot
enok has quit [Ping timeout: 246 seconds]
enok71 is now known as enok
clamor has joined #u-boot
<sjg1> Tartarus: OK thanks, that seems to work. I'll send a v6 once it gets past CI
vagrantc has joined #u-boot
mmu_man has quit [Ping timeout: 245 seconds]
mmu_man has joined #u-boot
goliath has joined #u-boot
clamor has quit [Read error: Connection reset by peer]
ldevulder has quit [Ping timeout: 245 seconds]
[LLM]f_ is now known as f_
apritzel has joined #u-boot
rvalue- has joined #u-boot
rvalue has quit [Ping timeout: 252 seconds]
rvalue- is now known as rvalue
<sjg1> Tartarus: Well that doesn't work, unfortunately. Making BOOTSTD select BLK causes 3c120 to break, for example
apritzel has quit [Ping timeout: 252 seconds]
<apalos> sjg1: not ignore it, but you only need to start it once
<apalos> you must not be able to reset the TPM without a CPU reset
<apalos> the autostart just ignores the startup sequence if it has already run iirc
ldevulder has joined #u-boot
<apalos> that process_reset() comes from the cr50_i2c.c driver,
<apalos> ok the problem is that cr50_i2c_open() calls process_reset() and that thing times out
apritzel has joined #u-boot
<apalos> something fails to cancel on that tpm,
<apalos> tpm autostart withh
<apalos> 1. run the selftests
<apalos> 2. initialize the TPM
<apalos> (2) is only supposed to run once, but the selftests will always run
<apalos> but what really fails is that tpm_open on that driver calls that 'process_reset()'
<sjg1> apalos: Thanks for taking a look. Do you know how to fix it?
<apalos> no I have no idea how that device works,
<apalos> make the timeout bigger?
<apalos> or
<apalos> ytou can try to
<apalos> give me a sec let me check the defconfig
<apalos> configs/chromebook_coral_defconfig is this the broken board?
<apalos> if yes, play around with the bootcommand
<apalos> tpm init; tpm startup TPM2_SU_CLEAR; -> tpm autostart
<sjg1> apalos: OK
<apalos> ok what about tpm autostart twice?
<apalos> and try this as well
<apalos> tpm init && tpm startup TPM2_SU_CLEAR && tpm self_test full && tpm self_test continue && tpm autostart
<sjg1> This is the problem I mentioned to you when you were pushing 'tpm autostart'. I think at the time my board was broken due to bloblist so I wasn't too sure
<sjg1> what about tpm autostart twice?: The second one hangs
<sjg1> That chain of commands hangs
<apalos> raise the timeout pls, in case the selftests take way way way too long
<apalos> for example try this
<apalos> tpm init && tpm startup TPM2_SU_CLEAR && tpm self_test full && tpm init
<apalos> does that work?
<sjg1> No, the second 'tpm init' hangs
<apalos> so its the same problem and not a tpm autostart one
<sjg1> The timeout is 30 seconds, which seems a very long time
<apalos> that device takes way too long to run selftests
<apalos> and tpm autostart does selftests because that's what tryhe TVG spec says
<apalos> TVG = TCG
<apalos> IOW if at any point in time selftests gets queued twice the device dies
<apalos> the command that queues this is irrelevant
<apalos> I think your best bet is look at the linux driver in case they had similar issues
<sjg1> apalos: The timeout doesn't help. It really is dead
<sjg1> I don't see anything particular in Linux
<sjg1> apalos: But I'm not sure that it is valid to call process_reset() a second time, since the locality will be active, won't it?
<apalos> locality ios claimed on open iirc
<apalos> so open first calls that process_reset()
<apalos> but I dont udnerstand the comments on process_reset()
<apalos> because the TPM shouldnt be able to reset witout a cpu reset to begin with
<sjg1> apalos: The TPM function naming is not great
<sjg1> apalos: But it seems that we call tpm_init() twice, without calling tpm_cleanup() in between?
<sjg1> apalos: That seems wrong to me. You are not supposed to open the TPM twice
<sjg1> s/you/we/
<apalos> uuyou can bu it should return -EBUSY
lehmanju has quit [Quit: The Lounge - https://thelounge.chat]
<sjg1> apalos: Oh gosh this is pretty confusing
<sjg1> apalos: We have struct tpm_chip where your field is kept, but this is only used by tpm2_tis_core
<sjg1> We have struct tpm_chip_priv which is attached to the uclass (so cr50 has it) but it doesn't have is_open
<apalos> yes because all the TPMs that are TIS compliant call that code
<apalos> instead of copy/pasting it per driver
<apalos> but the cr50 isnt tis compliant or no one fixed that to use the TIS core
<sjg1> apalos: I'm not sure about all, but definitely most use it
<sjg1> apalos: There's some ST thing that doesn't
<apalos> that's v1?
<apalos> or v2?
<apalos> tis_core is covering v2 only
<sjg1> Hmmm it doesn't say, so perhaps v1?
<apalos> the whole point og haiong tis_core is that drivers just need to define the ir bus ops
<sjg1> Anyway let's assume that cr50 has some quirks
<apalos> instead of copy pasting the same code in 100 different drivers
<sjg1> From the top of the Linux driver:
<apalos> add that patch to your cr50 it will probably fix it for you
<apalos> yes I know
<apalos> I pasted that back to you when we were discussing the tpm providing an RNG
<apalos> and I was still saying that we shouldnt mess up our code because CR50 is special
<apalos> We shold have the generic part + whatever cr50 thinks is '''special'''
<sjg1> apalos: This works:
<apalos> why that and not check is_open?
<apalos> you said you dont have that for the cr50?
<sjg1> apalos: Yes, see above: We have struct tpm_chip where your field is kept, but this is only used by tpm2_tis_core
<sjg1> cr50 doesn't use tpm2_tis_core
<apalos> ok then set it to 1 the first time you run open
<apalos> and then we have common code everywhere
<apalos> want me to send a patch you can try ?
<sjg1> apalos: No, please look at the code. The struct tpm_chip is used by other drivers, but not cr50
<apalos> ok just add a comment pls and use that locality
<sjg1> apalos: I suspect it could be converted, but I don't see a way to handle the GPIO interrupt in struct tpm_tis_phy_ops
<apalos> no that's fine
<sjg1> apalos: OK that gets a lot further:
<apalos> RH_PLATFORM changes the hierarchy, I dont know why that blows up in he cr50 sorry
<sjg1> apalos: OK, well it is better, thank you. I sent a patch
ldevulder has quit [Ping timeout: 252 seconds]
enok has quit [Remote host closed the connection]
Hypfer6 has quit [Read error: Connection reset by peer]
Hypfer6 has joined #u-boot
goliath has quit [Quit: SIGSEGV]
<ja_02> dormito u were talking about imxrt1170 which i missed. What about the 1170 is wrong? or was it the imx8 that is wrong