Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47417 )
Change subject: mb/google/hatch: Configure IRQs as level triggered for HID over I2C ......................................................................
Patch Set 2:
(1 comment)
https://review.coreboot.org/c/coreboot/+/47417/2/src/mainboard/google/hatch/... File src/mainboard/google/hatch/variants/baseboard/gpio.c:
https://review.coreboot.org/c/coreboot/+/47417/2/src/mainboard/google/hatch/... PS2, Line 182: PAD_CFG_GPI_APIC(GPP_D16, NONE, PLTRST, LEVEL, NONE),
Hm, how does that differ from volteer for example? […]
Ah interesting. I believe it is because the pad is configured for two routes: 1. IOAPIC 2. SCI (wake)
SCI (wake) needs to be triggered on invert. I just checked the code in gpio_configure_itss() and it applies another inversion if the pad is configured for INVERT i.e. signal coming into the pad is inverted because of the INVERT here and ITSS inverts it again before the signal hits IOAPIC. Thus, the signal at IOAPIC is inverted twice effectively resulting in the signal at pad input being transmitted to the IOAPIC as is.
Given that, your initial question about applying inversion would work for GPP_D16 too here. But, it is not required because the signal is not dual routed.