Geode and Power Management

Geode and Power Management

Post by Roman Fietz » Mon, 01 Apr 2002 20:12:50



Hello,

I've got an Advantech PCM-3350 w/ a 300MHz NS Geode. Even when it's
idle it's producing a lot of heat w/ a 2.4.18 an no RT extension.

The BIOS documentation from Advantech is very "thin". When I enable
the PM features in the Award BIOS, the CPU goes down and doesn't react
on kbd hits as well as on ethernet ping's allthough I have the
appropriate IRQ's enabled in the BIOS.

Where can I find docs about activating SoH? Is that just a patch for
the 2.4.19 yet?

Do I need to configure the kernel properly? I've selected

CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y

in the kernel. Is that be enough to go hlt in the idle process or is
going hlt the default even w/o selecting an APM feature (I do not know
when current_cpu_data.hlt_works_ok is set)?

Roman

--

It's not a bug of my MUA that I have only two lines of signature!

 
 
 

Geode and Power Management

Post by Ma » Tue, 02 Apr 2002 05:08:36



> Hello,

> I've got an Advantech PCM-3350 w/ a 300MHz NS Geode. Even when it's
> idle it's producing a lot of heat w/ a 2.4.18 an no RT extension.

> The BIOS documentation from Advantech is very "thin". When I enable
> the PM features in the Award BIOS, the CPU goes down and doesn't react
> on kbd hits as well as on ethernet ping's allthough I have the
> appropriate IRQ's enabled in the BIOS.

> Where can I find docs about activating SoH? Is that just a patch for
> the 2.4.19 yet?

> Do I need to configure the kernel properly? I've selected

> CONFIG_APM_DO_ENABLE=y
> CONFIG_APM_CPU_IDLE=y
> CONFIG_APM_DISPLAY_BLANK=y

> in the kernel. Is that be enough to go hlt in the idle process or is
> going hlt the default even w/o selecting an APM feature (I do not know
> when current_cpu_data.hlt_works_ok is set)?

> Roman

Hi. The SoH feature has nothing to do with the kernel (at least not in
my - somewhat - limited experience). As long as the kernel invokes
halt (and it does even though I don't know exactly where) the Geode
enters SoH as long as it is enabled by the BIOS. Maybe you should try
to enable BIOS power management and disable every automatic function
in it. I had a similar behaviour as yours when I disabled PM on an
Aaaeon Geode based SBC. IIRC enabling APM in kernel won't work for
this specific problem.

I have written a tiny module that enables SoH. It's ridiculously
simple (2 outb() lines) but I don't remember them from the top of my
head. I can post it tomorrow when I get to my office.

Cheers.

Elder.

 
 
 

Geode and Power Management

Post by Ma » Tue, 02 Apr 2002 20:21:26


#include <linux/module.h>
#include <linux/kernel.h>
#include <sys/io.h>

#define CCR2 (0xC2)
#define SUSP_ON_HLT (1<<3)
#define USE_SUSP (1<<7)
static char save;

int init_module(void)
{
        char ch;
        outb (CCR2, 0x22);              
        save=ch= inb (0x23);            

        printk ("Original CCR2: %02X\n", ch);
        ch= SUSP_ON_HLT | USE_SUSP;     // Here are the lines that
        outb (CCR2, 0x22);              // activate
        outb (ch, 0x23);                // SoH

        outb (CCR2, 0x22);
        ch= inb (0x23);

        printk ("Modified CCR2: %02X\n", ch);
        printk("Geode Suspend on halt configured\n");
        return 0;

Quote:}

void cleanup_module(void)
{
        char ch;
        outb (CCR2, 0x22);
        outb (save, 0x23);

        outb (CCR2, 0x22);
        ch= inb (0x23);
        printk ("Restored CCR2: %02X\n", ch);
        printk("Original Suspend on halt confi. restored\n");

Quote:}

 
 
 

Geode and Power Management

Post by Despamme » Tue, 02 Apr 2002 23:10:44


Quote:> I've got an Advantech PCM-3350 w/ a 300MHz NS Geode. Even when it's
> idle it's producing a lot of heat w/ a 2.4.18 an no RT extension.

How much current is the board pulling off 5V? We have not been able to get
this board below ~1.05A, no matter what PM features are invoked. That's just
over 5W, which is a reasonable amount of warmth :)

--
-- Lewin A.R.W. Edwards
Replace spam with larwe when emailing!
For-hire : http://www.zws.com/
Personal: http://www.larwe.com/
Day job: http://www.digi-frame.com/

 
 
 

Geode and Power Management

Post by Ma » Wed, 03 Apr 2002 02:29:59



Quote:> > I've got an Advantech PCM-3350 w/ a 300MHz NS Geode. Even when it's
> > idle it's producing a lot of heat w/ a 2.4.18 an no RT extension.

> How much current is the board pulling off 5V? We have not been able to get
> this board below ~1.05A, no matter what PM features are invoked. That's just
> over 5W, which is a reasonable amount of warmth :)

Hi. I dont know this specific board but the Geode itself consumes
around 2W maximum (presuming GX1 300MHz, 2V core supply) and that must
drop to less than 0.5W when idle. Does this board use linear
regulators to obtain core voltage and 3.3V?

Regards.

Elder.

 
 
 

Geode and Power Management

Post by Despamme » Wed, 03 Apr 2002 03:04:36


Quote:> Hi. I dont know this specific board but the Geode itself consumes
> around 2W maximum (presuming GX1 300MHz, 2V core supply) and that must
> drop to less than 0.5W when idle. Does this board use linear
> regulators to obtain core voltage and 3.3V?

Not sure. We normally use the PCM-5280 in our shipping products, and it has
very similar power requirements (so I know it rather better). There is a
large (D2PAK) regulator at one corner of the board, but there also appears
to be at least one switcher right next to the Geode. This board also has the
CS5530 and in our application this chip is thumping a lot of data out to the
monitor constantly; this probably raises power consumption quite a bit.

--
-- Lewin A.R.W. Edwards
Replace spam with larwe when emailing!
For-hire : http://www.zws.com/
Personal: http://www.larwe.com/
Day job: http://www.digi-frame.com/

 
 
 

Geode and Power Management

Post by Roman Fietz » Fri, 05 Apr 2002 04:21:36



Quote:> How much current is the board pulling off 5V? We have not been able
> to get this board below ~1.05A, no matter what PM features are
> invoked. That's just over 5W, which is a reasonable amount of warmth
> :)

I cannot tell w/o taking my cabling apart, I will do that when I've
got some spare time, but I would say the CPU is somewhat above 70
degree celsius.

Roman

--

It's not a bug of my MUA that I have only two lines of signature!

 
 
 

Geode and Power Management

Post by Roman Fietz » Fri, 05 Apr 2002 06:07:05



> #include <linux/module.h>
> #include <linux/kernel.h>

... and so on

I tried this and it tells me it has set CCR to 0x88 when loading the
module.

Apr  3 23:59:42 ducati kernel: Original CCR2: 0x56
Apr  3 23:59:42 ducati kernel: Modified CCR2: 0x88
Apr  3 23:59:42 ducati kernel: Geode Suspend on Halt configured

I tried setting CCR2 to 0x9E as well, leaving the RSVD bits at 0 and
all other bits at their original value, but still no luck.

Still, the CPU is very hot. When I enable PM via the Award BIOS, the
CPU gets significantly cooler. I set up 1 minute delay and I can get
the system back to live with a keypress *once*. When the screen blanks
a second time I can't get it back pressing a key nor pinging it (I
enabled IRQ 15 in the PM BIOS page which is supposed to be the NIC
IRQ).

I read the Geode GX1 manual pages for PM and the settings of your C
code look good for me.

I also modified linux/arch/i386/kernel/process.c:default_idle() to see
if I really get there and what the value of
current_cpu_data.hlt_works_ok is, and it is 1.

Could somebody help an ignorant newcomer on this issue? I would even
read a telephone book to understand why this doesn't work, so links to
documentation are also welcome.

Roman

--

It's not a bug of my MUA that I have only two lines of signature!

 
 
 

Geode and Power Management

Post by Despamme » Fri, 05 Apr 2002 08:46:37


Quote:> > How much current is the board pulling off 5V? We have not been able
> > to get this board below ~1.05A, no matter what PM features are
> > invoked. That's just over 5W, which is a reasonable amount of warmth
> > :)

> I cannot tell w/o taking my cabling apart, I will do that when I've
> got some spare time, but I would say the CPU is somewhat above 70
> degree celsius.

I think something is quite wrong! Our application stays under 55C (measured,
CPU heatsink temperature is a tested parameter of our shipping products). We
have power management disabled in BIOS. I can't check kernel version here
(I'm at home) but ISTR it is 2.4.12. I have enabled APM support in my
kernel, though.

Is your concern power consumption, or CPU temperature?

--
-- Lewin A.R.W. Edwards
Replace spam with larwe when emailing!
For-hire : http://www.zws.com/
Personal: http://www.larwe.com/
Day job: http://www.digi-frame.com/

 
 
 

Geode and Power Management

Post by Ma » Fri, 05 Apr 2002 11:27:24



> got some spare time, but I would say the CPU is somewhat above 70
> degree celsius.

That was more or less what I have measured here with my tact-o-meter
(aka finger-meter). According to the manual the Geode GX1-300 drains
around 2.1W typical maximum. So heating to 70 degrees at 25 room
temperature is rather reasonable. If your application gets to 100% CPU
use very often, I'd recommend gluing a heatsink on it. If CPU use is
low then definetely the SoH feature is disabled by the BIOS.

Regards.