Peter Lemenkov has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/38781 )
Change subject: mb/lenovo: Remove thermal.h header
......................................................................
mb/lenovo: Remove thermal.h header
We include it only in one file. So let's simplify everything and do like
autoport does.
Change-Id: I71f092ed7582b4931122d72f41d0b42a7569b96e
Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
---
M src/mainboard/lenovo/l520/acpi_tables.c
D src/mainboard/lenovo/l520/thermal.h
M src/mainboard/lenovo/s230u/acpi_tables.c
D src/mainboard/lenovo/s230u/thermal.h
M src/mainboard/lenovo/t400/acpi_tables.c
D src/mainboard/lenovo/t400/thermal.h
M src/mainboard/lenovo/t410/acpi_tables.c
D src/mainboard/lenovo/t410/thermal.h
M src/mainboard/lenovo/t420/acpi_tables.c
D src/mainboard/lenovo/t420/thermal.h
M src/mainboard/lenovo/t420s/acpi_tables.c
D src/mainboard/lenovo/t420s/thermal.h
M src/mainboard/lenovo/t430/acpi_tables.c
D src/mainboard/lenovo/t430/thermal.h
M src/mainboard/lenovo/t430s/acpi_tables.c
D src/mainboard/lenovo/t430s/thermal.h
M src/mainboard/lenovo/t520/acpi_tables.c
D src/mainboard/lenovo/t520/thermal.h
M src/mainboard/lenovo/t530/acpi_tables.c
D src/mainboard/lenovo/t530/thermal.h
M src/mainboard/lenovo/t60/acpi_tables.c
D src/mainboard/lenovo/t60/thermal.h
M src/mainboard/lenovo/x131e/acpi_tables.c
D src/mainboard/lenovo/x131e/thermal.h
M src/mainboard/lenovo/x1_carbon_gen1/acpi_tables.c
D src/mainboard/lenovo/x1_carbon_gen1/thermal.h
M src/mainboard/lenovo/x200/acpi_tables.c
D src/mainboard/lenovo/x200/thermal.h
M src/mainboard/lenovo/x201/acpi_tables.c
D src/mainboard/lenovo/x201/thermal.h
M src/mainboard/lenovo/x220/acpi_tables.c
D src/mainboard/lenovo/x220/thermal.h
M src/mainboard/lenovo/x230/acpi_tables.c
D src/mainboard/lenovo/x230/thermal.h
M src/mainboard/lenovo/x60/acpi_tables.c
D src/mainboard/lenovo/x60/thermal.h
36 files changed, 40 insertions(+), 608 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/81/38781/1
diff --git a/src/mainboard/lenovo/l520/acpi_tables.c b/src/mainboard/lenovo/l520/acpi_tables.c
index d6452af..d8535b4 100644
--- a/src/mainboard/lenovo/l520/acpi_tables.c
+++ b/src/mainboard/lenovo/l520/acpi_tables.c
@@ -17,13 +17,12 @@
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/l520/thermal.h b/src/mainboard/lenovo/l520/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/l520/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/s230u/acpi_tables.c b/src/mainboard/lenovo/s230u/acpi_tables.c
index e7ddf82..45b5568 100644
--- a/src/mainboard/lenovo/s230u/acpi_tables.c
+++ b/src/mainboard/lenovo/s230u/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
/* The LID is open by default */
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/s230u/thermal.h b/src/mainboard/lenovo/s230u/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/s230u/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/t400/acpi_tables.c b/src/mainboard/lenovo/t400/acpi_tables.c
index 6fed293..3a48170 100644
--- a/src/mainboard/lenovo/t400/acpi_tables.c
+++ b/src/mainboard/lenovo/t400/acpi_tables.c
@@ -20,7 +20,6 @@
#include <arch/smp/mpspec.h>
#include <device/device.h>
#include <southbridge/intel/i82801ix/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
@@ -31,8 +30,8 @@
gnvs->cmap = 0x01;
gnvs->cmbp = 0x01;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
unsigned long acpi_fill_madt(unsigned long current)
diff --git a/src/mainboard/lenovo/t400/thermal.h b/src/mainboard/lenovo/t400/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/t400/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/t410/acpi_tables.c b/src/mainboard/lenovo/t410/acpi_tables.c
index 2a8d935..9513143 100644
--- a/src/mainboard/lenovo/t410/acpi_tables.c
+++ b/src/mainboard/lenovo/t410/acpi_tables.c
@@ -16,13 +16,12 @@
*/
#include <southbridge/intel/ibexpeak/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
-
/* the lid is open by default. */
gnvs->lids = 1;
+
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/t410/thermal.h b/src/mainboard/lenovo/t410/thermal.h
deleted file mode 100644
index d8c9480..0000000
--- a/src/mainboard/lenovo/t410/thermal.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/t420/acpi_tables.c b/src/mainboard/lenovo/t420/acpi_tables.c
index e2d9814..b278512 100644
--- a/src/mainboard/lenovo/t420/acpi_tables.c
+++ b/src/mainboard/lenovo/t420/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/t420/thermal.h b/src/mainboard/lenovo/t420/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/t420/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/t420s/acpi_tables.c b/src/mainboard/lenovo/t420s/acpi_tables.c
index e2d9814..b278512 100644
--- a/src/mainboard/lenovo/t420s/acpi_tables.c
+++ b/src/mainboard/lenovo/t420s/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/t420s/thermal.h b/src/mainboard/lenovo/t420s/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/t420s/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/t430/acpi_tables.c b/src/mainboard/lenovo/t430/acpi_tables.c
index ea7e52f..155989d 100644
--- a/src/mainboard/lenovo/t430/acpi_tables.c
+++ b/src/mainboard/lenovo/t430/acpi_tables.c
@@ -14,17 +14,16 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->f0of = CTDP_DOWN_THRESHOLD_OFF;
- gnvs->f0on = CTDP_DOWN_THRESHOLD_ON;
+ gnvs->f0of = 80;
+ gnvs->f0on = 90;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
- gnvs->tmax = MAX_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
+ gnvs->tmax = 105;
}
diff --git a/src/mainboard/lenovo/t430/thermal.h b/src/mainboard/lenovo/t430/thermal.h
deleted file mode 100644
index edfe3bc..0000000
--- a/src/mainboard/lenovo/t430/thermal.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Config TDP Sensor ID */
-#define CTDP_SENSOR_ID 0 /* PECI */
-
-/* Config TDP Nominal */
-#define CTDP_NOMINAL_THRESHOLD_OFF 0
-#define CTDP_NOMINAL_THRESHOLD_ON 0
-
-/* Config TDP Down */
-#define CTDP_DOWN_THRESHOLD_OFF 80
-#define CTDP_DOWN_THRESHOLD_ON 90
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-/* Tj_max value for calculating PECI CPU temperature */
-#define MAX_TEMPERATURE 105
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/t430s/acpi_tables.c b/src/mainboard/lenovo/t430s/acpi_tables.c
index e2d9814..b278512 100644
--- a/src/mainboard/lenovo/t430s/acpi_tables.c
+++ b/src/mainboard/lenovo/t430s/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/t430s/thermal.h b/src/mainboard/lenovo/t430s/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/t430s/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/t520/acpi_tables.c b/src/mainboard/lenovo/t520/acpi_tables.c
index e2d9814..b278512 100644
--- a/src/mainboard/lenovo/t520/acpi_tables.c
+++ b/src/mainboard/lenovo/t520/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/t520/thermal.h b/src/mainboard/lenovo/t520/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/t520/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/t530/acpi_tables.c b/src/mainboard/lenovo/t530/acpi_tables.c
index e2d9814..b278512 100644
--- a/src/mainboard/lenovo/t530/acpi_tables.c
+++ b/src/mainboard/lenovo/t530/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/t530/thermal.h b/src/mainboard/lenovo/t530/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/t530/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/t60/acpi_tables.c b/src/mainboard/lenovo/t60/acpi_tables.c
index 46bb0d9..8f1d6d4 100644
--- a/src/mainboard/lenovo/t60/acpi_tables.c
+++ b/src/mainboard/lenovo/t60/acpi_tables.c
@@ -15,7 +15,6 @@
*/
#include <southbridge/intel/i82801gx/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
@@ -23,6 +22,6 @@
gnvs->cmap = 0x01;
gnvs->cmbp = 0x01;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/t60/thermal.h b/src/mainboard/lenovo/t60/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/t60/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/x131e/acpi_tables.c b/src/mainboard/lenovo/x131e/acpi_tables.c
index e2d9814..b278512 100644
--- a/src/mainboard/lenovo/x131e/acpi_tables.c
+++ b/src/mainboard/lenovo/x131e/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/x131e/thermal.h b/src/mainboard/lenovo/x131e/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/x131e/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/x1_carbon_gen1/acpi_tables.c b/src/mainboard/lenovo/x1_carbon_gen1/acpi_tables.c
index e2d9814..b278512 100644
--- a/src/mainboard/lenovo/x1_carbon_gen1/acpi_tables.c
+++ b/src/mainboard/lenovo/x1_carbon_gen1/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/x1_carbon_gen1/thermal.h b/src/mainboard/lenovo/x1_carbon_gen1/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/x1_carbon_gen1/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/x200/acpi_tables.c b/src/mainboard/lenovo/x200/acpi_tables.c
index 6fed293..3a48170 100644
--- a/src/mainboard/lenovo/x200/acpi_tables.c
+++ b/src/mainboard/lenovo/x200/acpi_tables.c
@@ -20,7 +20,6 @@
#include <arch/smp/mpspec.h>
#include <device/device.h>
#include <southbridge/intel/i82801ix/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
@@ -31,8 +30,8 @@
gnvs->cmap = 0x01;
gnvs->cmbp = 0x01;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
unsigned long acpi_fill_madt(unsigned long current)
diff --git a/src/mainboard/lenovo/x200/thermal.h b/src/mainboard/lenovo/x200/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/x200/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/x201/acpi_tables.c b/src/mainboard/lenovo/x201/acpi_tables.c
index 6a29ba0..dc59b26 100644
--- a/src/mainboard/lenovo/x201/acpi_tables.c
+++ b/src/mainboard/lenovo/x201/acpi_tables.c
@@ -16,10 +16,9 @@
*/
#include <southbridge/intel/ibexpeak/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/x201/thermal.h b/src/mainboard/lenovo/x201/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/x201/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/x220/acpi_tables.c b/src/mainboard/lenovo/x220/acpi_tables.c
index e2d9814..b278512 100644
--- a/src/mainboard/lenovo/x220/acpi_tables.c
+++ b/src/mainboard/lenovo/x220/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/x220/thermal.h b/src/mainboard/lenovo/x220/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/x220/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/x230/acpi_tables.c b/src/mainboard/lenovo/x230/acpi_tables.c
index e2d9814..b278512 100644
--- a/src/mainboard/lenovo/x230/acpi_tables.c
+++ b/src/mainboard/lenovo/x230/acpi_tables.c
@@ -14,13 +14,12 @@
*/
#include <southbridge/intel/bd82x6x/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
// the lid is open by default.
gnvs->lids = 1;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/x230/thermal.h b/src/mainboard/lenovo/x230/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/x230/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
diff --git a/src/mainboard/lenovo/x60/acpi_tables.c b/src/mainboard/lenovo/x60/acpi_tables.c
index 46bb0d9..8f1d6d4 100644
--- a/src/mainboard/lenovo/x60/acpi_tables.c
+++ b/src/mainboard/lenovo/x60/acpi_tables.c
@@ -15,7 +15,6 @@
*/
#include <southbridge/intel/i82801gx/nvs.h>
-#include "thermal.h"
void acpi_create_gnvs(global_nvs_t *gnvs)
{
@@ -23,6 +22,6 @@
gnvs->cmap = 0x01;
gnvs->cmbp = 0x01;
- gnvs->tcrt = CRITICAL_TEMPERATURE;
- gnvs->tpsv = PASSIVE_TEMPERATURE;
+ gnvs->tcrt = 100;
+ gnvs->tpsv = 90;
}
diff --git a/src/mainboard/lenovo/x60/thermal.h b/src/mainboard/lenovo/x60/thermal.h
deleted file mode 100644
index 72953fd..0000000
--- a/src/mainboard/lenovo/x60/thermal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2008-2009 coresystems GmbH
- * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
- * Copyright (C) 2014 Vladimir Serbinenko
- * Copyright (C) 2016 Patrick Rudolph <siro(a)das-labor.org>
- * Copyright (C) 2017 James Ye <jye836(a)gmail.com>
- *
- * 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.
- */
-
-#ifndef MAINBOARD_THERMAL_H
-#define MAINBOARD_THERMAL_H
-
-/* Temperature which OS will shutdown at */
-#define CRITICAL_TEMPERATURE 100
-
-/* Temperature which OS will throttle CPU */
-#define PASSIVE_TEMPERATURE 90
-
-#endif /* MAINBOARD_THERMAL_H */
--
To view, visit https://review.coreboot.org/c/coreboot/+/38781
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I71f092ed7582b4931122d72f41d0b42a7569b96e
Gerrit-Change-Number: 38781
Gerrit-PatchSet: 1
Gerrit-Owner: Peter Lemenkov <lemenkov(a)gmail.com>
Gerrit-MessageType: newchange
Name of user not set #1002789 has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/38743 )
Change subject: nb/intel/haswell/peg: Add PEG driver stub
......................................................................
nb/intel/haswell/peg: Add PEG driver stub
This is a port of https://review.coreboot.org/c/coreboot/+/22337 to the
haswell northbridge. This code is necessary to support the dGPU of the
t440p. Code was cut and pasted from sandybridge with vendor IDs updated
to the correct haswell values. Tested on t440p with dGPU on Ubuntu
18.04.4 with 5.3.0-29 kernel. Without patches dmesg reports noveau is
unable to read the ROM of the dGPU as it has an invalid checksum (I
checked that the ROM in CBFS is correct). With patches drm appears to be
initalized and dmesg only reports an error I assume is related to the
Optimus setup of "DRM: Pointer to TMDS table invalid".
Change-Id: Ie5f089fb6fd774e6c61f4f9281e2945bd44edf27
Signed-off-by: Chris Morgan <macromorgan(a)hotmail.com>
---
M src/northbridge/intel/haswell/Makefile.inc
M src/northbridge/intel/haswell/acpi/haswell.asl
M src/northbridge/intel/haswell/acpi/hostbridge.asl
A src/northbridge/intel/haswell/acpi/peg.asl
A src/northbridge/intel/haswell/pcie.c
5 files changed, 156 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/43/38743/1
diff --git a/src/northbridge/intel/haswell/Makefile.inc b/src/northbridge/intel/haswell/Makefile.inc
index b986336..73a20f2 100644
--- a/src/northbridge/intel/haswell/Makefile.inc
+++ b/src/northbridge/intel/haswell/Makefile.inc
@@ -19,6 +19,7 @@
ramstage-y += memmap.c
ramstage-y += northbridge.c
+ramstage-y += pcie.c
ramstage-y += gma.c
ramstage-y += acpi.c
diff --git a/src/northbridge/intel/haswell/acpi/haswell.asl b/src/northbridge/intel/haswell/acpi/haswell.asl
index 45ebff2..2db72d7 100644
--- a/src/northbridge/intel/haswell/acpi/haswell.asl
+++ b/src/northbridge/intel/haswell/acpi/haswell.asl
@@ -16,6 +16,7 @@
#include "../haswell.h"
#include "hostbridge.asl"
+#include "peg.asl"
#include <southbridge/intel/common/rcba.h>
/* PCI Device Resource Consumption */
diff --git a/src/northbridge/intel/haswell/acpi/hostbridge.asl b/src/northbridge/intel/haswell/acpi/hostbridge.asl
index 19d788c..d567701 100644
--- a/src/northbridge/intel/haswell/acpi/hostbridge.asl
+++ b/src/northbridge/intel/haswell/acpi/hostbridge.asl
@@ -36,7 +36,8 @@
MHEN, 1, // Enable
, 13, //
MHBR, 22, // MCHBAR
-
+ Offset (0x54),
+ DVEN, 32,
Offset (0x60), // PCIe BAR
PXEN, 1, // Enable
PXSZ, 2, // BAR size
diff --git a/src/northbridge/intel/haswell/acpi/peg.asl b/src/northbridge/intel/haswell/acpi/peg.asl
new file mode 100644
index 0000000..07f7cdf
--- /dev/null
+++ b/src/northbridge/intel/haswell/acpi/peg.asl
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2017-2018 Patrick Rudolph <siro(a)das-labor.org>
+ *
+ * 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.
+ */
+
+Device (PEGP)
+{
+ Name (_ADR, 0x00010000)
+
+ Method (_STA)
+ {
+ ShiftRight (\_SB.PCI0.MCHC.DVEN, 3, Local0)
+ Return (And (Local0, 1))
+ }
+
+ Device (DEV0)
+ {
+ Name(_ADR, 0x00000000)
+ }
+}
+
+Device (PEG1)
+{
+ Name (_ADR, 0x00010001)
+
+ Method (_STA)
+ {
+ ShiftRight (\_SB.PCI0.MCHC.DVEN, 2, Local0)
+ Return (And (Local0, 1))
+ }
+
+ Device (DEV0)
+ {
+ Name(_ADR, 0x00000000)
+ }
+}
+
+Device (PEG2)
+{
+ Name (_ADR, 0x00010002)
+
+ Method (_STA)
+ {
+ ShiftRight (\_SB.PCI0.MCHC.DVEN, 1, Local0)
+ Return (And (Local0, 1))
+ }
+
+ Device (DEV0)
+ {
+ Name(_ADR, 0x00000000)
+ }
+}
diff --git a/src/northbridge/intel/haswell/pcie.c b/src/northbridge/intel/haswell/pcie.c
new file mode 100644
index 0000000..ea9fa54
--- /dev/null
+++ b/src/northbridge/intel/haswell/pcie.c
@@ -0,0 +1,89 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2017-2018 Patrick Rudolph <siro(a)das-labor.org>
+ *
+ * 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 <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pciexp.h>
+#include <device/pci_ids.h>
+#include <assert.h>
+
+static void pcie_disable(struct device *dev)
+{
+ printk(BIOS_INFO, "%s: Disabling device\n", dev_path(dev));
+ dev->enabled = 0;
+}
+
+#if CONFIG(HAVE_ACPI_TABLES)
+static const char *pcie_acpi_name(const struct device *dev)
+{
+ assert(dev);
+
+ if (dev->path.type != DEVICE_PATH_PCI)
+ return NULL;
+
+ assert(dev->bus);
+ if (dev->bus->secondary == 0)
+ switch (dev->path.pci.devfn) {
+ case PCI_DEVFN(1, 0):
+ return "PEGP";
+ case PCI_DEVFN(1, 1):
+ return "PEG1";
+ case PCI_DEVFN(1, 2):
+ return "PEG2";
+ };
+
+ struct device *const port = dev->bus->dev;
+ assert(port);
+ assert(port->bus);
+
+ if (dev->path.pci.devfn == PCI_DEVFN(0, 0) &&
+ port->bus->secondary == 0 &&
+ (port->path.pci.devfn == PCI_DEVFN(1, 0) ||
+ port->path.pci.devfn == PCI_DEVFN(1, 1) ||
+ port->path.pci.devfn == PCI_DEVFN(1, 2)))
+ return "DEV0";
+
+ return NULL;
+}
+#endif
+
+static struct pci_operations pci_ops = {
+ .set_subsystem = pci_dev_set_subsystem,
+};
+
+static struct device_operations device_ops = {
+ .read_resources = pci_bus_read_resources,
+ .set_resources = pci_dev_set_resources,
+ .enable_resources = pci_bus_enable_resources,
+ .scan_bus = pciexp_scan_bridge,
+ .reset_bus = pci_bus_reset,
+ .disable = pcie_disable,
+ .init = pci_dev_init,
+ .ops_pci = &pci_ops,
+#if CONFIG(HAVE_ACPI_TABLES)
+ .acpi_name = pcie_acpi_name,
+#endif
+};
+
+static const unsigned short pci_device_ids[] = { 0x0c01, 0x0c05, 0x0c09, 0x0c0d,
+ 0 };
+
+static const struct pci_driver pch_pcie __pci_driver = {
+ .ops = &device_ops,
+ .vendor = PCI_VENDOR_ID_INTEL,
+ .devices = pci_device_ids,
+};
--
To view, visit https://review.coreboot.org/c/coreboot/+/38743
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie5f089fb6fd774e6c61f4f9281e2945bd44edf27
Gerrit-Change-Number: 38743
Gerrit-PatchSet: 1
Gerrit-Owner: Name of user not set #1002789
Gerrit-MessageType: newchange
Brandon Breitenstein has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/38726 )
Change subject: ec/google/chromeec : Enable TCSS port set flag
......................................................................
ec/google/chromeec : Enable TCSS port set flag
Kernel needs a way to know if coreboot initialized any Type-C SubSytem
ports during boot. This API allows EC to store this information and
pass it on to the Kernel when it checks for port status.
BUG = NONE
BRANCH = NONE
TEST = Built coreboot image and tested that the flag was being set
Change-Id: Idfc1e6515411fab75b7da1b60775c26d17089c1c
Signed-off-by: Brandon Breitenstein <brandon.breitenstein(a)intel.com>
---
M src/ec/google/chromeec/ec.c
M src/ec/google/chromeec/ec.h
M src/ec/google/chromeec/ec_commands.h
M src/soc/intel/tigerlake/early_tcss.c
4 files changed, 52 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/26/38726/1
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c
index 9bcb4a3..4dd5aaf 100644
--- a/src/ec/google/chromeec/ec.c
+++ b/src/ec/google/chromeec/ec.c
@@ -1472,6 +1472,31 @@
return 0;
}
+int google_chromeec_set_early_tcss_state(int port, int state)
+{
+ struct ec_params_usb_pd_set_tcss_state params = {
+ .port = port,
+ .tcss_state = state,
+ };
+ struct chromeec_command cmd = {
+ .cmd_code = EC_CMD_USB_PD_SET_TCSS_STATE,
+ .cmd_version = 0,
+ .cmd_data_in = ¶ms,
+ .cmd_size_in = sizeof(params),
+ .cmd_data_out = NULL,
+ .cmd_dev_index = 0,
+ };
+
+ int rv;
+
+ rv = google_chromeec_command(&cmd);
+ if (rv)
+ return rv;
+
+ return 0;
+}
+
+
void google_chromeec_init(void)
{
google_chromeec_log_uptimeinfo();
diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h
index f25c0b3..9c66037 100644
--- a/src/ec/google/chromeec/ec.h
+++ b/src/ec/google/chromeec/ec.h
@@ -49,6 +49,9 @@
uint8_t google_chromeec_pd_get_port_info(int port);
/* Returns data role and type of device connected */
int google_chromeec_usb_pd_control(int port, bool *ufp, bool *dbg_acc, int *dp_mode);
+/* Set the TCSS early init state */
+int google_chromeec_set_early_tcss_state(int port, int state);
+
int google_chromeec_wait_for_displayport(long timeout);
/* Device events */
diff --git a/src/ec/google/chromeec/ec_commands.h b/src/ec/google/chromeec/ec_commands.h
index ace8e05..f84eb99 100644
--- a/src/ec/google/chromeec/ec_commands.h
+++ b/src/ec/google/chromeec/ec_commands.h
@@ -5249,7 +5249,7 @@
char state[32];
uint8_t cc_state; /* enum pd_cc_states representing cc state */
uint8_t dp_mode; /* Current DP pin mode (MODE_DP_PIN_[A-E]) */
- uint8_t reserved; /* Reserved for future use */
+ uint8_t tcss_state; /* Early boot state of Type-C Sub Systems */
uint8_t control_flags; /* USB_PD_CTRL_*flags */
uint8_t cable_speed; /* TBT_SS_* cable speed */
uint8_t cable_gen; /* TBT_GEN3_* cable rounded support */
@@ -5318,6 +5318,18 @@
uint8_t port_count;
} __ec_align1;
+/*
+ * This command synchronizes the coreboot and Kernel TCSS (Type-C Sub Systems)
+ * states by saving the coreboot's early boot TCSS state of USB-C ports. When
+ * the Kernel boots, it determines the next TCSS state based on the coreboot's
+ * early boot state available in EC.
+ */
+#define EC_CMD_USB_PD_SET_TCSS_STATE 0x0106
+struct ec_params_usb_pd_set_tcss_state {
+ uint8_t port;
+ uint8_t tcss_state;
+} __ec_align1;
+
/* Write USB-PD device FW */
#define EC_CMD_USB_PD_FW_UPDATE 0x0110
diff --git a/src/soc/intel/tigerlake/early_tcss.c b/src/soc/intel/tigerlake/early_tcss.c
index 8965f0b..4dbb2a1 100644
--- a/src/soc/intel/tigerlake/early_tcss.c
+++ b/src/soc/intel/tigerlake/early_tcss.c
@@ -28,6 +28,8 @@
#define USB_PD_MUX_TBT_ACTIVE_CABLE BIT(0) /* Active/Passive Cable */
+#define TCSS_PORT_SET 0x1
+
/* DP Mode pin definitions */
#define MODE_DP_PIN_A BIT(0)
#define MODE_DP_PIN_B BIT(1)
@@ -64,6 +66,7 @@
uint32_t tcss_res = 0;
int req_size;
int ret = 0;
+ int port_state = 0;
/* Set the PMC IPC command to USB and Sub Command to 0 */
cmd.ipc_cmd.cmd = PMC_IPC_USBC_CMD_ID;
@@ -86,6 +89,7 @@
memcpy(wbuf, tcss_req, req_size);
cmd.ipc_cmd.len = req_size;
+ port_state = TCSS_PORT_SET;
ret = pmc_send_ipc_cmd(&cmd.cmd, req_size, wbuf, rbuf);
}
@@ -115,6 +119,7 @@
memcpy(wbuf, tcss_req, req_size);
cmd.ipc_cmd.len = req_size;
+ port_state = TCSS_PORT_SET;
ret = pmc_send_ipc_cmd(&cmd.cmd, req_size, wbuf, rbuf);
}
@@ -122,6 +127,12 @@
if (ret)
printk(BIOS_ERR, "Port %d mux set failed with error %d\n", port, ret);
+ if (port_state)
+ ret = google_chromeec_set_early_tcss_state(port, port_state);
+
+ if (ret)
+ printk(BIOS_ERR, "Port %d flag was not correctly set by ec\n", port);
+
printk(BIOS_DEBUG, "Port %d tcss_res=0x%x", port, tcss_res);
}
--
To view, visit https://review.coreboot.org/c/coreboot/+/38726
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Idfc1e6515411fab75b7da1b60775c26d17089c1c
Gerrit-Change-Number: 38726
Gerrit-PatchSet: 1
Gerrit-Owner: Brandon Breitenstein <brandon.breitenstein(a)intel.com>
Gerrit-MessageType: newchange