Friday, November 17, 2006

Are we open enough?

Well, the question above was probably asked in different way by Ari Jaaksi to Linus Torvald, and Linux replied with "Next time may be Samsung/Siemens or someone else will be more open...and it will continue", and I think might answer it better once it becomes reality in January'07. Well, watchout OMAP guys, they have Samsung single-core chip and may not have to worry about the DSP/IVA1/2 gateway.

Siemens SX1(OMAP310) port code(
is now available at site, posted by Pavel Machek, and looks like it will make to -omap tree soon. I believe that we have now highest no. of supported board variants for OMAP1/2 series of chips. Total of 15 (12 for OMAP1 and 3 for OMAP2), and soon will become 16. I hope this may be good reason to fight for less #ifdefers and push our drivers to upstream, starting with fb.

And don't forget to visit and try to search in google to know probably the founders and where N-OMAP guys are nowadays.

--- - Hmm..Finally moved from Yahoo to Google Mail account, as Yahoo search was really slowing down on my Inbox, with Inbox count no. fixed to 65535, evenif my inbox was having more e-mails than that :). I had also exceeded 1GB quota. I will continue to check my yahoo account, but I will unsubscribe most of the mailing list from that account, and transfer it to gmail one. So, please use my new account id for any queries. Thanx.

Thursday, October 05, 2006


Linus had released 2.6.19-rc1.

All the drivers mentioned in the earlier entry of "Arr !!! Linux 2.6.18" are pushed except "IrDA driver". I have sent an e-mail to lkml and Samuel about it.
[update: IrDA driver will be pushed to "netdev" tree. Thanx Samuel]

Not much updates on dspfs and IVA DOFF stuff. Hey but some good signs of working doff loader.

- Need to verify that which COFF versions are supported by current Nokia-DSPGW. Does it support COFF files created by CCS 3.1 or higher, as it seems that sections header is changed in new COFF version. Looks like variable section name length ?

No DaVinci work again, as will not be able access the board for few months from now :(.

But let's plan to move new re-organized mailbox fwk code into the dspfs, and something like task-bridge (it looks like big effort...not much clarify as of now...will write later on that).

Wednesday, September 20, 2006

Arr !!! Linux 2.6.18

Finally Linus had released Linux 2.6.18.

Following patches of drivers will be available in linux-2.6.19-rc1:

1. smc91x support for H4.
2. OMAP Keypad driver
3. OMAP watchdog driver
4. OMAP I2C driver
5. OMAP IrDA driver
6. OMAP RNG driver, which actually builds :-).

I have _not_ tried to submit menelaus driver to upstream, as I had shifted my focus to DSPGW re-organization, dspfs and IVA DOFF format.

DSPFS is now available for public, please see the recent announcement e-mail to OMAP mailing list.

IVA DOFF format (Dynamic Object File Format):

- It is a properietary file format developed by Texas Instruments. Most of the multimedia companies _now_ releases there algorithms running on DSP/IVA in this format.

For unknowns, CCS (Code Composer Studio) produces the output file in COFF (Common Object File Format) , and _some_ magic TI tool converts that COFF to DOFF file.

You can easily compare the size of the both files, and DOFF is stripped down version of COFF with internal re-organization of COFF such that, you can improve the loading time of images.

It seems to be very easy to write down DOFF parser and loader if you hae doff.h from TI :-). But you may not be able to release that code until TI agrees to publish that file to public under _some_ license.

Writing the IVA/DSP DOFF Loader:

It is very easy under dspfs, as you can simply expose the internal memory as mmaped files to application. In case of IVA it might look like this:

|-- c55x
| |-- codecs
`-- iva1
|-- codecs

intmem - 128k IVA internal memory
copmem - linear 39k co-processor memories including image buffers A and B.
shmem - Shared memory in SDRAM

Now, once you have image data available and know what is the target load location, you can then "memcpy" into above memories, after mmaping it :-).

Sounds trivial, isn't it.

Please e-mail me to if you want to hear/contribute some more ideas on bridge driver.


But why can't we load CCS generated COFF file then? As this format is widely know to people, and it will be easy shared the code/loader/parser written for it. Like current Nokia-DSPGW distributes DSP dynamic loader along with coff.h files, and I am sure we don't need to ping TI for DOFF then.

I am going to have look at this coff.h files, and try to write parser/dump tool for it first, as it will be easy to just load the data to target memory afterwards, I will keep posted.

DaVinci updates:

1. I2C cleanup driver submitted and pushed to davinci-git tree.
2. Started MMC cleanup, but didn't go far, as I need to understand EDMA architecture. As of now, it looks like that I may not able to give more time to DaVinci for few weeks.

Thursday, July 27, 2006

Mission upstream [#5 update]

All the users/developers of omap-git tree knows that we have very good set of drivers and some of them very generic chip drivers, if submitted to upstream can cut the effort for others to develop the similar one (if he/she doesn't know about the availbility of such drivers). e.g TI audio codec chip drivers, do you know the no. of versios of aic23 and tsc2101 floating in community? Do you know about the initial attempt of EAC based ALSA driver from TI on OMAP1?

Ok, with this in mind, I have started slow process of taking small steps in submitting OMAP-git tree drivers to related subsystem mailing list and ultimately to linus mainline tree.

As of now following got accepted in -mm tree:

- smc91x-h4-patch
- omap-watchdog-driver patch
- omap-rng-build-error-fix patch [Update: It is now replaced with better patch from David]

Interesting part is that I had submitted omap-keypad driver as first attempt to going upstream, but everyday I am getting some very good review comments, and as of now I am working on #4 version of the driver. So, keep watching lkml list.
[update: It is now accepted into akpm's -mm tree..., thanx to all reviewers].

- Also submitted omap-i2c driver to lmsensors and lkml mailing list, but no review comments yet. Let's wait for 2-3 days then.
[update: It is now accepted into 2.6-git tree of Greg-KH. Thanx to all reviewers.] This driver allows now us to send more dependent drivers to mainstream]

- IrDA driver - depends on the acceptance of gpio-expander driver.
[update: Just got the e-mail from Samuel with Acked By from him. So consider it accepted in -mm tree. Thanx for the review Samuel.]

o Next target
- Menelaus driver
- gpio-expander-omap or to use existing pcf8574 driver?
- RTC driver for H4 - I need to write this one, and someone from community need to convert the existing omap1-rtc driver to new rtc infrastructure.

No DaVinci cleanup is going on right now, as I don't have even remote access to board now :(.
[update: Got the access to board now, and submitted few cleanup patches to mailing list, only dma.c is required for bit of cleanup and understanding, otherwise we are very much ready to go upstream with arch-davinci specific files and minimum boot configuration.]

Monday, July 17, 2006

I am back !!!

Ok, it's long time after I am writing on my blog. Lots of thing happened after May 18 blog-entry. Here we go:

o Japan - Tokyo trip:

- It was very short trip to Japan (first time there) for business purpose and few demonstrations on ofcourse OMAP2.

- I travelled through Chennai(pick up few demos)->Malaysia (same airline)->Japan (Narita Airport).

- I didn't liked Malaysia airline, air-hostesses are not responding well and all over it was very bad experience. Next time may be Singapore airline :).

- Well, about Japan, nothing to say, I stayed in very good Shingawa Prince Hotel, near to Takanawa Prince Hotel. Fortunately I was able to find Indian Veg. Hotel (Hotel Devi) nearby, just 10mintues walk. Atleast I was able to see more people around me compared to Helsinki :).

- All demonstrations went well, so I was very happy, but communication in English is nearly impossible, so you need someone who knows Japanese and English. So, it doubles up the time for meeting discussions than originally planned.

o DaVinci - Patches:

- No. of cleanup patches were submitted to the danvici-linux-open-source mlist, but they are not pushed to davinci-git tree yet, Kevin? I will be starting further davinci cleanup soon, I still have 2wks to work on davinci tree.

o omap2420 - patches:

- There no decision yet made on PRCM cleanup patches I sent to reduce no. of #ifdefers being introduced due to OMAP2430, I think Tony is very much busy with PM on OMAP2420 or stuck somewhere with PM bugs :)

o Severe URTICARIA : Yes, I had written about it earlier entries, now my skin allergy is having medical name "URTICARIA", and it is due to "lemon, citrus fruits, Green Chilly, Tomotatos, Cold drinks and etc.". So one can imagine that I can only eat fresh food cooked at home only, again prepared with great care. It will take 2-3 months to supress the effect of this allergy. Right now I am switched to "Ayurvedic" medicines, after trying Steroids injections (Dexona) doses.

Ok, back to work, lots of e-mails to check and pull the various git trees.

Thursday, May 18, 2006

OMAP2430-L GIT Porting

OMAP2430 Linux Porting to OMAP-GIT Tree:

* I have started the porting Linux baseport for OMAP2430 available on to OMAP-GIT

Published the minimal OMAP2430 Linux Port:

As of now the status is:

* Serial - OK
* GPIO support for block 5 - OK
* Intel Starata 64MB Flash - OK
* JFFS2 Mounting - ??
* SMC91X detection - OK
* NFS Mounting - ??
* Ramdisk - ??

Future Plan to add simple drivers:

* Watchdog - ??
* RNG - ??
* Keyboard - ??

Any help/patches/review comments would be appreciated for 2430.

On OMAP2420 front, I have not heard any review comments for camera driver. I need to split it as per new "omap patches guidelines". I will do it probably next week.

Back to Bangalore and its raining every evening here, so it's not too hot summer anymore. Lot of things are happening at personal life front, most of the time is planned for it for coming months. So, I might slow down the 2430/2420 work.

Wednesday, April 26, 2006

First Time

Finally I had started decorating my Blog. It very much visible if you had visited my blog earlier.


o Enabled comments word verification. I got funniest DaVinci Code comment on my TI DaVinci Platform.

o Enabled Flickr photo link. Various photos will soon be uploaded there.

o Enabled Visitor's link. Just for Fun.

o Added the blogs and site links I regularly visit during tea /(ah or Juhla Mokka coffee time). Atanu Dey's on Development of Rural India is my favourite.

Back to Basics:

o I am feeling very sick these days. Yesterday I went to one of Finnish Private Clinic, and diagonsed for Viral Infection.(Now this happened third time in last six months :(. ). Now I have concluded that it happens whenever there is season change mixed with rain and sunlight. Worst thing happened was I got allergic to the IbuProfen and Paracetamol content of tablet and generated itching on my skin. Got two red spots on my forehead and my ears became red :(. Allergy is not new to me, I am allergic to various things (I don't have exact list) from my childhood. Last time I got similar skin allergy when I was at rock music comp. in IIT, Mumbai, year 2000.

o Travelling back to India is on the cards, I will start on Saturday. Visting to my family after long time. Time to face full sunlight and +30-40 Centigrade temp. It is better that -25 to -30 temp. I faced here.

Now Reading:

o DaVinci manuals.
o openDML AVI Extension Headers 2.0.

* Making DaVici Linux Kernel code more readable and in strict compliance with Linux Kernel Coding Starndards is one of the goal, I can do various changes even if I don't have EVM.

* If I don't get DaVinci EVM access (due to other projects, and travel plans), I plan to have remote access to the board, by doing it myself, or utilizing someones EVM. If he/she allows me to access it.

* For OMAP24xx, Camera code is very much ready for linux-omap-git tree, except streaming through userptr is not working, as we need to fillup the vb_dma_sync_sg helper functions, but mmap and read works. So, it can be pushed to git tree. If I am feeling well, I can atleast submit that patch on this Friday.

* New subsystems :
- There are now new RTC and LED subsystems in kernel, so someone if having H2/H3/1510/OSK then can start working moving omap-rtc and various led drivers to those subsytems. It will be fun.

* OMAP24xx multiplane support: As said earlier, it seems now that someone (Imre?) will submit that support either through existing (omap/pub) driver (v4l2 interface) or thorough framebuffer driver (dev/fb1 and /dev/fb2). First option will be intrusive to Imre's fb driver, and implementing 2nd option might make Imre more happy. Please don't keep the implementation in your tree, even if it is not fully working. I would be glad to help in testing !!!

* OMAP24xx TI EVM TSC2101 Audio driver: No one is working on this for omap-git tree, AFAIK. So, someone can take it and implement using new SPI subsystem master driver for OMAP2. I would also appreciate EAC driver, if someone has explored that interface. I can only find few traces of such code interface in H2/H3 ALSA time.

* DaVinci Bridge: Someone recently asked support for C64x support in Nokia Open Source DSPGateway. AFAIK, Toshiharo-san, was working on c55x support for OMAP2. But he still need to submit the code. I am sure he is worried more about the updating documentation pdf :). Now it is more important to generate community/user base to use that dspgw. I don't see much contribution from the community except posting user experience and bugs/problems faced by them.

- Reasons for above could be:

o It is hard to add one more async. processor in parallel with C55x. eg. OMAP2 IVA. with the existing interface.

o When you move from the OMAP1 to OMAP2, for C55x, only few things change. So, as Toshiharo-san said, much of the code can be reusable. But it should be better no t to #ifdef the various register offset and base addresses. We should better have generic framework for it. As per my reading and comparision in those cases, mbx and mmu can be abstraced as fwk. Paul seem to have mentioned about mmu fwk on the linux-omap mailing list.
Funny thing about OMAP2 is IVA and DSP share same MMU architecture but same code can't be shared with Camera MMU, due to slight differences :). Now that's TI architecture :)

o Standardization: It is not new to have dual/triple/quad core architecture, and other semiconductor companies e.g Phillips, Motorola too have those architecture and so does bridges, running might be as binary only modules, having their own HAL and various abstractions. So, it is better to have some sort of abstracted generic fs interface in the Linux kernel to support more than one async. processors. But it is the long way to go.

Q: What is the last time you did it for first time?
Answer: From the last 3months, every event happend to me was first time. Travelling abroad, lot's of snow around, freezing temp., Travel by cruise, Sweden trip, and many more :)

Sunday, February 19, 2006

OMAP (H4) and DaVinci

o Finally submitted pending keypad patch for H4.

Pending patches/work for H4 + some other modifications. Someone who wants to do in their free time.

o camera_core.c needs platform_driver_register structure.
o H4 camera
- David Cohen was working on that, and he had submitted patch to the list.
o H4 TSC2101 Driver
- As per the SPI framework.
- I am planning to work on this, as it can be done easily as per the new SPI framework.
o H4 TSC2101 with ALSA driver.
- Someone posted TSC2101 with ALSA driver effort on the linux-omap mailing list.
o H4 Menelaus RTC driver
- It should be implemented in the different file altogether from omap-rtc.c, as it is implemented using different chip (Menelaus).
o H4 video out driver
- As I have pointed earlier, this might take some time.
o H4 NAND Driver
- I had posted the patch on the list, but not tested fully. Kyungmin had commented on that patch, but I was not able to do followup on that.

MCBSP Framework.

- As of now, we can see that McBSP.c is becoming ugly day by day, we would appreciate if someone( or may be I) can work on ideas of writing a small framework, like SPI. I have already thought of something about it. I will down my ideas may be next week.

o Just think of adding DaVinci, OMAP2430, OMAP3430 McBSP additional code added to mcbsp.c ...and you will see that file more ugly than before :).

o Also it adds lots of #ifdefers in audio codecs chips drivers on selection of mcbsp instance, as different boards design use different instance altogether, which should ideally come from board-*.c files.


Ah, I never wrote on this before. We/Community were supposed to get DaVinci tree code by end of Feb'06, as per some of the articles I read online.

As per my observation, GNU/Linux kernel porting for DaVinci must be going on by TI and MV from more than 8-9 months (I guess...), we can also see the name of the tree of DaVinci on git trees owned by Kevin Hilman. (Do you remember this OMAP730 guy ?). But think that, if they have opened the tree to public by this now,

o they would have got early review of code they have developed
o A chance of getting free of charge patches (Yes, you do have to pay MV).
o A chance of getting a Free of Charge maintainer, who can sync it up with latest Linux kernel tree.
o A chance of getting up-to-date drivers, as you know about changing frameworks and more better code, considering that it is easy to add new custom/EVM board based on the same chip. (Think of LINUX-OMAP tree :)).
o Early decision to merge with LINUX OMAP tree, if we think that most of the code can stay common, even if both the processor series is being targetted to different customers (Think customers here as ODM/OEM guys please).

---Komal Shah

Sunday, February 12, 2006


Ok, I am now in Helsinki, Finland from last 2 wks. I am leaving the reader to guess where I am working for a while now :).

The very difference from the INDIA you can find here is

o No Honking (Ah...How I am gonna wakeup then?. I need to use Alarm now )
o Electric switches has different meaning of ON and OFF. Actually reverse from India.
o Use lots of Eletronic gadgets in Home.
o Stay inside home...(It is very cold outside for an Indian...) and increase your productivity...ultimately you do the computing.
o Very Very big super markets ...but hard to find people there on weekdays. (I think India needs this ..but unfortunately we don't have that yet).

Anyways, there are many cultural differences which we know and not needed any mention. Sad part of the story is I am not able to pull the OMAP GIT tree yet...but I am sure I am gonna have workaround, once I get free from my current work, which might take few wks more, but ofcourse I can review few patches :). I will post few pictures soon.