power: Enable Wake-on-LAN
This commit is contained in:
parent
e58f4d4eb9
commit
70e6476208
@ -12,6 +12,7 @@ struct Gpio __code DGPU_PWR_EN = GPIO(H, 4);
|
||||
struct Gpio __code EC_EN = GPIO(B, 6); // renamed to SUSBC_EN
|
||||
struct Gpio __code EC_RSMRST_N = GPIO(E, 5);
|
||||
struct Gpio __code GC6_FB_EN = GPIO(H, 3);
|
||||
struct Gpio __code LAN_WAKEUP_N = GPIO(B, 2);
|
||||
struct Gpio __code LED_ACIN = GPIO(C, 7);
|
||||
struct Gpio __code LED_AIRPLANE_N = GPIO(H, 7);
|
||||
struct Gpio __code LED_CAP_N = GPIO(J, 2);
|
||||
|
@ -23,6 +23,7 @@ extern struct Gpio __code DGPU_PWR_EN;
|
||||
extern struct Gpio __code EC_EN; // renamed to SUSBC_EN
|
||||
extern struct Gpio __code EC_RSMRST_N;
|
||||
extern struct Gpio __code GC6_FB_EN;
|
||||
extern struct Gpio __code LAN_WAKEUP_N;
|
||||
extern struct Gpio __code LED_ACIN;
|
||||
extern struct Gpio __code LED_AIRPLANE_N;
|
||||
extern struct Gpio __code LED_CAP_N;
|
||||
|
@ -15,6 +15,7 @@ struct Gpio __code DGPU_PWR_EN = GPIO(A, 0);
|
||||
struct Gpio __code EC_EN = GPIO(B, 6);
|
||||
struct Gpio __code EC_RSMRST_N = GPIO(E, 5);
|
||||
struct Gpio __code GC6_FB_EN = GPIO(H, 3);
|
||||
struct Gpio __code LAN_WAKEUP_N = GPIO(B, 2); // renamed to LAN_WAKE#
|
||||
struct Gpio __code LED_ACIN = GPIO(C, 7);
|
||||
struct Gpio __code LED_BAT_CHG = GPIO(H, 5);
|
||||
struct Gpio __code LED_BAT_FULL = GPIO(J, 0);
|
||||
|
@ -26,6 +26,7 @@ extern struct Gpio __code DGPU_PWR_EN;
|
||||
extern struct Gpio __code EC_EN;
|
||||
extern struct Gpio __code EC_RSMRST_N;
|
||||
extern struct Gpio __code GC6_FB_EN;
|
||||
extern struct Gpio __code LAN_WAKEUP_N;
|
||||
extern struct Gpio __code LED_ACIN;
|
||||
#define HAVE_LED_AIRPLANE_N 0
|
||||
extern struct Gpio __code LED_BAT_CHG;
|
||||
|
@ -24,6 +24,10 @@
|
||||
#define HAVE_EC_EN 1
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_LAN_WAKEUP_N
|
||||
#define HAVE_LAN_WAKEUP_N 1
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_LED_BAT_CHG
|
||||
#define HAVE_LED_BAT_CHG 1
|
||||
#endif
|
||||
@ -486,6 +490,24 @@ void power_event(void) {
|
||||
}
|
||||
}
|
||||
|
||||
#if HAVE_LAN_WAKEUP_N
|
||||
static bool wake_last = true;
|
||||
bool wake_new = gpio_get(&LAN_WAKEUP_N);
|
||||
if (!wake_new && wake_last) {
|
||||
update_power_state();
|
||||
DEBUG("%02X: LAN_WAKEUP# asserted\n", main_cycle);
|
||||
if (power_state == POWER_STATE_DS5) {
|
||||
power_on_s5();
|
||||
}
|
||||
}
|
||||
#if LEVEL >= LEVEL_DEBUG
|
||||
else if (wake_new && !wake_last) {
|
||||
DEBUG("%02X: LAN_WAKEUP# de-asserted\n", main_cycle);
|
||||
}
|
||||
#endif
|
||||
wake_last = wake_new;
|
||||
#endif // HAVE_LAN_WAKEUP_N
|
||||
|
||||
static uint32_t last_time = 0;
|
||||
uint32_t time = time_get();
|
||||
if (power_state == POWER_STATE_S0) {
|
||||
|
@ -11,6 +11,7 @@ struct Gpio __code CCD_EN = GPIO(G, 0);
|
||||
struct Gpio __code DD_ON = GPIO(E, 4);
|
||||
struct Gpio __code EC_EN = GPIO(E, 1);
|
||||
struct Gpio __code EC_RSMRST_N = GPIO(E, 5);
|
||||
struct Gpio __code LAN_WAKEUP_N = GPIO(B, 2);
|
||||
struct Gpio __code LED_ACIN = GPIO(C, 7);
|
||||
struct Gpio __code LED_AIRPLANE_N = GPIO(G, 6);
|
||||
struct Gpio __code LED_BAT_CHG = GPIO(A, 5);
|
||||
|
@ -22,6 +22,7 @@ extern struct Gpio __code CCD_EN;
|
||||
extern struct Gpio __code DD_ON;
|
||||
extern struct Gpio __code EC_EN;
|
||||
extern struct Gpio __code EC_RSMRST_N;
|
||||
extern struct Gpio __code LAN_WAKEUP_N;
|
||||
extern struct Gpio __code LED_ACIN;
|
||||
extern struct Gpio __code LED_AIRPLANE_N;
|
||||
extern struct Gpio __code LED_BAT_CHG;
|
||||
|
@ -11,6 +11,7 @@ struct Gpio __code CCD_EN = GPIO(G, 0);
|
||||
struct Gpio __code DD_ON = GPIO(E, 4);
|
||||
struct Gpio __code EC_EN = GPIO(E, 1);
|
||||
struct Gpio __code EC_RSMRST_N = GPIO(E, 5);
|
||||
struct Gpio __code LAN_WAKEUP_N = GPIO(B, 2);
|
||||
struct Gpio __code LED_ACIN = GPIO(C, 7);
|
||||
struct Gpio __code LED_AIRPLANE_N = GPIO(G, 6);
|
||||
struct Gpio __code LED_BAT_CHG = GPIO(A, 5);
|
||||
|
@ -22,6 +22,7 @@ extern struct Gpio __code CCD_EN;
|
||||
extern struct Gpio __code DD_ON;
|
||||
extern struct Gpio __code EC_EN;
|
||||
extern struct Gpio __code EC_RSMRST_N;
|
||||
extern struct Gpio __code LAN_WAKEUP_N;
|
||||
extern struct Gpio __code LED_ACIN;
|
||||
extern struct Gpio __code LED_AIRPLANE_N;
|
||||
extern struct Gpio __code LED_BAT_CHG;
|
||||
|
@ -12,6 +12,7 @@ struct Gpio __code DD_ON = GPIO(E, 4);
|
||||
struct Gpio __code DGPU_PWR_EN = GPIO(J, 2);
|
||||
struct Gpio __code EC_RSMRST_N = GPIO(E, 5);
|
||||
struct Gpio __code GC6_FB_EN = GPIO(J, 3);
|
||||
struct Gpio __code LAN_WAKEUP_N = GPIO(B, 2);
|
||||
struct Gpio __code LED_ACIN = GPIO(C, 7);
|
||||
struct Gpio __code LED_AIRPLANE_N = GPIO(H, 7);
|
||||
struct Gpio __code LED_BAT_CHG = GPIO(H, 5);
|
||||
|
@ -24,6 +24,7 @@ extern struct Gpio __code DGPU_PWR_EN;
|
||||
#define HAVE_EC_EN 0
|
||||
extern struct Gpio __code EC_RSMRST_N;
|
||||
extern struct Gpio __code GC6_FB_EN;
|
||||
extern struct Gpio __code LAN_WAKEUP_N;
|
||||
extern struct Gpio __code LED_ACIN;
|
||||
extern struct Gpio __code LED_AIRPLANE_N;
|
||||
extern struct Gpio __code LED_BAT_CHG;
|
||||
|
@ -23,6 +23,7 @@ extern struct Gpio __code DD_ON;
|
||||
extern struct Gpio __code EC_EN;
|
||||
extern struct Gpio __code EC_RSMRST_N;
|
||||
extern struct Gpio __code EC_SMD_EN_N;
|
||||
#define HAVE_LAN_WAKEUP_N 0
|
||||
extern struct Gpio __code LED_ACIN;
|
||||
#define HAVE_LED_AIRPLANE_N 0
|
||||
#define HAVE_LED_BAT_CHG 0
|
||||
|
@ -13,6 +13,7 @@ struct Gpio __code DGPU_PWR_EN = GPIO(F, 7);
|
||||
struct Gpio __code EC_EN = GPIO(B, 6); // renamed to SUSBC_EN
|
||||
struct Gpio __code EC_RSMRST_N = GPIO(E, 5);
|
||||
struct Gpio __code GC6_FB_EN = GPIO(J, 7);
|
||||
struct Gpio __code LAN_WAKEUP_N = GPIO(B, 2);
|
||||
struct Gpio __code LED_ACIN = GPIO(C, 7);
|
||||
struct Gpio __code LED_BAT_CHG = GPIO(H, 5);
|
||||
struct Gpio __code LED_BAT_FULL = GPIO(J, 0);
|
||||
|
@ -24,6 +24,7 @@ extern struct Gpio __code DGPU_PWR_EN;
|
||||
extern struct Gpio __code EC_EN;
|
||||
extern struct Gpio __code EC_RSMRST_N;
|
||||
extern struct Gpio __code GC6_FB_EN;
|
||||
extern struct Gpio __code LAN_WAKEUP_N;
|
||||
extern struct Gpio __code LED_ACIN;
|
||||
#define HAVE_LED_AIRPLANE_N 0
|
||||
extern struct Gpio __code LED_BAT_CHG;
|
||||
|
Loading…
x
Reference in New Issue
Block a user