mainboard: remove "recovery" gpio, selectively add "presence" gpio.
The gpio table is only used by depthcharge, and depthcharge rarely has a need for the "recovery" gpio. On a few boards it does use the gpio as a signal for confirming physical presence, so on that boards we'll advertise the board as "presence". All these strings probably should have been #defines to help avoid typos (e.g., the "ec_in_rw" in stout seems questionable since everybody else uses "EC in RW"). Cq-Depend: chromium:1580454 BUG=b:129471321 BRANCH=None TEST=Local compile and flash (with corresponding changes to depthcharge) to 2 systems, one with a "presence" gpio and another without. Confirmed that both systems could enter dev mode. Change-Id: Id6d62d9e48d3e6646cbc1277ea53f0ca95dd849e Signed-off-by: Matt Delco <delco@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32718 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
a20e59da15
commit
2cb399625e
|
@ -27,7 +27,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{CROS_WP_GPIO, ACTIVE_HIGH, get_write_protect_state(),
|
{CROS_WP_GPIO, ACTIVE_HIGH, get_write_protect_state(),
|
||||||
"write protect"},
|
"write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -36,7 +36,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{GPIO_SPI_WP, ACTIVE_HIGH,
|
{GPIO_SPI_WP, ACTIVE_HIGH,
|
||||||
get_write_protect_state(), "write protect"},
|
get_write_protect_state(), "write protect"},
|
||||||
{GPIO_REC_MODE, ACTIVE_LOW,
|
{GPIO_REC_MODE, ACTIVE_LOW,
|
||||||
!get_recovery_mode_switch(), "recovery"},
|
!get_recovery_mode_switch(), "presence"},
|
||||||
{-1, ACTIVE_HIGH, 1, "lid"},
|
{-1, ACTIVE_HIGH, 1, "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -40,9 +40,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{WP_GPIO, ACTIVE_LOW, !get_write_protect_state(),
|
{WP_GPIO, ACTIVE_LOW, !get_write_protect_state(),
|
||||||
"write protect"},
|
"write protect"},
|
||||||
|
|
||||||
/* Recovery: virtual GPIO active high */
|
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
|
|
||||||
/* lid switch value from EC */
|
/* lid switch value from EC */
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, vboot_recovery_mode_enabled(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -29,9 +29,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{EXYNOS5_GPD1, ACTIVE_LOW, !get_write_protect_state(),
|
{EXYNOS5_GPD1, ACTIVE_LOW, !get_write_protect_state(),
|
||||||
"write protect"},
|
"write protect"},
|
||||||
|
|
||||||
/* Recovery: active low */
|
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
|
|
||||||
/* Lid: active high (LID_GPIO) */
|
/* Lid: active high (LID_GPIO) */
|
||||||
{EXYNOS5_GPX3, ACTIVE_HIGH, gpio_get_value(GPIO_X35), "lid"},
|
{EXYNOS5_GPX3, ACTIVE_HIGH, gpio_get_value(GPIO_X35), "lid"},
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -27,7 +27,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -27,7 +27,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, 1, "lid"}, /* Lid switch always open */
|
{-1, ACTIVE_HIGH, 1, "lid"}, /* Lid switch always open */
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -28,9 +28,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
/* Write Protect: active low */
|
/* Write Protect: active low */
|
||||||
{-1, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
||||||
|
|
||||||
/* Recovery: active high */
|
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
|
|
||||||
/* TODO: Power: active low / high depending on board id */
|
/* TODO: Power: active low / high depending on board id */
|
||||||
{GPIO(X5), ACTIVE_LOW, -1, "power"},
|
{GPIO(X5), ACTIVE_LOW, -1, "power"},
|
||||||
|
|
||||||
|
|
|
@ -68,8 +68,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{PP_SW, ACTIVE_LOW, read_gpio(PP_SW), "presence"},
|
{PP_SW, ACTIVE_LOW, read_gpio(PP_SW), "presence"},
|
||||||
{get_rec_sw_gpio_pin(), ACTIVE_LOW,
|
|
||||||
read_gpio(get_rec_sw_gpio_pin()), "recovery"},
|
|
||||||
{get_wp_status_gpio_pin(), ACTIVE_LOW,
|
{get_wp_status_gpio_pin(), ACTIVE_LOW,
|
||||||
!get_write_protect_state(), "write protect"},
|
!get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_LOW, 1, "power"},
|
{-1, ACTIVE_LOW, 1, "power"},
|
||||||
|
|
|
@ -26,7 +26,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -34,7 +34,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{GPIO_WP.raw, wp_polarity,
|
{GPIO_WP.raw, wp_polarity,
|
||||||
get_write_protect_state() ^ !wp_polarity, "write protect"},
|
get_write_protect_state() ^ !wp_polarity, "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
#if CONFIG(GRU_BASEBOARD_SCARLET)
|
#if CONFIG(GRU_BASEBOARD_SCARLET)
|
||||||
{GPIO_BACKLIGHT.raw, ACTIVE_HIGH, -1, "backlight"},
|
{GPIO_BACKLIGHT.raw, ACTIVE_HIGH, -1, "backlight"},
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -25,7 +25,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -37,7 +37,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{GPIO_SPI_WP, ACTIVE_HIGH,
|
{GPIO_SPI_WP, ACTIVE_HIGH,
|
||||||
get_write_protect_state(), "write protect"},
|
get_write_protect_state(), "write protect"},
|
||||||
{GPIO_REC_MODE, ACTIVE_LOW,
|
{GPIO_REC_MODE, ACTIVE_LOW,
|
||||||
!get_recovery_mode_switch(), "recovery"},
|
!get_recovery_mode_switch(), "presence"},
|
||||||
{-1, ACTIVE_HIGH, 1, "lid"},
|
{-1, ACTIVE_HIGH, 1, "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -24,7 +24,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{GPIO_EC_IN_RW, ACTIVE_HIGH, gpio_get(GPIO_EC_IN_RW),
|
{GPIO_EC_IN_RW, ACTIVE_HIGH, gpio_get(GPIO_EC_IN_RW),
|
||||||
|
|
|
@ -35,7 +35,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{GPIO_WP.id, ACTIVE_LOW,
|
{GPIO_WP.id, ACTIVE_LOW,
|
||||||
!get_write_protect_state(), "write protect"},
|
!get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{EC_IN_RW.id, ACTIVE_HIGH, -1, "EC in RW"},
|
{EC_IN_RW.id, ACTIVE_HIGH, -1, "EC in RW"},
|
||||||
{EC_IRQ.id, ACTIVE_LOW, -1, "EC interrupt"},
|
{EC_IRQ.id, ACTIVE_LOW, -1, "EC interrupt"},
|
||||||
{CR50_IRQ.id, ACTIVE_HIGH, -1, "TPM interrupt"},
|
{CR50_IRQ.id, ACTIVE_HIGH, -1, "TPM interrupt"},
|
||||||
|
|
|
@ -28,10 +28,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
/* Write Protect: GPIO57 = PCH_SPI_WP_D */
|
/* Write Protect: GPIO57 = PCH_SPI_WP_D */
|
||||||
{57, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{57, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
|
|
||||||
/* Recovery: the "switch" comes from the EC */
|
|
||||||
/* -1 indicates that this is a pseudo GPIO */
|
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
|
|
||||||
/* Lid: the "switch" comes from the EC */
|
/* Lid: the "switch" comes from the EC */
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{GPIO(R1), ACTIVE_LOW, !get_write_protect_state(),
|
{GPIO(R1), ACTIVE_LOW, !get_write_protect_state(),
|
||||||
"write protect"},
|
"write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{GPIO(R4), ACTIVE_HIGH, -1, "lid"},
|
{GPIO(R4), ACTIVE_HIGH, -1, "lid"},
|
||||||
{GPIO(Q0), ACTIVE_LOW, -1, "power"},
|
{GPIO(Q0), ACTIVE_LOW, -1, "power"},
|
||||||
{GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
|
{GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
|
||||||
|
|
|
@ -22,7 +22,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{GPIO(R1), ACTIVE_LOW,
|
{GPIO(R1), ACTIVE_LOW,
|
||||||
!get_write_protect_state(), "write protect"},
|
!get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{GPIO(R4), ACTIVE_HIGH, -1, "lid"},
|
{GPIO(R4), ACTIVE_HIGH, -1, "lid"},
|
||||||
{GPIO(Q0), ACTIVE_LOW, -1, "power"},
|
{GPIO(Q0), ACTIVE_LOW, -1, "power"},
|
||||||
{GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
|
{GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
|
||||||
|
|
|
@ -22,7 +22,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{GPIO(R1), ACTIVE_LOW, !get_write_protect_state(),
|
{GPIO(R1), ACTIVE_LOW, !get_write_protect_state(),
|
||||||
"write protect"},
|
"write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{GPIO(R4), ACTIVE_HIGH, -1, "lid"},
|
{GPIO(R4), ACTIVE_HIGH, -1, "lid"},
|
||||||
{GPIO(Q0), ACTIVE_LOW, -1, "power"},
|
{GPIO(Q0), ACTIVE_LOW, -1, "power"},
|
||||||
{GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
|
{GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
|
||||||
|
|
|
@ -36,7 +36,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{WRITE_PROTECT.id, ACTIVE_LOW,
|
{WRITE_PROTECT.id, ACTIVE_LOW,
|
||||||
!get_write_protect_state(), "write protect"},
|
!get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{LID.id, ACTIVE_HIGH, -1, "lid"},
|
{LID.id, ACTIVE_HIGH, -1, "lid"},
|
||||||
{POWER_BUTTON.id, ACTIVE_HIGH, -1, "power"},
|
{POWER_BUTTON.id, ACTIVE_HIGH, -1, "power"},
|
||||||
{EC_IN_RW.id, ACTIVE_HIGH, -1, "EC in RW"},
|
{EC_IN_RW.id, ACTIVE_HIGH, -1, "EC in RW"},
|
||||||
|
|
|
@ -25,7 +25,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -39,9 +39,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
/* Write Protect: GPIO70 active high */
|
/* Write Protect: GPIO70 active high */
|
||||||
{70, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
{70, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
||||||
|
|
||||||
/* Recovery: Virtual GPIO in the EC (Servo GPIO68 active low) */
|
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
|
|
||||||
/* Lid switch GPIO active high (open). */
|
/* Lid switch GPIO active high (open). */
|
||||||
{15, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{15, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
|
|
||||||
|
|
|
@ -29,9 +29,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{EXYNOS5_GPX3, ACTIVE_LOW, !get_write_protect_state(),
|
{EXYNOS5_GPX3, ACTIVE_LOW, !get_write_protect_state(),
|
||||||
"write protect"},
|
"write protect"},
|
||||||
|
|
||||||
/* Recovery: active low */
|
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
|
|
||||||
/* Lid: active high (LID_GPIO) */
|
/* Lid: active high (LID_GPIO) */
|
||||||
{EXYNOS5_GPX3, ACTIVE_HIGH, gpio_get_value(GPIO_X34), "lid"},
|
{EXYNOS5_GPX3, ACTIVE_HIGH, gpio_get_value(GPIO_X34), "lid"},
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -27,7 +27,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, vboot_recovery_mode_enabled(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -24,7 +24,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -36,8 +36,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{GPIO_PCH_WP, ACTIVE_HIGH, get_write_protect_state(),
|
{GPIO_PCH_WP, ACTIVE_HIGH, get_write_protect_state(),
|
||||||
"write protect"},
|
"write protect"},
|
||||||
{GPIO_REC_MODE, ACTIVE_LOW, !get_recovery_mode_switch(),
|
|
||||||
"recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -25,7 +25,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{58, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{58, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -23,7 +23,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{WRITE_PROTECT_L, ACTIVE_LOW,
|
{WRITE_PROTECT_L, ACTIVE_LOW,
|
||||||
!get_write_protect_state(), "write protect"},
|
!get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{POWER_BUTTON, ACTIVE_LOW, -1, "power"},
|
{POWER_BUTTON, ACTIVE_LOW, -1, "power"},
|
||||||
{EC_IN_RW, ACTIVE_HIGH, -1, "EC in RW"},
|
{EC_IN_RW, ACTIVE_HIGH, -1, "EC in RW"},
|
||||||
{AP_SYS_RESET_L, ACTIVE_LOW, -1, "reset"},
|
{AP_SYS_RESET_L, ACTIVE_LOW, -1, "reset"},
|
||||||
|
|
|
@ -39,7 +39,7 @@ static int read_gpio(gpio_t gpio_num)
|
||||||
void fill_lb_gpios(struct lb_gpios *gpios)
|
void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{REC_SW, ACTIVE_LOW, read_gpio(REC_SW), "recovery"},
|
{DEV_SW, ACTIVE_LOW, read_gpio(REC_SW), "presence"},
|
||||||
{WP_SW, ACTIVE_LOW, !get_write_protect_state(),
|
{WP_SW, ACTIVE_LOW, !get_write_protect_state(),
|
||||||
"write protect"},
|
"write protect"},
|
||||||
{-1, ACTIVE_LOW, 1, "power"},
|
{-1, ACTIVE_LOW, 1, "power"},
|
||||||
|
|
|
@ -35,9 +35,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
/* Write Protect: GPIO7 */
|
/* Write Protect: GPIO7 */
|
||||||
{7, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
{7, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
||||||
|
|
||||||
/* Recovery: Virtual switch */
|
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
|
|
||||||
/* Lid Switch: Virtual switch */
|
/* Lid Switch: Virtual switch */
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{GPIO_WP.raw, ACTIVE_LOW, !get_write_protect_state(),
|
{GPIO_WP.raw, ACTIVE_LOW, !get_write_protect_state(),
|
||||||
"write protect"},
|
"write protect"},
|
||||||
{GPIO_RECOVERY.raw, ACTIVE_LOW,
|
{GPIO_RECOVERY.raw, ACTIVE_LOW,
|
||||||
!get_recovery_mode_switch(), "recovery"},
|
!get_recovery_mode_switch(), "presence"},
|
||||||
{GPIO_LID.raw, ACTIVE_HIGH, -1, "lid"},
|
{GPIO_LID.raw, ACTIVE_HIGH, -1, "lid"},
|
||||||
{GPIO_POWER.raw, ACTIVE_LOW, -1, "power"},
|
{GPIO_POWER.raw, ACTIVE_LOW, -1, "power"},
|
||||||
{GPIO_ECINRW.raw, ACTIVE_HIGH, -1, "EC in RW"},
|
{GPIO_ECINRW.raw, ACTIVE_HIGH, -1, "EC in RW"},
|
||||||
|
|
|
@ -34,7 +34,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{GPIO_WP.raw, ACTIVE_LOW,
|
{GPIO_WP.raw, ACTIVE_LOW,
|
||||||
!get_write_protect_state(), "write protect"},
|
!get_write_protect_state(), "write protect"},
|
||||||
{GPIO_RECOVERY.raw, ACTIVE_LOW,
|
{GPIO_RECOVERY.raw, ACTIVE_LOW,
|
||||||
!get_recovery_mode_switch(), "recovery"},
|
!get_recovery_mode_switch(), "presence"},
|
||||||
{GPIO_RESET.raw, ACTIVE_HIGH, -1, "reset"},
|
{GPIO_RESET.raw, ACTIVE_HIGH, -1, "reset"},
|
||||||
};
|
};
|
||||||
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
|
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
|
||||||
|
|
|
@ -41,7 +41,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
/* Note for early development, we want to support both servo
|
/* Note for early development, we want to support both servo
|
||||||
* and pushkey recovery buttons in firmware boot stages. */
|
* and pushkey recovery buttons in firmware boot stages. */
|
||||||
{GPIO_RECOVERY_PUSHKEY.raw, ACTIVE_LOW,
|
{GPIO_RECOVERY_PUSHKEY.raw, ACTIVE_LOW,
|
||||||
!get_recovery_mode_switch(), "recovery"},
|
!get_recovery_mode_switch(), "presence"},
|
||||||
{GPIO_POWER.raw, ACTIVE_LOW, -1, "power"},
|
{GPIO_POWER.raw, ACTIVE_LOW, -1, "power"},
|
||||||
{GPIO_RESET.raw, ACTIVE_HIGH, -1, "reset"},
|
{GPIO_RESET.raw, ACTIVE_HIGH, -1, "reset"},
|
||||||
};
|
};
|
||||||
|
|
|
@ -33,7 +33,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{0, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
{0, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
||||||
|
|
||||||
/* Recovery: GPIO69 - SV_DETECT - J8E3 (silkscreen: J8E2) */
|
/* Recovery: GPIO69 - SV_DETECT - J8E3 (silkscreen: J8E2) */
|
||||||
{69, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
{69, ACTIVE_HIGH, get_recovery_mode_switch(), "presence"},
|
||||||
|
|
||||||
/* Hard code the lid switch GPIO to open. */
|
/* Hard code the lid switch GPIO to open. */
|
||||||
{-1, ACTIVE_HIGH, 1, "lid"},
|
{-1, ACTIVE_HIGH, 1, "lid"},
|
||||||
|
|
|
@ -27,7 +27,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -26,7 +26,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -33,7 +33,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{48, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
{48, ACTIVE_LOW, !get_write_protect_state(), "write protect"},
|
||||||
|
|
||||||
/* Recovery: GPIO22 */
|
/* Recovery: GPIO22 */
|
||||||
{22, ACTIVE_LOW, !get_recovery_mode_switch(), "recovery"},
|
{22, ACTIVE_LOW, !get_recovery_mode_switch(), "presence"},
|
||||||
|
|
||||||
/* Hard code the lid switch GPIO to open. */
|
/* Hard code the lid switch GPIO to open. */
|
||||||
{-1, ACTIVE_HIGH, 1, "lid"},
|
{-1, ACTIVE_HIGH, 1, "lid"},
|
||||||
|
|
|
@ -25,7 +25,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -27,7 +27,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -31,7 +31,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -27,7 +27,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -29,7 +29,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, vboot_recovery_mode_enabled(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -29,7 +29,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
{
|
{
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
struct lb_gpio chromeos_gpios[] = {
|
||||||
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
{-1, ACTIVE_HIGH, get_write_protect_state(), "write protect"},
|
||||||
{-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"},
|
|
||||||
{-1, ACTIVE_HIGH, 1, "lid"}, // force open
|
{-1, ACTIVE_HIGH, 1, "lid"}, // force open
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
{-1, ACTIVE_HIGH, 0, "power"},
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
||||||
|
|
|
@ -47,7 +47,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
|
|
||||||
/* Recovery: GPIO42 = CHP3_REC_MODE# */
|
/* Recovery: GPIO42 = CHP3_REC_MODE# */
|
||||||
{GPIO_REC_MODE, ACTIVE_LOW, !get_recovery_mode_switch(),
|
{GPIO_REC_MODE, ACTIVE_LOW, !get_recovery_mode_switch(),
|
||||||
"recovery"},
|
"presence"},
|
||||||
|
|
||||||
{100, ACTIVE_HIGH, lid & 1, "lid"},
|
{100, ACTIVE_HIGH, lid & 1, "lid"},
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
||||||
|
|
||||||
/* Recovery: GPIO42 = CHP3_REC_MODE# */
|
/* Recovery: GPIO42 = CHP3_REC_MODE# */
|
||||||
{GPIO_REC_MODE, ACTIVE_LOW, !get_recovery_mode_switch(),
|
{GPIO_REC_MODE, ACTIVE_LOW, !get_recovery_mode_switch(),
|
||||||
"recovery"},
|
"presence"},
|
||||||
|
|
||||||
/* Hard code the lid switch GPIO to open. */
|
/* Hard code the lid switch GPIO to open. */
|
||||||
{100, ACTIVE_HIGH, 1, "lid"},
|
{100, ACTIVE_HIGH, 1, "lid"},
|
||||||
|
|
Loading…
Reference in New Issue