coreboot-gerrit
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2022
- 1 participants
- 4683 discussions
Change in coreboot[master]: soc/intel/common/systemagent: Add SOC_INTEL_COMMON_BLOCK_SA_VERSION_2
by Subrata Banik (Code Review) Aug. 7, 2023
by Subrata Banik (Code Review) Aug. 7, 2023
Aug. 7, 2023
Subrata Banik has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/38456 )
Change subject: soc/intel/common/systemagent: Add SOC_INTEL_COMMON_BLOCK_SA_VERSION_2
......................................................................
soc/intel/common/systemagent: Add SOC_INTEL_COMMON_BLOCK_SA_VERSION_2
System Agent (SA) register 0x60:PCIEXBAR register LENGTH offset definition has
been changed for newer SoC. This change provides a new Kconfig option that
can be selected by SoCs using these new bit definitions of LENGTH. Common code
takes care of setting the right value for pciex length depending upon the version
selected by SOC.
TEST=DSDT dump shows PCIEXBAR.LENGTH offset (3:1) for TGL
Change-Id: Ifa00c4e6b872896ace975f1c6bd56c6efb172410
Signed-off-by: Subrata Banik <subrata.banik(a)intel.com>
---
M src/soc/intel/common/block/acpi/acpi/northbridge.asl
M src/soc/intel/common/block/systemagent/Kconfig
M src/soc/intel/common/block/systemagent/systemagent_def.h
M src/soc/intel/common/block/systemagent/systemagent_early.c
4 files changed, 62 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/38456/1
diff --git a/src/soc/intel/common/block/acpi/acpi/northbridge.asl b/src/soc/intel/common/block/acpi/acpi/northbridge.asl
index d271dda..ac9e843 100644
--- a/src/soc/intel/common/block/acpi/acpi/northbridge.asl
+++ b/src/soc/intel/common/block/acpi/acpi/northbridge.asl
@@ -40,8 +40,13 @@
Offset(0x60), /* PCIEXBAR (0:0:0:60) */
PXEN, 1, /* Enable */
- PXSZ, 2, /* PCI Express Size */
+#if CONFIG(SOC_INTEL_COMMON_BLOCK_SA_VERSION_2)
+ PXSZ, 3, /* PCI Express Size */
+ , 22,
+#else
+ PXSZ, 2, /* PCI Express Size */
, 23,
+#endif
PXBR, 6, /* PCI Express BAR [31:26] */
Offset(0x68), /* DMIBAR (0:0:0:68) */
@@ -241,7 +246,15 @@
/* Get PCIe Length */
Method (GPCL, 0, Serialized)
{
+#if CONFIG(SOC_INTEL_COMMON_BLOCK_SA_VERSION_2)
+ If (LLess (\_SB.PCI0.MCHC.PXSZ, 3)) {
+ ShiftRight (0x10000000, \_SB.PCI0.MCHC.PXSZ, Local0)
+ } Else {
+ Store(0x10000000, Local0)
+ }
+#else
ShiftRight (0x10000000, \_SB.PCI0.MCHC.PXSZ, Local0)
+#endif
Return (Local0)
}
diff --git a/src/soc/intel/common/block/systemagent/Kconfig b/src/soc/intel/common/block/systemagent/Kconfig
index 1222573..017d85e 100644
--- a/src/soc/intel/common/block/systemagent/Kconfig
+++ b/src/soc/intel/common/block/systemagent/Kconfig
@@ -3,12 +3,24 @@
help
Intel Processor common System Agent support
+config SOC_INTEL_COMMON_BLOCK_SA_VERSION_2
+ bool
+ default n
+ select SOC_INTEL_COMMON_BLOCK_SA
+ help
+ Intel Processor Common System Agent support version 2 to handle
+ DRAM changes introduced in TGL.
+
config MMCONF_BASE_ADDRESS
hex
default 0xe0000000
config SA_PCIEX_LENGTH
hex
+ default 0x100000000 if (PCIEX_LENGTH_4096MB)
+ default 0x80000000 if (PCIEX_LENGTH_2048MB)
+ default 0x40000000 if (PCIEX_LENGTH_1024MB)
+ default 0x20000000 if (PCIEX_LENGTH_512MB)
default 0x10000000 if (PCIEX_LENGTH_256MB)
default 0x8000000 if (PCIEX_LENGTH_128MB)
default 0x4000000 if (PCIEX_LENGTH_64MB)
@@ -16,6 +28,22 @@
help
This option allows you to select length of PCIEX region.
+if SOC_INTEL_COMMON_BLOCK_SA_VERSION_2
+
+config PCIEX_LENGTH_4096MB
+ bool
+
+config PCIEX_LENGTH_2048MB
+ bool
+
+config PCIEX_LENGTH_1024MB
+ bool
+
+config PCIEX_LENGTH_512MB
+ bool
+
+endif
+
config PCIEX_LENGTH_256MB
bool
diff --git a/src/soc/intel/common/block/systemagent/systemagent_def.h b/src/soc/intel/common/block/systemagent/systemagent_def.h
index b89a10d..5f54c72 100644
--- a/src/soc/intel/common/block/systemagent/systemagent_def.h
+++ b/src/soc/intel/common/block/systemagent/systemagent_def.h
@@ -31,6 +31,12 @@
#define DPR_PRS (1 << 1)
#define DPR_SIZE_MASK 0xff0
+#if CONFIG(SOC_INTEL_COMMON_BLOCK_SA_VERSION_2)
+#define PCIEXBAR_LENGTH_4096MB 6
+#define PCIEXBAR_LENGTH_2048MB 5
+#define PCIEXBAR_LENGTH_1024MB 4
+#define PCIEXBAR_LENGTH_512MB 3
+#endif
#define PCIEXBAR_LENGTH_64MB 2
#define PCIEXBAR_LENGTH_128MB 1
#define PCIEXBAR_LENGTH_256MB 0
diff --git a/src/soc/intel/common/block/systemagent/systemagent_early.c b/src/soc/intel/common/block/systemagent/systemagent_early.c
index d6f129d..f0a867a 100644
--- a/src/soc/intel/common/block/systemagent/systemagent_early.c
+++ b/src/soc/intel/common/block/systemagent/systemagent_early.c
@@ -40,6 +40,20 @@
/* Get PCI Express Region Length */
switch (CONFIG_SA_PCIEX_LENGTH) {
+#if CONFIG(SOC_INTEL_COMMON_BLOCK_SA_VERSION_2)
+ case 4096 * MiB:
+ pciexbar_length = PCIEXBAR_LENGTH_4096MB;
+ break;
+ case 2048 * MiB:
+ pciexbar_length = PCIEXBAR_LENGTH_2048MB;
+ break;
+ case 1024 * MiB:
+ pciexbar_length = PCIEXBAR_LENGTH_1024MB;
+ break;
+ case 512 * MiB:
+ pciexbar_length = PCIEXBAR_LENGTH_512MB;
+ break;
+#endif
case 256 * MiB:
pciexbar_length = PCIEXBAR_LENGTH_256MB;
break;
--
To view, visit https://review.coreboot.org/c/coreboot/+/38456
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ifa00c4e6b872896ace975f1c6bd56c6efb172410
Gerrit-Change-Number: 38456
Gerrit-PatchSet: 1
Gerrit-Owner: Subrata Banik <subrata.banik(a)intel.com>
Gerrit-MessageType: newchange
7
41
Change in coreboot[master]: Helios: Add fan speed control for TSR3 sensor with DPTF settings
by Sumeet R Pawnikar (Code Review) Aug. 7, 2023
by Sumeet R Pawnikar (Code Review) Aug. 7, 2023
Aug. 7, 2023
Sumeet R Pawnikar has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/41425 )
Change subject: Helios: Add fan speed control for TSR3 sensor with DPTF settings
......................................................................
Helios: Add fan speed control for TSR3 sensor with DPTF settings
Add granular fan speed control for TSR3 sensor which is used for CPU cooling.
Update passive temperature threshold from 44C to 62C for the same TSR3 sensor.
BRANCH=firmware-hatch-12672.B
BUG=b:155347298
TEST=Built and test on Helios system
Change-Id: Ia545ce2c072d48a9a351fe3ad7ea66fe55f80e64
Signed-off-by: Sumeet R Pawnikar <sumeet.r.pawnikar(a)intel.com>
---
M src/mainboard/google/hatch/variants/helios/include/variant/acpi/dptf.asl
1 file changed, 9 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/25/41425/1
diff --git a/src/mainboard/google/hatch/variants/helios/include/variant/acpi/dptf.asl b/src/mainboard/google/hatch/variants/helios/include/variant/acpi/dptf.asl
index 886e519..8ac1c0b 100644
--- a/src/mainboard/google/hatch/variants/helios/include/variant/acpi/dptf.asl
+++ b/src/mainboard/google/hatch/variants/helios/include/variant/acpi/dptf.asl
@@ -26,8 +26,15 @@
#define DPTF_TSR3_SENSOR_ID 3
#define DPTF_TSR3_SENSOR_NAME "CPU"
-#define DPTF_TSR3_PASSIVE 44
+#define DPTF_TSR3_PASSIVE 62
#define DPTF_TSR3_CRITICAL 90
+#define DPTF_TSR3_ACTIVE_AC0 60
+#define DPTF_TSR3_ACTIVE_AC1 57
+#define DPTF_TSR3_ACTIVE_AC2 55
+#define DPTF_TSR3_ACTIVE_AC3 52
+#define DPTF_TSR3_ACTIVE_AC4 50
+#define DPTF_TSR3_ACTIVE_AC5 48
+#define DPTF_TSR3_ACTIVE_AC6 45
#define DPTF_ENABLE_CHARGER
#define DPTF_ENABLE_FAN_CONTROL
@@ -83,7 +90,7 @@
0, 0, 0
},
Package () {
- \_SB.DPTF.TFN1, \_SB.DPTF.TSR3, 100, 0, 0, 0, 0, 0, 0, 0,
+ \_SB.DPTF.TFN1, \_SB.DPTF.TSR3, 100, 90, 80, 60, 40, 30, 20, 10,
0, 0, 0
}
})
--
To view, visit https://review.coreboot.org/c/coreboot/+/41425
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ia545ce2c072d48a9a351fe3ad7ea66fe55f80e64
Gerrit-Change-Number: 41425
Gerrit-PatchSet: 1
Gerrit-Owner: Sumeet R Pawnikar <sumeet.r.pawnikar(a)intel.com>
Gerrit-MessageType: newchange
7
14
Change in coreboot[master]: security/intel/txt: Remove SINIT ACM alignment
by Arthur Heymans (Code Review) Aug. 7, 2023
by Arthur Heymans (Code Review) Aug. 7, 2023
Aug. 7, 2023
Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/48735 )
Change subject: security/intel/txt: Remove SINIT ACM alignment
......................................................................
security/intel/txt: Remove SINIT ACM alignment
This binary must be decompressed anyway so there is no need for
alignment.
Change-Id: Ia46207cce992ccd602da575ced643cc04ea1c8b3
Signed-off-by: Arthur Heymans <arthur(a)aheymans.xyz>
---
M src/security/intel/txt/Makefile.inc
1 file changed, 0 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/35/48735/1
diff --git a/src/security/intel/txt/Makefile.inc b/src/security/intel/txt/Makefile.inc
index 77a5f69..577dba2 100644
--- a/src/security/intel/txt/Makefile.inc
+++ b/src/security/intel/txt/Makefile.inc
@@ -22,7 +22,6 @@
cbfs-files-y += $(CONFIG_INTEL_TXT_CBFS_SINIT_ACM)
$(CONFIG_INTEL_TXT_CBFS_SINIT_ACM)-file := $(CONFIG_INTEL_TXT_SINITACM_FILE)
$(CONFIG_INTEL_TXT_CBFS_SINIT_ACM)-type := raw
-$(CONFIG_INTEL_TXT_CBFS_SINIT_ACM)-align := 0x10
$(CONFIG_INTEL_TXT_CBFS_SINIT_ACM)-compression := lzma
endif
--
To view, visit https://review.coreboot.org/c/coreboot/+/48735
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ia46207cce992ccd602da575ced643cc04ea1c8b3
Gerrit-Change-Number: 48735
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-MessageType: newchange
2
1
Change in coreboot[master]: [WIP]mainboard/lenovo: do initial commit for t540p
by Patrick Elsen (Code Review) Aug. 7, 2023
by Patrick Elsen (Code Review) Aug. 7, 2023
Aug. 7, 2023
Patrick Elsen has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/38204 )
Change subject: [WIP]mainboard/lenovo: do initial commit for t540p
......................................................................
[WIP]mainboard/lenovo: do initial commit for t540p
Based off of t440p.
Change-Id: I02ecde6999d1b5ca7741371273edd90297899fa0
Signed-off-by: Patrick Elsen <pelsen(a)xfbs.net>
---
A src/mainboard/lenovo/t540p/Kconfig
A src/mainboard/lenovo/t540p/Kconfig.name
A src/mainboard/lenovo/t540p/Makefile.inc
A src/mainboard/lenovo/t540p/acpi/ec.asl
A src/mainboard/lenovo/t540p/acpi/platform.asl
A src/mainboard/lenovo/t540p/acpi/superio.asl
A src/mainboard/lenovo/t540p/acpi_tables.c
A src/mainboard/lenovo/t540p/board_info.txt
A src/mainboard/lenovo/t540p/devicetree.cb
A src/mainboard/lenovo/t540p/dsdt.asl
A src/mainboard/lenovo/t540p/gma-mainboard.ads
A src/mainboard/lenovo/t540p/gpio.c
A src/mainboard/lenovo/t540p/hda_verb.c
A src/mainboard/lenovo/t540p/mainboard.c
A src/mainboard/lenovo/t540p/romstage.c
A src/mainboard/lenovo/t540p/smihandler.c
16 files changed, 819 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/04/38204/1
diff --git a/src/mainboard/lenovo/t540p/Kconfig b/src/mainboard/lenovo/t540p/Kconfig
new file mode 100644
index 0000000..9c136a4
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/Kconfig
@@ -0,0 +1,41 @@
+if BOARD_LENOVO_THINKPAD_T540P
+
+config BOARD_SPECIFIC_OPTIONS
+ def_bool y
+ select BOARD_ROMSIZE_KB_2048 # FIXME: correct this
+ select CPU_INTEL_HASWELL
+ select EC_LENOVO_H8
+ select EC_LENOVO_PMH7
+ select HAVE_ACPI_RESUME
+ select HAVE_ACPI_TABLES
+ select INTEL_INT15
+ select MAINBOARD_HAS_LIBGFXINIT # FIXME: check this
+ select NORTHBRIDGE_INTEL_HASWELL
+ select SERIRQ_CONTINUOUS_MODE
+ select SOUTHBRIDGE_INTEL_LYNXPOINT
+ select SYSTEM_TYPE_LAPTOP
+
+config MAINBOARD_DIR
+ string
+ default lenovo/t540p
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "ThinkPad T540p"
+
+config VGA_BIOS_FILE
+ string
+ default "pci8086,0416.rom"
+
+config VGA_BIOS_ID
+ string
+ default "8086,0416"
+
+config MAX_CPUS
+ int
+ default 8
+
+config USBDEBUG_HCD_INDEX # FIXME: check this
+ int
+ default 2
+endif
diff --git a/src/mainboard/lenovo/t540p/Kconfig.name b/src/mainboard/lenovo/t540p/Kconfig.name
new file mode 100644
index 0000000..a7c6910
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/Kconfig.name
@@ -0,0 +1,2 @@
+config BOARD_LENOVO_THINKPAD_T540P
+ bool "ThinkPad T540p"
diff --git a/src/mainboard/lenovo/t540p/Makefile.inc b/src/mainboard/lenovo/t540p/Makefile.inc
new file mode 100644
index 0000000..fa6e7af
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/Makefile.inc
@@ -0,0 +1,3 @@
+romstage-y += gpio.c
+ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads
+smm-y += smihandler.c
diff --git a/src/mainboard/lenovo/t540p/acpi/ec.asl b/src/mainboard/lenovo/t540p/acpi/ec.asl
new file mode 100644
index 0000000..c3569e8
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/acpi/ec.asl
@@ -0,0 +1 @@
+#include <ec/lenovo/h8/acpi/ec.asl>
diff --git a/src/mainboard/lenovo/t540p/acpi/platform.asl b/src/mainboard/lenovo/t540p/acpi/platform.asl
new file mode 100644
index 0000000..dfced7a
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/acpi/platform.asl
@@ -0,0 +1,12 @@
+Method(_WAK,1)
+{
+ /* ME may not be up yet. */
+ Store (0, \_TZ.MEB1)
+ Store (0, \_TZ.MEB2)
+ Return(Package(){0,0})
+}
+
+Method(_PTS,1)
+{
+ \_SB.PCI0.LPCB.EC.RADI(0)
+}
diff --git a/src/mainboard/lenovo/t540p/acpi/superio.asl b/src/mainboard/lenovo/t540p/acpi/superio.asl
new file mode 100644
index 0000000..f2b35ba
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/acpi/superio.asl
@@ -0,0 +1 @@
+#include <drivers/pc80/pc/ps2_controller.asl>
diff --git a/src/mainboard/lenovo/t540p/acpi_tables.c b/src/mainboard/lenovo/t540p/acpi_tables.c
new file mode 100644
index 0000000..5dc98d8
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/acpi_tables.c
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2014 Vladimir Serbinenko
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <southbridge/intel/lynxpoint/nvs.h>
+
+/* FIXME: check this function. */
+void acpi_create_gnvs(global_nvs_t *gnvs)
+{
+ /* Disable USB ports in S3 by default */
+ gnvs->s3u0 = 0;
+ gnvs->s3u1 = 0;
+
+ /* Disable USB ports in S5 by default */
+ gnvs->s5u0 = 0;
+ gnvs->s5u1 = 0;
+
+ // the lid is open by default.
+ gnvs->lids = 1;
+
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
+}
diff --git a/src/mainboard/lenovo/t540p/board_info.txt b/src/mainboard/lenovo/t540p/board_info.txt
new file mode 100644
index 0000000..db677c6
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/board_info.txt
@@ -0,0 +1,2 @@
+Category: laptop
+FIXME: put ROM package, ROM socketed, ROM protocol, Flashrom support, Release year
diff --git a/src/mainboard/lenovo/t540p/devicetree.cb b/src/mainboard/lenovo/t540p/devicetree.cb
new file mode 100644
index 0000000..3ebaa42
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/devicetree.cb
@@ -0,0 +1,166 @@
+chip northbridge/intel/haswell
+ register "gfx.did" = "{ 0x80000100, 0x80000240, 0x80000410 }"
+ register "gfx.ndid" = "3"
+ register "gpu_cpu_backlight" = "0x12ba12ba"
+ register "gpu_ddi_e_connected" = "1"
+ register "gpu_dp_b_hotplug" = "4"
+ register "gpu_dp_c_hotplug" = "4"
+ register "gpu_dp_d_hotplug" = "4"
+ register "gpu_panel_port_select" = "0"
+ register "gpu_panel_power_backlight_off_delay" = "1"
+ register "gpu_panel_power_backlight_on_delay" = "1"
+ register "gpu_panel_power_cycle_delay" = "6"
+ register "gpu_panel_power_down_delay" = "500"
+ register "gpu_panel_power_up_delay" = "2000"
+ register "gpu_pch_backlight" = "0x12ba12ba"
+ device cpu_cluster 0x0 on
+ chip cpu/intel/haswell
+ register "c1_acpower" = "1"
+ register "c1_battery" = "1"
+ register "c2_acpower" = "3"
+ register "c2_battery" = "3"
+ register "c3_acpower" = "5"
+ register "c3_battery" = "5"
+ device lapic 0x0 on
+ end
+ device lapic 0xacac off
+ end
+ end
+ end
+ device domain 0x0 on
+ chip southbridge/intel/lynxpoint # Intel Series 8 Lynx Point PCH
+ register "gen1_dec" = "0x007c1601"
+ register "gen2_dec" = "0x000c15e1"
+ register "gen3_dec" = "0x00000000"
+ register "gen4_dec" = "0x000c06a1"
+ register "gpi13_routing" = "2"
+ register "gpi1_routing" = "2"
+ register "pirqa_routing" = "0x8b"
+ register "pirqb_routing" = "0x8a"
+ register "pirqc_routing" = "0x89"
+ register "pirqd_routing" = "0x87"
+ register "pirqe_routing" = "0x8b"
+ register "pirqf_routing" = "0x80"
+ register "pirqg_routing" = "0x8a"
+ register "pirqh_routing" = "0x86"
+ register "sata_ahci" = "1"
+ register "sata_port_map" = "0x21"
+ device pci 14.0 on # xHCI Controller
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 16.0 on # Management Engine Interface 1
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 16.1 off # Management Engine Interface 2
+ end
+ device pci 16.2 off # Management Engine IDE-R
+ end
+ device pci 16.3 on # Management Engine KT
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 19.0 on # Intel Gigabit Ethernet Unsupported PCI device 8086:153a
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 1a.0 on # USB2 EHCI #2
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 1b.0 on # High Definition Audio Audio controller
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 1c.0 on # PCIe Port #1
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 1c.1 on # PCIe Port #2
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 1c.2 on # PCIe Port #3
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 1c.3 off # PCIe Port #4
+ end
+ device pci 1c.4 off # PCIe Port #5
+ end
+ device pci 1c.5 off # PCIe Port #6
+ end
+ device pci 1c.6 off # PCIe Port #7
+ end
+ device pci 1c.7 off # PCIe Port #8
+ end
+ device pci 1d.0 on # USB2 EHCI #1
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 1f.0 on # LPC bridge PCI-LPC bridge
+ subsystemid 0x17aa 0x2210
+ chip ec/lenovo/pmh7
+ register "backlight_enable" = "0x01"
+ register "dock_event_enable" = "0x01"
+ device pnp ff.1 on # dummy
+ end
+ end
+ chip ec/lenovo/h8 # FIXME: has_keyboard_backlight, has_power_management_beeps, has_uwb
+ register "beepmask0" = "0x00"
+ register "beepmask1" = "0x86"
+ register "config0" = "0xa7"
+ register "config1" = "0x0d"
+ register "config2" = "0xa8"
+ register "config3" = "0xc4"
+ register "event2_enable" = "0xff"
+ register "event3_enable" = "0xff"
+ register "event4_enable" = "0xd0"
+ register "event5_enable" = "0x3c"
+ register "event7_enable" = "0x81"
+ register "event8_enable" = "0x7b"
+ register "event9_enable" = "0xff"
+ register "eventc_enable" = "0xff"
+ register "eventd_enable" = "0xff"
+ register "evente_enable" = "0x9d"
+ device pnp ff.2 on # dummy
+ io 0x60 = 0x62
+ io 0x62 = 0x66
+ io 0x64 = 0x1600
+ io 0x66 = 0x1604
+ end
+ end
+ end
+ device pci 1f.2 on # SATA Controller 1
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 1f.3 on # SMBus
+ subsystemid 0x17aa 0x2210
+ chip drivers/i2c/at24rf08c # eeprom, 8 virtual devices, same chip
+ device i2c 54 on
+ end
+ device i2c 55 on
+ end
+ device i2c 56 on
+ end
+ device i2c 57 on
+ end
+ device i2c 5c on
+ end
+ device i2c 5d on
+ end
+ device i2c 5e on
+ end
+ device i2c 5f on
+ end
+ end
+ end
+ device pci 1f.5 off # SATA Controller 2
+ end
+ device pci 1f.6 off # Thermal
+ end
+ end
+ device pci 00.0 on # Host bridge Host bridge
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 01.0 off # PCIe Bridge for discrete graphics
+ end
+ device pci 02.0 on # Internal graphics VGA controller
+ subsystemid 0x17aa 0x2210
+ end
+ device pci 03.0 on # Mini-HD audio Audio controller
+ subsystemid 0x17aa 0x2210
+ end
+ end
+end
diff --git a/src/mainboard/lenovo/t540p/dsdt.asl b/src/mainboard/lenovo/t540p/dsdt.asl
new file mode 100644
index 0000000..4838877
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/dsdt.asl
@@ -0,0 +1,31 @@
+#define BRIGHTNESS_UP \_SB.PCI0.GFX0.INCB
+#define BRIGHTNESS_DOWN \_SB.PCI0.GFX0.DECB
+#define ACPI_VIDEO_DEVICE \_SB.PCI0.GFX0
+#define EC_LENOVO_H8_ME_WORKAROUND 1
+#define THINKPAD_EC_GPE 17
+
+#include <arch/acpi.h>
+DefinitionBlock(
+ "dsdt.aml",
+ "DSDT",
+ 0x02, // DSDT revision: ACPI 2.0 and up
+ OEM_ID,
+ ACPI_TABLE_CREATOR,
+ 0x20141018 // OEM revision
+)
+{
+ /* Some generic macros */
+ #include "acpi/platform.asl"
+ #include <cpu/intel/common/acpi/cpu.asl>
+ #include <southbridge/intel/lynxpoint/acpi/platform.asl>
+ /* global NVS and variables. */
+ #include <southbridge/intel/lynxpoint/acpi/globalnvs.asl>
+ #include <southbridge/intel/lynxpoint/acpi/sleepstates.asl>
+
+ Device (\_SB.PCI0)
+ {
+ #include <northbridge/intel/haswell/acpi/haswell.asl>
+ #include <drivers/intel/gma/acpi/default_brightness_levels.asl>
+ #include <southbridge/intel/lynxpoint/acpi/pch.asl>
+ }
+}
diff --git a/src/mainboard/lenovo/t540p/gma-mainboard.ads b/src/mainboard/lenovo/t540p/gma-mainboard.ads
new file mode 100644
index 0000000..d7afe73
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/gma-mainboard.ads
@@ -0,0 +1,34 @@
+--
+-- This file is part of the coreboot project.
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 2 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+
+with HW.GFX.GMA;
+with HW.GFX.GMA.Display_Probing;
+
+use HW.GFX.GMA;
+use HW.GFX.GMA.Display_Probing;
+
+private package GMA.Mainboard is
+
+ -- FIXME: check this
+ ports : constant Port_List :=
+ (DP1,
+ DP2,
+ DP3,
+ HDMI1,
+ HDMI2,
+ HDMI3,
+ Analog,
+ Internal);
+
+end GMA.Mainboard;
diff --git a/src/mainboard/lenovo/t540p/gpio.c b/src/mainboard/lenovo/t540p/gpio.c
new file mode 100644
index 0000000..a351508
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/gpio.c
@@ -0,0 +1,229 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2014 Vladimir Serbinenko
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <southbridge/intel/common/gpio.h>
+
+static const struct pch_gpio_set1 pch_gpio_set1_mode = {
+ .gpio0 = GPIO_MODE_GPIO,
+ .gpio1 = GPIO_MODE_GPIO,
+ .gpio2 = GPIO_MODE_GPIO,
+ .gpio3 = GPIO_MODE_GPIO,
+ .gpio4 = GPIO_MODE_GPIO,
+ .gpio5 = GPIO_MODE_GPIO,
+ .gpio6 = GPIO_MODE_GPIO,
+ .gpio7 = GPIO_MODE_GPIO,
+ .gpio8 = GPIO_MODE_GPIO,
+ .gpio9 = GPIO_MODE_NATIVE,
+ .gpio10 = GPIO_MODE_GPIO,
+ .gpio11 = GPIO_MODE_GPIO,
+ .gpio12 = GPIO_MODE_NATIVE,
+ .gpio13 = GPIO_MODE_GPIO,
+ .gpio14 = GPIO_MODE_GPIO,
+ .gpio15 = GPIO_MODE_GPIO,
+ .gpio16 = GPIO_MODE_GPIO,
+ .gpio17 = GPIO_MODE_GPIO,
+ .gpio18 = GPIO_MODE_NATIVE,
+ .gpio19 = GPIO_MODE_GPIO,
+ .gpio20 = GPIO_MODE_NATIVE,
+ .gpio21 = GPIO_MODE_GPIO,
+ .gpio22 = GPIO_MODE_GPIO,
+ .gpio23 = GPIO_MODE_GPIO,
+ .gpio24 = GPIO_MODE_GPIO,
+ .gpio25 = GPIO_MODE_NATIVE,
+ .gpio26 = GPIO_MODE_NATIVE,
+ .gpio27 = GPIO_MODE_GPIO,
+ .gpio28 = GPIO_MODE_GPIO,
+ .gpio29 = GPIO_MODE_NATIVE,
+ .gpio30 = GPIO_MODE_NATIVE,
+ .gpio31 = GPIO_MODE_GPIO,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_direction = {
+ .gpio0 = GPIO_DIR_INPUT,
+ .gpio1 = GPIO_DIR_INPUT,
+ .gpio2 = GPIO_DIR_INPUT,
+ .gpio3 = GPIO_DIR_OUTPUT,
+ .gpio4 = GPIO_DIR_OUTPUT,
+ .gpio5 = GPIO_DIR_OUTPUT,
+ .gpio6 = GPIO_DIR_INPUT,
+ .gpio7 = GPIO_DIR_OUTPUT,
+ .gpio8 = GPIO_DIR_INPUT,
+ .gpio10 = GPIO_DIR_INPUT,
+ .gpio11 = GPIO_DIR_INPUT,
+ .gpio13 = GPIO_DIR_INPUT,
+ .gpio14 = GPIO_DIR_INPUT,
+ .gpio15 = GPIO_DIR_OUTPUT,
+ .gpio16 = GPIO_DIR_INPUT,
+ .gpio17 = GPIO_DIR_INPUT,
+ .gpio19 = GPIO_DIR_OUTPUT,
+ .gpio21 = GPIO_DIR_INPUT,
+ .gpio22 = GPIO_DIR_OUTPUT,
+ .gpio23 = GPIO_DIR_INPUT,
+ .gpio24 = GPIO_DIR_OUTPUT,
+ .gpio27 = GPIO_DIR_INPUT,
+ .gpio28 = GPIO_DIR_OUTPUT,
+ .gpio31 = GPIO_DIR_INPUT,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_level = {
+ .gpio3 = GPIO_LEVEL_LOW,
+ .gpio4 = GPIO_LEVEL_LOW,
+ .gpio5 = GPIO_LEVEL_LOW,
+ .gpio7 = GPIO_LEVEL_LOW,
+ .gpio15 = GPIO_LEVEL_LOW,
+ .gpio19 = GPIO_LEVEL_HIGH,
+ .gpio22 = GPIO_LEVEL_LOW,
+ .gpio24 = GPIO_LEVEL_HIGH,
+ .gpio28 = GPIO_LEVEL_LOW,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_reset = {
+ .gpio24 = GPIO_RESET_RSMRST,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_invert = {
+ .gpio0 = GPIO_INVERT,
+ .gpio1 = GPIO_INVERT,
+ .gpio13 = GPIO_INVERT,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_blink = {
+};
+
+static const struct pch_gpio_set2 pch_gpio_set2_mode = {
+ .gpio32 = GPIO_MODE_NATIVE,
+ .gpio33 = GPIO_MODE_GPIO,
+ .gpio34 = GPIO_MODE_GPIO,
+ .gpio35 = GPIO_MODE_GPIO,
+ .gpio36 = GPIO_MODE_GPIO,
+ .gpio37 = GPIO_MODE_GPIO,
+ .gpio38 = GPIO_MODE_GPIO,
+ .gpio39 = GPIO_MODE_GPIO,
+ .gpio40 = GPIO_MODE_NATIVE,
+ .gpio41 = GPIO_MODE_NATIVE,
+ .gpio42 = GPIO_MODE_GPIO,
+ .gpio43 = GPIO_MODE_GPIO,
+ .gpio44 = GPIO_MODE_GPIO,
+ .gpio45 = GPIO_MODE_GPIO,
+ .gpio46 = GPIO_MODE_GPIO,
+ .gpio47 = GPIO_MODE_NATIVE,
+ .gpio48 = GPIO_MODE_GPIO,
+ .gpio49 = GPIO_MODE_NATIVE,
+ .gpio50 = GPIO_MODE_GPIO,
+ .gpio51 = GPIO_MODE_GPIO,
+ .gpio52 = GPIO_MODE_GPIO,
+ .gpio53 = GPIO_MODE_GPIO,
+ .gpio54 = GPIO_MODE_GPIO,
+ .gpio55 = GPIO_MODE_GPIO,
+ .gpio56 = GPIO_MODE_GPIO,
+ .gpio57 = GPIO_MODE_GPIO,
+ .gpio58 = GPIO_MODE_NATIVE,
+ .gpio59 = GPIO_MODE_NATIVE,
+ .gpio60 = GPIO_MODE_NATIVE,
+ .gpio61 = GPIO_MODE_NATIVE,
+ .gpio62 = GPIO_MODE_NATIVE,
+ .gpio63 = GPIO_MODE_NATIVE,
+};
+
+static const struct pch_gpio_set2 pch_gpio_set2_direction = {
+ .gpio33 = GPIO_DIR_OUTPUT,
+ .gpio34 = GPIO_DIR_INPUT,
+ .gpio35 = GPIO_DIR_INPUT,
+ .gpio36 = GPIO_DIR_INPUT,
+ .gpio37 = GPIO_DIR_INPUT,
+ .gpio38 = GPIO_DIR_INPUT,
+ .gpio39 = GPIO_DIR_INPUT,
+ .gpio42 = GPIO_DIR_INPUT,
+ .gpio43 = GPIO_DIR_INPUT,
+ .gpio44 = GPIO_DIR_INPUT,
+ .gpio45 = GPIO_DIR_INPUT,
+ .gpio46 = GPIO_DIR_INPUT,
+ .gpio48 = GPIO_DIR_INPUT,
+ .gpio50 = GPIO_DIR_INPUT,
+ .gpio51 = GPIO_DIR_OUTPUT,
+ .gpio52 = GPIO_DIR_INPUT,
+ .gpio53 = GPIO_DIR_INPUT,
+ .gpio54 = GPIO_DIR_OUTPUT,
+ .gpio55 = GPIO_DIR_OUTPUT,
+ .gpio56 = GPIO_DIR_INPUT,
+ .gpio57 = GPIO_DIR_INPUT,
+};
+
+static const struct pch_gpio_set2 pch_gpio_set2_level = {
+ .gpio33 = GPIO_LEVEL_HIGH,
+ .gpio51 = GPIO_LEVEL_HIGH,
+ .gpio54 = GPIO_LEVEL_LOW,
+ .gpio55 = GPIO_LEVEL_HIGH,
+};
+
+static const struct pch_gpio_set2 pch_gpio_set2_reset = {
+};
+
+static const struct pch_gpio_set3 pch_gpio_set3_mode = {
+ .gpio64 = GPIO_MODE_GPIO,
+ .gpio65 = GPIO_MODE_GPIO,
+ .gpio66 = GPIO_MODE_GPIO,
+ .gpio67 = GPIO_MODE_GPIO,
+ .gpio68 = GPIO_MODE_GPIO,
+ .gpio69 = GPIO_MODE_GPIO,
+ .gpio70 = GPIO_MODE_GPIO,
+ .gpio71 = GPIO_MODE_GPIO,
+ .gpio72 = GPIO_MODE_NATIVE,
+ .gpio73 = GPIO_MODE_NATIVE,
+ .gpio74 = GPIO_MODE_NATIVE,
+ .gpio75 = GPIO_MODE_NATIVE,
+};
+
+static const struct pch_gpio_set3 pch_gpio_set3_direction = {
+ .gpio64 = GPIO_DIR_INPUT,
+ .gpio65 = GPIO_DIR_INPUT,
+ .gpio66 = GPIO_DIR_INPUT,
+ .gpio67 = GPIO_DIR_INPUT,
+ .gpio68 = GPIO_DIR_INPUT,
+ .gpio69 = GPIO_DIR_INPUT,
+ .gpio70 = GPIO_DIR_INPUT,
+ .gpio71 = GPIO_DIR_INPUT,
+};
+
+static const struct pch_gpio_set3 pch_gpio_set3_level = {
+};
+
+static const struct pch_gpio_set3 pch_gpio_set3_reset = {
+};
+
+const struct pch_gpio_map mainboard_gpio_map = {
+ .set1 = {
+ .mode = &pch_gpio_set1_mode,
+ .direction = &pch_gpio_set1_direction,
+ .level = &pch_gpio_set1_level,
+ .blink = &pch_gpio_set1_blink,
+ .invert = &pch_gpio_set1_invert,
+ .reset = &pch_gpio_set1_reset,
+ },
+ .set2 = {
+ .mode = &pch_gpio_set2_mode,
+ .direction = &pch_gpio_set2_direction,
+ .level = &pch_gpio_set2_level,
+ .reset = &pch_gpio_set2_reset,
+ },
+ .set3 = {
+ .mode = &pch_gpio_set3_mode,
+ .direction = &pch_gpio_set3_direction,
+ .level = &pch_gpio_set3_level,
+ .reset = &pch_gpio_set3_reset,
+ },
+};
diff --git a/src/mainboard/lenovo/t540p/hda_verb.c b/src/mainboard/lenovo/t540p/hda_verb.c
new file mode 100644
index 0000000..8574e4e
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/hda_verb.c
@@ -0,0 +1,40 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2014 Vladimir Serbinenko
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
+ 0x80862807, /* Codec Vendor / Device ID: Intel */
+ 0x80860101, /* Subsystem ID */
+
+ 0x00000004, /* Number of 4 dword sets */
+ /* NID 0x01: Subsystem ID. */
+ AZALIA_SUBVENDOR(0x0, 0x80860101),
+
+ /* NID 0x05. */
+ AZALIA_PIN_CFG(0x0, 0x05, 0x18560010),
+
+ /* NID 0x06. */
+ AZALIA_PIN_CFG(0x0, 0x06, 0x18560020),
+
+ /* NID 0x07. */
+ AZALIA_PIN_CFG(0x0, 0x07, 0x18560030),
+};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/lenovo/t540p/mainboard.c b/src/mainboard/lenovo/t540p/mainboard.c
new file mode 100644
index 0000000..3440a0a
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/mainboard.c
@@ -0,0 +1,17 @@
+#include <device/device.h>
+#include <drivers/intel/gma/int15.h>
+#include <ec/lenovo/h8/h8.h>
+
+static void mainboard_enable(struct device *dev)
+{
+ /* FIXME: fix those values*/
+ install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
+}
+
+void h8_mainboard_init_dock(void)
+{
+}
+
+struct chip_operations mainboard_ops = {
+ .enable_dev = mainboard_enable,
+};
diff --git a/src/mainboard/lenovo/t540p/romstage.c b/src/mainboard/lenovo/t540p/romstage.c
new file mode 100644
index 0000000..4ecf202
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/romstage.c
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2014 Vladimir Serbinenko
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <stdint.h>
+#include <arch/romstage.h>
+#include <cpu/intel/haswell/haswell.h>
+#include <northbridge/intel/haswell/haswell.h>
+#include <northbridge/intel/haswell/pei_data.h>
+#include <southbridge/intel/common/gpio.h>
+#include <southbridge/intel/lynxpoint/pch.h>
+
+static const struct rcba_config_instruction rcba_config[] = {
+ RCBA_SET_REG_16(D31IR, DIR_ROUTE(PIRQA, PIRQA, PIRQA, PIRQA)),
+ RCBA_SET_REG_16(D29IR, DIR_ROUTE(PIRQA, PIRQA, PIRQA, PIRQA)),
+ RCBA_SET_REG_16(D28IR, DIR_ROUTE(PIRQA, PIRQA, PIRQA, PIRQA)),
+ RCBA_SET_REG_16(D27IR, DIR_ROUTE(PIRQA, PIRQA, PIRQA, PIRQA)),
+ RCBA_SET_REG_16(D26IR, DIR_ROUTE(PIRQA, PIRQA, PIRQA, PIRQA)),
+ RCBA_SET_REG_16(D25IR, DIR_ROUTE(PIRQA, PIRQA, PIRQA, PIRQA)),
+ RCBA_SET_REG_16(D22IR, DIR_ROUTE(PIRQA, PIRQA, PIRQA, PIRQA)),
+ RCBA_SET_REG_16(D20IR, DIR_ROUTE(PIRQA, PIRQA, PIRQA, PIRQA)),
+
+ RCBA_RMW_REG_32(FD, ~0, PCH_DISABLE_ALWAYS),
+
+ RCBA_END_CONFIG,
+};
+
+void mainboard_config_superio(void)
+{
+}
+
+void mainboard_romstage_entry(void)
+{
+ struct pei_data pei_data = {
+ .pei_version = PEI_VERSION,
+ .mchbar = (uintptr_t)DEFAULT_MCHBAR,
+ .dmibar = (uintptr_t)DEFAULT_DMIBAR,
+ .epbar = DEFAULT_EPBAR,
+ .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
+ .smbusbar = SMBUS_IO_BASE,
+ .wdbbar = 0x4000000,
+ .wdbsize = 0x1000,
+ .hpet_address = HPET_ADDR,
+ .rcba = (uintptr_t)DEFAULT_RCBA,
+ .pmbase = DEFAULT_PMBASE,
+ .gpiobase = DEFAULT_GPIOBASE,
+ .temp_mmio_base = 0xfed08000,
+ .system_type = 0, /* mobile */
+ .tseg_size = CONFIG_SMM_TSEG_SIZE,
+ /* note that SPD addresses are left-shifted by 1. */
+ .spd_addresses = { 0xa0, 0, 0xa2, 0 },
+ .ec_present = 1,
+ .gbe_enable = 1,
+ .dimm_channel0_disabled = 2,
+ .dimm_channel1_disabled = 2,
+ .max_ddr3_freq = 1600,
+ .usb2_ports = {
+ /* Length, Enable, OCn#, Location */
+ { 0x0040, 1, 0, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 0, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 1, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, USB_OC_PIN_SKIP, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, USB_OC_PIN_SKIP, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 2, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 3, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 3, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 4, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 4, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 5, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 5, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 6, USB_PORT_BACK_PANEL },
+ { 0x0040, 1, 6, USB_PORT_BACK_PANEL },
+ },
+ .usb3_ports = {
+ { 1, 0 },
+ { 1, 0 },
+ { 1, USB_OC_PIN_SKIP },
+ { 1, USB_OC_PIN_SKIP },
+ { 1, 1 },
+ { 1, 1 },
+ },
+ };
+
+ struct romstage_params romstage_params = {
+ .pei_data = &pei_data,
+ .gpio_map = &mainboard_gpio_map,
+ .rcba_config = rcba_config,
+ };
+
+ romstage_common(&romstage_params);
+}
diff --git a/src/mainboard/lenovo/t540p/smihandler.c b/src/mainboard/lenovo/t540p/smihandler.c
new file mode 100644
index 0000000..9f5044a
--- /dev/null
+++ b/src/mainboard/lenovo/t540p/smihandler.c
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2014 Vladimir Serbinenko
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <device/pci_ops.h>
+#include <console/console.h>
+#include <cpu/x86/smm.h>
+#include <ec/acpi/ec.h>
+#include <ec/lenovo/h8/h8.h>
+#include <delay.h>
+#include <southbridge/intel/lynxpoint/pch.h>
+
+#define GPE_EC_SCI 1
+#define GPE_EC_WAKE 13
+
+static void mainboard_smi_handle_ec_sci(void)
+{
+ u8 status = inb(EC_SC);
+ u8 event;
+
+ if (!(status & EC_SCI_EVT))
+ return;
+
+ event = ec_query();
+ printk(BIOS_DEBUG, "EC event %02x\n", event);
+}
+
+void mainboard_smi_gpi(u32 gpi_sts)
+{
+ if (gpi_sts & (1 << GPE_EC_SCI))
+ mainboard_smi_handle_ec_sci();
+}
+
+/* lynxpoint doesn't have gpi_route_interrupt, so add it */
+#define GPI_DISABLE 0x00
+#define GPI_IS_SMI 0x01
+#define GPI_IS_SCI 0x02
+#define GPI_IS_NMI 0x03
+
+static void gpi_route_interrupt(u8 gpi, u8 mode)
+{
+ u32 gpi_rout;
+
+ gpi_rout = pci_read_config32(PCI_DEV(0, 0x1f, 0), GPIO_ROUT);
+ gpi_rout &= ~(3 << (2 * gpi));
+ gpi_rout |= ((mode & 3) << (2 * gpi));
+ pci_write_config32(PCI_DEV(0, 0x1f, 0), GPIO_ROUT, gpi_rout);
+}
+
+int mainboard_smi_apmc(u8 data)
+{
+ switch (data) {
+ case APM_CNT_ACPI_ENABLE:
+ /* use 0x1600/0x1604 to prevent races with userspace */
+ ec_set_ports(0x1604, 0x1600);
+ /* route EC_SCI to SCI */
+ gpi_route_interrupt(GPE_EC_SCI, GPI_IS_SCI);
+ /* discard all events, and enable attention */
+ ec_write(0x80, 0x01);
+ break;
+ case APM_CNT_ACPI_DISABLE:
+ /* we have to use port 0x62/0x66, as 0x1600/0x1604 doesn't
+ provide a EC query function */
+ ec_set_ports(0x66, 0x62);
+ /* route EC_SCI to SMI */
+ gpi_route_interrupt(GPE_EC_SCI, GPI_IS_SMI);
+ /* discard all events, and enable attention */
+ ec_write(0x80, 0x01);
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+void mainboard_smi_sleep(u8 slp_typ)
+{
+ if (slp_typ == 3) {
+ u8 ec_wake = ec_read(0x32);
+ /* If EC wake events are enabled,
+ * enable wake on EC WAKE GPE. */
+ if (ec_wake & 0x14) {
+ /* Redirect EC WAKE GPE to SCI. */
+ gpi_route_interrupt(GPE_EC_WAKE, GPI_IS_SCI);
+ }
+ }
+}
--
To view, visit https://review.coreboot.org/c/coreboot/+/38204
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I02ecde6999d1b5ca7741371273edd90297899fa0
Gerrit-Change-Number: 38204
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Elsen
Gerrit-MessageType: newchange
7
11
Change in coreboot[master]: lib: Rename edid_fill_fb.c
by Patrick Rudolph (Code Review) Aug. 7, 2023
by Patrick Rudolph (Code Review) Aug. 7, 2023
Aug. 7, 2023
Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/39431 )
Change subject: lib: Rename edid_fill_fb.c
......................................................................
lib: Rename edid_fill_fb.c
Rename edid_fill_fb.c to framebuffer_info.c as it doesn't deal with
EDID that much any more.
Change-Id: Ic7eb6432eee9808aaa9a48e6bcd61bf136a8b938
Signed-off-by: Patrick Rudolph <patrick.rudolph(a)9elements.com>
---
M src/lib/Makefile.inc
R src/lib/framebuffer_info.c
2 files changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/31/39431/1
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc
index a1fb8c2..76ace63 100644
--- a/src/lib/Makefile.inc
+++ b/src/lib/Makefile.inc
@@ -134,7 +134,7 @@
ramstage-$(CONFIG_COLLECT_TIMESTAMPS) += timestamp.c
ramstage-$(CONFIG_COVERAGE) += libgcov.c
ramstage-y += edid.c
-ramstage-y += edid_fill_fb.c
+ramstage-y += framebuffer_info.c
ramstage-y += memrange.c
ramstage-$(CONFIG_COOP_MULTITASKING) += thread.c
ramstage-$(CONFIG_TIMER_QUEUE) += timer_queue.c
diff --git a/src/lib/edid_fill_fb.c b/src/lib/framebuffer_info.c
similarity index 100%
rename from src/lib/edid_fill_fb.c
rename to src/lib/framebuffer_info.c
--
To view, visit https://review.coreboot.org/c/coreboot/+/39431
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ic7eb6432eee9808aaa9a48e6bcd61bf136a8b938
Gerrit-Change-Number: 39431
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-MessageType: newchange
9
16
Change in coreboot[master]: [HACK] Add soc/broadwell based hp/folio_9480m code
by Iru Cai (vimacs) (Code Review) Aug. 7, 2023
by Iru Cai (vimacs) (Code Review) Aug. 7, 2023
Aug. 7, 2023
Hello Iru Cai,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/47345
to review the following change.
Change subject: [HACK] Add soc/broadwell based hp/folio_9480m code
......................................................................
[HACK] Add soc/broadwell based hp/folio_9480m code
The laptop still boots with this code.
Change-Id: I0d74c59ff8e8f32f49627fb7edc270887ebd5339
Signed-off-by: Iru Cai <mytbk920423(a)gmail.com>
---
A src/mainboard/hp/folio_9480m_bdw/Kconfig
A src/mainboard/hp/folio_9480m_bdw/Kconfig.name
A src/mainboard/hp/folio_9480m_bdw/Makefile.inc
A src/mainboard/hp/folio_9480m_bdw/acpi/ec.asl
A src/mainboard/hp/folio_9480m_bdw/acpi/platform.asl
A src/mainboard/hp/folio_9480m_bdw/acpi/superio.asl
A src/mainboard/hp/folio_9480m_bdw/acpi_tables.c
A src/mainboard/hp/folio_9480m_bdw/board_info.txt
A src/mainboard/hp/folio_9480m_bdw/data.vbt
A src/mainboard/hp/folio_9480m_bdw/devicetree.cb
A src/mainboard/hp/folio_9480m_bdw/dsdt.asl
A src/mainboard/hp/folio_9480m_bdw/gma-mainboard.ads
A src/mainboard/hp/folio_9480m_bdw/gpio.c
A src/mainboard/hp/folio_9480m_bdw/hda_verb.c
A src/mainboard/hp/folio_9480m_bdw/pei_data.c
A src/mainboard/hp/folio_9480m_bdw/romstage.c
16 files changed, 455 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/45/47345/1
diff --git a/src/mainboard/hp/folio_9480m_bdw/Kconfig b/src/mainboard/hp/folio_9480m_bdw/Kconfig
new file mode 100644
index 0000000..2858d97
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/Kconfig
@@ -0,0 +1,48 @@
+if BOARD_HP_FOLIO_9480M_BDW
+
+config BOARD_SPECIFIC_OPTIONS
+ def_bool y
+ # The board has a 16MB flash, but the end of the flash needs
+ # to be reserved, so we use 12MB as default
+ select BOARD_ROMSIZE_KB_12288
+ select EC_HP_KBC1126
+ select HAVE_ACPI_RESUME
+ select HAVE_ACPI_TABLES
+ select INTEL_GMA_HAVE_VBT
+ select MAINBOARD_HAS_LIBGFXINIT
+ select MAINBOARD_HAS_LPC_TPM
+ select MAINBOARD_HAS_TPM1
+ select MAINBOARD_USES_IFD_GBE_REGION
+ select SERIRQ_CONTINUOUS_MODE
+ select SOC_INTEL_BROADWELL
+ select SYSTEM_TYPE_LAPTOP
+
+config MAINBOARD_DIR
+ string
+ default "hp/folio_9480m_bdw"
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "HP EliteBook Folio 9480m"
+
+config VGA_BIOS_FILE
+ string
+ default "pci8086,0a16.rom"
+
+config VGA_BIOS_ID
+ string
+ default "8086,0a16"
+
+config EC_HP_KBC1126_ECFW_IN_CBFS
+ bool
+ default n
+
+config EC_HP_KBC1126_GPE
+ hex
+ default 0x6
+
+config MAX_CPUS
+ int
+ default 4
+
+endif
diff --git a/src/mainboard/hp/folio_9480m_bdw/Kconfig.name b/src/mainboard/hp/folio_9480m_bdw/Kconfig.name
new file mode 100644
index 0000000..922552b
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/Kconfig.name
@@ -0,0 +1,2 @@
+config BOARD_HP_FOLIO_9480M_BDW
+ bool "EliteBook Folio 9480m (using Broadwell SoC code)"
diff --git a/src/mainboard/hp/folio_9480m_bdw/Makefile.inc b/src/mainboard/hp/folio_9480m_bdw/Makefile.inc
new file mode 100644
index 0000000..2543ee7
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/Makefile.inc
@@ -0,0 +1,4 @@
+romstage-y += gpio.c
+romstage-y += pei_data.c
+ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads
+ramstage-y += pei_data.c
diff --git a/src/mainboard/hp/folio_9480m_bdw/acpi/ec.asl b/src/mainboard/hp/folio_9480m_bdw/acpi/ec.asl
new file mode 100644
index 0000000..baa17a4
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/acpi/ec.asl
@@ -0,0 +1,3 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <ec/hp/kbc1126/acpi/ec.asl>
diff --git a/src/mainboard/hp/folio_9480m_bdw/acpi/platform.asl b/src/mainboard/hp/folio_9480m_bdw/acpi/platform.asl
new file mode 100644
index 0000000..8023ae8
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/acpi/platform.asl
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+Method(_WAK,1)
+{
+ \_SB.PCI0.LPCB.EC0.ACPI = 1
+ \_SB.PCI0.LPCB.EC0.SLPT = 0
+
+ Return(Package(){0,0})
+}
+
+Method(_PTS,1)
+{
+ \_SB.PCI0.LPCB.EC0.SLPT = Arg0
+}
diff --git a/src/mainboard/hp/folio_9480m_bdw/acpi/superio.asl b/src/mainboard/hp/folio_9480m_bdw/acpi/superio.asl
new file mode 100644
index 0000000..55b1db5
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/acpi/superio.asl
@@ -0,0 +1,3 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <drivers/pc80/pc/ps2_controller.asl>
diff --git a/src/mainboard/hp/folio_9480m_bdw/acpi_tables.c b/src/mainboard/hp/folio_9480m_bdw/acpi_tables.c
new file mode 100644
index 0000000..ca6f64b
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/acpi_tables.c
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <acpi/acpi.h>
+#include <acpi/acpi_gnvs.h>
+#include <arch/ioapic.h>
+#include <soc/acpi.h>
+#include <soc/nvs.h>
+
+void acpi_create_gnvs(struct global_nvs *gnvs)
+{
+ acpi_init_gnvs(gnvs);
+}
+
+unsigned long acpi_fill_madt(unsigned long current)
+{
+ /* Local APICs */
+ current = acpi_create_madt_lapics(current);
+
+ /* IOAPIC */
+ current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *) current,
+ 2, IO_APIC_ADDR, 0);
+
+ return acpi_madt_irq_overrides(current);
+}
diff --git a/src/mainboard/hp/folio_9480m_bdw/board_info.txt b/src/mainboard/hp/folio_9480m_bdw/board_info.txt
new file mode 100644
index 0000000..fdd0d60
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/board_info.txt
@@ -0,0 +1,7 @@
+Category: laptop
+Board URL: https://support.hp.com/us-en/product/hp-elitebook-folio-9480m-notebook-pc/7…
+ROM protocol: SPI
+ROM package: SOIC-8
+ROM socketed: n
+Flashrom support: y
+Release year: 2014
diff --git a/src/mainboard/hp/folio_9480m_bdw/data.vbt b/src/mainboard/hp/folio_9480m_bdw/data.vbt
new file mode 100644
index 0000000..1a62a07
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/data.vbt
Binary files differ
diff --git a/src/mainboard/hp/folio_9480m_bdw/devicetree.cb b/src/mainboard/hp/folio_9480m_bdw/devicetree.cb
new file mode 100644
index 0000000..02ba69f
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/devicetree.cb
@@ -0,0 +1,72 @@
+chip soc/intel/broadwell
+ register "gfx" = "GMA_STATIC_DISPLAYS(0)"
+ register "gpu_dp_b_hotplug" = "4"
+ register "gpu_dp_c_hotplug" = "4"
+ register "gpu_panel_power_backlight_off_delay" = "1"
+ register "gpu_panel_power_backlight_on_delay" = "1"
+ register "gpu_panel_power_cycle_delay" = "6"
+ register "gpu_panel_power_down_delay" = "500"
+ register "gpu_panel_power_up_delay" = "2000"
+ register "gpu_pch_backlight_pwm_hz" = "200"
+ device cpu_cluster 0 on
+ device lapic 0 on end
+ end
+ device domain 0x0 on
+ subsystemid 0x103c 0x22da inherit
+ device pci 00.0 on end # Host bridge
+ device pci 02.0 on end # Internal graphics VGA controller
+ device pci 03.0 on end # Mini-HD audio
+
+ chip soc/intel/broadwell/pch
+ register "gen1_dec" = "0x007c0201"
+ register "gen2_dec" = "0x000c0101"
+ register "gen4_dec" = "0x000402e9"
+ register "sata_port1_gen3_dtle" = "0x6"
+ # SATA(1), M.2(3)
+ register "sata_port_map" = "0xa"
+ device pci 13.0 off end # Intel Smart Sound DSP
+ device pci 14.0 on end # xHCI Controller
+ device pci 15.0 off end # Serial I/O DMA
+ device pci 15.1 off end # I2C0
+ device pci 15.2 off end # I2C1
+ device pci 15.3 off end # GSPI0
+ device pci 15.4 off end # GSPI1
+ device pci 15.5 off end # UART0
+ device pci 15.6 off end # UART1
+ device pci 16.0 on end # Management Engine Interface 1
+ device pci 16.1 off end # Management Engine Interface 2
+ device pci 16.2 off end # Management Engine IDE-R
+ device pci 16.3 off end # Management Engine KT
+ device pci 17.0 off end # SDIO
+ device pci 19.0 on end # Intel Gigabit Ethernet
+ device pci 1b.0 on end # High Definition Audio
+ device pci 1c.0 on end # PCIe Port #1
+ device pci 1c.1 on end # PCIe Port #2, Realtek Card Reader
+ device pci 1c.2 off end # PCIe Port #3
+ device pci 1c.3 on # PCIe Port #4, WLAN
+ smbios_slot_desc "SlotTypeM2Socket1_SD" "SlotLengthOther"
+ "M.2 2230" "SlotDataBusWidth1X"
+ end
+ device pci 1c.4 off end # PCIe Port #5
+ device pci 1c.5 off end # PCIe Port #6
+ device pci 1d.0 on end # USB2 EHCI #1
+ device pci 1f.0 on # LPC bridge
+ chip drivers/pc80/tpm
+ device pnp 0c31.0 on end
+ end
+ # This laptop uses MEC1322, but it has the same interface
+ # as the KBC1126 laptops
+ chip ec/hp/kbc1126
+ register "ec_data_port" = "0x62"
+ register "ec_cmd_port" = "0x66"
+ register "ec_ctrl_reg" = "0x81"
+ register "ec_fan_ctrl_value" = "0x6b"
+ device pnp ff.1 off end
+ end
+ end
+ device pci 1f.2 on end # SATA Controller (AHCI)
+ device pci 1f.3 on end # SMBus
+ device pci 1f.6 off end # Thermal
+ end
+ end
+end
diff --git a/src/mainboard/hp/folio_9480m_bdw/dsdt.asl b/src/mainboard/hp/folio_9480m_bdw/dsdt.asl
new file mode 100644
index 0000000..895d639
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/dsdt.asl
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+
+#include <acpi/acpi.h>
+
+DefinitionBlock(
+ "dsdt.aml",
+ "DSDT",
+ ACPI_DSDT_REV_2,
+ OEM_ID,
+ ACPI_TABLE_CREATOR,
+ 0x20141018 /* OEM revision */
+)
+{
+ #include <soc/intel/broadwell/acpi/platform.asl>
+ #include <soc/intel/broadwell/pch/acpi/globalnvs.asl>
+ #include <cpu/intel/common/acpi/cpu.asl>
+ #include <southbridge/intel/common/acpi/sleepstates.asl>
+
+ Device (\_SB.PCI0)
+ {
+ #include <soc/intel/broadwell/acpi/systemagent.asl>
+ #include <soc/intel/broadwell/pch/acpi/pch.asl>
+ }
+
+ /* FIXME: We cannot override the default _WAK and _PTS in soc/broadwell */
+ /* #include "acpi/platform.asl" */
+}
diff --git a/src/mainboard/hp/folio_9480m_bdw/gma-mainboard.ads b/src/mainboard/hp/folio_9480m_bdw/gma-mainboard.ads
new file mode 100644
index 0000000..85e9ded
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/gma-mainboard.ads
@@ -0,0 +1,18 @@
+-- SPDX-License-Identifier: GPL-2.0-or-later
+
+with HW.GFX.GMA;
+with HW.GFX.GMA.Display_Probing;
+
+use HW.GFX.GMA;
+use HW.GFX.GMA.Display_Probing;
+
+private package GMA.Mainboard is
+
+ ports : constant Port_List :=
+ (DP1, -- DP1/HDMI1: DisplayPorts on board and dock
+ HDMI1,
+ DP2, -- DP2: VGA ports on board and dock
+ eDP,
+ others => Disabled);
+
+end GMA.Mainboard;
diff --git a/src/mainboard/hp/folio_9480m_bdw/gpio.c b/src/mainboard/hp/folio_9480m_bdw/gpio.c
new file mode 100644
index 0000000..d08713c
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/gpio.c
@@ -0,0 +1,108 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <soc/gpio.h>
+
+const struct gpio_config mainboard_gpio_config[] = {
+ [0] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [1] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [2] = PCH_GPIO_OUT_LOW,
+ [3] = PCH_GPIO_OUT_HIGH,
+ [4] = PCH_GPIO_OUT_HIGH,
+ [5] = PCH_GPIO_OUT_HIGH,
+ [6] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [7] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [8] = PCH_GPIO_OUT_HIGH,
+ [9] = PCH_GPIO_OUT_HIGH,
+ [10] = PCH_GPIO_OUT_HIGH,
+ [11] = PCH_GPIO_OUT_HIGH,
+ [12] = PCH_GPIO_NATIVE,
+ [13] = PCH_GPIO_OUT_HIGH,
+ [14] = PCH_GPIO_OUT_HIGH,
+ [15] = PCH_GPIO_OUT_HIGH,
+ [16] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL,
+ .route = GPIO_ROUTE_SMI },
+ [17] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [18] = PCH_GPIO_OUT_HIGH,
+ [19] = PCH_GPIO_NATIVE,
+ [20] = PCH_GPIO_NATIVE,
+ [21] = PCH_GPIO_NATIVE,
+ [22] = PCH_GPIO_OUT_HIGH,
+ [23] = PCH_GPIO_OUT_HIGH,
+ [24] = PCH_GPIO_OUT_HIGH,
+ [25] = PCH_GPIO_OUT_HIGH,
+ [26] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [27] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [28] = PCH_GPIO_OUT_HIGH,
+ [29] = PCH_GPIO_OUT_HIGH,
+ [30] = PCH_GPIO_NATIVE,
+ [31] = PCH_GPIO_NATIVE,
+ [32] = PCH_GPIO_NATIVE,
+ [33] = PCH_GPIO_NATIVE,
+ [34] = PCH_GPIO_OUT_HIGH,
+ [35] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [36] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL,
+ .route = GPIO_ROUTE_SMI },
+ [37] = PCH_GPIO_NATIVE,
+ [38] = PCH_GPIO_NATIVE,
+ [39] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL,
+ .route = GPIO_ROUTE_SMI },
+ [40] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL,
+ .route = GPIO_ROUTE_SMI },
+ [41] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [42] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [43] = PCH_GPIO_OUT_HIGH,
+ [44] = PCH_GPIO_OUT_LOW,
+ [45] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_INVERT | GPIO_IRQ_LEVEL },
+ [46] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [47] = PCH_GPIO_OUT_HIGH,
+ [48] = PCH_GPIO_OUT_LOW,
+ [49] = PCH_GPIO_OUT_HIGH,
+ [50] = PCH_GPIO_OUT_HIGH,
+ [51] = PCH_GPIO_OUT_HIGH,
+ [52] = PCH_GPIO_OUT_HIGH,
+ [53] = PCH_GPIO_OUT_HIGH,
+ [54] = PCH_GPIO_OUT_LOW,
+ [55] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL,
+ .pirq = GPIO_PIRQ_APIC_ROUTE },
+ [56] = PCH_GPIO_OUT_HIGH,
+ [57] = PCH_GPIO_OUT_LOW,
+ [58] = PCH_GPIO_OUT_HIGH,
+ [59] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [60] = PCH_GPIO_OUT_HIGH,
+ [61] = PCH_GPIO_OUT_LOW,
+ [62] = PCH_GPIO_NATIVE,
+ [63] = PCH_GPIO_NATIVE,
+ [64] = PCH_GPIO_OUT_HIGH,
+ [65] = PCH_GPIO_OUT_LOW,
+ [66] = PCH_GPIO_OUT_HIGH,
+ [67] = PCH_GPIO_OUT_HIGH,
+ [68] = PCH_GPIO_OUT_HIGH,
+ [69] = PCH_GPIO_OUT_HIGH,
+ [70] = PCH_GPIO_OUT_LOW,
+ [71] = PCH_GPIO_NATIVE,
+ [72] = PCH_GPIO_NATIVE,
+ [73] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [74] = PCH_GPIO_NATIVE,
+ [75] = PCH_GPIO_NATIVE,
+ [76] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [77] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [78] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL,
+ .route = GPIO_ROUTE_SMI },
+ [79] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [80] = PCH_GPIO_OUT_LOW,
+ [81] = PCH_GPIO_NATIVE,
+ [82] = PCH_GPIO_OUT_HIGH,
+ [83] = PCH_GPIO_OUT_HIGH,
+ [84] = PCH_GPIO_OUT_HIGH,
+ [85] = PCH_GPIO_OUT_HIGH,
+ [86] = PCH_GPIO_OUT_HIGH,
+ [87] = PCH_GPIO_OUT_HIGH,
+ [88] = PCH_GPIO_OUT_HIGH,
+ [89] = PCH_GPIO_OUT_HIGH,
+ [90] = PCH_GPIO_OUT_HIGH,
+ [91] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [92] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [93] = { .conf0 = GPIO_MODE_GPIO | GPIO_DIR_INPUT | GPIO_IRQ_LEVEL },
+ [94] = PCH_GPIO_OUT_HIGH,
+ PCH_GPIO_END
+};
diff --git a/src/mainboard/hp/folio_9480m_bdw/hda_verb.c b/src/mainboard/hp/folio_9480m_bdw/hda_verb.c
new file mode 100644
index 0000000..9ee6de0
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/hda_verb.c
@@ -0,0 +1,72 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
+ 0x10ec0280, /* Codec Vendor / Device ID: Realtek */
+ 0x103c22db, /* Subsystem ID */
+ 57, /* Number of 4 dword sets */
+ AZALIA_SUBVENDOR(0, 0x103c22db),
+ AZALIA_RESET(1),
+ AZALIA_PIN_CFG(0, 0x12, 0x90a60130),
+ AZALIA_PIN_CFG(0, 0x13, 0x40000000),
+ AZALIA_PIN_CFG(0, 0x14, 0x90170110),
+ AZALIA_PIN_CFG(0, 0x15, 0x0321101f),
+ AZALIA_PIN_CFG(0, 0x16, 0x411111f0),
+ AZALIA_PIN_CFG(0, 0x17, 0x411111f0),
+ AZALIA_PIN_CFG(0, 0x18, 0x411111f0),
+ AZALIA_PIN_CFG(0, 0x19, 0x411111f0),
+ AZALIA_PIN_CFG(0, 0x1a, 0x03a11020),
+ AZALIA_PIN_CFG(0, 0x1b, 0x411111f0),
+ AZALIA_PIN_CFG(0, 0x1d, 0x40738105),
+ AZALIA_PIN_CFG(0, 0x1e, 0x411111f0),
+
+ /* The following is from the OEM firmware */
+ 0x02050007, 0x0204c200, 0x02050063, 0x02044800,
+ 0x02050066, 0x02040809, 0x02050015, 0x02048842,
+ 0x0205000f, 0x0204cccc, 0x02050010, 0x0204ccdd,
+ 0x02050065, 0x02042000, 0x0205001c, 0x0204c900,
+ 0x02050018, 0x02043788, 0x02050008, 0x02048210,
+ 0x02050068, 0x02043022, 0x02050006, 0x02040800,
+ 0x02050061, 0x02040403, 0x02050061, 0x02040403,
+ 0x0205005f, 0x02040800, 0x02050060, 0x02040800,
+ 0x0205002c, 0x02044002, 0x0205002e, 0x02041ec4,
+ 0x0205002f, 0x02040000, 0x02050033, 0x0204c5e8,
+ 0x02050034, 0x02041a98, 0x02050035, 0x0204f5ad,
+ 0x02050036, 0x0204cbd2, 0x02050037, 0x02041605,
+ 0x02050038, 0x0204f5ad, 0x02050039, 0x0204ea5f,
+ 0x0205003a, 0x02040b42, 0x0205003b, 0x0204fb54,
+ 0x0205003c, 0x0204fcd9, 0x0205003d, 0x02040000,
+ 0x02050030, 0x02041f5c, 0x02050031, 0x02040111,
+ 0x02050032, 0x02041f5f, 0x0205003e, 0x02041ea9,
+ 0x0205002f, 0x02040000, 0x02050042, 0x0204c66e,
+ 0x02050043, 0x02041a29, 0x02050035, 0x0204f5ad,
+ 0x02050044, 0x0204ccdd, 0x02050045, 0x02041549,
+ 0x02050038, 0x0204f5ad, 0x02050046, 0x0204ee79,
+ 0x02050047, 0x020409f4, 0x0205003b, 0x0204fb54,
+ 0x02050048, 0x0204fa4c, 0x0205003d, 0x02040000,
+ 0x0205003f, 0x02041f4d, 0x02050040, 0x02040129,
+ 0x02050041, 0x02041f51, 0x02050049, 0x02041f61,
+ 0x0205002f, 0x02040000, 0x0205004d, 0x0204c2f4,
+ 0x0205004e, 0x02041d2e, 0x02050035, 0x0204f5ad,
+ 0x0205004f, 0x0204c5e8, 0x02050050, 0x02041a98,
+ 0x02050038, 0x0204f5ad, 0x02050051, 0x0204d30e,
+ 0x02050052, 0x020413e6, 0x0205003b, 0x0204fb54,
+ 0x02050053, 0x02040b73, 0x0205003d, 0x02040000,
+ 0x0205004a, 0x02041faf, 0x0205004b, 0x0204008a,
+ 0x0205004c, 0x02041fb0, 0x02050054, 0x02041fb0,
+ 0x0205002f, 0x02040000, 0x02050058, 0x0204c17a,
+ 0x02050059, 0x02041e8f, 0x02050035, 0x0204f5ad,
+ 0x0205005a, 0x0204c2f4, 0x0205005b, 0x02041d2e,
+ 0x02050038, 0x0204f5ad, 0x0205005c, 0x0204c899,
+ 0x0205005d, 0x0204195b, 0x0205003b, 0x0204fb54,
+ 0x0205005e, 0x02041444, 0x0205003d, 0x02040000,
+ 0x02050055, 0x02041fd8, 0x02050056, 0x02040045,
+ 0x02050057, 0x02041fd8, 0x0205002c, 0x0204ffc2,
+ 0x02050026, 0x02042828, 0x02050029, 0x02040250,
+ 0x02050004, 0x0204c09e, 0x0205000e, 0x02045001,
+};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/hp/folio_9480m_bdw/pei_data.c b/src/mainboard/hp/folio_9480m_bdw/pei_data.c
new file mode 100644
index 0000000..9d2659c
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/pei_data.c
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <soc/pei_data.h>
+#include <soc/pei_wrapper.h>
+
+void mainboard_fill_pei_data(struct pei_data *pei_data)
+{
+ pei_data->ec_present = 1;
+
+ pei_data->dimm_channel0_disabled = 2;
+ pei_data->dimm_channel1_disabled = 2;
+ pei_data->spd_addresses[0] = 0xa0;
+ pei_data->spd_addresses[2] = 0xa4;
+ pei_data->dq_pins_interleaved = 1;
+
+ pei_data_usb2_port(pei_data, 0, 0x0080, 1, USB_OC_PIN_SKIP,
+ USB_PORT_BACK_PANEL);
+ pei_data_usb2_port(pei_data, 1, 0x0040, 1, USB_OC_PIN_SKIP,
+ USB_PORT_BACK_PANEL);
+ pei_data_usb2_port(pei_data, 2, 0x0040, 1, USB_OC_PIN_SKIP,
+ USB_PORT_BACK_PANEL);
+ pei_data_usb2_port(pei_data, 3, 0x0080, 1, USB_OC_PIN_SKIP,
+ USB_PORT_MINI_PCIE);
+ pei_data_usb2_port(pei_data, 4, 0x0110, 1, USB_OC_PIN_SKIP,
+ USB_PORT_BACK_PANEL);
+ pei_data_usb2_port(pei_data, 5, 0x0080, 1, USB_OC_PIN_SKIP,
+ USB_PORT_MINI_PCIE);
+ pei_data_usb2_port(pei_data, 6, 0x0040, 1, USB_OC_PIN_SKIP,
+ USB_PORT_BACK_PANEL);
+ pei_data_usb2_port(pei_data, 7, 0x0040, 1, USB_OC_PIN_SKIP,
+ USB_PORT_BACK_PANEL);
+
+ pei_data_usb3_port(pei_data, 0, 1, USB_OC_PIN_SKIP, 0);
+ pei_data_usb3_port(pei_data, 1, 1, USB_OC_PIN_SKIP, 0);
+ pei_data_usb3_port(pei_data, 2, 1, USB_OC_PIN_SKIP, 0);
+ pei_data_usb3_port(pei_data, 3, 0, USB_OC_PIN_SKIP, 0);
+}
diff --git a/src/mainboard/hp/folio_9480m_bdw/romstage.c b/src/mainboard/hp/folio_9480m_bdw/romstage.c
new file mode 100644
index 0000000..8fc2f9e
--- /dev/null
+++ b/src/mainboard/hp/folio_9480m_bdw/romstage.c
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <soc/pei_data.h>
+#include <soc/pei_wrapper.h>
+#include <soc/romstage.h>
+
+void mainboard_pre_raminit(struct romstage_params *rp)
+{
+ /* Fill out PEI DATA */
+ mainboard_fill_pei_data(&rp->pei_data);
+}
+
+void mainboard_post_raminit(struct romstage_params *rp)
+{
+}
--
To view, visit https://review.coreboot.org/c/coreboot/+/47345
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0d74c59ff8e8f32f49627fb7edc270887ebd5339
Gerrit-Change-Number: 47345
Gerrit-PatchSet: 1
Gerrit-Owner: Iru Cai (vimacs) <mytbk920423(a)gmail.com>
Gerrit-Reviewer: Iru Cai <mytbk920423(a)gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-MessageType: newchange
2
2
Change in coreboot[master]: Zotac AD04: Review session / comments from 2020-11-10
by Name of user not set (Code Review) Aug. 7, 2023
by Name of user not set (Code Review) Aug. 7, 2023
Aug. 7, 2023
Name of user not set #1003174 has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/47723 )
Change subject: Zotac AD04: Review session / comments from 2020-11-10
......................................................................
Zotac AD04: Review session / comments from 2020-11-10
Signed-off-by: moscovium-115 <3134c487(a)tutanota.com>
Change-Id: I65b3438def4b98609e6dabf588677a7214252b7b
---
M src/mainboard/zotac/ad04/BiosCallOuts.c
M src/mainboard/zotac/ad04/Kconfig
M src/mainboard/zotac/ad04/mainboard.c
M src/mainboard/zotac/ad04/romstage.c
D src/mainboard/zotac/ad04/spd/HYNIX-H5TQ2G83CFR.spd.hex
D src/mainboard/zotac/ad04/spd/HYNIX-H5TQ4G83MFR.spd.hex
6 files changed, 23 insertions(+), 602 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/23/47723/1
diff --git a/src/mainboard/zotac/ad04/BiosCallOuts.c b/src/mainboard/zotac/ad04/BiosCallOuts.c
index 4944a85..8c62094 100644
--- a/src/mainboard/zotac/ad04/BiosCallOuts.c
+++ b/src/mainboard/zotac/ad04/BiosCallOuts.c
@@ -9,12 +9,11 @@
#include "gpio_ftns.h"
static AGESA_STATUS board_BeforeDramInit (UINT32 Func, UINTN Data, VOID *ConfigPtr);
-static AGESA_STATUS board_ReadSpd_from_cbfs(UINT32 Func, UINTN Data, VOID *ConfigPtr);
const BIOS_CALLOUT_STRUCT BiosCallouts[] =
{
{AGESA_DO_RESET, agesa_Reset },
- {AGESA_READ_SPD, board_ReadSpd_from_cbfs },
+ {AGESA_READ_SPD, agesa_ReadSpd },
{AGESA_READ_SPD_RECOVERY, agesa_NoopUnsupported },
{AGESA_RUNFUNC_ONAP, agesa_RunFuncOnAp },
{AGESA_GNB_PCIE_SLOT_RESET, agesa_NoopSuccess },
@@ -26,33 +25,10 @@
const int BiosCalloutsLen = ARRAY_SIZE(BiosCallouts);
/* Call the host environment interface to provide a user hook opportunity. */
-static AGESA_STATUS board_BeforeDramInit (UINT32 Func, UINTN Data, VOID *ConfigPtr)
+static AGESA_STATUS board_BeforeDramInit(UINT32 Func, UINTN Data, VOID *ConfigPtr)
{
// Unlike e.g. AMD Inagua, Persimmon is unable to vary the RAM voltage.
// Make sure the right speed settings are selected.
((MEM_DATA_STRUCT*)ConfigPtr)->ParameterListPtr->DDR3Voltage = VOLT1_5;
return AGESA_SUCCESS;
}
-
-static AGESA_STATUS board_ReadSpd_from_cbfs(UINT32 Func, UINTN Data, VOID *ConfigPtr)
-{
- AGESA_READ_SPD_PARAMS *info = ConfigPtr;
-
- if (!ENV_ROMSTAGE)
- return AGESA_UNSUPPORTED;
-
- u8 index = get_spd_offset();
-
- if (info->MemChannelId > 0)
- return AGESA_UNSUPPORTED;
- if (info->SocketId != 0)
- return AGESA_UNSUPPORTED;
- if (info->DimmId != 0)
- return AGESA_UNSUPPORTED;
-
- /* Read index 0, first SPD_SIZE bytes of spd.bin file. */
- if (read_ddr3_spd_from_cbfs((u8*)info->Buffer, index) < 0)
- die("No SPD data\n");
-
- return AGESA_SUCCESS;
-}
diff --git a/src/mainboard/zotac/ad04/Kconfig b/src/mainboard/zotac/ad04/Kconfig
index 4dbf869..4f0f5a3 100644
--- a/src/mainboard/zotac/ad04/Kconfig
+++ b/src/mainboard/zotac/ad04/Kconfig
@@ -17,7 +17,6 @@
select BOARD_ROMSIZE_KB_2048
select HAVE_SPD_IN_CBFS
select SEABIOS_ADD_SERCON_PORT_FILE if PAYLOAD_SEABIOS
- select MAINBOARD_HAS_LPC_TPM
config MAINBOARD_DIR
string
@@ -25,7 +24,7 @@
config MAINBOARD_PART_NUMBER
string
- default "apu1"
+ default "ad04"
config HW_MEM_HOLE_SIZEK
hex
@@ -60,42 +59,6 @@
bool
default n
-choice
- prompt "J19 pins 1-10"
- default APU1_PINMUX_OFF_C
-
-config APU1_PINMUX_OFF_C
- bool "disable"
-
-config APU1_PINMUX_GPIO0
- bool "GPIO"
-
-config APU1_PINMUX_UART_C
- bool "UART 0x3e8"
-
-endchoice
-
-config UART_C_RS485
- bool "UART C drives RTS# in RS485 mode" if APU1_PINMUX_UART_C
-
-choice
- prompt "J19 pins 11-20"
- default APU1_PINMUX_OFF_D
-
-config APU1_PINMUX_OFF_D
- bool "disable"
-
-config APU1_PINMUX_GPIO1
- bool "GPIO"
-
-config APU1_PINMUX_UART_D
- bool "UART 0x2e8"
-
-endchoice
-
-config UART_D_RS485
- bool "UART D drives RTS# in RS485 mode" if APU1_PINMUX_UART_D
-
config DIMM_SPD_SIZE
int
default 128
diff --git a/src/mainboard/zotac/ad04/mainboard.c b/src/mainboard/zotac/ad04/mainboard.c
index 2562765..11228af 100644
--- a/src/mainboard/zotac/ad04/mainboard.c
+++ b/src/mainboard/zotac/ad04/mainboard.c
@@ -121,53 +121,6 @@
*/
#define SIO_PORT 0x2e
-/*
-static void config_gpio_mux(void)
-{
- struct device *uart, *gpio;
-
- uart = dev_find_slot_pnp(SIO_PORT, NCT5104D_SP3);
- gpio = dev_find_slot_pnp(SIO_PORT, NCT5104D_GPIO0);
- if (uart)
- uart->enabled = CONFIG(APU1_PINMUX_UART_C);
- if (gpio)
- gpio->enabled = CONFIG(APU1_PINMUX_GPIO0);
-
- uart = dev_find_slot_pnp(SIO_PORT, NCT5104D_SP4);
- gpio = dev_find_slot_pnp(SIO_PORT, NCT5104D_GPIO1);
- if (uart)
- uart->enabled = CONFIG(APU1_PINMUX_UART_D);
- if (gpio)
- gpio->enabled = CONFIG(APU1_PINMUX_GPIO1);
-}
-*/
-
-/*
-static void pnp_raw_resource(struct device *dev, u8 reg, u8 val)
-{
- struct resource *res;
- res = new_resource(dev, reg);
- res->base = val;
- res->size = 0;
- res->flags |= IORESOURCE_IRQ | IORESOURCE_ASSIGNED;
-}
-*/
-
-/*
-static void config_addon_uart(void)
-{
- struct device *uart;
-
- uart = dev_find_slot_pnp(SIO_PORT, NCT5104D_SP3);
- if (uart && uart->enabled && CONFIG(UART_C_RS485))
- pnp_raw_resource(uart, 0xf2, 0x12);
-
- uart = dev_find_slot_pnp(SIO_PORT, NCT5104D_SP4);
- if (uart && uart->enabled && CONFIG(UART_D_RS485))
- pnp_raw_resource(uart, 0xf2, 0x12);
-}
-*/
-
/**********************************************
* Enable the dedicated functions of the board.
**********************************************/
@@ -181,7 +134,7 @@
t = (struct smbios_type16 *)*current;
len = sizeof(struct smbios_type16);
memset(t, 0, len);
- max_capacity = get_spd_offset() ? 4 : 2; /* 4GB or 2GB variant */
+ max_capacity = 8; // From dmidecode.log
t->type = SMBIOS_PHYS_MEMORY_ARRAY;
t->handle = *handle;
@@ -376,9 +329,9 @@
* LED2/D6/GPIO_190 should be 1
* LED3/D5/GPIO_191 should be 1
*/
- configure_gpio(GPIO_189, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
- configure_gpio(GPIO_190, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
- configure_gpio(GPIO_191, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
+ /* configure_gpio(GPIO_189, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW); */
+ /* configure_gpio(GPIO_190, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH); */
+ /* configure_gpio(GPIO_191, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH); */
usb_oc_setup();
}
diff --git a/src/mainboard/zotac/ad04/romstage.c b/src/mainboard/zotac/ad04/romstage.c
index f594827..0c959a2 100644
--- a/src/mainboard/zotac/ad04/romstage.c
+++ b/src/mainboard/zotac/ad04/romstage.c
@@ -17,23 +17,23 @@
bdata |= 0x05; //set bits 0,2
pm_write8(SB_PMIOA_REG5B, bdata);
- /* Multi-function pins switch to GPIO0-35, these pins are shared with PCI pins */
- bdata = pm_read8(SB_PMIOA_REGEA);
- bdata &= 0xfe; //clear bit 0
- bdata |= 0x01; //set bit 0
- pm_write8(SB_PMIOA_REGEA, bdata);
+ /* /1* Multi-function pins switch to GPIO0-35, these pins are shared with PCI pins *1/ */
+ /* bdata = pm_read8(SB_PMIOA_REGEA); */
+ /* bdata &= 0xfe; //clear bit 0 */
+ /* bdata |= 0x01; //set bit 0 */
+ /* pm_write8(SB_PMIOA_REGEA, bdata); */
- //configure required GPIOs
- configure_gpio(GPIO_10, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
- configure_gpio(GPIO_11, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
- configure_gpio(GPIO_15, GPIO_FTN_1, GPIO_INPUT);
- configure_gpio(GPIO_16, GPIO_FTN_1, GPIO_INPUT);
- configure_gpio(GPIO_17, GPIO_FTN_1, GPIO_INPUT);
- configure_gpio(GPIO_18, GPIO_FTN_1, GPIO_INPUT);
- configure_gpio(GPIO_187, GPIO_FTN_1, GPIO_INPUT);
- configure_gpio(GPIO_189, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
- configure_gpio(GPIO_190, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
- configure_gpio(GPIO_191, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
+ /* //configure required GPIOs */
+ /* configure_gpio(GPIO_10, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH); */
+ /* configure_gpio(GPIO_11, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH); */
+ /* configure_gpio(GPIO_15, GPIO_FTN_1, GPIO_INPUT); */
+ /* configure_gpio(GPIO_16, GPIO_FTN_1, GPIO_INPUT); */
+ /* configure_gpio(GPIO_17, GPIO_FTN_1, GPIO_INPUT); */
+ /* configure_gpio(GPIO_18, GPIO_FTN_1, GPIO_INPUT); */
+ /* configure_gpio(GPIO_187, GPIO_FTN_1, GPIO_INPUT); */
+ /* configure_gpio(GPIO_189, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW); */
+ /* configure_gpio(GPIO_190, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW); */
+ /* configure_gpio(GPIO_191, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW); */
}
void board_BeforeAgesa(struct sysinfo *cb)
diff --git a/src/mainboard/zotac/ad04/spd/HYNIX-H5TQ2G83CFR.spd.hex b/src/mainboard/zotac/ad04/spd/HYNIX-H5TQ2G83CFR.spd.hex
deleted file mode 100644
index 72377c4..0000000
--- a/src/mainboard/zotac/ad04/spd/HYNIX-H5TQ2G83CFR.spd.hex
+++ /dev/null
@@ -1,234 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-# HYNIX-H5TQ2G83CFR
-
-# SPD contents for APU 2GB DDR3 (1333MHz PC1333) soldered down
-# 0 Number of SPD Bytes used / Total SPD Size / CRC Coverage
-# bits[3:0]: 1 = 128 SPD Bytes Used
-# bits[6:4]: 1 = 256 SPD Bytes Total
-# bit7 : 0 = CRC covers bytes 0 ~ 125
-11
-
-# 1 SPD Revision -
-# 0x10 = Revision 1.0
-10
-# 2 Key Byte / DRAM Device Type
-# bits[7:0]: 0x0b = DDR3 SDRAM
-0B
-
-# 3 Key Byte / Module Type
-# bits[3:0]: 3 = SO-DIMM
-# bits[7:4]: reserved
-03
-
-# 4 SDRAM CHIP Density and Banks
-# bits[3:0]: 3 = 2 Gigabits Total SDRAM capacity per chip
-# bits[6:4]: 0 = 3 (8 banks)
-# bit7 : reserved
-03
-
-# 5 SDRAM Addressing
-# bits[2:0]: 1 = 10 Column Address Bits
-# bits[5:3]: 3 = 15 Row Address Bits
-# bits[7:6]: reserved
-19
-
-# 6 Module Nominal Voltage, VDD
-# bit0 : 0 = 1.5 V operable
-# bit1 : 0 = NOT 1.35 V operable
-# bit2 : 0 = NOT 1.25 V operable
-# bits[7:3]: reserved
-00
-
-# 7 Module Organization
-# bits[2:0]: 1 = 8 bits
-# bits[5:3]: 0 = 1 Rank
-# bits[7:6]: reserved
-01
-
-# 8 Module Memory Bus Width
-# bits[2:0]: 3 = Primary bus width is 64 bits
-# bits[4:3]: 0 = 0 bits (no bus width extension)
-# bits[7:5]: reserved
-03
-
-# 9 Fine Timebase (FTB) Dividend / Divisor
-# bits[3:0]: 0x01 divisor
-# bits[7:4]: 0x01 dividend
-# 1 / 1 = 1.0 ps
-11
-
-# 10 Medium Timebase (MTB) Dividend
-# 11 Medium Timebase (MTB) Divisor
-# 1 / 8 = .125 ns
-01 08
-
-# 12 SDRAM Minimum Cycle Time (tCKmin)
-# 0x0c = tCKmin of 1.5 ns = in multiples of MTB
-0C
-
-# 13 Reserved
-00
-
-# 14 CAS Latencies Supported, Least Significant Byte
-# 15 CAS Latencies Supported, Most Significant Byte
-# Cas Latencies of 11 - 5 are supported
-7E 00
-
-# 16 Minimum CAS Latency Time (tAAmin)
-# 0x6C = 13.5ns - DDR3-1333
-6C
-
-# 17 Minimum Write Recovery Time (tWRmin)
-# 0x78 = tWR of 15ns - All DDR3 speed grades
-78
-
-# 18 Minimum RAS# to CAS# Delay Time (tRCDmin)
-# 0x6E = 13.5ns - DDR3-1333
-6C
-
-# 19 Minimum Row Active to Row Active Delay Time (tRRDmin)
-# 0x30 = 6ns
-30
-
-# 20 Minimum Row Precharge Delay Time (tRPmin)
-# 0x6C = 13.5ns - DDR3-1333
-6C
-
-# 21 Upper Nibbles for tRAS and tRC
-# bits[3:0]: tRAS most significant nibble = 1 (see byte 22)
-# bits[7:4]: tRC most significant nibble = 1 (see byte 23)
-11
-
-# 22 Minimum Active to Precharge Delay Time (tRASmin), LSB
-# 0x120 = 36ns - DDR3-1333 (see byte 21)
-20
-
-# 23 Minimum Active to Active/Refresh Delay Time (tRCmin), LSB
-# 0x28C = 49.5ns - DDR3-1333
-8C
-
-# 24 Minimum Refresh Recovery Delay Time (tRFCmin), LSB
-# 25 Minimum Refresh Recovery Delay Time (tRFCmin), MSB
-# 0x500 = 160ns - for 2 Gigabit chips
-00 05
-
-# 26 Minimum Internal Write to Read Command Delay Time (tWTRmin)
-# 0x3c = 7.5 ns - All DDR3 SDRAM speed bins
-3C
-
-# 27 Minimum Internal Read to Precharge Command Delay Time (tRTPmin)
-# 0x3c = 7.5ns - All DDR3 SDRAM speed bins
-3C
-
-# 28 Upper Nibble for tFAWmin
-# 29 Minimum Four Activate Window Delay Time (tFAWmin)
-# 0x00F0 = 30ns - DDR3-1333, 1 KB page size
-00 F0
-
-# 30 SDRAM Optional Feature
-# bit0 : 1= RZQ/6 supported
-# bit1 : 1 = RZQ/7 supported
-# bits[6:2]: reserved
-# bit7 : 1 = DLL Off mode supported
-83
-
-# 31 SDRAM Thermal and Refresh Options
-# bit0 : 1 = Temp up to 95c supported
-# bit1 : 0 = 85-95c uses 2x refresh rate
-# bit2 : 1 = Auto Self Refresh supported
-# bit3 : 0 = no on die thermal sensor
-# bits[6:4]: reserved
-# bit7 : 0 = partial self refresh supported
-05
-
-# 32 Module Thermal Sensor
-# 0 = Thermal sensor not incorporated onto this assembly
-00
-
-# 33 SDRAM Device Type
-# bits[1:0]: 2 = Signal Loading
-# bits[3:2]: reserved
-# bits[6:4]: 4 = Die count
-# bit7 : 0 = Standard Monolithic DRAM Device
-42
-
-# 34 Fine Offset for SDRAM Minimum Cycle Time (tCKmin)
-# 35 Fine Offset for Minimum CAS Latency Time (tAAmin)
-# 36 Fine Offset for Minimum RAS# to CAS# Delay Time (tRCDmin)
-# 37 Fine Offset for Minimum Row Precharge Delay Time (tRPmin)
-# 38 Fine Offset for Minimum Active to Active/Refresh Delay (tRCmin)
-00 00 00 00 00
-
-# 39 (reserved)
-00
-
-# 40 - 47 (reserved)
-00 00 00 00 00 00 00 00
-
-# 48 - 55 (reserved)
-00 00 00 00 00 00 00 00
-
-# 56 - 59 (reserved)
-00 00 00 00
-
-# 60 Raw Card Extension, Module Nominal Height
-# bits[4:0]: 0 = <= 15mm tall
-# bits[7:5]: 0 = raw card revision 0-3
-00
-
-# 61 Module Maximum Thickness
-# bits[3:0]: 0 = thickness front <= 1mm
-# bits[7:4]: 0 = thinkness back <= 1mm
-00
-
-# 62 Reference Raw Card Used
-# bits[4:0]: 0 = Reference Raw card A used
-# bits[6:5]: 0 = revision 0
-# bit7 : 0 = Reference raw cards A through AL
-00
-
-# 63 Address Mapping from Edge Connector to DRAM
-# bit0 : 0 = standard mapping (not mirrored)
-# bits[7:1]: reserved
-00
-
-# 64 - 71 (reserved)
-00 00 00 00 00 00 00 00
-
-# 72 - 79 (reserved)
-00 00 00 00 00 00 00 00
-
-# 80 - 87 (reserved)
-00 00 00 00 00 00 00 00
-
-# 88 - 95 (reserved)
-00 00 00 00 00 00 00 00
-
-# 96 - 103 (reserved)
-00 00 00 00 00 00 00 00
-
-# 104 - 111 (reserved)
-00 00 00 00 00 00 00 00
-
-# 112 - 116 (reserved)
-00 00 00 00 00
-
-# 117 - 118 Module ID: Module Manufacturers JEDEC ID Code
-# 0x0001 = AMD
-00 01
-
-# 119 Module ID: Module Manufacturing Location - oem specified
-00
-
-# 120 Module ID: Module Manufacture Year in BCD
-# 0x13 = 2013
-# 121 Module ID: Module Manufacture week
-# 0x12 = 12th week
-13 12
-
-# 122 - 125: Module Serial Number
-00 00 00 00
-
-# 126 - 127: Cyclical Redundancy Code
-c4 1b
diff --git a/src/mainboard/zotac/ad04/spd/HYNIX-H5TQ4G83MFR.spd.hex b/src/mainboard/zotac/ad04/spd/HYNIX-H5TQ4G83MFR.spd.hex
deleted file mode 100644
index b6d24b4..0000000
--- a/src/mainboard/zotac/ad04/spd/HYNIX-H5TQ4G83MFR.spd.hex
+++ /dev/null
@@ -1,237 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-# HYNIX-H5TQ4G83MFR
-
-# SPD contents for APU 2GB DDR3 (1333MHz PC1333) soldered down
-# 0 Number of SPD Bytes used / Total SPD Size / CRC Coverage
-# bits[3:0]: 1 = 128 SPD Bytes Used
-# bits[6:4]: 1 = 256 SPD Bytes Total
-# bit7 : 0 = CRC covers bytes 0 ~ 125
-11
-
-# 1 SPD Revision -
-# 0x10 = Revision 1.0
-10
-# 2 Key Byte / DRAM Device Type
-# bits[7:0]: 0x0b = DDR3 SDRAM
-0B
-
-# 3 Key Byte / Module Type
-# bits[3:0]: 3 = SO-DIMM
-# bits[7:4]: reserved
-03
-
-# 4 SDRAM CHIP Density and Banks
-# bits[3:0]: 3 = 2 Gigabits Total SDRAM capacity per chip
-# bits[3:0]: 4 = 4 Gigabits Total SDRAM capacity per chip
-# bits[6:4]: 0 = 3 (8 banks)
-# bit7 : reserved
-04
-
-# 5 SDRAM Addressing
-# bits[2:0]: 1 = 10 Column Address Bits
-# bits[5:3]: 3 = 15 Row Address Bits
-# bits[5:3]: 4 = 16 Row Address Bits
-# bits[7:6]: reserved
-21
-
-# 6 Module Nominal Voltage, VDD
-# bit0 : 0 = 1.5 V operable
-# bit1 : 0 = NOT 1.35 V operable
-# bit2 : 0 = NOT 1.25 V operable
-# bits[7:3]: reserved
-00
-
-# 7 Module Organization
-# bits[2:0]: 1 = 8 bits
-# bits[5:3]: 0 = 1 Rank
-# bits[7:6]: reserved
-01
-
-# 8 Module Memory Bus Width
-# bits[2:0]: 3 = Primary bus width is 64 bits
-# bits[4:3]: 0 = 0 bits (no bus width extension)
-# bits[7:5]: reserved
-03
-
-# 9 Fine Timebase (FTB) Dividend / Divisor
-# bits[3:0]: 0x01 divisor
-# bits[7:4]: 0x01 dividend
-# 1 / 1 = 1.0 ps
-11
-
-# 10 Medium Timebase (MTB) Dividend
-# 11 Medium Timebase (MTB) Divisor
-# 1 / 8 = .125 ns
-01 08
-
-# 12 SDRAM Minimum Cycle Time (tCKmin)
-# 0x0c = tCKmin of 1.5 ns = in multiples of MTB
-0C
-
-# 13 Reserved
-00
-
-# 14 CAS Latencies Supported, Least Significant Byte
-# 15 CAS Latencies Supported, Most Significant Byte
-# Cas Latencies of 11 - 5 are supported
-7E 00
-
-# 16 Minimum CAS Latency Time (tAAmin)
-# 0x6C = 13.5ns - DDR3-1333
-6C
-
-# 17 Minimum Write Recovery Time (tWRmin)
-# 0x78 = tWR of 15ns - All DDR3 speed grades
-78
-
-# 18 Minimum RAS# to CAS# Delay Time (tRCDmin)
-# 0x6E = 13.5ns - DDR3-1333
-6C
-
-# 19 Minimum Row Active to Row Active Delay Time (tRRDmin)
-# 0x30 = 6ns
-30
-
-# 20 Minimum Row Precharge Delay Time (tRPmin)
-# 0x6C = 13.5ns - DDR3-1333
-6C
-
-# 21 Upper Nibbles for tRAS and tRC
-# bits[3:0]: tRAS most significant nibble = 1 (see byte 22)
-# bits[7:4]: tRC most significant nibble = 1 (see byte 23)
-11
-
-# 22 Minimum Active to Precharge Delay Time (tRASmin), LSB
-# 0x120 = 36ns - DDR3-1333 (see byte 21)
-20
-
-# 23 Minimum Active to Active/Refresh Delay Time (tRCmin), LSB
-# 0x28C = 49.5ns - DDR3-1333
-8C
-
-# 24 Minimum Refresh Recovery Delay Time (tRFCmin), LSB
-# 25 Minimum Refresh Recovery Delay Time (tRFCmin), MSB
-# 0x500 = 160ns - for 2 Gigabit chips
-# 0x820 = 260ns - for 4 Gigabit chips
-20 08
-
-# 26 Minimum Internal Write to Read Command Delay Time (tWTRmin)
-# 0x3c = 7.5 ns - All DDR3 SDRAM speed bins
-3C
-
-# 27 Minimum Internal Read to Precharge Command Delay Time (tRTPmin)
-# 0x3c = 7.5ns - All DDR3 SDRAM speed bins
-3C
-
-# 28 Upper Nibble for tFAWmin
-# 29 Minimum Four Activate Window Delay Time (tFAWmin)
-# 0x00F0 = 30ns - DDR3-1333, 1 KB page size
-00 F0
-
-# 30 SDRAM Optional Feature
-# bit0 : 1= RZQ/6 supported
-# bit1 : 1 = RZQ/7 supported
-# bits[6:2]: reserved
-# bit7 : 1 = DLL Off mode supported
-83
-
-# 31 SDRAM Thermal and Refresh Options
-# bit0 : 1 = Temp up to 95c supported
-# bit1 : 0 = 85-95c uses 2x refresh rate
-# bit2 : 1 = Auto Self Refresh supported
-# bit3 : 0 = no on die thermal sensor
-# bits[6:4]: reserved
-# bit7 : 0 = partial self refresh supported
-05
-
-# 32 Module Thermal Sensor
-# 0 = Thermal sensor not incorporated onto this assembly
-00
-
-# 33 SDRAM Device Type
-# bits[1:0]: 2 = Signal Loading
-# bits[3:2]: reserved
-# bits[6:4]: 4 = Die count
-# bit7 : 0 = Standard Monolithic DRAM Device
-42
-
-# 34 Fine Offset for SDRAM Minimum Cycle Time (tCKmin)
-# 35 Fine Offset for Minimum CAS Latency Time (tAAmin)
-# 36 Fine Offset for Minimum RAS# to CAS# Delay Time (tRCDmin)
-# 37 Fine Offset for Minimum Row Precharge Delay Time (tRPmin)
-# 38 Fine Offset for Minimum Active to Active/Refresh Delay (tRCmin)
-00 00 00 00 00
-
-# 39 (reserved)
-00
-
-# 40 - 47 (reserved)
-00 00 00 00 00 00 00 00
-
-# 48 - 55 (reserved)
-00 00 00 00 00 00 00 00
-
-# 56 - 59 (reserved)
-00 00 00 00
-
-# 60 Raw Card Extension, Module Nominal Height
-# bits[4:0]: 0 = <= 15mm tall
-# bits[7:5]: 0 = raw card revision 0-3
-00
-
-# 61 Module Maximum Thickness
-# bits[3:0]: 0 = thickness front <= 1mm
-# bits[7:4]: 0 = thinkness back <= 1mm
-00
-
-# 62 Reference Raw Card Used
-# bits[4:0]: 0 = Reference Raw card A used
-# bits[6:5]: 0 = revision 0
-# bit7 : 0 = Reference raw cards A through AL
-00
-
-# 63 Address Mapping from Edge Connector to DRAM
-# bit0 : 0 = standard mapping (not mirrored)
-# bits[7:1]: reserved
-00
-
-# 64 - 71 (reserved)
-00 00 00 00 00 00 00 00
-
-# 72 - 79 (reserved)
-00 00 00 00 00 00 00 00
-
-# 80 - 87 (reserved)
-00 00 00 00 00 00 00 00
-
-# 88 - 95 (reserved)
-00 00 00 00 00 00 00 00
-
-# 96 - 103 (reserved)
-00 00 00 00 00 00 00 00
-
-# 104 - 111 (reserved)
-00 00 00 00 00 00 00 00
-
-# 112 - 116 (reserved)
-00 00 00 00 00
-
-# 117 - 118 Module ID: Module Manufacturers JEDEC ID Code
-# 0x0001 = AMD
-00 01
-
-# 119 Module ID: Module Manufacturing Location - oem specified
-00
-
-# 120 Module ID: Module Manufacture Year in BCD
-# 0x13 = 2013
-# 121 Module ID: Module Manufacture week
-# 0x12 = 12th week
-13 12
-
-# 122 - 125: Module Serial Number
-00 00 00 00
-
-# 126 - 127: Cyclical Redundancy Code
-7b 97
--
To view, visit https://review.coreboot.org/c/coreboot/+/47723
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I65b3438def4b98609e6dabf588677a7214252b7b
Gerrit-Change-Number: 47723
Gerrit-PatchSet: 1
Gerrit-Owner: Name of user not set #1003174
Gerrit-MessageType: newchange
4
5
Change in coreboot[master]: mb/kontron/mal10: Сlassify carrierboard by manufacturer
by Maxim Polyakov (Code Review) Aug. 7, 2023
by Maxim Polyakov (Code Review) Aug. 7, 2023
Aug. 7, 2023
Maxim Polyakov has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/47887 )
Change subject: mb/kontron/mal10: Сlassify carrierboard by manufacturer
......................................................................
mb/kontron/mal10: Сlassify carrierboard by manufacturer
Add a subdirectory of carrier board manufacturers to classify according
to manufacturer.
Change-Id: I88a8b876eb5411dc6cb30901c9208737d07d6f29
Signed-off-by: Maxim Polyakov <max.senia.poliak(a)gmail.com>
---
M src/mainboard/kontron/mal10/Kconfig
R src/mainboard/kontron/mal10/carriers/kontron/t10-tni/Makefile.inc
R src/mainboard/kontron/mal10/carriers/kontron/t10-tni/board_info.txt
R src/mainboard/kontron/mal10/carriers/kontron/t10-tni/gpio.c
R src/mainboard/kontron/mal10/carriers/kontron/t10-tni/include/carrier/gpio.h
R src/mainboard/kontron/mal10/carriers/kontron/t10-tni/overridetree.cb
6 files changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/47887/1
diff --git a/src/mainboard/kontron/mal10/Kconfig b/src/mainboard/kontron/mal10/Kconfig
index 1705b91..1ce904f 100644
--- a/src/mainboard/kontron/mal10/Kconfig
+++ b/src/mainboard/kontron/mal10/Kconfig
@@ -41,7 +41,7 @@
config CARRIER_DIR
string
- default "t10-tni" if BOARD_KONTRON_T10_TNI
+ default "kontron/t10-tni" if BOARD_KONTRON_T10_TNI
config MAINBOARD_PART_NUMBER
string
diff --git a/src/mainboard/kontron/mal10/carriers/t10-tni/Makefile.inc b/src/mainboard/kontron/mal10/carriers/kontron/t10-tni/Makefile.inc
similarity index 100%
rename from src/mainboard/kontron/mal10/carriers/t10-tni/Makefile.inc
rename to src/mainboard/kontron/mal10/carriers/kontron/t10-tni/Makefile.inc
diff --git a/src/mainboard/kontron/mal10/carriers/t10-tni/board_info.txt b/src/mainboard/kontron/mal10/carriers/kontron/t10-tni/board_info.txt
similarity index 100%
rename from src/mainboard/kontron/mal10/carriers/t10-tni/board_info.txt
rename to src/mainboard/kontron/mal10/carriers/kontron/t10-tni/board_info.txt
diff --git a/src/mainboard/kontron/mal10/carriers/t10-tni/gpio.c b/src/mainboard/kontron/mal10/carriers/kontron/t10-tni/gpio.c
similarity index 100%
rename from src/mainboard/kontron/mal10/carriers/t10-tni/gpio.c
rename to src/mainboard/kontron/mal10/carriers/kontron/t10-tni/gpio.c
diff --git a/src/mainboard/kontron/mal10/carriers/t10-tni/include/carrier/gpio.h b/src/mainboard/kontron/mal10/carriers/kontron/t10-tni/include/carrier/gpio.h
similarity index 100%
rename from src/mainboard/kontron/mal10/carriers/t10-tni/include/carrier/gpio.h
rename to src/mainboard/kontron/mal10/carriers/kontron/t10-tni/include/carrier/gpio.h
diff --git a/src/mainboard/kontron/mal10/carriers/t10-tni/overridetree.cb b/src/mainboard/kontron/mal10/carriers/kontron/t10-tni/overridetree.cb
similarity index 100%
rename from src/mainboard/kontron/mal10/carriers/t10-tni/overridetree.cb
rename to src/mainboard/kontron/mal10/carriers/kontron/t10-tni/overridetree.cb
--
To view, visit https://review.coreboot.org/c/coreboot/+/47887
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I88a8b876eb5411dc6cb30901c9208737d07d6f29
Gerrit-Change-Number: 47887
Gerrit-PatchSet: 1
Gerrit-Owner: Maxim Polyakov <max.senia.poliak(a)gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-MessageType: newchange
3
2
Aug. 7, 2023
Name of user not set #1002723 has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/39172 )
Change subject: screen fix
......................................................................
screen fix
Change-Id: Ie68e77af77ccec83c29d3329ee9997b950b351f6
---
A grub.cfg
A src/mainboard/dell/Kconfig
A src/mainboard/dell/Kconfig.name
A src/mainboard/dell/dell_system_vostro_3360/Kconfig
A src/mainboard/dell/dell_system_vostro_3360/Kconfig.name
A src/mainboard/dell/dell_system_vostro_3360/Makefile.inc
A src/mainboard/dell/dell_system_vostro_3360/acpi/ec.asl
A src/mainboard/dell/dell_system_vostro_3360/acpi/platform.asl
A src/mainboard/dell/dell_system_vostro_3360/acpi/superio.asl
A src/mainboard/dell/dell_system_vostro_3360/acpi_tables.c
A src/mainboard/dell/dell_system_vostro_3360/board_info.txt
A src/mainboard/dell/dell_system_vostro_3360/devicetree.cb
A src/mainboard/dell/dell_system_vostro_3360/dsdt.asl
A src/mainboard/dell/dell_system_vostro_3360/early_init.c
A src/mainboard/dell/dell_system_vostro_3360/gma-mainboard.ads
A src/mainboard/dell/dell_system_vostro_3360/gpio.c
A src/mainboard/dell/dell_system_vostro_3360/hda_verb.c
A src/mainboard/dell/dell_system_vostro_3360/mainboard.c
M util/superiotool/ite.c
A util/superiotool/output
20 files changed, 1,275 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/72/39172/1
diff --git a/grub.cfg b/grub.cfg
new file mode 100644
index 0000000..0e941ec
--- /dev/null
+++ b/grub.cfg
@@ -0,0 +1 @@
+configfile (ahci0,3)/boot/grub/grub.cfg
diff --git a/src/mainboard/dell/Kconfig b/src/mainboard/dell/Kconfig
new file mode 100755
index 0000000..298c62b
--- /dev/null
+++ b/src/mainboard/dell/Kconfig
@@ -0,0 +1,16 @@
+if VENDOR_DELL
+
+choice
+ prompt "Mainboard model"
+
+source "src/mainboard/dell/*/Kconfig.name"
+
+endchoice
+
+source "src/mainboard/dell/*/Kconfig"
+
+config MAINBOARD_VENDOR
+ string
+ default "Dell Inc."
+
+endif # VENDOR_DELL
diff --git a/src/mainboard/dell/Kconfig.name b/src/mainboard/dell/Kconfig.name
new file mode 100755
index 0000000..3d2fefd
--- /dev/null
+++ b/src/mainboard/dell/Kconfig.name
@@ -0,0 +1,2 @@
+config VENDOR_DELL
+ bool "Dell Inc."
diff --git a/src/mainboard/dell/dell_system_vostro_3360/Kconfig b/src/mainboard/dell/dell_system_vostro_3360/Kconfig
new file mode 100755
index 0000000..8861897
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/Kconfig
@@ -0,0 +1,43 @@
+if BOARD_DELL_DELL_SYSTEM_VOSTRO_3360
+
+config BOARD_SPECIFIC_OPTIONS
+ def_bool y
+ select BOARD_ROMSIZE_KB_8192
+ select HAVE_ACPI_RESUME
+ select HAVE_ACPI_TABLES
+ select INTEL_INT15
+ select GFX_GMA_INTERNAL_IS_LVDS
+ select MAINBOARD_HAS_LIBGFXINIT # FIXME: check this
+ select NORTHBRIDGE_INTEL_SANDYBRIDGE
+ select SERIRQ_CONTINUOUS_MODE
+ select SOUTHBRIDGE_INTEL_C216
+ select USE_NATIVE_RAMINIT
+
+config MAINBOARD_DIR
+ string
+ default dell/dell_system_vostro_3360
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "Dell System Vostro 3360"
+
+config VGA_BIOS_FILE
+ string
+ default "pci8086,0156.rom"
+
+config VGA_BIOS_ID
+ string
+ default "8086,0156"
+
+config DRAM_RESET_GATE_GPIO # FIXME: check this
+ int
+ default 60
+
+config MAX_CPUS
+ int
+ default 8
+
+config USBDEBUG_HCD_INDEX # FIXME: check this
+ int
+ default 2
+endif
diff --git a/src/mainboard/dell/dell_system_vostro_3360/Kconfig.name b/src/mainboard/dell/dell_system_vostro_3360/Kconfig.name
new file mode 100755
index 0000000..8925217
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/Kconfig.name
@@ -0,0 +1,2 @@
+config BOARD_DELL_DELL_SYSTEM_VOSTRO_3360
+ bool "Dell System Vostro 3360"
diff --git a/src/mainboard/dell/dell_system_vostro_3360/Makefile.inc b/src/mainboard/dell/dell_system_vostro_3360/Makefile.inc
new file mode 100755
index 0000000..18391d8
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/Makefile.inc
@@ -0,0 +1,5 @@
+bootblock-y += early_init.c
+bootblock-y += gpio.c
+romstage-y += early_init.c
+romstage-y += gpio.c
+ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads
diff --git a/src/mainboard/dell/dell_system_vostro_3360/acpi/ec.asl b/src/mainboard/dell/dell_system_vostro_3360/acpi/ec.asl
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/acpi/ec.asl
diff --git a/src/mainboard/dell/dell_system_vostro_3360/acpi/platform.asl b/src/mainboard/dell/dell_system_vostro_3360/acpi/platform.asl
new file mode 100755
index 0000000..afb8abb
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/acpi/platform.asl
@@ -0,0 +1,8 @@
+Method(_WAK, 1)
+{
+ Return(Package() {0, 0})
+}
+
+Method(_PTS, 1)
+{
+}
diff --git a/src/mainboard/dell/dell_system_vostro_3360/acpi/superio.asl b/src/mainboard/dell/dell_system_vostro_3360/acpi/superio.asl
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/acpi/superio.asl
diff --git a/src/mainboard/dell/dell_system_vostro_3360/acpi_tables.c b/src/mainboard/dell/dell_system_vostro_3360/acpi_tables.c
new file mode 100755
index 0000000..cfc2061
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/acpi_tables.c
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2014 Vladimir Serbinenko
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <southbridge/intel/bd82x6x/nvs.h>
+
+/* FIXME: check this function. */
+void acpi_create_gnvs(global_nvs_t *gnvs)
+{
+ /* Disable USB ports in S3 by default */
+ gnvs->s3u0 = 0;
+ gnvs->s3u1 = 0;
+
+ /* Disable USB ports in S5 by default */
+ gnvs->s5u0 = 0;
+ gnvs->s5u1 = 0;
+
+ /* The lid is open by default. */
+ gnvs->lids = 1;
+
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
+}
diff --git a/src/mainboard/dell/dell_system_vostro_3360/board_info.txt b/src/mainboard/dell/dell_system_vostro_3360/board_info.txt
new file mode 100755
index 0000000..be6bff8
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/board_info.txt
@@ -0,0 +1,4 @@
+Category: desktop
+ROM protocol: SPI
+Flashrom support: n
+FIXME: check category, , put ROM package, ROM socketed, Release year
diff --git a/src/mainboard/dell/dell_system_vostro_3360/devicetree.cb b/src/mainboard/dell/dell_system_vostro_3360/devicetree.cb
new file mode 100755
index 0000000..d234325
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/devicetree.cb
@@ -0,0 +1,111 @@
+chip northbridge/intel/sandybridge # FIXME: GPU registers may not always apply.
+ register "gfx.link_frequency_270_mhz" = "1"
+ register "gfx.use_spread_spectrum_clock" = "1"
+ register "gpu_cpu_backlight" = "0x00001312"
+ register "gpu_dp_b_hotplug" = "4"
+ register "gpu_dp_c_hotplug" = "4"
+ register "gpu_dp_d_hotplug" = "4"
+ register "gpu_panel_port_select" = "0"
+ register "gpu_panel_power_backlight_off_delay" = "3000"
+ register "gpu_panel_power_backlight_on_delay" = "1700"
+ register "gpu_panel_power_cycle_delay" = "5"
+ register "gpu_panel_power_down_delay" = "300"
+ register "gpu_panel_power_up_delay" = "300"
+ register "gpu_pch_backlight" = "0x13121312"
+ device cpu_cluster 0x0 on
+ chip cpu/intel/model_206ax # FIXME: check all registers
+ register "c1_acpower" = "1"
+ register "c1_battery" = "1"
+ register "c2_acpower" = "3"
+ register "c2_battery" = "3"
+ register "c3_acpower" = "5"
+ register "c3_battery" = "5"
+ device lapic 0x0 on
+ end
+ device lapic 0xacac off
+ end
+ end
+ end
+ device domain 0x0 on
+ chip southbridge/intel/bd82x6x # Intel Series 6 Cougar Point PCH
+ register "c2_latency" = "0x0065"
+ register "docking_supported" = "1"
+ register "gen1_dec" = "0x00040069"
+ register "gen2_dec" = "0x00040911"
+ register "gen3_dec" = "0x00000000"
+ register "gen4_dec" = "0x000c06a1"
+ register "pcie_hotplug_map" = "{ 0, 0, 0, 0, 0, 0, 0, 0 }"
+ register "pcie_port_coalesce" = "1"
+ register "sata_interface_speed_support" = "0x3"
+ register "sata_port_map" = "0x1"
+ register "spi_lvscc" = "0x2005"
+ register "spi_uvscc" = "0x2005"
+ register "superspeed_capable_ports" = "0x0000000f"
+ register "xhci_overcurrent_mapping" = "0x00000c03"
+ register "xhci_switchable_ports" = "0x0000000f"
+ device pci 14.0 on # USB 3.0 Controller
+ subsystemid 0x1028 0x055c
+ end
+ device pci 16.0 off # Management Engine Interface 1
+ end
+ device pci 16.1 off # Management Engine Interface 2
+ end
+ device pci 16.2 off # Management Engine IDE-R
+ end
+ device pci 16.3 off # Management Engine KT
+ end
+ device pci 19.0 off # Intel Gigabit Ethernet
+ end
+ device pci 1a.0 on # USB2 EHCI #2
+ subsystemid 0x1028 0x055c
+ end
+ device pci 1b.0 on # High Definition Audio
+ subsystemid 0x1028 0x055c
+ end
+ device pci 1c.0 on # PCIe Port #1
+ subsystemid 0x1028 0x055c
+ end
+ device pci 1c.1 off # PCIe Port #2
+ end
+ device pci 1c.2 off # PCIe Port #3
+ end
+ device pci 1c.3 off # PCIe Port #4
+ end
+ device pci 1c.4 on # PCIe Port #5
+ subsystemid 0x1028 0x055c
+ end
+ device pci 1c.5 off # PCIe Port #6
+ end
+ device pci 1c.6 off # PCIe Port #7
+ end
+ device pci 1c.7 off # PCIe Port #8
+ end
+ device pci 1d.0 on # USB2 EHCI #1
+ subsystemid 0x1028 0x055c
+ end
+ device pci 1e.0 off # PCI bridge
+ end
+ device pci 1f.0 on # LPC bridge PCI-LPC bridge
+ subsystemid 0x1028 0x055c
+ end
+ device pci 1f.2 on # SATA Controller 1
+ subsystemid 0x1028 0x055c
+ end
+ device pci 1f.3 on # SMBus
+ subsystemid 0x1028 0x055c
+ end
+ device pci 1f.5 off # SATA Controller 2
+ end
+ device pci 1f.6 off # Thermal
+ end
+ end
+ device pci 00.0 on # Host bridge Host bridge
+ subsystemid 0x1028 0x055c
+ end
+ device pci 01.0 off # PEG
+ end
+ device pci 02.0 on # iGPU
+ subsystemid 0x1028 0x055c
+ end
+ end
+end
diff --git a/src/mainboard/dell/dell_system_vostro_3360/dsdt.asl b/src/mainboard/dell/dell_system_vostro_3360/dsdt.asl
new file mode 100755
index 0000000..b00a7ff
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/dsdt.asl
@@ -0,0 +1,29 @@
+#define BRIGHTNESS_UP \_SB.PCI0.GFX0.INCB
+#define BRIGHTNESS_DOWN \_SB.PCI0.GFX0.DECB
+#define ACPI_VIDEO_DEVICE \_SB.PCI0.GFX0
+
+
+#include <arch/acpi.h>
+
+DefinitionBlock(
+ "dsdt.aml",
+ "DSDT",
+ 0x02, /* DSDT revision: ACPI 2.0 and up */
+ OEM_ID,
+ ACPI_TABLE_CREATOR,
+ 0x20141018 /* OEM revision */
+)
+{
+ #include "acpi/platform.asl"
+ #include <cpu/intel/common/acpi/cpu.asl>
+ #include <southbridge/intel/common/acpi/platform.asl>
+ #include <southbridge/intel/bd82x6x/acpi/globalnvs.asl>
+ #include <southbridge/intel/common/acpi/sleepstates.asl>
+
+ Device (\_SB.PCI0)
+ {
+ #include <northbridge/intel/sandybridge/acpi/sandybridge.asl>
+ #include <drivers/intel/gma/acpi/default_brightness_levels.asl>
+ #include <southbridge/intel/bd82x6x/acpi/pch.asl>
+ }
+}
diff --git a/src/mainboard/dell/dell_system_vostro_3360/early_init.c b/src/mainboard/dell/dell_system_vostro_3360/early_init.c
new file mode 100755
index 0000000..6dbf226
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/early_init.c
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2014 Vladimir Serbinenko
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/* FIXME: Check if all includes are needed. */
+
+#include <stdint.h>
+#include <string.h>
+#include <timestamp.h>
+#include <arch/byteorder.h>
+#include <device/mmio.h>
+#include <device/pci_ops.h>
+#include <device/pnp_ops.h>
+#include <console/console.h>
+#include <bootblock_common.h>
+#include <northbridge/intel/sandybridge/sandybridge.h>
+#include <northbridge/intel/sandybridge/raminit_native.h>
+#include <southbridge/intel/bd82x6x/pch.h>
+#include <southbridge/intel/common/gpio.h>
+
+const struct southbridge_usb_port mainboard_usb_ports[] = {
+ { 1, 1, 0 },
+ { 1, 1, 0 },
+ { 1, 1, 1 },
+ { 1, 1, 1 },
+ { 1, 1, 2 },
+ { 1, 1, 2 },
+ { 0, 1, 3 },
+ { 0, 1, 3 },
+ { 1, 1, 4 },
+ { 0, 1, 4 },
+ { 1, 1, 5 },
+ { 0, 1, 5 },
+ { 1, 1, 6 },
+ { 0, 1, 6 },
+};
+
+void bootblock_mainboard_early_init(void)
+{
+ pci_write_config16(PCI_DEV(0, 0x1f, 0), 0x82, 0x3f0f);
+ pci_write_config16(PCI_DEV(0, 0x1f, 0), 0x80, 0x0010);
+}
+
+/* FIXME: Put proper SPD map here. */
+void mainboard_get_spd(spd_raw_data *spd, bool id_only)
+{
+ read_spd(&spd[0], 0x50, id_only);
+ read_spd(&spd[1], 0x51, id_only);
+ read_spd(&spd[2], 0x52, id_only);
+ read_spd(&spd[3], 0x53, id_only);
+}
diff --git a/src/mainboard/dell/dell_system_vostro_3360/gma-mainboard.ads b/src/mainboard/dell/dell_system_vostro_3360/gma-mainboard.ads
new file mode 100755
index 0000000..d7afe73
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/gma-mainboard.ads
@@ -0,0 +1,34 @@
+--
+-- This file is part of the coreboot project.
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 2 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+
+with HW.GFX.GMA;
+with HW.GFX.GMA.Display_Probing;
+
+use HW.GFX.GMA;
+use HW.GFX.GMA.Display_Probing;
+
+private package GMA.Mainboard is
+
+ -- FIXME: check this
+ ports : constant Port_List :=
+ (DP1,
+ DP2,
+ DP3,
+ HDMI1,
+ HDMI2,
+ HDMI3,
+ Analog,
+ Internal);
+
+end GMA.Mainboard;
diff --git a/src/mainboard/dell/dell_system_vostro_3360/gpio.c b/src/mainboard/dell/dell_system_vostro_3360/gpio.c
new file mode 100755
index 0000000..d7db210
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/gpio.c
@@ -0,0 +1,241 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2014 Vladimir Serbinenko
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <southbridge/intel/common/gpio.h>
+
+static const struct pch_gpio_set1 pch_gpio_set1_mode = {
+ .gpio0 = GPIO_MODE_GPIO,
+ .gpio1 = GPIO_MODE_GPIO,
+ .gpio2 = GPIO_MODE_NATIVE,
+ .gpio3 = GPIO_MODE_GPIO,
+ .gpio4 = GPIO_MODE_GPIO,
+ .gpio5 = GPIO_MODE_GPIO,
+ .gpio6 = GPIO_MODE_GPIO,
+ .gpio7 = GPIO_MODE_GPIO,
+ .gpio8 = GPIO_MODE_GPIO,
+ .gpio9 = GPIO_MODE_GPIO,
+ .gpio10 = GPIO_MODE_GPIO,
+ .gpio11 = GPIO_MODE_GPIO,
+ .gpio12 = GPIO_MODE_GPIO,
+ .gpio13 = GPIO_MODE_GPIO,
+ .gpio14 = GPIO_MODE_GPIO,
+ .gpio15 = GPIO_MODE_GPIO,
+ .gpio16 = GPIO_MODE_GPIO,
+ .gpio17 = GPIO_MODE_GPIO,
+ .gpio18 = GPIO_MODE_GPIO,
+ .gpio19 = GPIO_MODE_GPIO,
+ .gpio20 = GPIO_MODE_GPIO,
+ .gpio21 = GPIO_MODE_GPIO,
+ .gpio22 = GPIO_MODE_GPIO,
+ .gpio23 = GPIO_MODE_GPIO,
+ .gpio24 = GPIO_MODE_GPIO,
+ .gpio25 = GPIO_MODE_GPIO,
+ .gpio26 = GPIO_MODE_NATIVE,
+ .gpio27 = GPIO_MODE_GPIO,
+ .gpio28 = GPIO_MODE_GPIO,
+ .gpio29 = GPIO_MODE_GPIO,
+ .gpio30 = GPIO_MODE_NATIVE,
+ .gpio31 = GPIO_MODE_GPIO,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_direction = {
+ .gpio0 = GPIO_DIR_OUTPUT,
+ .gpio1 = GPIO_DIR_INPUT,
+ .gpio3 = GPIO_DIR_INPUT,
+ .gpio4 = GPIO_DIR_INPUT,
+ .gpio5 = GPIO_DIR_INPUT,
+ .gpio6 = GPIO_DIR_INPUT,
+ .gpio7 = GPIO_DIR_INPUT,
+ .gpio8 = GPIO_DIR_INPUT,
+ .gpio9 = GPIO_DIR_INPUT,
+ .gpio10 = GPIO_DIR_INPUT,
+ .gpio11 = GPIO_DIR_INPUT,
+ .gpio12 = GPIO_DIR_INPUT,
+ .gpio13 = GPIO_DIR_INPUT,
+ .gpio14 = GPIO_DIR_INPUT,
+ .gpio15 = GPIO_DIR_INPUT,
+ .gpio16 = GPIO_DIR_INPUT,
+ .gpio17 = GPIO_DIR_INPUT,
+ .gpio18 = GPIO_DIR_INPUT,
+ .gpio19 = GPIO_DIR_INPUT,
+ .gpio20 = GPIO_DIR_INPUT,
+ .gpio21 = GPIO_DIR_INPUT,
+ .gpio22 = GPIO_DIR_OUTPUT,
+ .gpio23 = GPIO_DIR_OUTPUT,
+ .gpio24 = GPIO_DIR_OUTPUT,
+ .gpio25 = GPIO_DIR_INPUT,
+ .gpio27 = GPIO_DIR_INPUT,
+ .gpio28 = GPIO_DIR_OUTPUT,
+ .gpio29 = GPIO_DIR_INPUT,
+ .gpio31 = GPIO_DIR_OUTPUT,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_level = {
+ .gpio0 = GPIO_LEVEL_LOW,
+ .gpio22 = GPIO_LEVEL_HIGH,
+ .gpio23 = GPIO_LEVEL_LOW,
+ .gpio24 = GPIO_LEVEL_LOW,
+ .gpio28 = GPIO_LEVEL_LOW,
+ .gpio31 = GPIO_LEVEL_HIGH,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_reset = {
+ .gpio24 = GPIO_RESET_RSMRST,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_invert = {
+ .gpio1 = GPIO_INVERT,
+ .gpio3 = GPIO_INVERT,
+ .gpio7 = GPIO_INVERT,
+};
+
+static const struct pch_gpio_set1 pch_gpio_set1_blink = {
+};
+
+static const struct pch_gpio_set2 pch_gpio_set2_mode = {
+ .gpio32 = GPIO_MODE_NATIVE,
+ .gpio33 = GPIO_MODE_GPIO,
+ .gpio34 = GPIO_MODE_GPIO,
+ .gpio35 = GPIO_MODE_GPIO,
+ .gpio36 = GPIO_MODE_GPIO,
+ .gpio37 = GPIO_MODE_GPIO,
+ .gpio38 = GPIO_MODE_GPIO,
+ .gpio39 = GPIO_MODE_GPIO,
+ .gpio40 = GPIO_MODE_GPIO,
+ .gpio41 = GPIO_MODE_GPIO,
+ .gpio42 = GPIO_MODE_GPIO,
+ .gpio43 = GPIO_MODE_GPIO,
+ .gpio44 = GPIO_MODE_NATIVE,
+ .gpio45 = GPIO_MODE_GPIO,
+ .gpio46 = GPIO_MODE_GPIO,
+ .gpio47 = GPIO_MODE_GPIO,
+ .gpio48 = GPIO_MODE_GPIO,
+ .gpio49 = GPIO_MODE_GPIO,
+ .gpio50 = GPIO_MODE_GPIO,
+ .gpio51 = GPIO_MODE_GPIO,
+ .gpio52 = GPIO_MODE_GPIO,
+ .gpio53 = GPIO_MODE_GPIO,
+ .gpio54 = GPIO_MODE_GPIO,
+ .gpio55 = GPIO_MODE_GPIO,
+ .gpio56 = GPIO_MODE_GPIO,
+ .gpio57 = GPIO_MODE_GPIO,
+ .gpio58 = GPIO_MODE_NATIVE,
+ .gpio59 = GPIO_MODE_GPIO,
+ .gpio60 = GPIO_MODE_GPIO,
+ .gpio61 = GPIO_MODE_GPIO,
+ .gpio62 = GPIO_MODE_GPIO,
+ .gpio63 = GPIO_MODE_NATIVE,
+};
+
+static const struct pch_gpio_set2 pch_gpio_set2_direction = {
+ .gpio33 = GPIO_DIR_OUTPUT,
+ .gpio34 = GPIO_DIR_OUTPUT,
+ .gpio35 = GPIO_DIR_INPUT,
+ .gpio36 = GPIO_DIR_INPUT,
+ .gpio37 = GPIO_DIR_OUTPUT,
+ .gpio38 = GPIO_DIR_OUTPUT,
+ .gpio39 = GPIO_DIR_OUTPUT,
+ .gpio40 = GPIO_DIR_INPUT,
+ .gpio41 = GPIO_DIR_INPUT,
+ .gpio42 = GPIO_DIR_INPUT,
+ .gpio43 = GPIO_DIR_INPUT,
+ .gpio45 = GPIO_DIR_INPUT,
+ .gpio46 = GPIO_DIR_INPUT,
+ .gpio47 = GPIO_DIR_INPUT,
+ .gpio48 = GPIO_DIR_INPUT,
+ .gpio49 = GPIO_DIR_OUTPUT,
+ .gpio50 = GPIO_DIR_INPUT,
+ .gpio51 = GPIO_DIR_INPUT,
+ .gpio52 = GPIO_DIR_OUTPUT,
+ .gpio53 = GPIO_DIR_INPUT,
+ .gpio54 = GPIO_DIR_INPUT,
+ .gpio55 = GPIO_DIR_INPUT,
+ .gpio56 = GPIO_DIR_INPUT,
+ .gpio57 = GPIO_DIR_INPUT,
+ .gpio59 = GPIO_DIR_INPUT,
+ .gpio60 = GPIO_DIR_OUTPUT,
+ .gpio61 = GPIO_DIR_INPUT,
+ .gpio62 = GPIO_DIR_INPUT,
+};
+
+static const struct pch_gpio_set2 pch_gpio_set2_level = {
+ .gpio33 = GPIO_LEVEL_HIGH,
+ .gpio34 = GPIO_LEVEL_HIGH,
+ .gpio37 = GPIO_LEVEL_LOW,
+ .gpio38 = GPIO_LEVEL_HIGH,
+ .gpio39 = GPIO_LEVEL_HIGH,
+ .gpio49 = GPIO_LEVEL_HIGH,
+ .gpio52 = GPIO_LEVEL_LOW,
+ .gpio60 = GPIO_LEVEL_HIGH,
+};
+
+static const struct pch_gpio_set2 pch_gpio_set2_reset = {
+};
+
+static const struct pch_gpio_set3 pch_gpio_set3_mode = {
+ .gpio64 = GPIO_MODE_GPIO,
+ .gpio65 = GPIO_MODE_NATIVE,
+ .gpio66 = GPIO_MODE_NATIVE,
+ .gpio67 = GPIO_MODE_NATIVE,
+ .gpio68 = GPIO_MODE_GPIO,
+ .gpio69 = GPIO_MODE_GPIO,
+ .gpio70 = GPIO_MODE_GPIO,
+ .gpio71 = GPIO_MODE_GPIO,
+ .gpio72 = GPIO_MODE_GPIO,
+ .gpio73 = GPIO_MODE_NATIVE,
+ .gpio74 = GPIO_MODE_GPIO,
+ .gpio75 = GPIO_MODE_NATIVE,
+};
+
+static const struct pch_gpio_set3 pch_gpio_set3_direction = {
+ .gpio64 = GPIO_DIR_INPUT,
+ .gpio68 = GPIO_DIR_INPUT,
+ .gpio69 = GPIO_DIR_INPUT,
+ .gpio70 = GPIO_DIR_INPUT,
+ .gpio71 = GPIO_DIR_INPUT,
+ .gpio72 = GPIO_DIR_INPUT,
+ .gpio74 = GPIO_DIR_INPUT,
+};
+
+static const struct pch_gpio_set3 pch_gpio_set3_level = {
+};
+
+static const struct pch_gpio_set3 pch_gpio_set3_reset = {
+};
+
+const struct pch_gpio_map mainboard_gpio_map = {
+ .set1 = {
+ .mode = &pch_gpio_set1_mode,
+ .direction = &pch_gpio_set1_direction,
+ .level = &pch_gpio_set1_level,
+ .blink = &pch_gpio_set1_blink,
+ .invert = &pch_gpio_set1_invert,
+ .reset = &pch_gpio_set1_reset,
+ },
+ .set2 = {
+ .mode = &pch_gpio_set2_mode,
+ .direction = &pch_gpio_set2_direction,
+ .level = &pch_gpio_set2_level,
+ .reset = &pch_gpio_set2_reset,
+ },
+ .set3 = {
+ .mode = &pch_gpio_set3_mode,
+ .direction = &pch_gpio_set3_direction,
+ .level = &pch_gpio_set3_level,
+ .reset = &pch_gpio_set3_reset,
+ },
+};
diff --git a/src/mainboard/dell/dell_system_vostro_3360/hda_verb.c b/src/mainboard/dell/dell_system_vostro_3360/hda_verb.c
new file mode 100755
index 0000000..c55bf3c
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/hda_verb.c
@@ -0,0 +1,43 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008-2009 coresystems GmbH
+ * Copyright (C) 2014 Vladimir Serbinenko
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
+ 0x10134213, /* Codec Vendor / Device ID: Cirrus */
+ 0x1028055c, /* Subsystem ID */
+ 6, /* Number of 4 dword sets */
+ AZALIA_SUBVENDOR(0x0, 0x1028055c),
+ AZALIA_PIN_CFG(0x0, 0x04, 0x0421101f),
+ AZALIA_PIN_CFG(0x0, 0x05, 0x90170010),
+ AZALIA_PIN_CFG(0x0, 0x06, 0x04a1103e),
+ AZALIA_PIN_CFG(0x0, 0x07, 0x40f000f0),
+ AZALIA_PIN_CFG(0x0, 0x08, 0x90a60030),
+
+ 0x80862806, /* Codec Vendor / Device ID: Intel */
+ 0x80860101, /* Subsystem ID */
+ 4, /* Number of 4 dword sets */
+ AZALIA_SUBVENDOR(0x3, 0x80860101),
+ AZALIA_PIN_CFG(0x3, 0x05, 0x18560010),
+ AZALIA_PIN_CFG(0x3, 0x06, 0x58560020),
+ AZALIA_PIN_CFG(0x3, 0x07, 0x58560030),
+
+};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/dell/dell_system_vostro_3360/mainboard.c b/src/mainboard/dell/dell_system_vostro_3360/mainboard.c
new file mode 100755
index 0000000..e5cfebf
--- /dev/null
+++ b/src/mainboard/dell/dell_system_vostro_3360/mainboard.c
@@ -0,0 +1,15 @@
+#include <device/device.h>
+#include <drivers/intel/gma/int15.h>
+#include <southbridge/intel/bd82x6x/pch.h>
+
+static void mainboard_enable(struct device *dev)
+{
+ /* FIXME: fix these values. */
+ install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS,
+ GMA_INT15_PANEL_FIT_DEFAULT,
+ GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
+}
+
+struct chip_operations mainboard_ops = {
+ .enable_dev = mainboard_enable,
+};
diff --git a/util/superiotool/ite.c b/util/superiotool/ite.c
index 81ab024..2f2cb57 100644
--- a/util/superiotool/ite.c
+++ b/util/superiotool/ite.c
@@ -274,6 +274,60 @@
{0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
{0x00,0x00,0x6a,0x00,0x6e,0x01,0x01,EOT}},
{EOT}}},
+ {0x8518, "IT8518", {
+ {NOLDN, "Chip ID",
+ {0x20,0x21, EOT},
+ {0x85,0x16, EOT}},
+ {NOLDN, "Chip Version",
+ {0x22,EOT},
+ {0x63,EOT}},
+ {NOLDN, "Super I/O Control Register (SIOCTRL)",
+ {0x23,EOT},
+ {0x01,EOT}},
+ {NOLDN, "Super I/O Configuration Register (SIOIRQ)",
+ {0x25,EOT},
+ {0x00,EOT}},
+ {NOLDN, "Super I/O General Purpose Register (SIOGP)",
+ {0x26,EOT},
+ {0x00,EOT}},
+ {NOLDN, "Super I/O Power Mode Register (SIOPWR)",
+ {0x2d,EOT},
+ {0x00,EOT}},
+ {0x01, "UART1",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
+ {0x00,0x03,0xf8,0x00,0x00,0x04,0x02,EOT}},
+ {0x02, "UART2",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
+ {0x00,0x02,0xf8,0x00,0x00,0x04,0x02,EOT}},
+ {0x04, "System Wakup-Up (SWUC)",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
+ {0x00,0x00,0x00,0x00,0x00,0x00,0x01,EOT}},
+ {0x05, "Mouse",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
+ {0x00,0x00,0x00,0x00,0x00,0x0C,0x01,EOT}},
+ {0x06, "Keyboard",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
+ {0x00,0x00,0x60,0x00,0x64,0x01,0x01,EOT}},
+ {0x0f, "Shared Memory/Flash Interface (SMFI)",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,
+ 0xf4,0xf5,EOT},
+ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ NANA,NANA,EOT}},
+ {0x10, "BRAM / Real Time Clock (RTC)",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,
+ 0xf1,0xf2,0xf3,0xf4,0xf5,EOT},
+ {0x00,0x00,0x70,0x00,0x72,0x08,0x01,
+ NANA,NANA,NANA,NANA,NANA,EOT}},
+ {0x11, "Power Management Interface Channel 1",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
+ {0x00,0x00,0x62,0x00,0x66,0x01,0x01,EOT}},
+ {0x12, "Power Management Interface Channel 2",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
+ {0x00,0x00,0x68,0x00,0x6c,0x01,0x01,EOT}},
+ {0x17, "Power Management Interface Channel 3",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
+ {0x00,0x00,0x6a,0x00,0x6e,0x01,0x01,EOT}},
+ {EOT}}},
{0x8528, "IT8528", {
{NOLDN, NULL,
{0x24,0x25,0x26,0x27,0x28,0x29,
@@ -1388,6 +1442,73 @@
{NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
{EOT}}},
+ {0x8518, "IT8518", {
+ {NOLDN, NULL,
+ {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
+ 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
+ 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
+ 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
+ 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
+ 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
+ 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
+ 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
+ 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {NOLDN, NULL,
+ {0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+ 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,EOT},
+ {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
+ NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
+ {EOT}}},
{0x8987, "IT8987", {
{NOLDN, NULL,
{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
diff --git a/util/superiotool/output b/util/superiotool/output
new file mode 100644
index 0000000..fdf8a94
--- /dev/null
+++ b/util/superiotool/output
@@ -0,0 +1,500 @@
+superiotool r4.11-1185-g6824173704
+Found Aspeed AST2400 (id=0x00) at 0x4e
+Register dump:
+idx val def
+0x20: 0x85 (0x00)
+0x21: 0x18 (0x00)
+0x22: 0x08 (0x00)
+0x23: 0x01 (0x00)
+0x24: 0x00 (0x00)
+0x25: 0x00 (0x00)
+0x26: 0x00 (0x00)
+0x27: 0x00 (0x00)
+0x28: 0x00 (0x00)
+0x29: 0x00 (0x00)
+0x2a: 0x00 (0x00)
+0x2b: 0x00 (0x00)
+0x2c: 0x01 (0x00)
+0x2d: 0x00 (0x00)
+0x2e: 0x00 (0x00)
+0x2f: 0x00 (0x00)
+
+LDN 0x02 (SUART1)
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x02 (0x03)
+0x61: 0xf8 (0xf8)
+0x70: 0x03 (0x04)
+0x71: 0x02 (0x02)
+0xf0: 0x00 (RR)
+
+LDN 0x03 (SUART2)
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x00 (0x02)
+0x61: 0x00 (0xf8)
+0x70: 0x00 (0x03)
+0x71: 0x00 (0x02)
+0xf0: 0x00 (0x00)
+
+LDN 0x04 (SWC)
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x00 (0x08)
+0x61: 0x00 (0xe6)
+0x62: 0x00 (0x08)
+0x63: 0x00 (0xe0)
+0x64: 0x00 (0x08)
+0x65: 0x00 (0xe4)
+0x66: 0x00 (0x08)
+0x67: 0x00 (0xe8)
+0x70: 0x00 (0x09)
+0x71: 0x01 (0x01)
+
+LDN 0x05 (Keyboard config (KBC))
+idx val def
+0x30: 0x01 (0x00)
+0x60: 0x00 (0x00)
+0x61: 0x00 (0x60)
+0x62: 0x00 (0x00)
+0x63: 0x00 (0x64)
+0x70: 0x0c (0x01)
+0x71: 0x01 (0x02)
+0x72: 0x00 (0x0c)
+0x73: 0x00 (0x02)
+0xf0: 0x00 (0x83)
+
+LDN 0x07 (GPIO)
+idx val def
+0x30: 0x00 (0x00)
+0x38: 0x00 (0x00)
+0x70: 0x00 (0x0b)
+0x71: 0x00 (0x01)
+
+LDN 0x0b (SUART3)
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x00 (0x03)
+0x61: 0x00 (0xe8)
+0x70: 0x00 (0x06)
+0x71: 0x00 (0x02)
+0xf0: 0x00 (0x00)
+
+LDN 0x0c (SUART4)
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x00 (0x02)
+0x61: 0x00 (0xe8)
+0x70: 0x00 (0x05)
+0x71: 0x00 (0x02)
+0xf0: 0x00 (0x00)
+
+LDN 0x0d (iLPC2AHB)
+idx val def
+0x30: 0x00 (0x00)
+0x70: 0x00 (0x09)
+0x71: 0x00 (0x01)
+0xf0: 0x00 (NA)
+0xf1: 0x00 (NA)
+0xf2: 0x00 (NA)
+0xf3: 0x00 (NA)
+0xf4: 0x00 (NA)
+0xf5: 0x00 (NA)
+0xf6: 0x00 (NA)
+0xf7: 0x00 (NA)
+0xf8: 0x00 (0x00)
+0xfe: 0x00 (0x00)
+
+LDN 0x0e (Mailbox)
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x00 (0x08)
+0x61: 0x00 (0xc0)
+0x70: 0x00 (0x09)
+0x71: 0x00 (0x01)
+
+Found ITE IT8516??? (id=0x8518, rev=0x8) at 0x4e
+(Chip ID)
+idx val def
+0x20: 0x85 (0x85)
+0x21: 0x18 (0x16)
+
+(Chip Version)
+idx val def
+0x22: 0x08 (0x63)
+
+(Super I/O Control Register (SIOCTRL))
+idx val def
+0x23: 0x01 (0x01)
+
+(Super I/O Configuration Register (SIOIRQ))
+idx val def
+0x25: 0x00 (0x00)
+
+(Super I/O General Purpose Register (SIOGP))
+idx val def
+0x26: 0x00 (0x00)
+
+(Super I/O Power Mode Register (SIOPWR))
+idx val def
+0x2d: 0x00 (0x00)
+
+LDN 0x01 (UART1)
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x03 (0x03)
+0x61: 0xf8 (0xf8)
+0x62: 0x00 (0x00)
+0x63: 0x00 (0x00)
+0x70: 0x04 (0x04)
+0x71: 0x02 (0x02)
+
+LDN 0x02 (UART2)
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x02 (0x02)
+0x61: 0xf8 (0xf8)
+0x62: 0x00 (0x00)
+0x63: 0x00 (0x00)
+0x70: 0x03 (0x04)
+0x71: 0x02 (0x02)
+
+LDN 0x04 (System Wakup-Up (SWUC))
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x00 (0x00)
+0x61: 0x00 (0x00)
+0x62: 0x00 (0x00)
+0x63: 0x00 (0x00)
+0x70: 0x00 (0x00)
+0x71: 0x01 (0x01)
+
+LDN 0x05 (Mouse)
+idx val def
+0x30: 0x01 (0x00)
+0x60: 0x00 (0x00)
+0x61: 0x00 (0x00)
+0x62: 0x00 (0x00)
+0x63: 0x00 (0x00)
+0x70: 0x0c (0x0c)
+0x71: 0x01 (0x01)
+
+LDN 0x06 (Keyboard)
+idx val def
+0x30: 0x01 (0x00)
+0x60: 0x00 (0x00)
+0x61: 0x60 (0x60)
+0x62: 0x00 (0x00)
+0x63: 0x64 (0x64)
+0x70: 0x01 (0x01)
+0x71: 0x01 (0x01)
+
+LDN 0x0f (Shared Memory/Flash Interface (SMFI))
+idx val def
+0x30: 0x00 (0x00)
+0x60: 0x00 (0x00)
+0x61: 0x00 (0x00)
+0x62: 0x00 (0x00)
+0x63: 0x00 (0x00)
+0x70: 0x00 (0x00)
+0x71: 0x00 (0x00)
+0xf4: 0x00 (NA)
+0xf5: 0x00 (NA)
+
+LDN 0x10 (BRAM / Real Time Clock (RTC))
+idx val def
+0x30: 0x01 (0x00)
+0x60: 0x00 (0x00)
+0x61: 0x70 (0x70)
+0x62: 0x09 (0x00)
+0x63: 0x10 (0x72)
+0x70: 0x08 (0x08)
+0x71: 0x01 (0x01)
+0xf1: 0x00 (NA)
+0xf2: 0x00 (NA)
+0xf3: 0x00 (NA)
+0xf4: 0x3f (NA)
+0xf5: 0x3f (NA)
+
+LDN 0x11 (Power Management Interface Channel 1)
+idx val def
+0x30: 0x01 (0x00)
+0x60: 0x00 (0x00)
+0x61: 0x62 (0x62)
+0x62: 0x00 (0x00)
+0x63: 0x66 (0x66)
+0x70: 0x00 (0x01)
+0x71: 0x01 (0x01)
+
+LDN 0x12 (Power Management Interface Channel 2)
+idx val def
+0x30: 0x01 (0x00)
+0x60: 0x00 (0x00)
+0x61: 0x68 (0x68)
+0x62: 0x00 (0x00)
+0x63: 0x6c (0x6c)
+0x70: 0x00 (0x01)
+0x71: 0x01 (0x01)
+
+LDN 0x17 (Power Management Interface Channel 3)
+idx val def
+0x30: 0x01 (0x00)
+0x60: 0x06 (0x00)
+0x61: 0xa0 (0x6a)
+0x62: 0x06 (0x00)
+0x63: 0xa4 (0x6e)
+0x70: 0x01 (0x01)
+0x71: 0x01 (0x01)
+
+Environment controller (0x0005)
+BRAM (0x0910)
+Register dump:
+idx val def
+0x00: 0x12 (NA)
+0x01: 0x03 (NA)
+0x02: 0x00 (NA)
+0x03: 0x00 (NA)
+0x04: 0x01 (NA)
+0x05: 0x00 (NA)
+0x06: 0x02 (NA)
+0x07: 0x00 (NA)
+0x08: 0xa3 (NA)
+0x09: 0xff (NA)
+0x0a: 0xff (NA)
+0x0b: 0x00 (NA)
+0x0c: 0x00 (NA)
+0x0d: 0x00 (NA)
+0x0e: 0x00 (NA)
+0x0f: 0x00 (NA)
+
+Register dump:
+idx val def
+0x10: 0x00 (NA)
+0x11: 0x00 (NA)
+0x12: 0x00 (NA)
+0x13: 0x00 (NA)
+0x14: 0x00 (NA)
+0x15: 0x00 (NA)
+0x16: 0x00 (NA)
+0x17: 0x00 (NA)
+0x18: 0x00 (NA)
+0x19: 0x00 (NA)
+0x1a: 0x00 (NA)
+0x1b: 0x00 (NA)
+0x1c: 0x00 (NA)
+0x1d: 0x00 (NA)
+0x1e: 0x02 (NA)
+0x1f: 0x00 (NA)
+
+Register dump:
+idx val def
+0x20: 0x01 (NA)
+0x21: 0x10 (NA)
+0x22: 0x00 (NA)
+0x23: 0x00 (NA)
+0x24: 0x00 (NA)
+0x25: 0x00 (NA)
+0x26: 0x00 (NA)
+0x27: 0x00 (NA)
+0x28: 0x00 (NA)
+0x29: 0x00 (NA)
+0x2a: 0x00 (NA)
+0x2b: 0x00 (NA)
+0x2c: 0x00 (NA)
+0x2d: 0x00 (NA)
+0x2e: 0x00 (NA)
+0x2f: 0x00 (NA)
+
+Register dump:
+idx val def
+0x30: 0x00 (NA)
+0x31: 0x00 (NA)
+0x32: 0x24 (NA)
+0x33: 0x00 (NA)
+0x34: 0x00 (NA)
+0x35: 0x10 (NA)
+0x36: 0x00 (NA)
+0x37: 0x00 (NA)
+0x38: 0x00 (NA)
+0x39: 0x00 (NA)
+0x3a: 0x88 (NA)
+0x3b: 0x27 (NA)
+0x3c: 0x68 (NA)
+0x3d: 0x00 (NA)
+0x3e: 0x00 (NA)
+0x3f: 0x00 (NA)
+
+Register dump:
+idx val def
+0x40: 0x00 (NA)
+0x41: 0x00 (NA)
+0x42: 0x00 (NA)
+0x43: 0x00 (NA)
+0x44: 0x00 (NA)
+0x45: 0x00 (NA)
+0x46: 0x00 (NA)
+0x47: 0x00 (NA)
+0x48: 0x00 (NA)
+0x49: 0x00 (NA)
+0x4a: 0x00 (NA)
+0x4b: 0x00 (NA)
+0x4c: 0x00 (NA)
+0x4d: 0x00 (NA)
+0x4e: 0x00 (NA)
+0x4f: 0x00 (NA)
+
+Register dump:
+idx val def
+0x50: 0x00 (NA)
+0x51: 0x00 (NA)
+0x52: 0x00 (NA)
+0x53: 0x00 (NA)
+0x54: 0x00 (NA)
+0x55: 0x00 (NA)
+0x56: 0x00 (NA)
+0x57: 0x00 (NA)
+0x58: 0x00 (NA)
+0x59: 0x00 (NA)
+0x5a: 0x00 (NA)
+0x5b: 0x00 (NA)
+0x5c: 0x00 (NA)
+0x5d: 0x00 (NA)
+0x5e: 0x00 (NA)
+0x5f: 0x00 (NA)
+
+Register dump:
+idx val def
+0x60: 0x00 (NA)
+0x61: 0x00 (NA)
+0x62: 0x00 (NA)
+0x63: 0x00 (NA)
+0x64: 0x00 (NA)
+0x65: 0x00 (NA)
+0x66: 0x00 (NA)
+0x67: 0x00 (NA)
+0x68: 0x00 (NA)
+0x69: 0x00 (NA)
+0x6a: 0x00 (NA)
+0x6b: 0x00 (NA)
+0x6c: 0x00 (NA)
+0x6d: 0x00 (NA)
+0x6e: 0x00 (NA)
+0x6f: 0x00 (NA)
+
+Register dump:
+idx val def
+0x70: 0x00 (NA)
+0x71: 0x00 (NA)
+0x72: 0x00 (NA)
+0x73: 0x00 (NA)
+0x74: 0x00 (NA)
+0x75: 0x00 (NA)
+0x76: 0x00 (NA)
+0x77: 0x00 (NA)
+0x78: 0x00 (NA)
+0x79: 0x00 (NA)
+0x7a: 0x00 (NA)
+0x7b: 0x00 (NA)
+0x7c: 0x00 (NA)
+0x7d: 0x00 (NA)
+0x7e: 0x00 (NA)
+0x7f: 0x00 (NA)
+
+Register dump:
+idx val def
+0x80: 0x12 (NA)
+0x81: 0x03 (NA)
+0x82: 0x00 (NA)
+0x83: 0x00 (NA)
+0x84: 0x01 (NA)
+0x85: 0x00 (NA)
+0x86: 0x02 (NA)
+0x87: 0x00 (NA)
+0x88: 0xa3 (NA)
+0x89: 0xff (NA)
+0x8a: 0xff (NA)
+0x8b: 0x00 (NA)
+0x8c: 0x00 (NA)
+0x8d: 0x00 (NA)
+0x8e: 0x00 (NA)
+0x8f: 0x00 (NA)
+
+Register dump:
+idx val def
+0x90: 0x00 (NA)
+0x91: 0x00 (NA)
+0x92: 0x00 (NA)
+0x93: 0x00 (NA)
+0x94: 0x00 (NA)
+0x95: 0x00 (NA)
+0x96: 0x00 (NA)
+0x97: 0x00 (NA)
+0x98: 0x00 (NA)
+0x99: 0x00 (NA)
+0x9a: 0x00 (NA)
+0x9b: 0x00 (NA)
+0x9c: 0x00 (NA)
+0x9d: 0x00 (NA)
+0x9e: 0x02 (NA)
+0x9f: 0x00 (NA)
+
+Register dump:
+idx val def
+0xa0: 0x01 (NA)
+0xa1: 0x10 (NA)
+0xa2: 0x00 (NA)
+0xa3: 0x00 (NA)
+0xa4: 0x00 (NA)
+0xa5: 0x00 (NA)
+0xa6: 0x00 (NA)
+0xa7: 0x00 (NA)
+0xa8: 0x00 (NA)
+0xa9: 0x00 (NA)
+0xaa: 0x00 (NA)
+0xab: 0x00 (NA)
+0xac: 0x00 (NA)
+0xad: 0x00 (NA)
+0xae: 0x00 (NA)
+0xaf: 0x00 (NA)
+
+Register dump:
+idx val def
+0xb0: 0x00 (NA)
+0xb1: 0x00 (NA)
+0xb2: 0x24 (NA)
+0xb3: 0x00 (NA)
+0xb4: 0x00 (NA)
+0xb5: 0x10 (NA)
+0xb6: 0x00 (NA)
+0xb7: 0x00 (NA)
+0xb8: 0x00 (NA)
+0xb9: 0x00 (NA)
+0xba: 0x88 (NA)
+0xbb: 0x27 (NA)
+0xbc: 0x68 (NA)
+0xbd: 0x00 (NA)
+0xbe: 0x00 (NA)
+0xbf: 0x00 (NA)
+
+Register dump:
+idx val def
+0xc0: 0x00 (NA)
+0xc1: 0x00 (NA)
+0xc2: 0x00 (NA)
+0xc3: 0x00 (NA)
+0xc4: 0x00 (NA)
+0xc5: 0x00 (NA)
+0xc6: 0x00 (NA)
+0xc7: 0x00 (NA)
+0xc8: 0x00 (NA)
+0xc9: 0x00 (NA)
+0xca: 0x00 (NA)
+0xcb: 0x00 (NA)
+0xcc: 0x00 (NA)
+0xcd: 0x00 (NA)
+0xce: 0x00 (NA)
+0xcf: 0x00 (NA)
+
+Found SMSC SCH5317 (id=0x85, rev=0x18) at 0x4e
+No dump available for this Super I/O
+No extra registers known for this chip.
--
To view, visit https://review.coreboot.org/c/coreboot/+/39172
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie68e77af77ccec83c29d3329ee9997b950b351f6
Gerrit-Change-Number: 39172
Gerrit-PatchSet: 1
Gerrit-Owner: Name of user not set #1002723
Gerrit-MessageType: newchange
7
23
Change in coreboot[master]: src/mainboard/{intel/google}: Include ASL for additional PCI segment
by Subrata Banik (Code Review) Aug. 7, 2023
by Subrata Banik (Code Review) Aug. 7, 2023
Aug. 7, 2023
Subrata Banik has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/41012 )
Change subject: src/mainboard/{intel/google}: Include ASL for additional PCI segment
......................................................................
src/mainboard/{intel/google}: Include ASL for additional PCI segment
This patch allows mainboard to include static ASL for TBT PCI segment
extracted build/dsdt.aml
Device (PCI1)
{
Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
Name (_SEG, One) // _SEG: PCI Segment
Name (_UID, One) // _UID: Unique ID
Name (_ADR, Zero) // _ADR: Address
....
}
Change-Id: I3601aa4e9002334fd80fc86ced9e1df2afc739b5
Signed-off-by: Subrata Banik <subrata.banik(a)intel.com>
---
M src/mainboard/google/deltaur/dsdt.asl
M src/mainboard/google/volteer/dsdt.asl
M src/mainboard/intel/tglrvp/dsdt.asl
3 files changed, 9 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/12/41012/1
diff --git a/src/mainboard/google/deltaur/dsdt.asl b/src/mainboard/google/deltaur/dsdt.asl
index 631ec5e..6359feb 100644
--- a/src/mainboard/google/deltaur/dsdt.asl
+++ b/src/mainboard/google/deltaur/dsdt.asl
@@ -30,6 +30,9 @@
#include <soc/intel/common/block/acpi/acpi/northbridge.asl>
#include <soc/intel/tigerlake/acpi/southbridge.asl>
}
+#if CONFIG_PCI_SEGMENT_GROUPS > 1
+ #include <soc/intel/common/block/acpi/acpi/pcisegment.asl>
+#endif
}
/* Chrome OS specific */
diff --git a/src/mainboard/google/volteer/dsdt.asl b/src/mainboard/google/volteer/dsdt.asl
index a87c743..9a83359 100644
--- a/src/mainboard/google/volteer/dsdt.asl
+++ b/src/mainboard/google/volteer/dsdt.asl
@@ -33,6 +33,9 @@
#include <soc/intel/tigerlake/acpi/southbridge.asl>
#include <soc/intel/tigerlake/acpi/tcss.asl>
}
+#if CONFIG_PCI_SEGMENT_GROUPS > 1
+ #include <soc/intel/common/block/acpi/acpi/pcisegment.asl>
+#endif
/* Mainboard hooks */
#include "mainboard.asl"
}
diff --git a/src/mainboard/intel/tglrvp/dsdt.asl b/src/mainboard/intel/tglrvp/dsdt.asl
index c66e972..60275cc 100644
--- a/src/mainboard/intel/tglrvp/dsdt.asl
+++ b/src/mainboard/intel/tglrvp/dsdt.asl
@@ -29,6 +29,9 @@
#include <soc/intel/tigerlake/acpi/southbridge.asl>
#include <soc/intel/tigerlake/acpi/tcss.asl>
}
+#if CONFIG_PCI_SEGMENT_GROUPS > 1
+ #include <soc/intel/common/block/acpi/acpi/pcisegment.asl>
+#endif
}
#if CONFIG(CHROMEOS)
--
To view, visit https://review.coreboot.org/c/coreboot/+/41012
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I3601aa4e9002334fd80fc86ced9e1df2afc739b5
Gerrit-Change-Number: 41012
Gerrit-PatchSet: 1
Gerrit-Owner: Subrata Banik <subrata.banik(a)intel.com>
Gerrit-MessageType: newchange
6
9