* David Brownell <[EMAIL PROTECTED]> [081111 18:10]:
> On the grounds that it's probably the way to go, here's initial
> support for the regulator framework.
> 
>  - simplified TWL child creation code ... updates an earlier
>       patch, AFAICT this is ready to merge now
>  - regulator driver support ... core functionality seems done
>  - create regulator devices ... ditto
>  - hook it up for testing ... NOT FOR MERGING
> 
> This is a trifle awkward for me to test without test points
> to measure the dozen or so LDO regulators that are exposed.
> But poking at the registers tells sensible stories, and the
> regulator driver code and device setup seem to be in more
> or less usable shape ... so it's time to circulate this code!
> 
> If this checks out, the first three patches should merge
> and then stuff like USB (easiest) and HSMMC can start to
> use it.

Nice! Do you want to wait a bit before converting HSMMC to avoid
adding extra dependencies to get that driver merged upstream first?

BTW, your first patch in this series does not apply, can you please
refresh? I just pushed a bunch of patches from you, can you also
please check I'm not missing any of your patches?

Thanks,

Tony



> It's my expectation that virtually no-one on this list will
> ever have used the regulator framework before; it's very new,
> and the regulator drivers in the mainline kernel aren't for
> chips that get much use with current OMAP boards.
> 
> So my advice to anyone wanting to switch TWL LDOs on/off is
> to allocate an hour or two to play around with the sysfs
> interfaces you'll get by applying all four patches and then
> booting the resulting kernel:
> 
>   /sys/class/regulator/regulator.*/...
>       a dozen regulators, most attributes useless (see [1],
>       especially [2], and maybe [3] for optional patches
>       to improve utility); all are read-only
>   /sys/devices/platform/reg-virt-consumer.*
>       half as many regulators (platform_bus bug), but
>       with WRITABLE attributes for testing with
> 
> The "virtual consumer" thing is drivers/regulator/virtual.c
> and you'll have to read its code for details ... basically,
> write the min and max voltage attributes there (or zero them)
> then look at the regulator.* attributes and/or check the
> testpoints on your board.
> 
> Appended is a script that dumps regulator stats in more
> digestible form than raw sysfs:
> 
> VMMC1 -- normal,      3150000 uVolts  (regulator.0)
>       1850000 <--> 3150000 uVolts
> VDAC  -- normal,      1800000 uVolts  (regulator.1)
>       1200000 <--> 1800000 uVolts
> VAUX3 -- normal,      2800000 uVolts  (regulator.10)
>       1500000 <--> 2800000 uVolts
> VAUX4 -- off,         1000000 uVolts  (regulator.11)
> VAUX2 -- normal,      1500000 uVolts  (regulator.2)
>       1300000 <--> 2800000 uVolts
> VUSB1V5       -- normal,      1500000 uVolts  (regulator.3)
> VUSB1V8       -- normal,      1800000 uVolts  (regulator.4)
> VUSB3V1       -- normal,      3100000 uVolts  (regulator.5)
> VUSBCP        -- off,         4800000 uVolts  (regulator.6)
> VMMC2 -- off,         2600000 uVolts  (regulator.7)
> VSIM  -- normal,      1800000 uVolts  (regulator.8)
>       1800000 <--> 3000000 uVolts
> VAUX1 -- off,         3000000 uVolts  (regulator.9)
> 
> Enjoy!
> 
> - Dave
> 
> [1] http://marc.info/?l=linux-kernel&m=122645403604873&w=2
> [2] http://marc.info/?l=linux-kernel&m=122645416305013&w=2
> [3] http://marc.info/?l=linux-kernel&m=122645416305018&w=2
> 
> 
> #!/bin/bash
> 
> cd /sys/class/regulator || exit 1
> 
> for F in *
> do
>       NAME=$(cat $F/name)
>       test $NAME = VAUX2_4030 && NAME=VAUX2
>       OPMODE=$(cat $F/opmode)
>       STATE=$(cat $F/state)
>       test $OPMODE != off -a $STATE = disabled && OPMODE=off
>       UVOLTS="0"
>       test -f $F/microvolts && UVOLTS=$(cat $F/microvolts)
> 
>       echo $NAME"     -- "$OPMODE",   "$UVOLTS" uVolts        ("$F")"
> 
>       test $OPMODE = off && continue
> 
>       # FIXME:  may have device links ... display them too
>       test ! -f $F/min_microvolts && continue
> 
>       UVOLTS_MIN=$(cat $F/min_microvolts)
>       UVOLTS_MAX=$(cat $F/max_microvolts)
>       echo "  "$UVOLTS_MIN" <--> "$UVOLTS_MAX uVolts
> 
> done
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to