xypron changed the topic of #u-boot to: SOURCE MOVED TO https://source.denx.de/u-boot/u-boot.git / U-Boot 2023.01 / Merge Window is OPEN / Release v2023.04 is scheduled for 2023-04-03 / Channel archives at https://libera.irclog.whitequark.org/u-boot
Wouter010067 has quit [Quit: The Lounge - https://thelounge.chat]
Wouter010067 has joined #u-boot
vagrantc has joined #u-boot
Flole has quit [Remote host closed the connection]
vagrantc has quit [Quit: leaving]
WoC` has quit [Remote host closed the connection]
WoC` has joined #u-boot
mmu_man has quit [Ping timeout: 272 seconds]
stipa_ has joined #u-boot
stipa has quit [Ping timeout: 260 seconds]
stipa_ is now known as stipa
Leopold_ has quit [Remote host closed the connection]
Leopold has joined #u-boot
ikarso has joined #u-boot
EdSwarthout has quit [Ping timeout: 260 seconds]
EdSwarthout has joined #u-boot
Wouter010067 has quit [Quit: The Lounge - https://thelounge.chat]
Wouter010067 has joined #u-boot
niska` has quit [Quit: Leaving]
niska has joined #u-boot
thopiekar has joined #u-boot
goliath has joined #u-boot
Leopold has quit [Remote host closed the connection]
Leopold has joined #u-boot
ldevulder has quit [Quit: Leaving]
sszy has joined #u-boot
matthias_bgg has quit [Quit: Leaving]
ldevulder has joined #u-boot
mckoan|away is now known as mckoan
frieder has joined #u-boot
apteryx has quit [Ping timeout: 272 seconds]
apteryx has joined #u-boot
ladis has joined #u-boot
ladis has quit [Remote host closed the connection]
ladis has joined #u-boot
ladis has quit [Read error: Connection reset by peer]
ladis_ has joined #u-boot
apritzel has joined #u-boot
ladis_ has quit [Remote host closed the connection]
ladis_ has joined #u-boot
Leopold_ has joined #u-boot
Leopold has quit [Ping timeout: 255 seconds]
mmu_man has joined #u-boot
Leopold_ has quit [Ping timeout: 255 seconds]
Leopold has joined #u-boot
teejay has quit [Quit: leaving]
<mwalle> I'm just porting u-boot to a new board and I've stumbled across the following:
<mwalle> I'm not sure why there is the fallback to the pinctrl_select_state_simple()
<mwalle> what happens on my board is the following: the pinctrl is a child of a syscon,simple-mfd and it uses its regmap
teejay has joined #u-boot
<mwalle> the fallback to the simple one, will lead to a bind of the pinctrl, which doesn't work because its parent isn't probed yet
prabhakarlad has quit [Quit: Client closed]
teejay has quit [Quit: leaving]
___nick___ has joined #u-boot
torez 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
Gravis_ is now known as Gravis
ladis_ has quit [Remote host closed the connection]
Wouter010067 has quit [Quit: The Lounge - https://thelounge.chat]
Wouter010067 has joined #u-boot
prabhakarlad has joined #u-boot
<marex> mwalle: if CONFIG_IS_ENABLED(PINCTRL_FULL) -> pinctrl_select_state_full() returns -ENODEV , it's a measure to save space in SPL
ikarso has quit [Quit: Connection closed for inactivity]
<marex> mwalle: does pinctrl_select_state_full() return -ve somewhere from within itself ?
<marex> is PINCTRL_FULL enabled ?
Leopold_ has joined #u-boot
Leopold has quit [Ping timeout: 255 seconds]
<mwalle> marex: when PINCTRL_FULL is enabled then pinctrl_select_state_full returns enodev?
<mwalle> you mean if it's not enabled?
goliath has quit [Quit: SIGSEGV]
mmu_man has quit [Ping timeout: 265 seconds]
<mwalle> locally, i've guarded the simple call with !CONFIG_IS_ENABLED(PINCTRL_FULL) as I don't see the usecase that both are used. which was my initial question, why is there an if (!full()) simple()
<mwalle> marex: and yes I have PINCTRL_FULL and no SPL
Leopold_ has quit [Write error: Broken pipe]
Leopold has joined #u-boot
mmu_man has joined #u-boot
<marex> mwalle: see the macro protection at the beginning ... #if CONFIG_IS_ENABLED(PINCTRL_FULL)
<marex> 164 #else
<marex> 165 static int pinctrl_select_state_full(struct udevice *dev, const char *statename)
<marex> 166 {
<marex> 167 return -ENODEV;
<marex> 168 }
<marex> so, in case ^ always returns -ENODEV for !PINCTRL_FULL
<marex> 320 if (pinctrl_select_state_full(dev, statename))
<marex> 321 return pinctrl_select_state_simple(dev);
<marex> this becomes really plain return pinctrl_select_state_simple(dev);
<mwalle> marex: I know, it makes partially sense if PINCTRL_FULL is not enabled. But what if its enabled
<mwalle> why is there a fallback to simple at all
<marex> mwalle: there probably shouldn't be one
<marex> at least by looking at the code, the fallback makes little sense
<mwalle> marex: that's also my impression
mmu_man has quit [Ping timeout: 256 seconds]
<marex> mwalle: send a bugfix then
<mwalle> marex: sure, let me dig a bit more into it. I'll need to have it fixed anyway, when i upstream the board ;)
<marex> thanks
<Tartarus> qschulz: Around?
<Tartarus> Or anyone else with a rockchip px30
mmu_man has joined #u-boot
<qschulz> Tartarus: yes
<Tartarus> qschulz: Can you test yet another ns16550 patch today?
<qschulz> Tartarus: sure
<Tartarus> What fixed your case didn't fix sunxi too, which also broke :(
<qschulz> Tartarus: :/
teejay has joined #u-boot
<Tartarus> qschulz: OK, hopefully something in 10-15min, sunxi does work again here, but now to test everything else still
apritzel has quit [Ping timeout: 256 seconds]
<qschulz> Tartarus: got a link for a patch somewhere? Kinda confused by your messages on the ML :/
<Tartarus> qschulz: Almost have a link as, yes, now my lab passed
<qschulz> Tartarus: :)
<Tartarus> if that branch passes, good
<Tartarus> If not, arrrg
<qschulz> Tartarus: requires github login?
<Tartarus> Sigh, moment
<qschulz> Tartarus: something else's fucked, I cannot get the board to boot with master
<Tartarus> qschulz: Ugh
torez has quit [Quit: torez]
torez has joined #u-boot
guillaume_g has quit [Quit: Konversation terminated!]
goliath has joined #u-boot
teejay has quit [Quit: leaving]
<qschulz> Tartarus: ok found the issue, a KConfig symbol rename
<qschulz> Tartarus: tested 69d5f497d3b6 ("CI: Make check for new defined CONFIG symbols even more robust") on Ringneck PX30, I get serial properly
<Tartarus> qschulz: OK, thanks, I'll cc you on this serial patch too when I post it
mckoan is now known as mckoan|away
stipa has quit [Ping timeout: 272 seconds]
frieder has quit [Remote host closed the connection]
stipa has joined #u-boot
stipa has quit [Ping timeout: 272 seconds]
stipa has joined #u-boot
mmu_man has quit [Ping timeout: 260 seconds]
vagrantc has joined #u-boot
mmu_man has joined #u-boot
Wouter010067 has quit [Quit: The Lounge - https://thelounge.chat]
Wouter010067 has joined #u-boot
stipa_ has joined #u-boot
stipa has quit [Read error: Connection reset by peer]
stipa_ is now known as stipa
goliath has quit [Quit: SIGSEGV]
<mwalle> marex: so, pinctrl_select_state() is called for every device (except the root and the pinctrl itself) regardless if there is a pinctrl property or not. and if there is none, the pinctrl_select_state_full() will fail with EINVAL
<mwalle> marex: which means, that right now, the _simple() will be called for every device which doesn't have a pinctrl property
<mwalle> marex: I think the real bug here is that the _full() never returns -ENOSYS
___nick___ has quit [Ping timeout: 256 seconds]
<marex> mwalle: ENOSYS in case property not present ?
<mwalle> marex: yes, right now, this is returened via the _simple()
goliath has joined #u-boot
<mwalle> marex: what actually happens on my board is the following (before relocation). pinctrl_select_state() is called for each device (or just some? doesn't matter), the full will fail, because most devices don't have a pinctrl-names property. then _simple() is called, that does a device_probe of the pinctrl, which fails because the parent isn't probed yet (and i need the regmap of the parent).
<mwalle> the device_probe() will allocate memory.. which is never freed because we are before relocation, and somewhere along the path, I'm running out of pre-reloc heap memory
Leopold has quit [Remote host closed the connection]
prabhakarlad has quit [Quit: Client closed]
Leopold has joined #u-boot
<marex> mwalle: what would be the expected behavior ?
<mwalle> marex: regarding the pinctrl or regarding my board ;)
<marex> mwalle: regarding the early pinctrl config
<marex> the pinctrl should likely be configured anyway, right ?
<mwalle> marex: in what case? i need it for the uart, but i have a pinctrl node there
<mwalle> marex: and it's working as long as there isn't the _simple() fallback which eats up my memory as i mentioned
<marex> mwalle: so who does configure the pinctrl for the UART then ? the full ?
<mwalle> marex: yes the ful
<mwalle> *full
Leopold_ has joined #u-boot
Leopold has quit [Ping timeout: 255 seconds]
prabhakarlad has joined #u-boot
torez has quit [Quit: torez]
<marex> mwalle: OK, I see, in that case yes, skip the simple and be done with it
lucenera has quit [Quit: The Lounge - https://thelounge.chat]
lucenera has joined #u-boot
prabhakarlad has quit [Quit: Client closed]
sszy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]