mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-28 10:45:22 +00:00
Support write protect GPIO on pit
Daisy doesn't have a write protect signal, so emulate it as a fake
signal which is always low; this maintains the current behavior on
daisy.
BUG=chrome-os-partner:15613
BRANCH=none
TEST=flashinfo shows gpio not asserted
then short across the WP screw and flashinfo shows it asserted
Change-Id: I329424efe1c3b065976e17395e2bf9588cdce88c
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/51500
Reviewed-by: Vic Yang <victoryang@chromium.org>
This commit is contained in:
committed by
ChromeBot
parent
6ff01d910a
commit
7d207c98e2
@@ -94,6 +94,9 @@ const struct gpio_info gpio_list[GPIO_COUNT] = {
|
||||
{"KB_OUT10", GPIO_C, (1<<5), GPIO_KB_OUTPUT, NULL},
|
||||
{"KB_OUT11", GPIO_C, (1<<6), GPIO_KB_OUTPUT, NULL},
|
||||
{"KB_OUT12", GPIO_C, (1<<7), GPIO_KB_OUTPUT, NULL},
|
||||
|
||||
/* Unimplemented signals which we need to emulate for now */
|
||||
GPIO_SIGNAL_NOT_IMPLEMENTED("WP_L"),
|
||||
};
|
||||
|
||||
/* I2C ports */
|
||||
|
||||
@@ -112,6 +112,8 @@ enum gpio_signal {
|
||||
GPIO_KB_OUT10,
|
||||
GPIO_KB_OUT11,
|
||||
GPIO_KB_OUT12,
|
||||
/* Unimplemented signals we emulate */
|
||||
GPIO_WP_L,
|
||||
/* Number of GPIOs; not an actual GPIO */
|
||||
GPIO_COUNT
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "console.h"
|
||||
#include "flash.h"
|
||||
#include "gpio.h"
|
||||
#include "registers.h"
|
||||
#include "task.h"
|
||||
#include "timer.h"
|
||||
@@ -309,14 +310,9 @@ uint32_t flash_get_protect(void)
|
||||
int not_protected[2] = {0};
|
||||
int i;
|
||||
|
||||
/*
|
||||
* TODO: (crosbug.com/p/15613) write protect scheme
|
||||
*
|
||||
* Always enable write protect until we have WP pin. For developer to
|
||||
* unlock WP, please use stm32mon -u and immediately re-program the
|
||||
* pstate sector.
|
||||
*/
|
||||
flags |= EC_FLASH_PROTECT_GPIO_ASSERTED;
|
||||
/* Check write protect GPIO */
|
||||
if (gpio_get_level(GPIO_WP_L) == 0)
|
||||
flags |= EC_FLASH_PROTECT_GPIO_ASSERTED;
|
||||
|
||||
/* Scan flash protection */
|
||||
for (i = 0; i < PHYSICAL_BANKS; i++) {
|
||||
|
||||
Reference in New Issue
Block a user