samsung/stumpy: implement get_write_protect_state

Current vboot wants that function.

Change-Id: Ie3b49aa716d9711223ec71a142878e847eedfe4e
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: http://review.coreboot.org/10726
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Patrick Georgi 2015-06-30 12:49:50 +02:00 committed by Stefan Reinauer
parent 961e8a46af
commit 94b8ad4879
1 changed files with 12 additions and 3 deletions

View File

@ -48,9 +48,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
/* Write Protect: GPIO68 = CHP3_SPI_WP */ /* Write Protect: GPIO68 = CHP3_SPI_WP */
gpios->gpios[0].port = GPIO_SPI_WP; gpios->gpios[0].port = GPIO_SPI_WP;
gpios->gpios[0].polarity = ACTIVE_HIGH; gpios->gpios[0].polarity = ACTIVE_HIGH;
gpios->gpios[0].value = gpios->gpios[0].value = get_write_protect_state();
(pci_read_config32(dev_find_slot(0, PCI_DEVFN(0x1f, 2)),
SATA_SP) >> FLAG_SPI_WP) & 1;
strncpy((char *)gpios->gpios[0].name,"write protect", strncpy((char *)gpios->gpios[0].name,"write protect",
GPIO_MAX_NAME_LENGTH); GPIO_MAX_NAME_LENGTH);
@ -86,6 +84,17 @@ void fill_lb_gpios(struct lb_gpios *gpios)
} }
#endif #endif
int get_write_protect_state(void)
{
device_t dev;
#ifdef __PRE_RAM__
dev = PCI_DEV(0, 0x1f, 2);
#else
dev = dev_find_slot(0, PCI_DEVFN(0x1f, 2));
#endif
return (pci_read_config32(dev, SATA_SP) >> FLAG_SPI_WP) & 1;
}
int get_developer_mode_switch(void) int get_developer_mode_switch(void)
{ {
device_t dev; device_t dev;