Mercurial > ecos
changeset 2134:f018213654da
* src/at91_serial.c (at91_serial_lookup): Enable the peripheral
clock at lookup time to keep the power usage low.
| author | asl |
|---|---|
| date | Sun, 19 Feb 2006 19:52:55 +0000 |
| parents | 6621a815b2a7 |
| children | a22f1b3135dd |
| files | packages/devs/serial/arm/at91/current/ChangeLog packages/devs/serial/arm/at91/current/src/at91_serial.c |
| diffstat | 2 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/devs/serial/arm/at91/current/ChangeLog +++ b/packages/devs/serial/arm/at91/current/ChangeLog @@ -1,3 +1,8 @@ +2006-02-19 Andrew Lunn <andrew.lunn@ascom.ch> + + * src/at91_serial.c (at91_serial_lookup): Enable the peripheral + clock at lookup time to keep the power usage low. + 2004-11-10 Sebastian Block <sebastianblock@gmx.net> * src/at91_serial.c: Added third port
--- a/packages/devs/serial/arm/at91/current/src/at91_serial.c +++ b/packages/devs/serial/arm/at91/current/src/at91_serial.c @@ -369,7 +369,13 @@ at91_serial_lookup(struct cyg_devtab_ent const char *name) { serial_channel * const chan = (serial_channel *) (*tab)->priv; - + +#ifdef AT91_PMC_PCER + // Enable the peripheral clock to the device + at91_serial_info * const at91_chan = (at91_serial_info *)chan->dev_priv; + HAL_WRITE_UINT32(AT91_PMC+AT91_PMC_PCER, + (1 << at91_chan->int_num)); +#endif (chan->callbacks->serial_init)(chan); // Really only required for interrupt driven devices return ENOERR; }
