Posts

Showing posts with the label Open Source

Quick and Dirty userspace testing of regulator with virtual consumer

Writing a driver for a new regulator is usually fun, until you need to test the darned thing. Many of the users of the regulator is probably not yet ready in an development environment and need to test cant wait. I had recently a similar situation and found CONFIG_REGULATOR_VIRTUAL_CONSUMER You'd probably register and provide and regulator supply, but without a driver using it in a controlled environment (read shell script or so), it is hard to poke holes completely into your driver. Steps are rather simple. Assumption - you already have a regulator registered in the system and you are aware of the regulator name - You can also figure out it's name by the following (an example from 3.9-rc8 on Beagle-XM): # head /sys/class/regulator/*/name ==> /sys/class/regulator/regulator.0/name /sys/class/regulator/regulator.1/name /sys/class/regulator/regulator.2/name /sys/class/regulator/regulator.3/name /sys/class/regulator/regulator.4/name /sys/class/regulator/regulator.5/...

firewall on N900

Grr my first post of this year and I plan to start "I confess: I am a paranoid". what the heck, lets go with it: I confess, I am a paranoid. I carry around my N900 all the time and thanks to my job, I end up in different continents at times. with my primary SIM connection, international data network tends to around 15$/MB which I don't really feel like paying, so I either choose a local SIM (If I am around for that long that deserves it) OR more likely to use WLAN in the hotel or guest network I am allowed on. I don't like wlan network in general other than the one I personally setup. and hence dont like the thought that my phone's network services are open for all on wlan0 device :(. This triggered my search for something quick and simple firewall. I think of it more or less as a basic password I'd setup on my laptop of a phone unlock code or lock my car when I step out of it - it can be counteracted, but what the heck, some one has to see it worthwhile the e...

meego kernel on pandaboard?

Image
What exactly is a kernel? at the end of the day, just a collection of patches :).. So yeah, I have a "unique" collection of patches for PandaBoard that I requested MeeGo kernel maintainers to pick up yesterday. Now to wait and see if they actually get accepted. Next steps would be tough: DSS - omapfb enablement EHCI - keyboard and mouse As usual, the patches to provide the basic functionality does'nt seem to have made it upstream yet.. I sometimes wonder - Is it really so hard to push patches upstream?? Then I realize, I push patches in my spare time :) Which basically means that I am not driven by the chruning winds of business forces within the work environment dictating when and what patches I should be posting upstream :). Glad I still retain that flexibility. and probably the reason I do move seemingly faster - I always have the luxury to maintain focus on upstreaming my patchset.. it is all that hard when one writes in BOLD on one's office white board: DID YOU...

Tired of ttySx and ttyOx

Recently linux-omap integrated omap-serial patches. Now we dont use ttyS2 anymore but use ttyO2. tired of switching kernel versions and fixing my getty, wrote the following In my busybox /etc/init.d/rcS file: proc=`mount|grep "proc"` if [ -z "proc" ]; then mount -t procfs none /proc fi if [ -f /proc/cmdline ]; then # grab console from cmdline and use it.. tty=`cat /proc/cmdline|sed -e "s/ /\n/g"|grep console|cut -d '=' -f2|cut -d ',' -f1` if [ -z "tty" ]; then echo `cat /proc/cmdline` "does'nt have console?" else # remove my previous one if it exists rm -f /dev/tty-bd ln -s /dev/$tty /dev/tty-bd echo "/dev/$tty linked to /dev/tty-bd - using as console" fi else echo "cmdline not found - no console?" fi In my inittab: tty-bd::askfirst:-/bin/sh

PandaBoard un-veiled: get even more power with dual core ARM cortex A9 OMAP4!

Image
This year seems to be the year of the hacker community :) TI opened PandaBoard for early adopters today :).. Good details on PandaBoard here . The usual goodies schematics and userguide etc are already up as well.. Some of the stuff that impressed me: HDMI AND DVI options HSUSB hub and Ethernet yaay.. Serial port is a decent serial port and no weird wiring needed ;) Connectors pin compatible to beagle and xm.. :) Did I forget to say you have 1271 onboard wlan?? And lots more.. Just love this Baby.. I run ubuntu at home on my panda (yep, am already part of the PEAP - PandaBoard Early Adopter Program) and working on getting MeeGo up and running as well. Supported in mainline kernel and mainline u-boot as well.. :) fun time ahead with multi core processing ;)

linux on C64 DSP!

Thanks to rkw, heard of this: http://linux-c6x.org/wiki/index.php/Main_Page it is based on 2.6.34 - pretty much closer to .36-rc5 ;) and needs some more work I guess.. mostly, it would be a great thing to get this running on beagleboard ! I cant think why not.. ;)

MeeGo diary notes: Packaging the Das U-boot

My Odyssey into MeeGo packaging continues today with U-boot packaging. Decision on the source First of all for U-boot package I needed to decide which source to use. Since I am no big fan of private repositories (even the ones hosted publicly!), the mainline u-boot was an obvious choice. Thankfully sakoman and rest of the u-boot community have done a great job in making omap3 and omap4 support available in Mainline u-boot . And yep, it does have PandaBoard and obviously beagleboard support as well. RPM saga Since the rule of a lazy programmer is not to invent something someone already has done, spend some time with google searching for readily available RPM packages for u-boot. One of the first things I hit was that our friends at Freescale had done a nify spec packaging for imx processors for packaging u-boot . But, looking closely I was not too impressed, searching a bit more, hit on the openmamba project and the excellent packaging that Silvan Calarco has done for u-boot. Though ...

MeeGo diary notes: getting ready for packaging

Got myself a build.meego.com account and am attempting to start a new package around meego for pandaboard - an OMAP4 based platform. This series of blog posts will hopefully contain my day to day notes for a better lack of word all under the label of MeeGo ;).. Note: the good folks at DeviceVM had already done a MeeGo port to OMAP4 Blaze platform sometime back, my approach is a bit different in getting MeeGo port available in main MeeGo repository itself. Different challenge - mostly of the packaging kind as I am starting to realize ;) I've started my first experience with packaging for MeeGo with trying to put together a package for U-Boot. my lack of previous experience with rpm packaging has me stumped so far :(. On the base level, MeeGo uses rpm packaging - essentially what folks call a spec file . MeeGo folks have added one layering on top with yaml file which is translated by a set of tools called spectacle to translate the yaml to rpm spec file. Spectacle Since I like to...

Public OMAP4 TRM released

TI has released public OMAP4430 TRM and clock tool in the official site today. :).. yaay.. [ WARNING 17 Oct 2012 ]: ALWAYS GO HERE  for the very latest documentation - Thanks to a few people ignoring the "official site" link above TRM gives you indepth insight into what OMAP4 is all about and the clock tool is my favourite tool especially to understand the complex clock framework dependencies on OMAP chips - the released version is custom to TI OMAP4 platform though.. but effective tool if you like to learn/debug/understand the clock framework dependencies -> all the way from the oscillator you use on the board to the clocks you use in the functional block of interest.. originally note from Mythri on Linux OMAP [update: ctt wiki ]

how do you start a new year? in style!

it is exciting news and there is no reason for me to do the good old style of a post.. so here it goes: Jason's state of the beagle address (somehow sounds similar to this - no offense intended ofcourse) had the following highlights (or my view how as an engineer I'd have paraphrased): Beagleboard rocks . (and we have awards to prove it too ;) ).. We kinda got screwed by beagle's success initially, but now I think things are better now.. beagleboard is getting an engine change soon - blistering speeds ahead dudes.. 720meg beagles.. get those apps rockin.. Annnndddd..... Yeeeehaaaawww.. beagleboard XM !!!!!! DM3730(dudes in l-o know the diff with OMAP3630).. wow.. more juice under the hood man... mama mia!!! camera, 4 port ehci, usb2ethernet the good ol' lcd and expansion connectors, everything we all cribbed and wanted our fav beagle to have, is there now! Go Go Gerald ;) for those newbies.. go do the training and get rockin faster..(android/angstrom.. whatever ...

OMAPZoom tutorial hour!!

So omapzoom folks have a tutorial hour now, some really cool topics get caught up here.. this week: · Android on OMAP Overview and Resources · DSP Bridge Overview · OpenEmbedded Overview it is a webex (works on most OSes including a linux PC) + teleconf -> large number of access numbers from around the world more information here . the OMAP tutorial hour (including the previous presentations - which by the way explains kernel process from TI) are available here .

few new things I see on linux-omap kernel community

After a long while of staying off linux-omap, been watching it rather closely recently.. here are some interesting stuff I saw this month: Power Management: Operating points and general PM strategy for handling for various silicons here Silicon Feature support for OMAP3 here New silicon support: OMAP35xx and 36xx support being introduced. Discussion on memory and cache issue here ETM, ETM support here few new PMIC - 6030 and 5031 hints of wl1251 support getting upstream IO_ADDRESS is dead use io_remap like the rest of the world spring cleaning of omap850/730 series and of course a bunch of stuff I have missed posting here such as move to 2.6.32-rc4 by Tony and Kevin, both pushing out patches to mainline etc.....

timing diagrams

Image
drawtime This is kinda a cool app that runs on ubuntu to draw timing diagrams as follows: Example(from the drawtime website): CS1 = 1, OE = 1, ADDR = X, DATA = Z. CS1 = 0, OE = 0, ADDR = "". OE -tOE> DATA = ""; CS1 -tCS1> DATA; ADDR -tACC> DATA. OE = 1, CS1 = 1, ADDR = X. CS1 -tH> DATA = Z; OE -tH> DATA; ADDR -tH> DATA. and you can now generate all those cool waveforms without having to worry about did you get the lines right etc.. more such cool stuff here

Flashlite and Valgrind for OMAP3!!

Image
Looking through the beagleboard facebook group , Saw two interesting points: Flash Lite 3.1 evaluation version for Beagleboard For all the Beagleboard fans out there, we’ve created an evaluation version of Flash Lite 3. This is a fully functional version of Flash Lite that times out in 3 minutes. It is built on Angstrom Linux distribution and requires X. Please email me if you are looking for more information or are interested in having one. I should mention that OMAP 3530 (ARM Cortex A8) is a powerful CPU and seems to handle graphics as well as video very well." How to build Valgrind for Beagleboard 1) Get Valgrind source code from SVN using revision 9648 and 1888 for VEX svn co -r 9648 svn://svn.valgrind.org/val grind/trunk cd VEX svn update -r 1888 2) Download the patch here http://bugsfiles.kde.org/a ttachment.cgi?id=32348 3) Apply the patch into the source code cd valgrind patch -p1 4) Run autogen.sh to run autotools 5) Configure the source code ./configure --host=arm-angst...

CELF 2009 - France (ELC-Embedded Linux Conference)

here are the sessions in the conference: http://www.embeddedlinuxconference.com/elc_europe09/sessions.html Includes Sascha and my personal fav - u-boot v2 .

And then Finally TI U-Boot tree!!

Finally.... here it is!!! patches for u-boot to be send straight to u-boot mailing list .

Free DSP codecs!!!

Wow.. a blast of new sites for omapzoom.. And then I see this on the new omapzoom google groups !!! * MPEG4 Video Dec * H263 Video Dec * JPEG Dec * JPEG Enc * AAC Dec https://gforge.ti.com/gf/project/openmax/frs/?action=index And you also now have a wiki for omap

Plato! trace-visualize-debug-filter code path!

Got this link from a colleague - kinda useful if you would like to use it for your own purposes.. quote from the site: PLATO is a tool for displaying and analyzing software traces from an application being debugged. It connects to TTIF (libttif.so, included) which provides a lower overhead replacement for printf(), so as to minimize the chance that timing related bugs disappear when you enable debug traces, and also some binary trace APIs. PLATO can be running on a separate PC from the application being debugged, making it suited for embedded development. PLATO will decode/filter/display/visualize the traces

towards a integrated infrastructure for feature + errata handling in kernel

I have a confession to make: I am fanatic about clean code. I like it simple and I like it elegant. Few days back, I had a chat on linux omap mailing list on what I'd dream to see instead of a half a dozen cpu_has_feature_XYZ() APIs in the system.. The thought is more of this form: Some sort of infrastructure which is common to all silicons,platforms exist which provides method to register the tuple (silicon_rev_id | ip_module_rev_id, feature_errata_id) Specific drivers such as DMA, I2C, McBSP, PRCM etc.. on registration provides to the system the an array of tuples for that device. Platform on bootup provides the platform_data to the driver, which allows the driver to start, but now, it can also detect cpu_rev and can grap it's own IP Module rev from it's own register.. -> that is provided to the infrastructure Every time there is a need to check to enable/disable feature/errata, all the code needs to do is: if (is_enabled(dev, OMAP3_ISP) ) { do my stuff; } is...

Cool your laptop - linux governor

Check this script out: for i in /sys/devices/system/cpu/cpu[0-9]; do echo $i `cat $i/cpufreq/scaling_governor`; done and see here for a description and this for a bit of history