[meta-freescale] [meta-fsl-arm][PATCH] A simple script to print system clocks

Leonardo Sandoval leonardo.sandoval at freescale.com
Thu Jan 10 09:53:45 PST 2013


Signed-off-by: Leonardo Sandoval <leonardo.sandoval at freescale.com>
---
 recipes-bsp/imx-test/imx-test.inc       |    5 ++++-
 recipes-bsp/imx-test/imx-test/clocks.sh |   29 +++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100755 recipes-bsp/imx-test/imx-test/clocks.sh

diff --git a/recipes-bsp/imx-test/imx-test.inc b/recipes-bsp/imx-test/imx-test.inc
index 52ead1c..b3b9a07 100644
--- a/recipes-bsp/imx-test/imx-test.inc
+++ b/recipes-bsp/imx-test/imx-test.inc
@@ -11,7 +11,9 @@ PLATFORM_mx6 = "IMX6Q"
 PLATFORM_mx53 = "IMX53"
 PLATFORM_mx51 = "IMX51"
 
-SRC_URI = "${FSL_MIRROR}/imx-test-${PV}.tar.gz"
+SRC_URI = "${FSL_MIRROR}/imx-test-${PV}.tar.gz \
+           file://clocks.sh"
+
 
 do_compile() {
         LDFLAGS="" make PLATFORM=${PLATFORM} LINUXPATH=${STAGING_KERNEL_DIR} \
@@ -21,6 +23,7 @@ do_compile() {
 do_install() {
         install -d ${D}/unit_tests
         install -m 755 test-utils.sh ${D}/unit_tests/test-utils.sh
+        install -m 0755 ${WORKDIR}/clocks.sh ${D}/unit_tests/clocks.sh
         install -m 755 ${S}/platform/${PLATFORM}/* ${D}/unit_tests/
 }
 
diff --git a/recipes-bsp/imx-test/imx-test/clocks.sh b/recipes-bsp/imx-test/imx-test/clocks.sh
new file mode 100755
index 0000000..2121bef
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test/clocks.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# This script is taken directly from the section 5.10 of the Freescale Application Note
+# AN4509 and it simple prints the CPU clocks in a nice format
+
+saved_path=$PWD
+if ! mount|grep -sq '/sys/kernel/debug'; then
+  mount -t debugfs none /sys/kernel/debug
+fi
+
+printf "%-24s %-20s %3s %9s\n" "clock" "parent" "use" "flags" "rate"
+
+for foo in $(find /sys/kernel/debug/clock -type d); do
+  if [ "$foo" = '/sys/kernel/debug/clock' ]; then
+    continue
+  fi
+  cd $foo
+  ec="$(cat usecount)"
+  rate="$(cat rate)"
+  flag="$(cat flags)"
+  clk="$(basename $foo)"
+  cd ..
+  parent="$(basename $PWD)"
+  if [ "$parent" = 'clock' ]; then
+    parent=" ---"
+  fi
+  printf "%-24s %-24s %2d %2d %10d\n" "$clk" "$parent" "$ec" "$flag" "$rate"
+  cd $saved_path
+done
-- 
1.7.9.5





More information about the meta-freescale mailing list