summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-core/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-05-15 14:46:21 +0200
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-05-31 18:16:00 +0200
commitb43165328658087277b667152fdbc04fe07cba08 (patch)
treed1540adb65af28e41e9ebdfdbfe8b08470cb6887 /meta-agl-profile-core/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
parentc40ee88f6aa0b379787a9ea3c853a806892e0dd1 (diff)
3rd part of the layer/profile rework [1/2]
This is the last larger commit in this series and deals with the graphical part. We introduce the graphical profiles: - meta-agl-profile-graphical -- meta-agl-profile-graphical-html5 -- meta-agl-profile-graphical-qt5 Notable changes: - weston-ini-conf moved to the meta-agl-bsp layer. Most BSPs have bbappends, so we need to have the recipes present (but unused) even in the console images. - new image: agl-image-boot = terminal-only + network + package-manaager. Ready for using package-feeds - new image/sdk: agl-image-minimal-crosssdk - agl-service-mediaplayer has a dependency on weston, thus it cannot be in the 'core'. Moved it to profile-graphical. - The wayland-ivi-extension moved to the agl-demo-platform. - The app-framework layer included and pulled 'web-runtime' as dependency. This broke console-only images. This has been moved to be in meta-agl-demo only for now. - added and massaged the agl-features. - found and added a useful script 'oe-depends-dot' that helps to work with the dot files (produced with bitbake -g) Todo: - we'll need another pass through the packagegroups. The dependencies for the layers/profiles are now sorted-out but we might have to add/shuffle a few packages. For further details, see meta-agl/docs/profiles.md. v2: fix meta-agl/meta-security/conf/layer.conf - the immediate expansion previously used in there caused some recipes not being added to BBFILES. v3: fix packagegroup renaming (packagegroup-agl-devel -> packagegroup-agl-core-devel) v4: fix missing packagegroup inclusion (tnx Jose, Scott, Stephane) v5: fix missing packagegroup inclusion v6: explicitely put profile-graphical-qt5 on-top of profile-graphical v7: re-add 'procps' when agl-devel feature is on Bug-AGL: SPEC-145 Change-Id: I24cdcd1118932758d0c55d333338238f2a770877 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-core/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch')
-rw-r--r--meta-agl-profile-core/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch92
1 files changed, 92 insertions, 0 deletions
diff --git a/meta-agl-profile-core/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch b/meta-agl-profile-core/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
new file mode 100644
index 000000000..1b01fb156
--- /dev/null
+++ b/meta-agl-profile-core/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
@@ -0,0 +1,92 @@
+From 839ad403a2d8081a6c15f6fc2836b01919338f3c Mon Sep 17 00:00:00 2001
+From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
+Date: Mon, 12 Feb 2018 12:24:37 +0100
+Subject: [PATCH] staging: most: dim2: read clock speed from the device tree
+
+This implements reading of the clock speed parameter from the device
+tree.
+
+Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
+---
+ Documentation/devicetree/bindings/inic/microchip,inic-dim2.txt | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ hdm-dim2/dim2_hdm.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 113 insertions(+), 1 deletion(-)
+ create mode 100644 Documentation/devicetree/bindings/inic/microchip,inic-dim2.txt
+
+diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
+index 2dba917..05e1896 100644
+--- a/hdm-dim2/dim2_hdm.c
++++ b/hdm-dim2/dim2_hdm.c
+@@ -698,6 +698,42 @@ static void dma_free(struct mbo *mbo, u32 size)
+
+ static const struct of_device_id dim2_of_match[];
+
++static struct {
++ const char *clock_speed;
++ u8 clk_speed;
++} clk_mt[] = {
++ { "256fs", CLK_256FS },
++ { "512fs", CLK_512FS },
++ { "1024fs", CLK_1024FS },
++ { "2048fs", CLK_2048FS },
++ { "3072fs", CLK_3072FS },
++ { "4096fs", CLK_4096FS },
++ { "6144fs", CLK_6144FS },
++ { "8192fs", CLK_8192FS },
++};
++
++/**
++ * get_dim2_clk_speed - converts string to DIM2 clock speed value
++ *
++ * @clock_speed: string in the format "{NUMBER}fs"
++ * @val: pointer to get one of the CLK_{NUMBER}FS values
++ *
++ * By success stores one of the CLK_{NUMBER}FS in the *val and returns 0,
++ * otherwise returns -EINVAL.
++ */
++static int get_dim2_clk_speed(const char *clock_speed, u8 *val)
++{
++ int i;
++
++ for (i = 0; i < ARRAY_SIZE(clk_mt); i++) {
++ if (!strcmp(clock_speed, clk_mt[i].clock_speed)) {
++ *val = clk_mt[i].clk_speed;
++ return 0;
++ }
++ }
++ return -EINVAL;
++}
++
+ /*
+ * dim2_probe - dim2 probe handler
+ * @pdev: platform device structure
+@@ -708,6 +744,7 @@ static const struct of_device_id dim2_of_match[];
+ static int dim2_probe(struct platform_device *pdev)
+ {
+ const struct dim2_platform_data *pdata;
++ const char *clock_speed;
+ struct dim2_hdm *dev;
+ struct resource *res;
+ int ret, i;
+@@ -725,7 +762,18 @@ static int dim2_probe(struct platform_device *pdev)
+
+ platform_set_drvdata(pdev, dev);
+
+- dev->clk_speed = CLK_4096FS;
++ ret = of_property_read_string(pdev->dev.of_node,
++ "microchip,clock-speed", &clock_speed);
++ if (ret) {
++ dev_err(&pdev->dev, "missing dt property clock-speed\n");
++ return ret;
++ }
++
++ ret = get_dim2_clk_speed(clock_speed, &dev->clk_speed);
++ if (ret) {
++ dev_err(&pdev->dev, "bad dt property clock-speed\n");
++ return ret;
++ }
+
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ dev->io_base = devm_ioremap_resource(&pdev->dev, res);
+--
+libgit2 0.26.0