Tartarus changed the topic of #u-boot to: SOURCE MOVED TO https://source.denx.de/u-boot/u-boot.git / U-Boot v2025.01 is OUT / Merge Window is OPEN, next branch is CLOSED / Release v2025.04 is scheduled for 07 April 2025 / Channel archives at https://libera.irclog.whitequark.org/u-boot
mckoan|away has quit [Ping timeout: 248 seconds]
mckoan|away has joined #u-boot
gsz has quit [Quit: leaving]
zibolo_ has quit [Ping timeout: 248 seconds]
zibolo has joined #u-boot
hanetzer has quit [Ping timeout: 264 seconds]
hanetzer has joined #u-boot
ikarso has quit [Quit: Connection closed for inactivity]
hanetzer has quit [Ping timeout: 252 seconds]
<Peng_Fan> marek, are you online?
jclsn has quit [Ping timeout: 272 seconds]
mmu_man has quit [Ping timeout: 265 seconds]
jclsn has joined #u-boot
<marex> Peng_Fan: yes
<Peng_Fan> marex, I not understand well on this
<Peng_Fan> The main issue SDHC not able to access secure memory in SPL stage, so need use a buffer to copy what SDHC loaded to secure memory(ATF/TEE)
<marex> Peng_Fan: OK, here is a question ... my understanding of the S/NS stuff is this:
<Peng_Fan> sure, please pick the usb patches via your tree.
<marex> you have RAM ... say from 0x0000_0000...0x8000_0000 (for simplicity sake)
<marex> you have Secure RAM ... say from 0x0000_0000...0x2000_0000 (for simplicity sake)
<marex> you have Non-Secure RAM ... say from 0x2000_0000..0x8000_0000 (for simplicity sake)
<marex> yes ?
<Peng_Fan> yup
<marex> and the SDHC controller can only write to Non-Secure RAM, yes ?
<Peng_Fan> right
<marex> but, you need to place blobs into Secure RAM, yes ?
<Peng_Fan> right
<Peng_Fan> Except U-Boot in non-secure RAM, ATF/TEE are in secure RAM.
<marex> so ... use the regular SPL loader -- whichever one you need, SDMMC, SPI, any of them ... and load the blobs into Non-Secure RAM first (Step 1)
<marex> and then, step 2 , implement spl_perform_fixups() to copy the blobs from Non-Secure RAM to Secure RAM
<Peng_Fan> But the address where to put the blobs are coded in containers entry/load address.
<marex> Peng_Fan: which container is that , fitImage ?
<Peng_Fan> imx container format.
<Peng_Fan> marex, should be spl_imx_container.c.
<marex> Peng_Fan: is it only the uSDHC that is affected by this problem, or also some SPI (FSPI/QSPI/whatever is in the MX95) ?
<Peng_Fan> others are also affected. If the IP is expected to be used by Linux later.
<Peng_Fan> If the IPs are only expected to be owned by secure world, the IP could be set as secure master in TRDC.
<Peng_Fan> But since SDHC is also used by Linux, so it is set as non-secure master in TRDC.
<marex> hmmmmmmmmmmmm
<marex> the other alternative that came to mind was to implement bounce-buffer-like thing in the SDHC driver
<marex> we already have that in common/bouncebuf.c for handling of unaligned IO and 32bit boundary stuff
<Peng_Fan> SDHC driver will also be used by U-Boot in non-secure env.
<Peng_Fan> If doing that in SDHC driver, we need restrict that with CONFIG_XPL to use bound buffer.
<marex> sure, but it could allocate a bounce buffer in NS area, load stuff into it, and if the destination buffer is S area, then it can do the extra memcpy
<Peng_Fan> this sounds feasible
<marex> would that be an option ?
<marex> oh, cool
<Peng_Fan> marex, we will give a look. Thanks
<marex> and bonus thing is, you would be able to reuse that same bounce-buffer-like code for other drivers too
<Peng_Fan> yeah.
<marex> nice :)
<marex> Peng_Fan: btw about https://source.denx.de/u-boot/custodians/u-boot-usb/-/commits/master , I picked the mx95 USB thing, and also, the other regulator_set_enable_if_allowed patch is needed at least for Verdin MX95 USB to work
<marex> I got USB 2.0 and 3.0 going, now waiting for the kernel DTs to get synced so the USB DT nodes would land
<Peng_Fan> marex, sure, thanks for working on the i.MX95 stuff.
<Peng_Fan> great!
<marex> I also got ethernet working, but that is ugly so far
<marex> I'll post patches once I clean that up
<marex> that netc block controller will need a separate driver in some SIMPLE_BUS uclass
<Peng_Fan> the enetc code is not in good shape, thanks if you would work on that.
<marex> Peng_Fan: also thank you and Alice :)
<Peng_Fan> pleasure!
<marex> Peng_Fan: oh btw. how do you figure out the layout of what is S and what is NS memory ?
<Peng_Fan> marex, it is coded in TRDC MRC
<Peng_Fan> In SM configs/mx95evk.cfg
<marex> is there some way U-Boot can query that information , e.g. via PSCI/SCMI/SMC ?
<marex> or can that information be somehow passed to U-Boot ?
<Peng_Fan> There is an entry named "DDR EXEC, begin=0x080000000, end=0x089FFFFFF"
<Peng_Fan> Currently the TRDC is not allow Cortex-A to access, so no way for U-Boot to query
<Peng_Fan> I was thinking to expose TRDC for A55 to read, but have not started on that
<marex> Peng_Fan: can you use the mailbox/mu interface you already have in place and only extend it ?
<marex> you will have to get this information to the SDHC driver somehow, possibly by placing it in DT (with binding that is acceptable in Linux too) , or by querying that information from the SM firmware , or something
<marex> hard-coding it into U-Boot binary itself is ... not nice
<Peng_Fan> marex, you mean not use imx-mailbox.c?
<Peng_Fan> For secure/non-secure memory, we will give a check, but since TRDC is blocked to access by A55, so no way as of now.
<marex> Peng_Fan: I mean, yes, use -- either the communication channel on top of imx-mailbox.c (which I think uses the iMX MU?) -- or -- put S/NS layout information into U-Boot control DT (if the first option is not possible)
<marex> Peng_Fan: I mean, yes, use -- either the communication channel between U-Boot and SM on top of imx-mailbox.c (which I think uses the iMX MU?) -- or -- put S/NS layout information into U-Boot control DT (if the first option is not possible)
<marex> there, that's clearer I hope
<Peng_Fan> I see. thanks. Need leave for a while.
<marex> Cheers, talk to you later
sjhill has quit [Remote host closed the connection]
naoki has quit [Ping timeout: 260 seconds]
naoki has joined #u-boot
teejay has quit [Quit: leaving]
teejay has joined #u-boot
goliath has joined #u-boot
ikarso has joined #u-boot
RoganDawes has joined #u-boot
mckoan_ has joined #u-boot
mckoan|away has quit [Ping timeout: 252 seconds]
pbergin__ has joined #u-boot
monstr has joined #u-boot
jfsimon1981_c has quit [Ping timeout: 248 seconds]
mckoan_ is now known as mckoan
naoki has quit [Ping timeout: 260 seconds]
mripard has joined #u-boot
sszy has joined #u-boot
eballetbo has joined #u-boot
vfazio_ has joined #u-boot
vfazio has quit [Read error: Connection reset by peer]
dsimic has quit [Ping timeout: 272 seconds]
frieder has joined #u-boot
dsimic has joined #u-boot
Guest77 has joined #u-boot
naoki has joined #u-boot
gsz has joined #u-boot
vardhan_ has joined #u-boot
davlefou has quit [Ping timeout: 252 seconds]
jfsimon1981 has joined #u-boot
davlefou has joined #u-boot
prabhakalad has joined #u-boot
mckoan is now known as mckoan|away
frytaped has joined #u-boot
ungeskriptet has quit [Ping timeout: 265 seconds]
ungeskriptet has joined #u-boot
ungeskriptet has quit [Ping timeout: 252 seconds]
ungeskriptet has joined #u-boot
gsz has quit [Ping timeout: 252 seconds]
ungeskriptet has quit [Remote host closed the connection]
ungeskriptet has joined #u-boot
mmu_man has joined #u-boot
RoganDawes has quit [Ping timeout: 240 seconds]
gsz has joined #u-boot
ungeskriptet has quit [Ping timeout: 252 seconds]
slobodan has joined #u-boot
ungeskriptet has joined #u-boot
Guest18 has joined #u-boot
Guest77 has quit [Ping timeout: 240 seconds]
ungeskriptet_ has joined #u-boot
ungeskriptet has quit [Ping timeout: 245 seconds]
ungeskriptet_ is now known as ungeskriptet
ungeskriptet has quit [Ping timeout: 252 seconds]
ungeskriptet has joined #u-boot
totkeks has joined #u-boot
<Tartarus> marex: Did you try "Makefile: Make sure all linker input objects exist" with "make O=/tmp/board" ? That's to fix the issue you talked about with nothing being built in board/$(VENDOR)/common/ yes?
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #u-boot
gsz has quit [Ping timeout: 252 seconds]
mmu_man has quit [Ping timeout: 252 seconds]
ungeskriptet has quit [Ping timeout: 276 seconds]
mmu_man has joined #u-boot
ungeskriptet has joined #u-boot
naoki has quit [Quit: naoki]
goliath has quit [Quit: SIGSEGV]
flokli has quit [Ping timeout: 264 seconds]
vardhan_ has quit [Ping timeout: 245 seconds]
flokli has joined #u-boot
frieder has quit [Quit: Leaving]
ungeskriptet has quit [Remote host closed the connection]
totkeks has quit [Ping timeout: 272 seconds]
ungeskriptet has joined #u-boot
joeskb7 has quit [Quit: Lost terminal]
Guest18 has quit [Quit: Client closed]
ungeskriptet has quit [Ping timeout: 252 seconds]
ungeskriptet has joined #u-boot
joeskb7 has joined #u-boot
urja has quit [Read error: Connection reset by peer]
<marex> Tartarus: I tried it in CI. No, I didn;t try make O=/path locally, why ?
<marex> Tartarus: yes
<Tartarus> OK, CI does that too
<marex> Tartarus: yes, that's to fix the board/vendor/common stuff with empty Makefiles
<Tartarus> And I was worried that the touch rule might not make the directory structure
<Tartarus> But I guess that's make's touch and not shell touch
urja has joined #u-boot
monstr has quit [Remote host closed the connection]
goliath has joined #u-boot
<marex> Tartarus: ha
guest94 has joined #u-boot
gsz has joined #u-boot
<Tartarus> My only other concern is that it might be wall-clock expensive doing so many "touch" operations in CI builds, can you point me at the pipeline you tested this in please?
gsz has quit [Ping timeout: 244 seconds]
sszy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
guest94 has quit [Quit: Client closed]
<Tartarus> marex: Great, basically no change.
<Tartarus> And that's within the margin of normal build time
<Tartarus> in fact looking slightly closer, the build itself was shorter on with than without the change, the rest was the time and tooling around CI itself.
<marex> mkorpershoek: hey, can you please check the "gadget: composite: add checking for interface number" patch ?
vagrantc has joined #u-boot
slobodan_ has joined #u-boot
slobodan has quit [Read error: Connection reset by peer]
<rfs613> marex: have just spotted your commit aad511a488c ARM: dts: renesas: Switch to using upstream DT
<rfs613> and i see you have noted RZN1 snarc doesn't have an upstream dts file
<rfs613> i guess we should fix that at some point... it's quite similar to r9a06g032-rzn1d400-db.dts
<marex> rfs613: yes please, the sooner the better :)
* rfs613 will need to figure out what is the process for that ;-)
slobodan_ has quit [Remote host closed the connection]
<marex> rfs613: get the DT into Linux, wait for it to trickle into U-Boot, then flip OF_UPSTREAM in your board config and remove local DT copy
<rfs613> yup, that much I figured ;-) it's the details of running that gauntlet that will probably be unpleasant ;-)
<shadow> rfs613: I'm doing the same for Milk-V Mars CM (-Lite)
gsz has joined #u-boot
mmu_man has quit [Ping timeout: 264 seconds]
mmu_man has joined #u-boot
pbergin__ has quit [Remote host closed the connection]
slobodan has joined #u-boot
vagrantc has quit [Quit: leaving]
gsz has quit [Ping timeout: 244 seconds]
Dr_Who has joined #u-boot
goliath has quit [Quit: SIGSEGV]
joeskb7 has quit [Ping timeout: 248 seconds]
gsz has joined #u-boot
joeskb7 has joined #u-boot
umbramalison has quit [Quit: %So long and thanks for all the fish%]
umbramalison has joined #u-boot
gsz has quit [Ping timeout: 272 seconds]
mmu_man has quit [Ping timeout: 248 seconds]
frytaped has quit [Ping timeout: 264 seconds]
mmu_man has joined #u-boot
slobodan has quit [Ping timeout: 252 seconds]
naoki has joined #u-boot
ikarso has quit [Quit: Connection closed for inactivity]