[U-Boot] Patch: Power Mangement with smc911x driver

Hello,
In a previous email I sent a patch without following u-boot gitflow. So I send my patch again following informations provided by Mike Frysinger.
I hope that I have done everything correctly now.
Sincerely
Bertrand Cachet

From: Bertrand Cachet bertrand.cachet@heig-vd.ch
From datasheet, when READY bit is set inside PM_CTRL register, it means that
device is already in *normal* (D0) mode => it doesn't need to be wake-up.
With this patch, we only wake-up (writing on TEST_BYTE register) if PM_MODE bits of PM_CTRL register is in D1/D2 mode.
Signed-off-by: Bertrand Cachet bertrand.cachet@heig-vd.ch --- drivers/net/smc911x.h | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h index 8ce08a9..258b9b6 100644 --- a/drivers/net/smc911x.h +++ b/drivers/net/smc911x.h @@ -471,8 +471,10 @@ static void smc911x_reset(struct eth_device *dev) { int timeout;
- /* Take out of PM setting first */ - if (smc911x_reg_read(dev, PMT_CTRL) & PMT_CTRL_READY) { + /* Take out of PM setting first */ + /* If PMT_CTRL_READY bit is set to 1b => power management is + already ready */ + if ((smc911x_reg_read(dev, PMT_CTRL) & PMT_CTRL_READY) == 0) { /* Write to the bytetest will take out of powerdown */ smc911x_reg_write(dev, BYTE_TEST, 0x0);

Hi Bertrand,
On 11/14/11 10:38, bertrand.cachet@heig-vd.ch wrote:
From: Bertrand Cachet bertrand.cachet@heig-vd.ch
From datasheet, when READY bit is set inside PM_CTRL register, it means that
device is already in *normal* (D0) mode => it doesn't need to be wake-up.
With this patch, we only wake-up (writing on TEST_BYTE register) if PM_MODE bits of PM_CTRL register is in D1/D2 mode.
Signed-off-by: Bertrand Cachet bertrand.cachet@heig-vd.ch
drivers/net/smc911x.h | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h index 8ce08a9..258b9b6 100644 --- a/drivers/net/smc911x.h +++ b/drivers/net/smc911x.h @@ -471,8 +471,10 @@ static void smc911x_reset(struct eth_device *dev) { int timeout;
- /* Take out of PM setting first */
- if (smc911x_reg_read(dev, PMT_CTRL) & PMT_CTRL_READY) {
- /* Take out of PM setting first */
- /* If PMT_CTRL_READY bit is set to 1b => power management is
already ready */
The multi-line comments should look like this: /* * blablabla */
- if ((smc911x_reg_read(dev, PMT_CTRL) & PMT_CTRL_READY) == 0) { /* Write to the bytetest will take out of powerdown */ smc911x_reg_write(dev, BYTE_TEST, 0x0);
participants (2)
-
bertrand.cachet@heig-vd.ch
-
Igor Grinberg