<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: CAAM Black Blob Implementation on i.MX8 in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197493#M166271</link>
    <description>&lt;P&gt;Hi Yuri,&lt;/P&gt;&lt;P&gt;Can you help me understand what provides /dev/caam-keygen ? I'm working with the same kernel version (5.4.47) as AN12714 with seemingly the same list of packages.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
    <pubDate>Thu, 10 Dec 2020 15:51:01 GMT</pubDate>
    <dc:creator>kile964</dc:creator>
    <dc:date>2020-12-10T15:51:01Z</dc:date>
    <item>
      <title>CAAM Black Blob Implementation on i.MX8</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1196962#M166206</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm following the &lt;A href="https://www.nxp.com/docs/en/user-guide/IMX_LINUX_USERS_GUIDE.pdf" target="_self"&gt;i.MX Linux Users Guide&lt;/A&gt;&amp;nbsp; document and trying to implement CAAM black blob functionality. The guide refers to the caam-keygen utility, which doesn't seem to be included in the community BSP. I found this utility instead &lt;A href="https://source.codeaurora.org/external/imx/keyctl_caam/?h=imx_5.4.47_2.2.0" target="_self"&gt;here&lt;/A&gt;.&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I compile and run on the processor, I get the following error:&lt;/P&gt;&lt;PRE&gt;Unable to open device /dev/caam-keygen&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Otherwise, I get successful results for all the checks listed in the guide:&lt;/P&gt;&lt;PRE&gt;# grep -B1 -A2 tk /proc/crypto&lt;BR /&gt;name : tk(ecb(aes))&lt;BR /&gt;driver : tk-ecb-aes-caam&lt;BR /&gt;module : kernel&lt;BR /&gt;priority : 1&lt;BR /&gt;--&lt;BR /&gt;&lt;BR /&gt;name : tk(cbc(aes))&lt;BR /&gt;driver : tk-cbc-aes-caam&lt;BR /&gt;module : kernel&lt;BR /&gt;priority : 1&lt;BR /&gt;&lt;BR /&gt;# dmsetup targets&lt;BR /&gt;crypt v1.19.0&lt;BR /&gt;striped v1.6.0&lt;BR /&gt;linear v1.4.0&lt;BR /&gt;error v1.5.0&lt;/PRE&gt;&lt;P&gt;Processor is IMX8MM. I'm using Yocto dunfell (boundary devices BSP). I have added all of the packages recommended in the guide docs and I believe all kernel configuration parameters are enabled correctly.&lt;/P&gt;&lt;PRE&gt;&amp;nbsp;# zcat /proc/config.gz | grep CAAM&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_DMA=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=255&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=2048&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API=y&lt;BR /&gt;# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE=7&lt;BR /&gt;# CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST is not set&lt;BR /&gt;CONFIG_CRYPTO_DEV_FSL_CAAM_JR_UIO=y&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Dec 2020 22:53:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1196962#M166206</guid>
      <dc:creator>kile964</dc:creator>
      <dc:date>2020-12-09T22:53:04Z</dc:date>
    </item>
    <item>
      <title>Re: CAAM Black Blob Implementation on i.MX8</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197197#M166239</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Which kernel version you are using on your target?&lt;/P&gt;&lt;P&gt;The link of the keyctl_caam that you have posted i.e. &lt;A href="https://source.codeaurora.org/external/imx/keyctl_caam/?h=imx_5.4.47_2.2.0" target="_blank" rel="noopener"&gt;https://source.codeaurora.org/external/imx/keyctl_caam/?h=imx_5.4.47_2.2.0&amp;nbsp;&lt;/A&gt;is on 5.4.47 branch!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Problems can happen due to the Linux kernel API mismatches, I mean the kernel that you are running and the kernel that&amp;nbsp;&lt;A href="https://source.codeaurora.org/external/imx/keyctl_caam/?h=imx_5.4.47_2.2.0" target="_blank" rel="noopener"&gt;keyctl_caam&lt;/A&gt;&amp;nbsp;has been written for.&lt;/P&gt;&lt;P&gt;If this is the case, then it would be wise to compile the&amp;nbsp;&lt;A href="https://source.codeaurora.org/external/imx/keyctl_caam/?h=imx_5.4.47_2.2.0" target="_blank" rel="noopener"&gt;keyctl_caam&lt;/A&gt;&amp;nbsp;from a branch that matches your Linux kernel version. However, I am not sure that this can be the problem!&lt;/P&gt;&lt;P&gt;The other point is that there is apparently just one single branch on the&amp;nbsp;&lt;A href="https://source.codeaurora.org/external/imx/keyctl_caam/?h=imx_5.4.47_2.2.0" target="_blank" rel="noopener"&gt;keyctl_caam&lt;/A&gt;&amp;nbsp;i.e.&amp;nbsp;5.4.47. So it seems this should not be the problem.&lt;/P&gt;&lt;P&gt;I am facing the same problem on i.MX6D. I am running kernel 4.14.98 from boundarydevices.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;# caam-keygen create randomkey ecb -s 16&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;Unable to open device /dev/caam-keygen&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;# cd /; find -name "caam-keygen" &lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;./usr/bin/caam-keygen&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;And the doc says:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;root@imx8mmevk:~# cd /; find -name "caam-keygen" &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;./usr/bin/caam-keygen &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;./dev/caam-keygen &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;./sys/class/misc/caam-keygen&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;./sys/devices/virtual/misc/caam-keygen &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obviously, I am missing&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;./dev/caam-keygen&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt;node! but why ?!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;a_1359&lt;/P&gt;</description>
      <pubDate>Fri, 11 Dec 2020 09:47:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197197#M166239</guid>
      <dc:creator>a_1359</dc:creator>
      <dc:date>2020-12-11T09:47:34Z</dc:date>
    </item>
    <item>
      <title>Re: CAAM Black Blob Implementation on i.MX8</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197231#M166242</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/180096"&gt;@kile964&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Use AN12714 (i.MX Encrypted Storage Using CAAM Secure Keys):&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/application-note/AN12714.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/application-note/AN12714.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Also: AN12554 (Demo Application to Generate Red/Black Blobs Using CAAM&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and Encrypt/Decrypt Data)&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/application-note/AN12554.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/application-note/AN12554.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; The recent app note - hope - will be updated soon.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt;Yuri.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Dec 2020 08:17:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197231#M166242</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2020-12-10T08:17:35Z</dc:date>
    </item>
    <item>
      <title>Re: CAAM Black Blob Implementation on i.MX8</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197328#M166248</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/1941"&gt;@Yuri&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I am also facing the same problem on an iMX6D platform:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;~# caam-keygen create randomkey ecb -s 16
Unable to open device /dev/caam-keygen&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Running the following kernel version on the target from boundaydevices:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;# uname -r
4.14.98-2.0.0_ga+yocto+gde875982909f&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;with the following configs:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;# zcat /proc/config.gz | grep -i caam                                                                                        
CONFIG_CRYPTO_DEV_FSL_CAAM=y
CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y
CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9
# CONFIG_CRYPTO_DEV_FSL_CAAM_INTC is not set
CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API=y
# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set
CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
CONFIG_CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE=7
# CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST is not set
# CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO is not set
# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set
CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y
CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, I do not have the&amp;nbsp;./dev/caam-keygen node as mentioned in the docs:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;# cd /; find -name "caam-keygen" 
./usr/bin/caam-keygen&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your feedback is appreciated!&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;a_1359&lt;/P&gt;</description>
      <pubDate>Thu, 10 Dec 2020 10:03:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197328#M166248</guid>
      <dc:creator>a_1359</dc:creator>
      <dc:date>2020-12-10T10:03:20Z</dc:date>
    </item>
    <item>
      <title>Re: CAAM Black Blob Implementation on i.MX8</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197416#M166259</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/1941"&gt;@Yuri&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;could you please let me know why my message is deleted in this post?&lt;/P&gt;&lt;P&gt;I have got it working right now! but really wondering how my post including only and only pure technical stuff should be deleted in this post.&lt;BR /&gt;I believe that in NXP community forum people should treat each other with mutual respect.&lt;BR /&gt;I am disappointed about this but happy that I have got it working on my platform without any support in just couple of hours:&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="a_1359_0-1607631394185.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/132397i5905E0245DA22B79/image-size/medium?v=v2&amp;amp;px=400" role="button" title="a_1359_0-1607631394185.png" alt="a_1359_0-1607631394185.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;a_1359&lt;/P&gt;</description>
      <pubDate>Thu, 10 Dec 2020 20:19:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197416#M166259</guid>
      <dc:creator>a_1359</dc:creator>
      <dc:date>2020-12-10T20:19:37Z</dc:date>
    </item>
    <item>
      <title>Re: CAAM Black Blob Implementation on i.MX8</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197493#M166271</link>
      <description>&lt;P&gt;Hi Yuri,&lt;/P&gt;&lt;P&gt;Can you help me understand what provides /dev/caam-keygen ? I'm working with the same kernel version (5.4.47) as AN12714 with seemingly the same list of packages.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Dec 2020 15:51:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1197493#M166271</guid>
      <dc:creator>kile964</dc:creator>
      <dc:date>2020-12-10T15:51:01Z</dc:date>
    </item>
    <item>
      <title>Re: CAAM Black Blob Implementation on i.MX8</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1199147#M166448</link>
      <description>&lt;P&gt;I, too, am building a boundary devices bsp, though I was on kernel 5.4.70. After some back and forth with them, they showed me how to source the latest boundary-imx (AKA linux-boundary) kernel from 5.4.80 which includes the /dev/caam-keygen node. This isn't yet included in the official dunfell release.&lt;/P&gt;&lt;P&gt;Here's the recipe - changes to latest dunfell release are &lt;STRONG&gt;bold&lt;/STRONG&gt;.&lt;/P&gt;&lt;PRE&gt;# Adapted from linux-imx.inc, copyright (C) 2013, 2014 O.S. Systems Software LTDA&lt;BR /&gt;# Released under the MIT license (see COPYING.MIT for the terms)&lt;BR /&gt;&lt;BR /&gt;require recipes-kernel/linux/linux-imx.inc&lt;BR /&gt;&lt;BR /&gt;SUMMARY = "Linux kernel for Boundary Devices boards"&lt;BR /&gt;&lt;BR /&gt;LICENSE = "GPLv2"&lt;BR /&gt;LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"&lt;BR /&gt;&lt;BR /&gt;LINUX_VERSION = "&lt;STRONG&gt;5.4.80&lt;/STRONG&gt;"&lt;BR /&gt;&lt;BR /&gt;SRC_URI = "git://github.com/boundarydevices/linux-imx6.git;branch=${SRCBRANCH} \&lt;BR /&gt;"&lt;BR /&gt;&lt;BR /&gt;LOCALVERSION = "-2.2.0-ga+yocto"&lt;BR /&gt;SRCBRANCH = "boundary-imx_5.4.x_&lt;STRONG&gt;2.2.0&lt;/STRONG&gt;"&lt;BR /&gt;SRCREV = "&lt;STRONG&gt;38b03360c36c606656c65d9128d3cd29ea0ce6d6&lt;/STRONG&gt;"&lt;BR /&gt;DEPENDS += "lzop-native bc-native"&lt;BR /&gt;COMPATIBLE_MACHINE = "(nitrogen6x|nitrogen6x-lite|nitrogen6sx|nitrogen7|nitrogen8m|nitrogen8mm|nitrogen8mn)"&lt;BR /&gt;&lt;BR /&gt;KBUILD_DEFCONFIG ?= "boundary_defconfig"&lt;BR /&gt;&lt;BR /&gt;S = "${WORKDIR}/git"&lt;BR /&gt;&lt;BR /&gt;"../sources/meta-freescale-3rdparty/recipes-kernel/linux/linux-boundary_5.4.bb" 24L, 780C&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Dec 2020 20:21:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/CAAM-Black-Blob-Implementation-on-i-MX8/m-p/1199147#M166448</guid>
      <dc:creator>kile964</dc:creator>
      <dc:date>2020-12-14T20:21:43Z</dc:date>
    </item>
  </channel>
</rss>

