On Thursday, September 11, 2014 4:32:20 PM UTC-4, RobertCNelson wrote:
>
> On Thu, Sep 11, 2014 at 1:57 PM, Jason Kridner <[email protected]> 
> 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 <[email protected]> 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 <
> [email protected]> 
> >> >> 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!
 

>
> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to