summaryrefslogtreecommitdiff
path: root/sys-kernel/linux-image-redcore/files/5.11-k10temp-add-Renoir-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/linux-image-redcore/files/5.11-k10temp-add-Renoir-support.patch')
-rw-r--r--sys-kernel/linux-image-redcore/files/5.11-k10temp-add-Renoir-support.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/sys-kernel/linux-image-redcore/files/5.11-k10temp-add-Renoir-support.patch b/sys-kernel/linux-image-redcore/files/5.11-k10temp-add-Renoir-support.patch
new file mode 100644
index 00000000..505175a2
--- /dev/null
+++ b/sys-kernel/linux-image-redcore/files/5.11-k10temp-add-Renoir-support.patch
@@ -0,0 +1,39 @@
+diff -Naur linux-5.11.6/drivers/hwmon/k10temp.c linux-5.11.6-p/drivers/hwmon/k10temp.c
+--- linux-5.11.6/drivers/hwmon/k10temp.c 2021-03-12 12:33:13.699460679 +0100
++++ linux-5.11.6-p/drivers/hwmon/k10temp.c 2021-03-12 12:34:38.796994986 +0100
+@@ -87,6 +87,7 @@
+ /* F17h thermal registers through SMN */
+ #define F17H_M01H_SVI_TEL_PLANE0 (ZEN_SVI_BASE + 0xc)
+ #define F17H_M01H_SVI_TEL_PLANE1 (ZEN_SVI_BASE + 0x10)
++
+ /* ZEN2 SP3/TR */
+ #define F17H_M31H_SVI_TEL_PLANE0 (ZEN_SVI_BASE + 0x14)
+ #define F17H_M31H_SVI_TEL_PLANE1 (ZEN_SVI_BASE + 0x10)
+@@ -95,6 +96,11 @@
+ #define F17H_M71H_SVI_TEL_PLANE0 (ZEN_SVI_BASE + 0x10)
+ #define F17H_M71H_SVI_TEL_PLANE1 (ZEN_SVI_BASE + 0xc)
+
++/* Renoir is different */
++#define F17H_RN_SVI 0x0006F000
++#define F17H_RN_SVI_TEL_PLANE0 (F17H_RN_SVI + 0x38)
++#define F17H_RN_SVI_TEL_PLANE1 (F17H_RN_SVI + 0x3C)
++
+ /* fixme: figure these */
+ #define F17H_M01H_CFACTOR_ICORE 1000000 /* 1A / LSB */
+ #define F17H_M01H_CFACTOR_ISOC 250000 /* 0.25A / LSB */
+@@ -544,6 +550,15 @@
+ data->svi_addr[1] = F17H_M31H_SVI_TEL_PLANE1;
+ k10temp_get_ccd_support(pdev, data, 8);
+ break;
++ case 0x60: /* Renoir APUs */
++ data->show_current = true;
++ /* FIXME */
++ data->cfactor[0] = F17H_M31H_CFACTOR_ICORE;
++ data->cfactor[1] = F17H_M31H_CFACTOR_ISOC;
++ data->svi_addr[0] = F17H_RN_SVI_TEL_PLANE0;
++ data->svi_addr[1] = F17H_RN_SVI_TEL_PLANE1;
++ k10temp_get_ccd_support(pdev, data, 4); /* probably not needed */
++ break;
+ case 0x71: /* ZEN2 Ryzen Desktop */
+ data->show_current = true;
+ data->cfactor[0] = F17H_M31H_CFACTOR_ICORE;