On Fri, Sep 12, 2014 at 2:50 PM, Jason Kridner <jkrid...@gmail.com> wrote:
> On Thursday, September 11, 2014 4:32:20 PM UTC-4, RobertCNelson wrote:
>>
>> On Thu, Sep 11, 2014 at 1:57 PM, Jason Kridner <jkrid...@gmail.com> wrote:
>> >
>> >
>> > On Thursday, September 11, 2014 10:39:25 AM UTC-4, RobertCNelson wrote:
>> >>
>> >> On Thu, Sep 11, 2014 at 9:23 AM, Tom Rini <tom.r...@gmail.com> wrote:
>> >> > On Friday, September 5, 2014 1:39:04 PM UTC-4, RobertCNelson wrote:
>> >> >>
>> >> >> On Fri, Sep 5, 2014 at 12:32 PM, Gerald Coley
>> >> >> <ger...@beagleboard.org>
>> >> >> wrote:
>> >> >> > SW is supposed to set it to 1.35V. Sounds like it got dropped
>> >> >> > somewhere
>> >> >> > because initially it did.. It was designed this way because when
>> >> >> > it
>> >> >> > was
>> >> >> > designed, the PMIC defaulted to 1.5V. Since the design there is a
>> >> >> > TPS65217D
>> >> >> > that was release later that supports the 1.35V initial setting.
>> >> >>
>> >> >> It should be set here:
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> http://git.denx.de/?p=u-boot.git;a=blob;f=board/ti/am335x/board.c;h=0739e6021a21e71d7d0f5c840b793ce7fdf98fae;hb=HEAD#l275
>> >> >>
>> >> >> 269                 /*
>> >> >> 270                  * Increase USB current limit to 1300mA or
>> >> >> 1800mA
>> >> >> and
>> >> >> set
>> >> >> 271                  * the MPU voltage controller as needed.
>> >> >> 272                  */
>> >> >> 273                 if (dpll_mpu_opp100.m == MPUPLL_M_1000) {
>> >> >> 274                         usb_cur_lim =
>> >> >> TPS65217_USB_INPUT_CUR_LIMIT_1800MA;
>> >> >> 275                         mpu_vdd = TPS65217_DCDC_VOLT_SEL_1325MV;
>> >> >> 276                 } else {
>> >> >> 277                         usb_cur_lim =
>> >> >> TPS65217_USB_INPUT_CUR_LIMIT_1300MA;
>> >> >> 278                         mpu_vdd = TPS65217_DCDC_VOLT_SEL_1275MV;
>> >> >> 279                 }
>> >> >>
>> >> >>
>> >> >> But that only happens if you have the "beaglebone black" header in
>> >> >> eeprom:
>> >> >>
>> >> >> 262                 /*
>> >> >> 263                  * Override what we have detected since we know
>> >> >> if
>> >> >> we
>> >> >> have
>> >> >> 264                  * a Beaglebone Black it supports 1GHz.
>> >> >> 265                  */
>> >> >> 266                 if (board_is_bone_lt(&header))
>> >> >>
>> >> >> So you'll have to override that check.
>> >> >
>> >> >
>> >> > Note that the question was about DCDC1 and DDR voltage not DCDC2/3
>> >> > (CORE
>> >> > and
>> >> > MPU) voltage.  I don't know what initial bring-up U-Boot was whacking
>> >> > DCDC1
>> >> > but it never reached the rest of the world so it's more a happy
>> >> > accident
>> >> > that should be corrected (and wouldn't be too hard to do, if anyone
>> >> > out
>> >> > there is looking for a reason to get their feet wet ).
>> >>
>> >> Well, the original v2013.04 patchset can be seen here:
>> >>
>> >>
>> >>
>> >> https://github.com/beagleboard/meta-beagleboard/tree/master/common-bsp/recipes-bsp/u-boot/u-boot-denx
>> >>
>> >> The only thing that touches the pmic, is this hack:
>> >>
>> >>
>> >>
>> >> https://github.com/beagleboard/meta-beagleboard/blob/master/common-bsp/recipes-bsp/u-boot/u-boot-denx/0004-beaglebone-HACK-raise-USB-current-limit.patch
>> >>
>> >> I don't have my tps decoder ring, so i'm not sure if that address is
>> >> more then just the usb current setting..
>> >
>> >
>> > I believe the equivalent hack to set DCDC1 to 1.35V is
>> >
>> >
>> > +/* 0x24 is the address of the PMIC */
>> > +/* 0x0b is the password register */
>> > +/* 0x0e is the DEFDCDC1 register */
>> > +/* 0x73 is the password (register 0x0e ^ 0x7d) */
>> > +/* 0x12 sets the DCDC1 to 1.35V */
>> > +/* Sequence must be repeated twice for password protection */
>> >  #define CONFIG_BOOTCOMMAND \
>> > +       "i2c mw 0x24 0x0b 0x73; " \
>> > +       "i2c mw 0x24 0x0e 0x12; " \
>> > +       "i2c mw 0x24 0x0b 0x73; " \
>> > +       "i2c mw 0x24 0x0e 0x12; " \
>>
>> So I got this to work via this sequence in the terminal..
>>
>> i2c dev 0;
>> i2c mw 0x24 0x0b 0x73; /* Password unlock 1 */
>> i2c mw 0x24 0x0e 0x12; /* Set DCDC1 to 1.35V */
>> i2c mw 0x24 0x0b 0x73; /* Password unlock 2 */
>> i2c mw 0x24 0x0e 0x12; /* Set DCDC1 to 1.35V */
>> i2c mw 0x24 0x0b 0x6c; /* Password unlock 1 */
>> i2c mw 0x24 0x11 0x86; /* Apply DCDC changes */
>> i2c mw 0x24 0x0b 0x6c; /* Password unlock 2 */
>> i2c mw 0x24 0x11 0x86; /* Apply DCDC changes */
>>
>> The L1/R6 test point is showing 1.35v
>
>
> Gerald noticed that the voltage went back to 1.5V after the kernel booted,
> so I've introduced a patch:
> http://builds.beagleboard.org/builders/runtests/builds/36
>
> I've boot tested it, but don't have a meter with me to measure the voltage.
> I did, however, get confirmation from the kernel:
>
> root@beaglebone:~# cat /sys/class/regulator/regulator.3/name
> vdd_ddr
> root@beaglebone:~# cat /sys/class/regulator/regulator.3/
> device/                min_microvolts         power/
> suspend_disk_state     type
> max_microvolts         name                   state
> suspend_mem_state      uevent
> microvolts             num_users              subsystem/
> suspend_standby_state
> root@beaglebone:~# cat /sys/class/regulator/regulator.3/microvolts
> 1350000
>
> Hopefully we'll see improved power and EMI conditions with this update!

Oh, don't do that in the common.. (that could cause some issues on the
old bone..)

I've got this version staged:

https://github.com/RobertCNelson/linux-dev/blob/master/patches/beaglebone/dts/0004-ARM-dts-am335x-boneblack-dcdc1-set-to-1.35v-for-ddr3.patch

Just heading out for a trip, so i won't be able to back port it ot the
3.14 tree till late sunday.. (got another lcd too..)

Regards,

-- 
Robert Nelson
http://www.rcn-ee.com/

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to