Hi all!

In the commit https://review.coreboot.org/c/coreboot/+/33565, I tried to rewrite
the PCH GPIOs configuration using macros instead of raw values of the DW0 and 
DW1
registers.

However, macros from src/soc/intel/common/block/include/intelblocks/gpio_defs.h
can't determine the setting for each pads.

1) Why do the standard macros (like PAD_CFG_NF, PAD_CFG_GPO, ...) set RX 
Level/Edge
Configuration (RXEVCFG bit[26:25] DW0 register) to 0?
>From Doc(1) RXEVCFG = 0 -> "determines if the internal RX pad state should be
passed on to the next logic stage as is, as level signal". Is this correct if
the pad is used as a functional output, PAD_CFG_NF()?

At the same time, after resetting, by default, the RXEVCFG field is set to 2h =
Drive '0'. If I understood correctly, this means that the pad state will not be
transmitted to the next logic block and the interrupt controller will not 
receive
signal from the pad. Maybe this setting will be better for PAD_CFG_NF() or
PAD_CFG_GPO()? See https://review.coreboot.org/c/coreboot/+/34144

[1] p1429, Intel 100/C230 Series Chipset Family PCH Volume 2 (February 2019)


2) The macros PAD_CFG_NF() and PAD_CFG_GPO() are defined correctly.
In this case, I mast to add new macros, how this is done in commit
https://review.coreboot.org/c/coreboot/+/33565.

I think adding new macros with strange names isn't the best way. But only in
this case, I can set the GPIOs configuration, which fully corresponds to the
inteltool log. On the other hand, if I ignore the PAD_CFG0_TRIG_OFF setting (set
RX Level/Edge Configuration (RXEVCFG) to 0 = Level), then I need only 2 macros:
PAD_CFG_NF_TX_DIS and PAD_CFG_NF_RX_DIS.
All Chromebooks install RXEVCFG to 0 and it works.

The motherboard works well in both cases.

I would like to get your opinion on this. So, maybe I should ignore Drive '0' 
setting
for Level/Edge Configuration (bit[26:25] DW0 register) and use standard macros?


Information about GPIOs was obtained from the inteltool log.
My motherboard is asrock-h110m-dvs with Intel Skylake/Kaby Lake CPU.

Thanks!

-- 
Regards,
Maxim Polyakov 
Software Engineer, YADRO.
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to