From e42203b7235f73f4125a08e7590715acae4528ee Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Sun, 5 Jun 2011 22:34:49 -0300 Subject: [PATCH] atusb/fw/: new request ATUSB_SLP_TR to pulse SLP_TR - include/atusb/ep0.h (enum atspi_requests): added ATUSB_SLP_TR - ep0.c (my_setup): call slp_tr on ATUSB_SLP_TR - board.h (slp_tr), board.c: pulse SLP_TR high --- atusb/fw/board.c | 7 +++++++ atusb/fw/board.h | 1 + atusb/fw/ep0.c | 5 +++++ atusb/fw/include/atusb/ep0.h | 2 ++ 4 files changed, 15 insertions(+) diff --git a/atusb/fw/board.c b/atusb/fw/board.c index 9add5e0..7e1bd98 100644 --- a/atusb/fw/board.c +++ b/atusb/fw/board.c @@ -96,6 +96,13 @@ uint8_t read_irq(void) } +void slp_tr(void) +{ + SET(SLP_TR); + CLR(SLP_TR); +} + + void led(int on) { if (on) diff --git a/atusb/fw/board.h b/atusb/fw/board.h index 0e5dbfe..c5e21e8 100644 --- a/atusb/fw/board.h +++ b/atusb/fw/board.h @@ -70,6 +70,7 @@ extern uint8_t board_sernum[42]; void reset_rf(void); void reset_cpu(void); uint8_t read_irq(void); +void slp_tr(void); void led(int on); void panic(void); diff --git a/atusb/fw/ep0.c b/atusb/fw/ep0.c index 2e5d895..81c2a3f 100644 --- a/atusb/fw/ep0.c +++ b/atusb/fw/ep0.c @@ -123,6 +123,11 @@ static int my_setup(const struct setup_request *setup) usb_send(&eps[0], buf, 3, NULL, NULL); return 1; + case ATUSB_TO_DEV(ATUSB_SLP_TR): + debug("ATUSB_SLP_TR\n"); + slp_tr(); + return 1; + case ATUSB_TO_DEV(ATUSB_REG_WRITE): debug("ATUSB_REG_WRITE\n"); spi_begin(); diff --git a/atusb/fw/include/atusb/ep0.h b/atusb/fw/include/atusb/ep0.h index d887762..00746e1 100644 --- a/atusb/fw/include/atusb/ep0.h +++ b/atusb/fw/include/atusb/ep0.h @@ -26,6 +26,7 @@ * host-> ATUSB_TEST - - 0 * ->host ATUSB_TIMER - - #bytes (6) * ->host ATUSB_GPIO dir+data mask+p# 3 + * host-> ATUSB_SLP_TR - - 0 * * host-> ATUSB_REG_WRITE value addr 0 * ->host ATUSB_REG_READ - addr 1 @@ -74,6 +75,7 @@ enum atspi_requests { ATUSB_TEST, /* atusb-sil only */ ATUSB_TIMER, ATUSB_GPIO, + ATUSB_SLP_TR, ATUSB_REG_WRITE = 0x20, /* transceiver group */ ATUSB_REG_READ, ATUSB_BUF_WRITE,