[coreboot-gerrit] New patch to review for coreboot: 90242f3 nyan/rush/veyron: Align ChromeOS GPIOs to new model

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Fri Apr 10 22:34:07 CEST 2015


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9570

-gerrit

commit 90242f3683bb96369af812e3910d2ca601075d30
Author: Julius Werner <jwerner at chromium.org>
Date:   Thu Nov 20 17:02:17 2014 -0800

    nyan/rush/veyron: Align ChromeOS GPIOs to new model
    
    This CL makes slight changes to the ChromeOS-specific GPIO definitions
    of Tegra and Rockchip boards to prepare them for new features in
    depthcharge. It adds descriptions for the EC in RW and reset GPIOs,
    changes the value Tegra writes into the (previously unused) 'port' field
    to describe the complete GPIO information, and removes code to sample
    some GPIOs that don't need to be sampled at coreboot time (to help
    depthcharge detect errors and avoid using a stale value for something
    that should always represent the current state).
    
    BRANCH=None
    BUG=None
    TEST=None (tested together with depthcharge patches)
    
    Change-Id: I3774979dbe7cacce4932c85810596d80e5664028
    Signed-off-by: Stefan Reinauer <reinauer at chromium.org>
    Original-Commit-Id: df295d0432fbf623597cf36ebb170bd4f63ee08d
    Original-Change-Id: I36bb16c8d931f862bf12a5b862b10cf18d738ddd
    Original-Signed-off-by: Julius Werner <jwerner at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/231222
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/mainboard/google/nyan/chromeos.c          | 26 +++++++++++++++++++++-----
 src/mainboard/google/nyan_big/chromeos.c      | 26 +++++++++++++++++++++-----
 src/mainboard/google/nyan_blaze/chromeos.c    | 26 +++++++++++++++++++++-----
 src/mainboard/google/rush/chromeos.c          | 18 +++++++++++++-----
 src/mainboard/google/rush_ryu/chromeos.c      | 22 +++++++++++++++++++---
 src/mainboard/google/rush_ryu/gpio.h          |  4 ++--
 src/mainboard/google/veyron_jerry/chromeos.c  | 23 +++++++++++++++++++++--
 src/mainboard/google/veyron_mighty/chromeos.c | 23 +++++++++++++++++++++--
 src/mainboard/google/veyron_pinky/chromeos.c  | 21 +++++++++++++++++++--
 9 files changed, 158 insertions(+), 31 deletions(-)

diff --git a/src/mainboard/google/nyan/chromeos.c b/src/mainboard/google/nyan/chromeos.c
index 91a3f13..1be850e 100644
--- a/src/mainboard/google/nyan/chromeos.c
+++ b/src/mainboard/google/nyan/chromeos.c
@@ -31,7 +31,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	int count = 0;
 
 	/* Write Protect: active low */
-	gpios->gpios[count].port = GPIO_R1_INDEX;
+	gpios->gpios[count].port = GPIO(R1);
 	gpios->gpios[count].polarity = ACTIVE_LOW;
 	gpios->gpios[count].value = gpio_get(GPIO(R1));
 	strncpy((char *)gpios->gpios[count].name, "write protect",
@@ -47,16 +47,16 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	count++;
 
 	/* Lid: active high */
-	gpios->gpios[count].port = GPIO_R4_INDEX;
+	gpios->gpios[count].port = GPIO(R4);
 	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = gpio_get(GPIO(R4));
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "lid", GPIO_MAX_NAME_LENGTH);
 	count++;
 
 	/* Power: active low */
-	gpios->gpios[count].port = GPIO_Q0_INDEX;
+	gpios->gpios[count].port = GPIO(Q0);
 	gpios->gpios[count].polarity = ACTIVE_LOW;
-	gpios->gpios[count].value = gpio_get(GPIO(Q0));
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "power",
 		GPIO_MAX_NAME_LENGTH);
 	count++;
@@ -69,6 +69,22 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
+	/* EC in RW: active high */
+	gpios->gpios[count].port = GPIO(U4);
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "EC in RW",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
+	/* Reset: active low (output) */
+	gpios->gpios[count].port = GPIO(I5);
+	gpios->gpios[count].polarity = ACTIVE_LOW;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "reset",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 
diff --git a/src/mainboard/google/nyan_big/chromeos.c b/src/mainboard/google/nyan_big/chromeos.c
index 7073198..be948d2 100644
--- a/src/mainboard/google/nyan_big/chromeos.c
+++ b/src/mainboard/google/nyan_big/chromeos.c
@@ -31,7 +31,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	int count = 0;
 
 	/* Write Protect: active low */
-	gpios->gpios[count].port = GPIO_R1_INDEX;
+	gpios->gpios[count].port = GPIO(R1);
 	gpios->gpios[count].polarity = ACTIVE_LOW;
 	gpios->gpios[count].value = gpio_get(GPIO(R1));
 	strncpy((char *)gpios->gpios[count].name, "write protect",
@@ -47,16 +47,16 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	count++;
 
 	/* Lid: active high */
-	gpios->gpios[count].port = GPIO_R4_INDEX;
+	gpios->gpios[count].port = GPIO(R4);
 	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = gpio_get(GPIO(R4));
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "lid", GPIO_MAX_NAME_LENGTH);
 	count++;
 
 	/* Power: active low */
-	gpios->gpios[count].port = GPIO_Q0_INDEX;
+	gpios->gpios[count].port = GPIO(Q0);
 	gpios->gpios[count].polarity = ACTIVE_LOW;
-	gpios->gpios[count].value = gpio_get(GPIO(Q0));
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "power",
 		GPIO_MAX_NAME_LENGTH);
 	count++;
@@ -69,6 +69,22 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
+	/* EC in RW: active high */
+	gpios->gpios[count].port = GPIO(U4);
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "EC in RW",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
+	/* Reset: active low (output) */
+	gpios->gpios[count].port = GPIO(I5);
+	gpios->gpios[count].polarity = ACTIVE_LOW;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "reset",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 
diff --git a/src/mainboard/google/nyan_blaze/chromeos.c b/src/mainboard/google/nyan_blaze/chromeos.c
index 7718849..4c72eab 100644
--- a/src/mainboard/google/nyan_blaze/chromeos.c
+++ b/src/mainboard/google/nyan_blaze/chromeos.c
@@ -35,7 +35,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	int count = 0;
 
 	/* Write Protect: active low */
-	gpios->gpios[count].port = GPIO_R1_INDEX;
+	gpios->gpios[count].port = GPIO(R1);
 	gpios->gpios[count].polarity = ACTIVE_LOW;
 	gpios->gpios[count].value = gpio_get(GPIO(R1));
 	strncpy((char *)gpios->gpios[count].name, "write protect",
@@ -51,16 +51,16 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	count++;
 
 	/* Lid: active high */
-	gpios->gpios[count].port = GPIO_R4_INDEX;
+	gpios->gpios[count].port = GPIO(R4);
 	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = gpio_get(GPIO(R4));
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "lid", GPIO_MAX_NAME_LENGTH);
 	count++;
 
 	/* Power: active low */
-	gpios->gpios[count].port = GPIO_Q0_INDEX;
+	gpios->gpios[count].port = GPIO(Q0);
 	gpios->gpios[count].polarity = ACTIVE_LOW;
-	gpios->gpios[count].value = gpio_get(GPIO(Q0));
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "power",
 		GPIO_MAX_NAME_LENGTH);
 	count++;
@@ -73,6 +73,22 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
+	/* EC in RW: active high */
+	gpios->gpios[count].port = GPIO(U4);
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "EC in RW",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
+	/* Reset: active low (output) */
+	gpios->gpios[count].port = GPIO(I5);
+	gpios->gpios[count].polarity = ACTIVE_LOW;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "reset",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 
diff --git a/src/mainboard/google/rush/chromeos.c b/src/mainboard/google/rush/chromeos.c
index 1a017f5..b4a7f8f 100644
--- a/src/mainboard/google/rush/chromeos.c
+++ b/src/mainboard/google/rush/chromeos.c
@@ -30,7 +30,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	int count = 0;
 
 	/* Write Protect: active low */
-	gpios->gpios[count].port = GPIO_R1_INDEX;
+	gpios->gpios[count].port = GPIO(R1);
 	gpios->gpios[count].polarity = ACTIVE_LOW;
 	gpios->gpios[count].value = gpio_get(GPIO(R1));
 	strncpy((char *)gpios->gpios[count].name, "write protect",
@@ -46,16 +46,16 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	count++;
 
 	/* Lid: active high */
-	gpios->gpios[count].port = GPIO_R4_INDEX;
+	gpios->gpios[count].port = GPIO(R4);
 	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = 1;
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "lid", GPIO_MAX_NAME_LENGTH);
 	count++;
 
 	/* Power: active low */
-	gpios->gpios[count].port = GPIO_Q0_INDEX;
+	gpios->gpios[count].port = GPIO(Q0);
 	gpios->gpios[count].polarity = ACTIVE_LOW;
-	gpios->gpios[count].value = 1;
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "power",
 		GPIO_MAX_NAME_LENGTH);
 	count++;
@@ -68,6 +68,14 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
+	/* Reset: active low (output) */
+	gpios->gpios[count].port = GPIO(I5);
+	gpios->gpios[count].polarity = ACTIVE_LOW;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "reset",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 
diff --git a/src/mainboard/google/rush_ryu/chromeos.c b/src/mainboard/google/rush_ryu/chromeos.c
index 2fd9bb1..6781b39 100644
--- a/src/mainboard/google/rush_ryu/chromeos.c
+++ b/src/mainboard/google/rush_ryu/chromeos.c
@@ -40,7 +40,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	int count = 0;
 
 	/* Write Protect: active low */
-	gpios->gpios[count].port = WRITE_PROTECT_L_INDEX;
+	gpios->gpios[count].port = WRITE_PROTECT_L;
 	gpios->gpios[count].polarity = ACTIVE_LOW;
 	gpios->gpios[count].value = gpio_get(WRITE_PROTECT_L);
 	strncpy((char *)gpios->gpios[count].name, "write protect",
@@ -58,9 +58,9 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	/* TODO(adurbin): add lid switch */
 
 	/* Power: active low / high depending on board id */
-	gpios->gpios[count].port = POWER_BUTTON_INDEX;
+	gpios->gpios[count].port = POWER_BUTTON;
 	gpios->gpios[count].polarity = get_pwr_btn_polarity();
-	gpios->gpios[count].value = gpio_get(POWER_BUTTON);
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "power",
 		GPIO_MAX_NAME_LENGTH);
 	count++;
@@ -73,6 +73,22 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
+	/* EC in RW: active high */
+	gpios->gpios[count].port = EC_IN_RW;
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "EC in RW",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
+	/* Reset: active low (output) */
+	gpios->gpios[count].port = AP_SYS_RESET_L;
+	gpios->gpios[count].polarity = ACTIVE_LOW;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "reset",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 
diff --git a/src/mainboard/google/rush_ryu/gpio.h b/src/mainboard/google/rush_ryu/gpio.h
index a813d42..8fa7c3d 100644
--- a/src/mainboard/google/rush_ryu/gpio.h
+++ b/src/mainboard/google/rush_ryu/gpio.h
@@ -57,11 +57,11 @@ enum {
 	/* Write Protect */
 	SPI_1V8_WP_L	= GPIO(R1),
 	WRITE_PROTECT_L	= SPI_1V8_WP_L,
-	WRITE_PROTECT_L_INDEX = GPIO_R1_INDEX,
 	/* Power button - Depending on board id, maybe active high / low */
 	BTN_AP_PWR	= GPIO(Q0),
 	POWER_BUTTON	= BTN_AP_PWR,
-	POWER_BUTTON_INDEX = GPIO_Q0_INDEX,
+	/* EC in RW signal */
+	EC_IN_RW	= GPIO(U4),
 
 	/* Panel related GPIOs */
 	LCD_EN		= GPIO(H5),
diff --git a/src/mainboard/google/veyron_jerry/chromeos.c b/src/mainboard/google/veyron_jerry/chromeos.c
index 6e6a855..069b28b 100644
--- a/src/mainboard/google/veyron_jerry/chromeos.c
+++ b/src/mainboard/google/veyron_jerry/chromeos.c
@@ -25,10 +25,13 @@
 #include <string.h>
 #include <vendorcode/google/chromeos/chromeos.h>
 
+#include "board.h"
+
 #define GPIO_WP		GPIO(7, A, 6)
 #define GPIO_LID	GPIO(0, A, 6)
 #define GPIO_POWER	GPIO(0, A, 5)
 #define GPIO_RECOVERY	GPIO(0, B, 1)
+#define GPIO_ECINRW	GPIO(0, A, 7)
 
 void setup_chromeos_gpios(void)
 {
@@ -61,14 +64,14 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	/* Lid: active high */
 	gpios->gpios[count].port = GPIO_LID.raw;
 	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = gpio_get(GPIO_LID);
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "lid", GPIO_MAX_NAME_LENGTH);
 	count++;
 
 	/* Power:GPIO active high */
 	gpios->gpios[count].port = GPIO_POWER.raw;
 	gpios->gpios[count].polarity = ACTIVE_LOW;
-	gpios->gpios[count].value = gpio_get(GPIO_POWER);
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "power",
 		GPIO_MAX_NAME_LENGTH);
 	count++;
@@ -81,6 +84,22 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
+	/* EC in RW: GPIO active high */
+	gpios->gpios[count].port = GPIO_ECINRW.raw;
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "EC in RW",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
+	/* Reset: GPIO active high (output) */
+	gpios->gpios[count].port = GPIO_RESET.raw;
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "reset",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 
diff --git a/src/mainboard/google/veyron_mighty/chromeos.c b/src/mainboard/google/veyron_mighty/chromeos.c
index 6e6a855..069b28b 100644
--- a/src/mainboard/google/veyron_mighty/chromeos.c
+++ b/src/mainboard/google/veyron_mighty/chromeos.c
@@ -25,10 +25,13 @@
 #include <string.h>
 #include <vendorcode/google/chromeos/chromeos.h>
 
+#include "board.h"
+
 #define GPIO_WP		GPIO(7, A, 6)
 #define GPIO_LID	GPIO(0, A, 6)
 #define GPIO_POWER	GPIO(0, A, 5)
 #define GPIO_RECOVERY	GPIO(0, B, 1)
+#define GPIO_ECINRW	GPIO(0, A, 7)
 
 void setup_chromeos_gpios(void)
 {
@@ -61,14 +64,14 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	/* Lid: active high */
 	gpios->gpios[count].port = GPIO_LID.raw;
 	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = gpio_get(GPIO_LID);
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "lid", GPIO_MAX_NAME_LENGTH);
 	count++;
 
 	/* Power:GPIO active high */
 	gpios->gpios[count].port = GPIO_POWER.raw;
 	gpios->gpios[count].polarity = ACTIVE_LOW;
-	gpios->gpios[count].value = gpio_get(GPIO_POWER);
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "power",
 		GPIO_MAX_NAME_LENGTH);
 	count++;
@@ -81,6 +84,22 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
+	/* EC in RW: GPIO active high */
+	gpios->gpios[count].port = GPIO_ECINRW.raw;
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "EC in RW",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
+	/* Reset: GPIO active high (output) */
+	gpios->gpios[count].port = GPIO_RESET.raw;
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "reset",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 
diff --git a/src/mainboard/google/veyron_pinky/chromeos.c b/src/mainboard/google/veyron_pinky/chromeos.c
index 8cfad3e..83ca70b 100644
--- a/src/mainboard/google/veyron_pinky/chromeos.c
+++ b/src/mainboard/google/veyron_pinky/chromeos.c
@@ -31,6 +31,7 @@
 #define GPIO_LID	(board_id() > 0 ? GPIO(0, A, 6) : GPIO(7, B, 5))
 #define GPIO_POWER	GPIO(0, A, 5)
 #define GPIO_RECOVERY	GPIO(0, B, 1)
+#define GPIO_ECINRW	GPIO(0, A, 7)
 
 void setup_chromeos_gpios(void)
 {
@@ -63,7 +64,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	/* Lid: active high */
 	gpios->gpios[count].port = GPIO_LID.raw;
 	gpios->gpios[count].polarity = ACTIVE_HIGH;
-	gpios->gpios[count].value = gpio_get(GPIO_LID);
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "lid", GPIO_MAX_NAME_LENGTH);
 	count++;
 
@@ -71,7 +72,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 	gpios->gpios[count].port = GPIO_POWER.raw;
 	gpios->gpios[count].polarity = board_id() > 1 ? ACTIVE_LOW :
 							ACTIVE_HIGH;
-	gpios->gpios[count].value = gpio_get(GPIO_POWER);
+	gpios->gpios[count].value = -1;
 	strncpy((char *)gpios->gpios[count].name, "power",
 		GPIO_MAX_NAME_LENGTH);
 	count++;
@@ -84,6 +85,22 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
+	/* EC in RW: GPIO active high */
+	gpios->gpios[count].port = GPIO_ECINRW.raw;
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "EC in RW",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
+	/* Reset: GPIO active high (output) */
+	gpios->gpios[count].port = GPIO_RESET.raw;
+	gpios->gpios[count].polarity = ACTIVE_HIGH;
+	gpios->gpios[count].value = -1;
+	strncpy((char *)gpios->gpios[count].name, "reset",
+		GPIO_MAX_NAME_LENGTH);
+	count++;
+
 	gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio));
 	gpios->count = count;
 



More information about the coreboot-gerrit mailing list