summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/recipes-kernel/dp
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@amd.com>2024-05-20 21:12:39 -0600
committerMark Hatle <mark.hatle@amd.com>2024-05-21 07:56:41 -0600
commitc7a37a7210cac4e489aa5eddf436060e33745f89 (patch)
tree90ca3625a4b6fe0a70c99075d5b679cc4bd89fd7 /meta-xilinx-core/recipes-kernel/dp
parente85496a095bd39e26c4302bd7982a46e5c052de0 (diff)
parentc87425ab6115af3eab18ac87669e76e09ad76b06 (diff)
downloadmeta-xilinx-c7a37a7210cac4e489aa5eddf436060e33745f89.tar.gz
Merge remote-tracking branch 'xilinx/master' into master_2024.1
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Diffstat (limited to 'meta-xilinx-core/recipes-kernel/dp')
-rw-r--r--meta-xilinx-core/recipes-kernel/dp/files/0001-Support-both-pre-6.4.0-and-current-i2c-probing.patch343
-rwxr-xr-xmeta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.1.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.1.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.2.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb (renamed from meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb)5
6 files changed, 346 insertions, 98 deletions
diff --git a/meta-xilinx-core/recipes-kernel/dp/files/0001-Support-both-pre-6.4.0-and-current-i2c-probing.patch b/meta-xilinx-core/recipes-kernel/dp/files/0001-Support-both-pre-6.4.0-and-current-i2c-probing.patch
new file mode 100644
index 00000000..dde59936
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/dp/files/0001-Support-both-pre-6.4.0-and-current-i2c-probing.patch
@@ -0,0 +1,343 @@
1From adc957ce85d431da42dc42ed4074322d6c94932f Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@amd.com>
3Date: Thu, 16 May 2024 20:31:29 -0600
4Subject: [PATCH] Support both pre 6.4.0 and current i2c probing
5
6Signed-off-by: Mark Hatle <mark.hatle@amd.com>
7---
8 dp/xfmc/dp141.c | 13 +++++++++++++
9 dp/xfmc/fmc.c | 13 +++++++++++++
10 dp/xfmc/fmc64.c | 14 ++++++++++++++
11 dp/xfmc/fmc65.c | 13 +++++++++++++
12 dp/xfmc/idt.c | 21 +++++++++++++++++----
13 dp/xfmc/mcdp6000.c | 13 +++++++++++++
14 dp/xfmc/tipower.c | 13 +++++++++++++
15 7 files changed, 96 insertions(+), 4 deletions(-)
16
17diff --git a/dp/xfmc/dp141.c b/dp/xfmc/dp141.c
18index dfdb6f4..5fddd2b
19--- a/dp/xfmc/dp141.c
20+++ b/dp/xfmc/dp141.c
21@@ -14,6 +14,7 @@
22 #include <linux/module.h>
23 #include <linux/regmap.h>
24 #include <linux/slab.h>
25+#include <linux/version.h>
26
27 /**************************** Type Definitions *******************************/
28
29@@ -105,7 +106,12 @@ static const struct i2c_device_id dp141_id[] = {
30 };
31 MODULE_DEVICE_TABLE(i2c, dp141_id);
32
33+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
34 static int dp141_probe(struct i2c_client *client)
35+#else
36+static int dp141_probe(struct i2c_client *client,
37+ const struct i2c_device_id *id)
38+#endif
39 {
40 int ret;
41
42@@ -134,9 +140,16 @@ err_regmap:
43 return ret;
44 }
45
46+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
47 static void dp141_remove(struct i2c_client *client)
48 {
49 }
50+#else
51+static int dp141_remove(struct i2c_client *client)
52+{
53+ return 0;
54+}
55+#endif
56
57 static struct i2c_driver dp141_i2c_driver = {
58 .driver = {
59diff --git a/dp/xfmc/fmc.c b/dp/xfmc/fmc.c
60index 3447785..2ed136c
61--- a/dp/xfmc/fmc.c
62+++ b/dp/xfmc/fmc.c
63@@ -14,6 +14,7 @@
64 #include <linux/module.h>
65 #include <linux/regmap.h>
66 #include <linux/slab.h>
67+#include <linux/version.h>
68
69 /**************************** Type Definitions *******************************/
70
71@@ -93,7 +94,12 @@ static const struct i2c_device_id fmc_id[] = {
72 };
73 MODULE_DEVICE_TABLE(i2c, fmc_id);
74
75+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
76 static int fmc_probe(struct i2c_client *client)
77+#else
78+static int fmc_probe(struct i2c_client *client,
79+ const struct i2c_device_id *id)
80+#endif
81 {
82 int ret;
83
84@@ -121,9 +127,16 @@ err_regmap:
85 return ret;
86 }
87
88+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
89 static void fmc_remove(struct i2c_client *client)
90 {
91 }
92+#else
93+static int fmc_remove(struct i2c_client *client)
94+{
95+ return 0;
96+}
97+#endif
98
99 static struct i2c_driver fmc_i2c_driver = {
100 .driver = {
101diff --git a/dp/xfmc/fmc64.c b/dp/xfmc/fmc64.c
102index 6f5562c..a0bad7a
103--- a/dp/xfmc/fmc64.c
104+++ b/dp/xfmc/fmc64.c
105@@ -14,6 +14,8 @@
106 #include <linux/module.h>
107 #include <linux/regmap.h>
108 #include <linux/slab.h>
109+#include <linux/version.h>
110+
111 /**************************** Type Definitions *******************************/
112 static const struct regmap_config fmc64_regmap_config = {
113 .reg_bits = 16,
114@@ -89,7 +91,12 @@ static const struct i2c_device_id fmc64_id[] = {
115 };
116 MODULE_DEVICE_TABLE(i2c, fmc64_id);
117
118+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
119 static int fmc64_probe(struct i2c_client *client)
120+#else
121+static int fmc64_probe(struct i2c_client *client,
122+ const struct i2c_device_id *id)
123+#endif
124 {
125 int ret;
126
127@@ -118,9 +125,16 @@ err_regmap:
128 return ret;
129 }
130
131+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
132 static void fmc64_remove(struct i2c_client *client)
133 {
134 }
135+#else
136+static int fmc64_remove(struct i2c_client *client)
137+{
138+ return 0;
139+}
140+#endif
141
142 static struct i2c_driver fmc64_i2c_driver = {
143 .driver = {
144diff --git a/dp/xfmc/fmc65.c b/dp/xfmc/fmc65.c
145index 9f091f9..ce7f884
146--- a/dp/xfmc/fmc65.c
147+++ b/dp/xfmc/fmc65.c
148@@ -14,6 +14,7 @@
149 #include <linux/module.h>
150 #include <linux/regmap.h>
151 #include <linux/slab.h>
152+#include <linux/version.h>
153
154 /**************************** Type Definitions *******************************/
155
156@@ -91,7 +92,12 @@ static const struct i2c_device_id fmc65_id[] = {
157 };
158 MODULE_DEVICE_TABLE(i2c, fmc65_id);
159
160+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
161 static int fmc65_probe(struct i2c_client *client)
162+#else
163+static int fmc65_probe(struct i2c_client *client,
164+ const struct i2c_device_id *id)
165+#endif
166 {
167 int ret;
168
169@@ -120,9 +126,16 @@ err_regmap:
170 return ret;
171 }
172
173+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
174 static void fmc65_remove(struct i2c_client *client)
175 {
176 }
177+#else
178+static int fmc65_remove(struct i2c_client *client)
179+{
180+ return 0;
181+}
182+#endif
183
184 static struct i2c_driver fmc65_i2c_driver = {
185 .driver = {
186diff --git a/dp/xfmc/idt.c b/dp/xfmc/idt.c
187index 348c863..f332277
188--- a/dp/xfmc/idt.c
189+++ b/dp/xfmc/idt.c
190@@ -17,6 +17,7 @@
191 #include <linux/of_gpio.h>
192 #include <linux/regmap.h>
193 #include <linux/slab.h>
194+#include <linux/version.h>
195
196 #define IDT_8T49N24X_REVID 0x0 /**< Device Revision */
197 #define IDT_8T49N24X_DEVID 0x0607 /**< Device ID Code */
198@@ -38,8 +39,8 @@
199 #define IDT_8T49N24X_P_MAX pow(2, 22) //!< Maximum P divider value
200 #define IDT_8T49N24X_M_MAX pow(2, 24) //!< Maximum M multiplier value
201
202-#define TRUE 1
203-#define FALSE 0
204+#define IDT_TRUE 1
205+#define IDT_FALSE 0
206 #define XPAR_IIC_0_BASEADDR 0xA0080000
207 #define I2C_IDT8N49_ADDR 0x7C
208 /*
209@@ -455,7 +456,7 @@ int IDT_8T49N24x_Init(void)
210 int ret = 0;
211
212 msleep_range(30);
213- ret = idt_enable(FALSE);
214+ ret = idt_enable(IDT_FALSE);
215 if (ret)
216 dev_dbg(&idt->client->dev,
217 "IDT_8T49N24x_enable 0 I2C progmming failed\n");
218@@ -468,7 +469,7 @@ int IDT_8T49N24x_Init(void)
219
220 msleep_range(30);
221 /* enable DPLL and APLL calibration. */
222- ret = idt_enable(TRUE);
223+ ret = idt_enable(IDT_TRUE);
224 if (ret)
225 dev_dbg(&idt->client->dev,
226 "IDT_8T49N24x_enable 1 I2C progmming failed\n");
227@@ -489,7 +490,12 @@ static const struct i2c_device_id idt_id[] = {
228 };
229 MODULE_DEVICE_TABLE(i2c, idt_id);
230
231+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
232 static int idt_probe(struct i2c_client *client)
233+#else
234+static int idt_probe(struct i2c_client *client,
235+ const struct i2c_device_id *id)
236+#endif
237 {
238 int ret;
239
240@@ -517,9 +523,16 @@ err_regmap:
241 return ret;
242 }
243
244+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
245 static void idt_remove(struct i2c_client *client)
246 {
247 }
248+#else
249+static int idt_remove(struct i2c_client *client)
250+{
251+ return 0;
252+}
253+#endif
254
255 static struct i2c_driver idt_i2c_driver = {
256 .driver = {
257diff --git a/dp/xfmc/mcdp6000.c b/dp/xfmc/mcdp6000.c
258index 5a7c5b2..f13979b
259--- a/dp/xfmc/mcdp6000.c
260+++ b/dp/xfmc/mcdp6000.c
261@@ -14,6 +14,7 @@
262 #include <linux/module.h>
263 #include <linux/regmap.h>
264 #include <linux/slab.h>
265+#include <linux/version.h>
266
267 #define SWAP_BYTES(u32Value) ((u32Value & 0x000000FF) << 24)\
268 |((u32Value & 0x0000FF00) << 8) \
269@@ -363,7 +364,12 @@ static const struct i2c_device_id mcdp6000_id[] = {
270 };
271 MODULE_DEVICE_TABLE(i2c, mcdp6000_id);
272
273+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
274 static int mcdp6000_probe(struct i2c_client *client)
275+#else
276+static int mcdp6000_probe(struct i2c_client *client,
277+ const struct i2c_device_id *id)
278+#endif
279 {
280 int ret;
281
282@@ -393,9 +399,16 @@ err_regmap:
283 return ret;
284 }
285
286+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
287 static void mcdp6000_remove(struct i2c_client *client)
288 {
289 }
290+#else
291+static int mcdp6000_remove(struct i2c_client *client)
292+{
293+ return 0;
294+}
295+#endif
296
297 static struct i2c_driver mcdp6000_i2c_driver = {
298 .driver = {
299diff --git a/dp/xfmc/tipower.c b/dp/xfmc/tipower.c
300index 46c3de1..6d247a8
301--- a/dp/xfmc/tipower.c
302+++ b/dp/xfmc/tipower.c
303@@ -14,6 +14,7 @@
304 #include <linux/module.h>
305 #include <linux/regmap.h>
306 #include <linux/slab.h>
307+#include <linux/version.h>
308
309 /**************************** Type Definitions *******************************/
310
311@@ -131,7 +132,12 @@ static const struct i2c_device_id tipower_id[] = {
312 };
313 MODULE_DEVICE_TABLE(i2c, tipower_id);
314
315+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
316 static int tipower_probe(struct i2c_client *client)
317+#else
318+static int tipower_probe(struct i2c_client *client,
319+ const struct i2c_device_id *id)
320+#endif
321 {
322 int ret;
323
324@@ -162,9 +168,16 @@ err_regmap:
325 return ret;
326 }
327
328+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
329 static void tipower_remove(struct i2c_client *client)
330 {
331 }
332+#else
333+static int tipower_remove(struct i2c_client *client)
334+{
335+ return 0;
336+}
337+#endif
338
339 static struct i2c_driver tipower_i2c_driver = {
340 .driver = {
341--
3422.34.1
343
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.1.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.1.bb
deleted file mode 100755
index 31c810ba..00000000
--- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "Xilinx DisplayPort Linux Kernel module"
2DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XLNX_DP_VERSION = "5.10.0"
8PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2022.1"
13REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
14SRCREV ?= "9a025fdb7134a8af12de8d69f5a428c8284ae9b3"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb
deleted file mode 100644
index dda6ec31..00000000
--- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "Xilinx DisplayPort Linux Kernel module"
2DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XLNX_DP_VERSION = "5.10.0"
8PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2022.2"
13REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
14SRCREV ?= "c57b2ce95ee6c86f35caecbc7007644ff8f6d337"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.1.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.1.bb
deleted file mode 100644
index 28770994..00000000
--- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "Xilinx DisplayPort Linux Kernel module"
2DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XLNX_DP_VERSION = "6.1.0"
8PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2023.1"
13REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
14SRCREV ?= "5b0969ac09f301c33bccc140c8f60e832f5cf222"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.2.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.2.bb
deleted file mode 100644
index d1c6bd3d..00000000
--- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.2.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "Xilinx DisplayPort Linux Kernel module"
2DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XLNX_DP_VERSION = "6.1.0"
8PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2023.2"
13REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
14SRCREV ?= "5b0969ac09f301c33bccc140c8f60e832f5cf222"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb
index 503cee02..3aaac030 100644
--- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb
+++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb
@@ -4,8 +4,7 @@ SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only" 4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" 5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6 6
7XLNX_DP_VERSION = "6.1.0" 7PV .= "+git"
8PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9 8
10S = "${WORKDIR}/git" 9S = "${WORKDIR}/git"
11 10
@@ -16,6 +15,8 @@ SRCREV ?= "e20942b256e6fb18eaef919c7441f65ad8afcf43"
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 15BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}" 16SRC_URI = "${REPO};${BRANCHARG}"
18 17
18SRC_URI += "file://0001-Support-both-pre-6.4.0-and-current-i2c-probing.patch"
19
19inherit module 20inherit module
20 21
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" 22EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"