Subrata Banik has submitted this change. ( https://review.coreboot.org/c/coreboot/+/76359?usp=email )
Change subject: mb/google/rex/var/ovis: Enable both Memory Channels (MC0 and MC1) ......................................................................
mb/google/rex/var/ovis: Enable both Memory Channels (MC0 and MC1)
This patch skips reading the MEM_CH_SEL GPIO aka GPP_E13 to determine the memory channel configuration. The signal behavior is not proper, hence limiting the DIMM capacity to half (only MC0 is enabled).
This patch always reports the full memory capacity as in dual channel (both MC0 and MC1 enabled).
This change is necessary to ensure that the system reports the correct memory capacity, even if the MEM_CH_SEL GPIO is not working properly.
BUG=b:290174538 TEST=Able to detect 32GB memory capacity while booting google/ovis.
Without this patch: localhost ~ # cat /proc/meminfo MemTotal: 16183080 kB
With this patch: localhost ~ # cat /proc/meminfo MemTotal: 32673664 kB
Change-Id: I6c3fa941abb044b79b13785f7b65d09957f0487d Signed-off-by: Subrata Banik subratabanik@google.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/76359 Reviewed-by: Sumeet R Pawnikar sumeet.r.pawnikar@intel.com Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Eric Lai eric_lai@quanta.corp-partner.google.com Reviewed-by: Kapil Porwal kapilporwal@google.com --- M src/mainboard/google/rex/variants/ovis/Makefile.inc A src/mainboard/google/rex/variants/ovis/memory.c 2 files changed, 17 insertions(+), 0 deletions(-)
Approvals: Eric Lai: Looks good to me, approved build bot (Jenkins): Verified Kapil Porwal: Looks good to me, approved Sumeet R Pawnikar: Looks good to me, approved
diff --git a/src/mainboard/google/rex/variants/ovis/Makefile.inc b/src/mainboard/google/rex/variants/ovis/Makefile.inc index 2fa692a..b785122 100644 --- a/src/mainboard/google/rex/variants/ovis/Makefile.inc +++ b/src/mainboard/google/rex/variants/ovis/Makefile.inc @@ -1,3 +1,4 @@ bootblock-y += gpio.c romstage-y += gpio.c +romstage-y += memory.c ramstage-y += gpio.c diff --git a/src/mainboard/google/rex/variants/ovis/memory.c b/src/mainboard/google/rex/variants/ovis/memory.c new file mode 100644 index 0000000..f3cdf5f --- /dev/null +++ b/src/mainboard/google/rex/variants/ovis/memory.c @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later */ + +#include <baseboard/variants.h> + +bool variant_is_half_populated(void) +{ + /* + * FIXME: b/290253752 - Memory Capacity is incorrect + * MEM_CH_SEL GPIO (GPP_E13) is not working as expected on Ovis as result + * channel select configuration is set to single (MC0) instead dual (MC0/1). + * Only MC0 is reporting DIMM attached and MC1 is disable. + * + * W/A: Always report full memory capacity as in dual channel (MC0/1). + */ + return false; +}