Skip to contentSkip to conversation

Nokia N900: twl4030-power different data in DTS and board code

DISCUSSION Pali Rohár 2 participants 4 messages Jan 2, 2016 – Jan 4, 2016

lore
Share & tools
lore
#0 lore raw

Hello,

now I'm looking at differences between legacy board code and DTS file for Nokia N900 and I see some inconsistency for twl4030-power driver.

In board code are defined more twl4030 power scripts which override defaults defined in twl4030-power code. See:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap2/board-rx51-peripherals.c#n790

Next in DTS file is defined just "compatible" keyword, but no custom scripts, see:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/omap3-n900.dts#n416

And the last in DTS file is defined line:

compatible = "ti,twl4030-power-n900"

which is not in twl4030-power driver itself, see:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mfd/twl4030-power.c#n851

So all this stuff looks like some errors when board code was ported to DTS. Tony, can you look at this at all?

Signature · 2 lines
Pali Rohár
[email protected]
#1 lore raw
Quoted 17 lines · Pali Rohár

Hello,

now I'm looking at differences between legacy board code and DTS file for Nokia N900 and I see some inconsistency for twl4030-power driver.

In board code are defined more twl4030 power scripts which override defaults defined in twl4030-power code. See:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap2/board-rx51-peripherals.c#n790

Next in DTS file is defined just "compatible" keyword, but no custom scripts, see:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/omap3-n900.dts#n416

And the last in DTS file is defined line:

Quoted 8 lines

compatible = "ti,twl4030-power-n900"

which is not in twl4030-power driver itself, see:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mfd/twl4030-power.c#n851

So all this stuff looks like some errors when board code was ported to DTS. Tony, can you look at this at all?

AFAIK it should work fine with the generic "ti,twl4030-power-idle-osc-off". This means reboot works and regulators are cut off during off mode.

The n900 specific code was based on something before the TI generic values were available I think. And the last time I looked at it I came to the conclusion the n900 specific code is no better.

Or did I miss something? Are you seeing some issues with PM with dts based code?

We can certainly add it to twl4030-power if it provides something that the "ti,twl4030-power-idle-osc-off" does not.

Regards,

Tony

#2 lore raw
Quoted 28 lines · On Saturday 02 January 2016 18:14:31 Tony Lindgren wrote:
Quoted 27 lines · Pali Rohár

Hello,

now I'm looking at differences between legacy board code and DTS file for Nokia N900 and I see some inconsistency for twl4030-power driver.

In board code are defined more twl4030 power scripts which override defaults defined in twl4030-power code. See:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tre
e/arch/arm/mach-omap2/board-rx51-peripherals.c#n790

Next in DTS file is defined just "compatible" keyword, but no custom scripts, see:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tre
e/arch/arm/boot/dts/omap3-n900.dts#n416

And the last in DTS file is defined line:

compatible = "ti,twl4030-power-n900"

which is not in twl4030-power driver itself, see:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tre
e/drivers/mfd/twl4030-power.c#n851

Quoted 6 lines
Quoted 2 lines

So all this stuff looks like some errors when board code was ported to DTS. Tony, can you look at this at all?

AFAIK it should work fine with the generic "ti,twl4030-power-idle-osc-off". This means reboot works and regulators are cut off during off mode.

Ok.

Quoted 3 lines

The n900 specific code was based on something before the TI generic values were available I think. And the last time I looked at it I came to the conclusion the n900 specific code is no better.

Hm... if generic values are better, why old values are still there (in board n900 code)?

Quoted 2 lines

Or did I miss something? Are you seeing some issues with PM with dts based code?

I'm just asking why we have different code for DST and board...

Quoted 2 lines

We can certainly add it to twl4030-power if it provides something that the "ti,twl4030-power-idle-osc-off" does not.

But do we need 'compatible = "ti,twl4030-power-n900"' specification in omap3-n900.dts file at all?

Signature · 2 lines
Pali Rohár
[email protected]
#3 lore raw
Quoted 8 lines · Pali Rohár
Quoted 3 lines · On Saturday 02 January 2016 18:14:31 Tony Lindgren wrote:

The n900 specific code was based on something before the TI generic values were available I think. And the last time I looked at it I came to the conclusion the n900 specific code is no better.

Hm... if generic values are better, why old values are still there (in board n900 code)?

We never had PM working in a generic way for the legacy booting but relied on board specific configuration instead for the ones that did work. Probably not worth changing the board-*.c file configuration unless you want to test that the new generic settings work.

Quoted 4 lines
Quoted 2 lines

Or did I miss something? Are you seeing some issues with PM with dts based code?

I'm just asking why we have different code for DST and board...

OK. Yeah no reason beyond somebody taking the time to verify that the generic settings work on n900 in legacy booting mode :)

Quoted 5 lines
Quoted 2 lines

We can certainly add it to twl4030-power if it provides something that the "ti,twl4030-power-idle-osc-off" does not.

But do we need 'compatible = "ti,twl4030-power-n900"' specification in omap3-n900.dts file at all?

Well that generally done to allow adding support for the board specific configuration if needed with a fallback to the generic configuration. That's used quite a bit, for example boards typically set the compatible to the specific board but still end up booting with a generic one sucha as "ti,omap3".

Regards,

Tony