summaryrefslogtreecommitdiff
path: root/src/mainboard/google
diff options
context:
space:
mode:
authorMichał Żygowski <michal.zygowski@3mdeb.com>2024-07-17 09:54:38 +0200
committerNico Huber <nico.h@gmx.de>2024-08-09 17:01:45 +0000
commit001f33cc03a724467138bb6a16aaa4496d3b4a44 (patch)
treedd81483f45af15e36eb55d74512b4f02ae69b781 /src/mainboard/google
parentec049cb29dcc7fd9ba3f7e8fc21a7bf086a2891c (diff)
superio/ite,mb: Switch to new ITE GPIO driver
Refactor mainboards' code to use the new GPIO driver. TEST=Put Google Jecht to S3 sleep and check if the LED blinks. Change-Id: I707ee090ee2551b4935847e12ade678d36ff9302 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com> Tested-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/83469 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/mainboard/google')
-rw-r--r--src/mainboard/google/beltino/variants/mccloud/led.c19
-rw-r--r--src/mainboard/google/beltino/variants/tricky/led.c19
-rw-r--r--src/mainboard/google/jecht/led.c25
3 files changed, 33 insertions, 30 deletions
diff --git a/src/mainboard/google/beltino/variants/mccloud/led.c b/src/mainboard/google/beltino/variants/mccloud/led.c
index da5002f4fd..04e17ece5e 100644
--- a/src/mainboard/google/beltino/variants/mccloud/led.c
+++ b/src/mainboard/google/beltino/variants/mccloud/led.c
@@ -1,17 +1,18 @@
/* SPDX-License-Identifier: GPL-2.0-only */
+#include <superio/ite/common/ite.h>
+#include <superio/ite/common/ite_gpio.h>
#include <superio/ite/it8772f/it8772f.h>
#include "../../onboard.h"
void set_power_led(int state)
{
- it8772f_gpio_led(IT8772F_GPIO_DEV,
- 1, /* set */
- 0x01, /* select */
- state == LED_BLINK ? 0x01 : 0x00, /* polarity */
- state == LED_BLINK ? 0x01 : 0x00, /* pullup/pulldown */
- 0x01, /* output */
- state == LED_BLINK ? 0x00 : 0x01, /* I/O function */
- SIO_GPIO_BLINK_GPIO10,
- IT8772F_GPIO_BLINK_FREQUENCY_1_HZ);
+ /* Configure GPIO10 as power LED */
+ ite_reg_write(IT8772F_GPIO_DEV, ITE_GPIO_REG_SELECT(0), 0x01);
+ ite_gpio_setup(IT8772F_GPIO_DEV, 10, ITE_GPIO_OUTPUT,
+ state == LED_BLINK ? ITE_GPIO_ALT_FN_MODE : ITE_GPIO_SIMPLE_IO_MODE,
+ state == LED_BLINK ? ITE_GPIO_POL_INVERT | ITE_GPIO_PULLUP_ENABLE
+ : ITE_GPIO_CONTROL_DEFAULT);
+ ite_gpio_setup_led(IT8772F_GPIO_DEV, 10, ITE_GPIO_LED_1,
+ ITE_LED_FREQ_1HZ, ITE_LED_CONTROL_DEFAULT);
}
diff --git a/src/mainboard/google/beltino/variants/tricky/led.c b/src/mainboard/google/beltino/variants/tricky/led.c
index 49d7918952..b21e18e8e4 100644
--- a/src/mainboard/google/beltino/variants/tricky/led.c
+++ b/src/mainboard/google/beltino/variants/tricky/led.c
@@ -1,17 +1,18 @@
/* SPDX-License-Identifier: GPL-2.0-only */
+#include <superio/ite/common/ite.h>
+#include <superio/ite/common/ite_gpio.h>
#include <superio/ite/it8772f/it8772f.h>
#include "../../onboard.h"
void set_power_led(int state)
{
- it8772f_gpio_led(IT8772F_GPIO_DEV,
- 2, /* set */
- 0xF7, /* select */
- state == LED_OFF ? 0x00 : 0x04, /* polarity */
- state == LED_BLINK ? 0x04 : 0x00, /* pullup/pulldown */
- 0x04, /* output */
- state == LED_BLINK ? 0x00 : 0x04, /* I/O function */
- SIO_GPIO_BLINK_GPIO22,
- IT8772F_GPIO_BLINK_FREQUENCY_1_HZ);
+ /* Configure GPIO22 as power LED */
+ ite_reg_write(IT8772F_GPIO_DEV, ITE_GPIO_REG_SELECT(1), 0xf7);
+ ite_gpio_setup(IT8772F_GPIO_DEV, 22, ITE_GPIO_OUTPUT,
+ state == LED_BLINK ? ITE_GPIO_ALT_FN_MODE : ITE_GPIO_SIMPLE_IO_MODE,
+ (state != LED_OFF ? ITE_GPIO_POL_INVERT : 0) |
+ (state == LED_BLINK ? ITE_GPIO_PULLUP_ENABLE : 0));
+ ite_gpio_setup_led(IT8772F_GPIO_DEV, 22, ITE_GPIO_LED_1,
+ ITE_LED_FREQ_1HZ, ITE_LED_CONTROL_DEFAULT);
}
diff --git a/src/mainboard/google/jecht/led.c b/src/mainboard/google/jecht/led.c
index 8a6a30465b..811521eea7 100644
--- a/src/mainboard/google/jecht/led.c
+++ b/src/mainboard/google/jecht/led.c
@@ -1,25 +1,26 @@
/* SPDX-License-Identifier: GPL-2.0-only */
+#include <superio/ite/common/ite.h>
+#include <superio/ite/common/ite_gpio.h>
#include <superio/ite/it8772f/it8772f.h>
#include "onboard.h"
void set_power_led(int state)
{
- int polarity;
+ u8 polarity;
if (CONFIG(BOARD_GOOGLE_TIDUS)) {
- polarity = state == LED_OFF ? 0x00 : 0x01;
+ polarity = state == LED_OFF ? ITE_GPIO_POL_INVERT : 0;
} else {
- polarity = state == LED_BLINK ? 0x01 : 0x00;
+ polarity = state == LED_BLINK ? ITE_GPIO_POL_INVERT : 0;
}
- it8772f_gpio_led(IT8772F_GPIO_DEV,
- 1, /* set */
- 0x01, /* select */
- polarity, /* polarity */
- state == LED_BLINK ? 0x01 : 0x00, /* pullup/pulldown */
- 0x01, /* output */
- state == LED_BLINK ? 0x00 : 0x01, /* I/O function */
- SIO_GPIO_BLINK_GPIO10,
- IT8772F_GPIO_BLINK_FREQUENCY_1_HZ);
+ /* Configure GPIO10 as power LED */
+ ite_reg_write(IT8772F_GPIO_DEV, ITE_GPIO_REG_SELECT(0), 0x01);
+ ite_gpio_setup(IT8772F_GPIO_DEV, 10, ITE_GPIO_OUTPUT,
+ state == LED_BLINK ? ITE_GPIO_ALT_FN_MODE : ITE_GPIO_SIMPLE_IO_MODE,
+ (state == LED_BLINK ? ITE_GPIO_PULLUP_ENABLE : ITE_GPIO_CONTROL_DEFAULT) |
+ polarity);
+ ite_gpio_setup_led(IT8772F_GPIO_DEV, 10, ITE_GPIO_LED_1, ITE_LED_FREQ_1HZ,
+ ITE_LED_CONTROL_DEFAULT);
}