1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-11-05 04:05:54 +02:00

tools/: new libatrf function atrf_slp_tr to control SLP_TR (for now only atben)

- include/atrf.h, lib/atrf.c (atrf_slp_tr): new function to set the SLP_TR
  line
- lib/driver.h (struct atrf_driver): added driver function slp_tr
- lib/atusb.c (atusb_driver): we dont support slp_tr yet
- lib/atben.c (atben_slp_tr, atben_driver): implement SLP_TR control
This commit is contained in:
Werner Almesberger 2011-04-03 20:13:38 -03:00
parent 84f2d276ab
commit fe2720e63a
5 changed files with 27 additions and 0 deletions

View File

@ -40,6 +40,7 @@ void atrf_reset_rf(struct atrf_dsc *dsc);
enum atrf_chip_id atrf_identify(struct atrf_dsc *dsc);
int atrf_test_mode(struct atrf_dsc *dsc);
int atrf_slp_tr(struct atrf_dsc *dsc, int on);
int atrf_set_clkm(struct atrf_dsc *dsc, int mhz);
void atrf_reg_write(struct atrf_dsc *dsc, uint8_t reg, uint8_t value);

View File

@ -326,6 +326,20 @@ static int atben_buf_read(void *handle, void *buf, int size)
}
/* ----- SLP_TR ------------------------------------------------------------ */
static void atben_slp_tr(void *handle, int on)
{
struct atben_dsc *dsc = handle;
if (on)
PDDATS = SLP_TR;
else
PDDATC = SLP_TR;
}
/* ----- RF interrupt ------------------------------------------------------ */
@ -347,6 +361,7 @@ struct atrf_driver atben_driver = {
.reset = NULL,
.reset_rf = atben_reset_rf,
.test_mode = NULL,
.slp_tr = atben_slp_tr,
.reg_write = atben_reg_write,
.reg_read = atben_reg_read,
.buf_write = atben_buf_write,

View File

@ -149,6 +149,15 @@ int atrf_test_mode(struct atrf_dsc *dsc)
}
int atrf_slp_tr(struct atrf_dsc *dsc, int on)
{
if (!dsc->driver->slp_tr)
return 0;
dsc->driver->slp_tr(dsc->handle, on);
return 1;
}
int atrf_set_clkm_generic(
void (*reg_write)(void *dsc, uint8_t reg, uint8_t value),
void *handle, int mhz)

View File

@ -281,6 +281,7 @@ struct atrf_driver atusb_driver = {
.reset = atusb_reset,
.reset_rf = atusb_reset_rf,
.test_mode = atusb_test_mode,
.slp_tr = NULL, /* @@@ not yet *
.set_clkm = atusb_set_clkm,
.reg_write = atusb_reg_write,
.reg_read = atusb_reg_read,

View File

@ -26,6 +26,7 @@ struct atrf_driver {
void (*reset)(void *dsc);
void (*reset_rf)(void *dsc);
void (*test_mode)(void *dsc);
void (*slp_tr)(void *dsc, int on);
int (*set_clkm)(void *dsc, int mhz);
void (*reg_write)(void *dsc, uint8_t reg, uint8_t value);
uint8_t (*reg_read)(void *dsc, uint8_t reg);