Skip to contentSkip to conversation

Nokia Internet Tablets

DISCUSSION Otto Solares 9 participants 17 messages Dec 22, 2008 – Jan 2, 2009

lore
Share & tools
lore
#0 lore raw

Hi all!

I want to resurrect missing support for the Nokia Internet Tablets starting with the N8x0s for my NITdroid project, which uses just standard Linux kernel APIs.

So first I would like to ask some very newbie questions:

-Is there any ongoing effort to support these devices in latest kernels
at the same level as the latest Nokia production kernel (2.6.21-omap)?

-I don't plan to suspend but just sleep while idling, is this a good
approach to power management (pm)?

-I read about the pm branch, where can I pull it?

-What it does mean retention state for OMAP2 processors? As far as I
can figure is some deep sleep state?

-If it is a sleep state, what are the conditions to get in? any way to
check or how to know if it get in?

-Does CONFIG_NO_HZ works for this devices?

-Disabling serial support in linux-omap can I get rid of the serial
clocks so it more easily get in deep sleep states?

-2.6.21-omap had DVFS for OMAP2, why it was removed and what is needed
to port it back to latest linux-omap kernel so cpufreq scaling works?

-Same for the camera drivers, why it was removed and what is required
to port it back?

-AFAIK the recent removals of the N800 sound driver was because it was
not written for ALSA OMAP SoC API, right?

-Can the retu RTC be ported to the CONFIG_RTC_CLASS API?

-Are the CONFIG_REGULATOR and CONFIG_POWER_SUPPLY APIs of any use for
the Internet Tablets?

If it is lack of time of the original developers, I would like to step in, willing to try to complete this work as long as you are willing to support me with answers to my newbie questions as this devices are in plenty operation today but the Nokia kernel is getting really old and it's a good thing if we can port all the drivers to standard Linux API.

Thx in advance!

-otto

#1 lore raw
Quoted 10 lines · ext Otto Solares

Hi all!

I want to resurrect missing support for the Nokia Internet Tablets starting with the N8x0s for my NITdroid project, which uses just standard Linux kernel APIs.

So first I would like to ask some very newbie questions:

-Is there any ongoing effort to support these devices in latest kernels
at the same level as the latest Nokia production kernel (2.6.21-omap)?

n8x0 devices should boot fine with current linux-omap and I'd say we have all the drivers here as well, besides audio, camera and wifi (me thinks)

Quoted 2 lines

-I don't plan to suspend but just sleep while idling, is this a good
approach to power management (pm)?

That's broken afaict.

Quoted 1 line

-I read about the pm branch, where can I pull it?

from linux-omap git.

git pull \
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git pm

should do it

Quoted 2 lines

-Same for the camera drivers, why it was removed and what is required
to port it back?

get the patch out of linux-omap and send it through v4l2 maintainer.

Quoted 2 lines

-AFAIK the recent removals of the N800 sound driver was because it was
not written for ALSA OMAP SoC API, right?

yes.

Review

Quoted 4 lines
(quoted diff) +0 -2
-Can the retu RTC be ported to the CONFIG_RTC_CLASS API?
 
-Are the CONFIG_REGULATOR and CONFIG_POWER_SUPPLY APIs of any use for
 the Internet Tablets?

hmm... it could be used for charging but it won't work unless you get documentation of the charging chips used on n8x0. Also, you'd need to change BME I suppose, which you can't :-s

Quoted 5 lines

If it is lack of time of the original developers, I would like to step in, willing to try to complete this work as long as you are willing to support me with answers to my newbie questions as this devices are in plenty operation today but the Nokia kernel is getting really old and it's a good thing if we can port all the drivers to standard Linux API.

Sure, I totally agree with you. If I had more time I'd help cleaning up some of the old drivers and send them upstream myself, but unfortunately I don't.

If you wanna hack, go for it.

Signature · 1 line
balbi
#2 lore raw
Quoted 7 lines · ext Felipe Balbi
Quoted 2 lines · ext Otto Solares

-I don't plan to suspend but just sleep while idling, is this a good
approach to power management (pm)?

That's broken afaict.

The feature might be broken, but the approach is correct.

Quoted 8 lines
Quoted 1 line

-I read about the pm branch, where can I pull it?

from linux-omap git.

git pull \
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git pm

should do it

but afaik it still doesn't survive the wfi

Quoted 6 lines
Quoted 2 lines

-Are the CONFIG_REGULATOR and CONFIG_POWER_SUPPLY APIs of any use for
the Internet Tablets?

hmm... it could be used for charging but it won't work unless you get documentation of the charging chips used on n8x0. Also, you'd need to change BME I suppose, which you can't :-s

I think there was the intention to provide BME still i nbinary form but make it available to the community and have somebody from nokia to recompile it when needed. Far from optimal but at least something.

Signature · 6 lines
Cheers, Igor

---

Igor Stoppa
Maemo Software - Nokia Devices R&D - Helsinki
#3 lore raw
Quoted 8 lines · On Mon, 22 Dec 2008 14:33:41 +0200 "ext Igor Stoppa" <[email protected]>…
Quoted 3 lines

hmm... it could be used for charging but it won't work unless you get documentation of the charging chips used on n8x0. Also, you'd need to change BME I suppose, which you can't :-s

I think there was the intention to provide BME still i nbinary form but make it available to the community and have somebody from nokia to recompile it when needed. Far from optimal but at least something.

It is available for the community in binary form. Just look the /dev/mtdblock3 partition :-)

It is possible to boot via normal initfs and get BME running. Worth to note that MMC devices nodes are changed since 2.6.21 so one would need to copy existing initfs, modify device nodes, generate new initfs jffs2 image and flash it back.

Then MMC card can be used as a root just by:

	flasher --set-root-device=mmc

Disclaimer: I'm not charging expert so don't know is this safe but works for me :-)

Jarkko

#4 lore raw
In reply to Felipe Balbi
Quoted 6 lines · Felipe Balbi
Quoted 2 lines · ext Otto Solares

-Is there any ongoing effort to support these devices in latest kernels
at the same level as the latest Nokia production kernel (2.6.21-omap)?

n8x0 devices should boot fine with current linux-omap and I'd say we have all the drivers here as well, besides audio, camera and wifi (me thinks)

And GPS?

RTC & bme don't really work properly either...?

#5 lore raw
In reply to Felipe Balbi
Quoted 7 lines · Felipe Balbi
Quoted 6 lines · ext Otto Solares

Hi all!

I want to resurrect missing support for the Nokia Internet Tablets starting with the N8x0s for my NITdroid project, which uses just standard Linux kernel APIs.

Quoted 7 lines
Quoted 4 lines

So first I would like to ask some very newbie questions:

-Is there any ongoing effort to support these devices in latest kernels
at the same level as the latest Nokia production kernel (2.6.21-omap)?

n8x0 devices should boot fine with current linux-omap and I'd say we have all the drivers here as well, besides audio, camera and wifi (me thinks)

Yea it boots fine minus power management.

Quoted 24 lines
Quoted 2 lines

-I don't plan to suspend but just sleep while idling, is this a good
approach to power management (pm)?

That's broken afaict.

Quoted 1 line

-I read about the pm branch, where can I pull it?

from linux-omap git.

git pull \
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git pm

should do it

Quoted 2 lines

-Same for the camera drivers, why it was removed and what is required
to port it back?

get the patch out of linux-omap and send it through v4l2 maintainer.

Quoted 2 lines

-AFAIK the recent removals of the N800 sound driver was because it was
not written for ALSA OMAP SoC API, right?

yes.

Quoted 8 lines

Review

Quoted 4 lines
(quoted diff) +0 -2
-Can the retu RTC be ported to the CONFIG_RTC_CLASS API?
 
-Are the CONFIG_REGULATOR and CONFIG_POWER_SUPPLY APIs of any use for
 the Internet Tablets?

hmm... it could be used for charging but it won't work unless you get documentation of the charging chips used on n8x0. Also, you'd need to change BME I suppose, which you can't :-s

It would be nice that the driver expose the current interface for BME plus the standard Linux API so battery metering works out of the box for distributions other than Maemo.

I put a new project to kickstart all the required Nokia proprietary software so the NITs works with other distros without booting trhu initfs:

http://guug.org/nit/nitboot

Eventually I would like that NIT drivers expose just standard kernel APIs so no need for nitboot. The only hard part as I see it is BME which I'm pretty sure it is not a trivial task to supplant.

Quoted 11 lines
Quoted 5 lines

If it is lack of time of the original developers, I would like to step in, willing to try to complete this work as long as you are willing to support me with answers to my newbie questions as this devices are in plenty operation today but the Nokia kernel is getting really old and it's a good thing if we can port all the drivers to standard Linux API.

Sure, I totally agree with you. If I had more time I'd help cleaning up some of the old drivers and send them upstream myself, but unfortunately I don't.

If you wanna hack, go for it.

Cool thx for the support!

-otto

#6 lore raw
In reply to Felipe Balbi
Quoted 7 lines · ext Felipe Balbi
Quoted 6 lines · ext Otto Solares

Hi all!

I want to resurrect missing support for the Nokia Internet Tablets starting with the N8x0s for my NITdroid project, which uses just standard Linux kernel APIs.

Quoted 7 lines
Quoted 4 lines

So first I would like to ask some very newbie questions:

-Is there any ongoing effort to support these devices in latest kernels
at the same level as the latest Nokia production kernel (2.6.21-omap)?

n8x0 devices should boot fine with current linux-omap and I'd say we have all the drivers here as well, besides audio, camera and wifi (me thinks)

For wifi there is stlc45xx:

http://stlc45xx.garage.maemo.org/

Also Christian Lamparter is adding stlc4550 support to p54, check linux-wireless list archives for more (search for p54spi).

Signature · 1 line
Kalle Valo
#7 lore raw
In reply to Otto Solares
Quoted 11 lines · On Mon, 22 Dec 2008 04:34:22 -0600 "ext Otto Solares" <[email protected]> wrote:

Hi all!

I want to resurrect missing support for the Nokia Internet Tablets starting with the N8x0s for my NITdroid project, which uses just standard Linux kernel APIs.

So first I would like to ask some very newbie questions:

-Is there any ongoing effort to support these devices in latest kernels
at the same level as the latest Nokia production kernel (2.6.21-omap)?

"make n800_defconfig" in linux-omap tree is a very good start.

Review

Quoted 5 lines
(quoted diff) +0 -2
-I don't plan to suspend but just sleep while idling, is this a good
 approach to power management (pm)?
 
-I read about the pm branch, where can I pull it?

Probably you read already this "N810 suspend" thread?

http://marc.info/?t=122937538800002&r=1&w=2

Short: N800 can do sleep_while_idle but GPS uart clock prevents it currently in N810 and PM branch may have solution to idle it.

Quoted 2 lines

-Does CONFIG_NO_HZ works for this devices?

Was working at least some months ago with N800.

Quoted 3 lines

-AFAIK the recent removals of the N800 sound driver was because it was
not written for ALSA OMAP SoC API, right?

That's correct. N810 audio is already supported with SND_OMAP_SOC_N810 but N800 would require to have ASoC codec driver for TSC2301 and DAI link driver for EAC, at least for exact sample rates.

This is due TSC2301 which can be only slave so in order to get stardard sample rates, EAC or McBSP would require to use external master clock to them and EAC_AC_MCLK and McBSP2.CLKS are not routed into same pads like other four EAC and McBSP2 signals.

Most probably McBSP DAI & TSC2301 would work also if using internal 96 MHz as a source clock to McBSP. Then sample rate would be e.g. 96 MHz / 32 / 32 = 46.875 kHz.

Quoted 6 lines

If it is lack of time of the original developers, I would like to step in, willing to try to complete this work as long as you are willing to support me with answers to my newbie questions as this devices are in plenty operation today but the Nokia kernel is getting really old and it's a good thing if we can port all the drivers to standard Linux API.

I welcome you to step in this porting effort! I help what I can :-)

Jarkko

#8 lore raw
Quoted 19 lines · Jarkko Nikula
Quoted 11 lines · On Mon, 22 Dec 2008 04:34:22 -0600 "ext Otto Solares" <[email protected]> wrote:

Hi all!

I want to resurrect missing support for the Nokia Internet Tablets starting with the N8x0s for my NITdroid project, which uses just standard Linux kernel APIs.

So first I would like to ask some very newbie questions:

-Is there any ongoing effort to support these devices in latest kernels
at the same level as the latest Nokia production kernel (2.6.21-omap)?

"make n800_defconfig" in linux-omap tree is a very good start.

Quoted 3 lines

-I don't plan to suspend but just sleep while idling, is this a good
approach to power management (pm)?

Quoted 8 lines
Quoted 2 lines

-I read about the pm branch, where can I pull it?

Probably you read already this "N810 suspend" thread?

http://marc.info/?t=122937538800002&r=1&w=2

Short: N800 can do sleep_while_idle but GPS uart clock prevents it currently in N810 and PM branch may have solution to idle it.

Will try it.

Quoted 11 lines
Quoted 2 lines

-Does CONFIG_NO_HZ works for this devices?

Was working at least some months ago with N800.

Quoted 3 lines

-AFAIK the recent removals of the N800 sound driver was because it was
not written for ALSA OMAP SoC API, right?

That's correct. N810 audio is already supported with SND_OMAP_SOC_N810 but N800 would require to have ASoC codec driver for TSC2301 and DAI link driver for EAC, at least for exact sample rates.

Quoted 8 lines

This is due TSC2301 which can be only slave so in order to get stardard sample rates, EAC or McBSP would require to use external master clock to them and EAC_AC_MCLK and McBSP2.CLKS are not routed into same pads like other four EAC and McBSP2 signals.

Most probably McBSP DAI & TSC2301 would work also if using internal 96 MHz as a source clock to McBSP. Then sample rate would be e.g. 96 MHz / 32 / 32 = 46.875 kHz.

Excellent summary, that was what I need to know, I'll take a look.

Quoted 7 lines
Quoted 6 lines

If it is lack of time of the original developers, I would like to step in, willing to try to complete this work as long as you are willing to support me with answers to my newbie questions as this devices are in plenty operation today but the Nokia kernel is getting really old and it's a good thing if we can port all the drivers to standard Linux API.

I welcome you to step in this porting effort! I help what I can :-)

What about my other questions? cpufreq and dvfs?

Thx for your support!

-otto

#9 lore raw
In reply to Otto Solares
Quoted 9 lines · Otto Solares

I want to resurrect missing support for the Nokia Internet Tablets starting with the N8x0s for my NITdroid project, which uses just standard Linux kernel APIs.

If it is lack of time of the original developers, I would like to step in, willing to try to complete this work as long as you are willing to support me with answers to my newbie questions as this devices are in plenty operation today but the Nokia kernel is getting really old and it's a good thing if we can port all the drivers to standard Linux API.

This is great; I hope you have success. I (who am new to kernel development and git) have an N810 and have been trying to get Debian running on it usably; I do have Debian running, but: no X, no RTC, no audio, and a very short idle time (on a charge). Unfortunately I have little free time in which to work on it.

#10 lore raw
Quoted 6 lines · On Mon, 22 Dec 2008 08:01:37 -0600 "ext green" <[email protected]> wrote:

This is great; I hope you have success. I (who am new to kernel development and git) have an N810 and have been trying to get Debian running on it usably; I do have Debian running, but: no X, no RTC, no audio, and a very short idle time (on a charge). Unfortunately I have little free time in which to work on it.

I recently tried xserver-xorg-video-fbdev from Debian/testing and got it working just by adding 'Option "UseFBDev" "true"' in Section "Devices". My xorg.conf attached.

Audio note (after "make n800_defconfig):

Device Drivers ->
Sound card support ->
Advanced Linux Sound Architecture ->
ALSA for SoC audio support ->
SoC Audio for the Texas Instruments OMAP chips SoC Audio support for Nokia N810

And especially this:

System Type ->
TI OMAP Implementations ->
OMAP multiplexing support

This is because N810 bootloader muxes audio I2S pins for OMAP2420 EAC block but ASoC drivers are using McBSP block so those pins must be remuxed by the kernel.

Jarkko

#11 lore raw

Op 23 dec 2008, om 08:34 heeft Jarkko Nikula het volgende geschreven:

Quoted 9 lines
Quoted 6 lines · On Mon, 22 Dec 2008 08:01:37 -0600 "ext green" <[email protected]> wrote:

This is great; I hope you have success. I (who am new to kernel development and git) have an N810 and have been trying to get Debian running on it usably; I do have Debian running, but: no X, no RTC, no audio, and a very short idle time (on a charge). Unfortunately I have little free time in which to work on it.

Quoted 3 lines

I recently tried xserver-xorg-video-fbdev from Debian/testing and got it working just by adding 'Option "UseFBDev" "true"' in Section "Devices". My xorg.conf attached.

have you tried http://cgit.pingu.fi/xf86-video-omapfb/ yet? That should give you XV and it shouldn't need an xorg.conf.

regards,

Koen

#13 lore raw

Op 23 dec 2008, om 10:34 heeft Jarkko Nikula het volgende geschreven:

Quoted 8 lines
Quoted 3 lines · On Tue, 23 Dec 2008 10:04:24 +0100 "ext Koen Kooi" <[email protected]>…

have you tried http://cgit.pingu.fi/xf86-video-omapfb/ yet? That should give you XV and it shouldn't need an xorg.conf.

Thanks for info! Do you know does it support standard xset commands, i.e. setting the different blanking modes?

It shares a lot of code with xf86-video-fbdev, but I don't know if the blanking code made it into the driver. Kalle, do you know if blanking works?

regards,

Koen

#14 lore raw

2008/12/23 Koen Kooi <[email protected]>:

Quoted 6 lines

Op 23 dec 2008, om 10:34 heeft Jarkko Nikula het volgende geschreven:

Quoted 3 lines

On Tue, 23 Dec 2008 10:04:24 +0100
"ext Koen Kooi" <[email protected]> wrote:

Quoted 8 lines
Quoted 5 lines
Quoted 3 lines

have you tried http://cgit.pingu.fi/xf86-video-omapfb/ yet? That should give you XV and it shouldn't need an xorg.conf.

Thanks for info! Do you know does it support standard xset commands, i.e. setting the different blanking modes?

It shares a lot of code with xf86-video-fbdev, but I don't know if the blanking code made it into the driver. Kalle, do you know if blanking works?

For the extent that omapfb offers it (well, at least the driver present on the Nokia kernel for N8x0), yes.

The DPMS support is implemented in:
http://cgit.pingu.fi/xf86-video-omapfb/tree/src/omapfb-driver.c#n728

and as the comments indicate, I only saw on/off settings in the omapfb kernel driver. The xf86-video-fbdev tries to set the standby and suspend modes and fails (you'll get some "ioctl failed" message about it), but can't remember if it manages to blank it properly for off (I suppose so).

To circumvent that, I opted for simply setting the VESA_POWERDOWN mode for all of the standby, suspend and off modes. The plan is to adjust the brightness for at least standby, maybe even for suspend, so you can use DPMS to do the usual "dim quickly, turn off later" pattern.

Signature · 4 lines
Kalle Vahlman, [email protected]
Powered by http://movial.fi
Interesting stuff at http://sandbox.movial.com
See also http://syslog.movial.fi
#15 lore raw
In reply to Jarkko Nikula

----- Original Message ----- From: "Jarkko Nikula" <[email protected]>

Quoted 3 lines

I recently tried xserver-xorg-video-fbdev from Debian/testing and got it working just by adding 'Option "UseFBDev" "true"' in Section "Devices". My xorg.conf attached.

Is this same as xserver-xomap, which is used by Maemo. Is Xomap know to work with newer kernels .

Thanks
Hemanth

#16 lore raw
Quoted 9 lines · On Tue, 23 Dec 2008 14:57:30 +0530 "ext Hemanth V" <[email protected]> wrote:

----- Original Message -----
From: "Jarkko Nikula" <[email protected]>

Quoted 3 lines

I recently tried xserver-xorg-video-fbdev from Debian/testing and got it working just by adding 'Option "UseFBDev" "true"' in Section "Devices". My xorg.conf attached.

Is this same as xserver-xomap, which is used by Maemo. Is Xomap know to work with newer kernels .

It is unaccelerated driver on top of fbdev. So e.g. no Xv acceleration.

Xomap was working at least some time ago when trying linux-omap with our Maemo userspace. I haven't tried how well Xomap works with Debian userspace.

Jarkko