ChanServ changed the topic of #armlinux to: ARM kernel talk [Upstream kernel, find your vendor forums for questions about their kernels] | https://libera.irclog.whitequark.org/armlinux
prabhakalad has quit [Ping timeout: 255 seconds]
prabhakalad has joined #armlinux
prabhakalad has quit [Ping timeout: 272 seconds]
prabhakalad has joined #armlinux
TheCoffeMaker_ has quit [Ping timeout: 260 seconds]
TheCoffeMaker has joined #armlinux
jclsn has quit [Ping timeout: 255 seconds]
jclsn has joined #armlinux
System_Error has quit [Remote host closed the connection]
System_Error has joined #armlinux
System_Error has quit [Remote host closed the connection]
System_Error has joined #armlinux
sakman has quit [Quit: Leaving]
sakman has joined #armlinux
mvaittin has joined #armlinux
sally has quit [Quit: sally]
sally has joined #armlinux
mvaittin has quit [Ping timeout: 268 seconds]
mvaittin has joined #armlinux
cbeznea_ has joined #armlinux
gclement has joined #armlinux
mvaittin has quit [Ping timeout: 246 seconds]
xvmt has quit [Remote host closed the connection]
xvmt has joined #armlinux
<pivi> it's jsut me, or this looks like a bad idea? https://lore.kernel.org/all/20240404161914.1655305-1-Frank.Li@nxp.com/ ? krzk ?
mvaittin has joined #armlinux
<krzk> pivi: it's downstream idea, what else to expect from NXP?
gclement has quit [Ping timeout: 256 seconds]
gclement has joined #armlinux
gclement has quit [Quit: Leaving.]
gclement has joined #armlinux
Misotauros is now known as misanthropos
gclement1 has joined #armlinux
gclement has quit [Read error: Connection reset by peer]
wens has quit [Ping timeout: 268 seconds]
wens has joined #armlinux
misanthropos has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
nsaenz has joined #armlinux
nsaenz has quit [Remote host closed the connection]
nsaenz has joined #armlinux
<pivi> krzk: I always try to have an optimistic mindset ... not that it always works ...
headless has joined #armlinux
misanthropos has joined #armlinux
misanthropos has quit [Remote host closed the connection]
misanthropos has joined #armlinux
sszy has joined #armlinux
prabhakalad has quit [Quit: Konversation terminated!]
prabhakalad has joined #armlinux
<krzk> yeah, to be honest, idea is quite creative and probably works fine... but it does not look like correct hardware description :)
<krzk> DT is for non-discoverable hardware so to solve the "non-discoverable" they added such mux and auto-discovery via dt :)
wil has quit [Read error: Connection reset by peer]
<javierm> pivi: the correct solution for this case would be for them to use DT overlays I think
wil has joined #armlinux
cbeznea has joined #armlinux
cbeznea_ has quit [Ping timeout: 252 seconds]
<pivi> javierm: I do not know the specific hardware, but another alternative would be to have the nodes disabled and have a fixup in the firmware (U-Boot in their case). In my mind overlays work better for stuff you can plug into a board, not for soldered-down differences. Or even better, 2 dts file (with a common dtsi) and some runtime selection in the firmware
<pivi> This last proposal I wrote would probably be the most correct one.
<javierm> pivi: u-boot can apply dtbo and pass a single DTB to the kernel (https://docs.u-boot.org/en/latest/usage/fdt_overlays.html), IMO that's better than custom fixup code in the FW
<javierm> pivi: it seemed that they wanted to avoid the multiple dts with a shared dtsi, and I can understand why because in the long term I found that's a maintanance burden
<javierm> specially if one has other different IP blocks between board revisions. But is just my opinion
<pivi> javierm: yes, but thinking at it once more it is really the correct solution. two dts, with just this change on the audio codec, and everything else in a shared dtsi. You can implemente the file selection in U-Boot, but you are not creating any coupling with the firmware (you can always select the file you want, no matter you use barebox or anything else)
<javierm> pivi: but isn't the same for dtbo ? Barebox also supports it https://www.barebox.org/doc/latest/user/devicetree.html#device-tree-overlays
<javierm> after all the DTB should really be part of the FW since is as krzk mentioned just a HW description
<javierm> IOW, should be coupled with the FW and not the kernel
<javierm> but agreed that there are trade offs for each option
<javierm> pivi: btw, Android is also moving towards dtbo AFAIU https://source.android.com/docs/core/architecture/dto/partitions
<javierm> so while it was originally conceived for expansion boards, I believe that is a more general solution for this problem than having a bunch of dts files with shared dtsi
<pivi> javierm: IF your firmware supports dtbo yes. With that said probably for "soldered-down" variants it's just a matter of taste. If the firmware can load the correct dtbo, can with the same logic select the correct dtb
luispm has joined #armlinux
<javierm> pivi: agreed, as said there are different trade offs with both approaches
headless has quit [Quit: Konversation terminated!]
iivanov has quit [Ping timeout: 264 seconds]
iivanov has joined #armlinux
gclement1 has quit [Ping timeout: 256 seconds]
gclement has joined #armlinux
ungeskriptet1 has joined #armlinux
ungeskriptet has quit [Ping timeout: 264 seconds]
ungeskriptet1 is now known as ungeskriptet
prabhakar has quit [Quit: Connection closed]
prabhakarlad has joined #armlinux
psydroid has joined #armlinux
headless has joined #armlinux
atorgue99 has joined #armlinux
atorgue99 has quit [Client Quit]
atorgue99 has joined #armlinux
ungeskriptet4 has joined #armlinux
ungeskriptet has quit [Ping timeout: 256 seconds]
ungeskriptet4 is now known as ungeskriptet
snalty has quit [Read error: Connection reset by peer]
Livio has joined #armlinux
snalty has joined #armlinux
vingu has quit [Ping timeout: 255 seconds]
vingu has joined #armlinux
atorgue99 has quit [Ping timeout: 250 seconds]
Livio has quit [Ping timeout: 260 seconds]
headless has quit [Quit: Konversation terminated!]
mvaittin has quit [Ping timeout: 256 seconds]
iivanov has quit [Remote host closed the connection]
iivanov has joined #armlinux
gclement1 has joined #armlinux
nsaenz has quit [Ping timeout: 246 seconds]
tambarus has joined #armlinux
gclement2 has joined #armlinux
gclement has quit [Ping timeout: 255 seconds]
iivanov has quit []
<cambrian_invader> yeah, but is there really any reason for this to be in the "firmware"
<cambrian_invader> linux is just as capable of determining what hardware is present as the bootloader is
gclement2 has quit [Quit: Leaving.]
gclement has joined #armlinux
gclement has quit [Client Quit]
gclement1 has quit [Ping timeout: 264 seconds]
<krzk> cambrian_invader: by combining multiple DTS into one and then probing GPIOs :)
<robmur01> hardly - it's not uncommon for board variants to be encoded by resistors or links, wherein it's dead easy for a platform-specific bootloader to hard-code reading a set of GPIOs or ADC value to determine which DTB to offer; a generic multiplatform kernel cannot do that
<robmur01> snap!
<cambrian_invader> of course a generic kernel can do that
<cambrian_invader> just write a driver to read the GPIOs and instantiate the appropriate drivers
<robmur01> OK, and how does it know it needs to loads *that* driver before it has a DT?
<cambrian_invader> you put that device in the devicetree
<cambrian_invader> and the rest is done with swnodes
<robmur01> OK, so we have two board variants with different PMICs, how do we turn on the right PMIC regulator to power the ADC to determine which PMIC we have? ;)
<krzk> cambrian_invader: to some level your idea is very good and it follows usual recommendation for devices with version register etc: if you can autodetect in the driver, use it.
<krzk> cambrian_invader: but if devices are different and you need different supplies or different pins, what to do?
<krzk> cambrian_invader: basically you embed DTS inside driver and keep it as C code?
<krzk> I mean, indirectly, via instantiating swnodes?
<cambrian_invader> it's up to the board integrator to make the decision here; if you have such different devices that they need completely different power supplies and sequencing, then you're going to need some GPIOs or EEPROM etc. to determine the present hardware
<krzk> This reminds me some concept... how was it... board files? :)
<cambrian_invader> yes :)
<cambrian_invader> and of course, people hate having to carry patches to add board support when they could just use a devicetree
<cambrian_invader> so this is why we have these sort of things crop up so often
<cambrian_invader> if you tell them "just detect things in the bootloader" it doesn't help because they still have to maintain patches
<krzk> I still like the idea that U-boot should do the board detection and just load appropriate DTS + overlay
<krzk> but I agree that we could do something similar in the kernel, if we really needed/wanted
<pivi> cambrian_invader: why should I mantain patches for this bootloader code?
<cambrian_invader> I mean you can always just "get off" the update schedule
<cambrian_invader> but you had better have all the features you want in your bootloader when you fork
<cambrian_invader> or otherwise you have to start backporting
<pivi> cambrian_invader: I'm not following your reasoning for the bootloader patches. Either you have your own firmware that you mantain, or you use some code that is maintained (u-boot? barebox?) and you just send you patches upstream
<pivi> cambrian_invader: no patches to carry
<cambrian_invader> but until these get upstream, you have to carry them
<cambrian_invader> if you are someone like NXP, you have years and years of patches to upstream
<cambrian_invader> and they do work on this, but it takes a long time
<cambrian_invader> limited reviewer eyeballs and so forth
<pivi> cambrian_invader: you cannot take a bad actor and use it as an example to say that cinema sucks
<cambrian_invader> they are not a bad actor?
<cambrian_invader> they are pretty average IMO
<cambrian_invader> and this is how every board vendor works
<pivi> ok, let me rephrase. if you decide to not upstream patches and to carry those in your downstream branch for years is your decision.
<pivi> cambrian_invader: well, I am a board vendor and no, we are not like that
System_Error has quit [Remote host closed the connection]
System_Error has joined #armlinux
<pivi> (yes, I agree NXP is an average actor, not a bad one)
Livio has joined #armlinux
rvalue has quit [Ping timeout: 256 seconds]
rvalue has joined #armlinux
sszy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
headless has joined #armlinux
Livio has quit [Ping timeout: 268 seconds]
Livio has joined #armlinux
tambarus has quit [Ping timeout: 256 seconds]
milkylainen has quit [Quit: shoe]
iivanov has joined #armlinux
headless has quit [Quit: Konversation terminated!]
iivanov has quit []
Livio has quit [Quit: leaving]
Livio has joined #armlinux
psydroid has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
System_Error has quit [Remote host closed the connection]
System_Error has joined #armlinux
prabhakarlad has quit [Quit: Client closed]
wil has quit [Read error: Connection reset by peer]
wil has joined #armlinux
sally has quit [Remote host closed the connection]
heat_ has joined #armlinux
System_Error has quit [Remote host closed the connection]
System_Error has joined #armlinux
System_Error has quit [Remote host closed the connection]
System_Error has joined #armlinux