From patchwork Mon Aug 13 15:53:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Wiklander X-Patchwork-Id: 144031 Delivered-To: patches@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp3247090ljj; Mon, 13 Aug 2018 08:54:17 -0700 (PDT) X-Received: by 2002:a19:548e:: with SMTP id b14-v6mr10873697lfl.10.1534175657199; Mon, 13 Aug 2018 08:54:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534175657; cv=none; d=google.com; s=arc-20160816; b=rVnyel0YLPjsTjRDfxbAIUcpr/nOqmnse/oKbLrAAbVDSo3CFFBVQr5QOo7pTpKMh5 57cE+aDuG/qb8mQfXF4vizhckg4uih3gauO28rlMAZuvSoOamK7LU+P+AB7f2wawG9kn L31gll2tWnEhU5JCf3dlw0M4bivgX9WOihrJ/TarND3FTKEfa/VNECEmaSoG6yiqZD01 4dJ8MufCSisHyzjdIJ3kd0f8gS3eWBYS8JGAvToS18mqjzeR4g1Z81vWb/M2XcsY7WkM uDJzOzKYqTrOWWbEyZMPaPCqGVrO1akHpKQuLf1EzLTVXdEQ08xfeVMeX/nYYPUXmwzD 4CQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=0nCrW8CLYCTt9B9YcBCJ6rQmZmPqwurpPpOYJMILYdo=; b=vtiIxBdtHQCamHXmwIiPHMTcRHLBhzt0XAs5bPbmXIjytDlZOO9LUh0/QGtI8BhcQt g5N2ujQS3TyyT1zNmra0mQgs+wS3hEY+TO4SUiRFuPqGAKziG3rOUrAKIiEqapD+/xVh IlbpLvk8pLh8xSz25loD+XLGHCVn93yjSPzCIbDUkcgQG7goOOv2hKWpbE36hddBsX0Z WziHA/vL6++jIm2goeSwthL3dEzqkhwnnR88y1uWSbg4JOyUS+O0CqMNXI8hwaPM/YyU PvOcjCpIyxfd0PzHsEQ1QkiMZt8/VgHIyYiagygWyFSoBsB2CfFjdUg61EpA6/tMPaxJ 0u6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=R4yFZ6Ge; spf=pass (google.com: domain of jens.wiklander@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=jens.wiklander@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id c90-v6sor2043022lfh.1.2018.08.13.08.54.17 for (Google Transport Security); Mon, 13 Aug 2018 08:54:17 -0700 (PDT) Received-SPF: pass (google.com: domain of jens.wiklander@linaro.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=R4yFZ6Ge; spf=pass (google.com: domain of jens.wiklander@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=jens.wiklander@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=0nCrW8CLYCTt9B9YcBCJ6rQmZmPqwurpPpOYJMILYdo=; b=R4yFZ6GeuxMBMfTESkDFPiiyjZPKcYFiG72cfLBaZtcMGx9T6jdAxq3P4FU76PyZe0 Rj3mC0F6w1fz2sm5WNpnVCWNXDac7DG1ZVsZeiUeSTT/rVq74IskvGAYME/FOQHGOu6F 1ZbkTn7g6FBfpp+OhLIZpWBTQGqJ2bVCCobY4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=0nCrW8CLYCTt9B9YcBCJ6rQmZmPqwurpPpOYJMILYdo=; b=XRQ5cTzYlCWQqiXuTTNOEftKVtXsG4HBOmk5EVE7QfG8e5fmL5hfnwfFpRK15T8IwN mk7b7IaIRbvGA18VTtubVCTcxmV1Y0YKKh/KFtfoQ47qz5YVyOgueA55LRonTTn2Y/Jz Sh5/kZUUxSJH+4iG4VwilclXG/EXV6iNrDDAoZ/202bJ6fpqg8RIGL34USimbGmtcVOG WGj11rQi+eVWISMLZMXdV+7CsqrbsX5XGFWWOX6zxIyEFVNg4c6kefv3DB/e8MslOnNG 3RmPCWXnyLD9DCQ2RKrmlb60yEKCLcee1iYmHplUc++/vxWRM3YM1x3MjwgzfqwHwpuA 0VNw== X-Gm-Message-State: AOUpUlFJdVmr9O9zVOV7LCCX3Uoyjat/P6KBILjEx6bba33Q6A6Lv+0W gHaIcKMCX8W6Xv4XmBu34Gm+oYmk X-Google-Smtp-Source: AA+uWPzBBsP5MWO9687K40Fbcs72b8LnCitxV1rAWH80hykdI47vjDB3oQEuohMkhY7kfzQRIyh3PQ== X-Received: by 2002:a19:63dc:: with SMTP id v89-v6mr11942048lfi.23.1534175656964; Mon, 13 Aug 2018 08:54:16 -0700 (PDT) Return-Path: Received: from jax.urgonet (h-84-105.A175.priv.bahnhof.se. [79.136.84.105]) by smtp.gmail.com with ESMTPSA id q12-v6sm2791624lfc.26.2018.08.13.08.54.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 Aug 2018 08:54:16 -0700 (PDT) From: Jens Wiklander To: u-boot@lists.denx.de Cc: Simon Glass , Igor Opaniuk , Tom Rini , Jaehoon Chung , Pierre Aubert , Albert Aribaud , Peter Griffin , Michal Simek , Jens Wiklander Subject: [PATCH 09/10] tee: optee: support AVB trusted application Date: Mon, 13 Aug 2018 17:53:46 +0200 Message-Id: <20180813155347.13844-10-jens.wiklander@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180813155347.13844-1-jens.wiklander@linaro.org> References: <20180813155347.13844-1-jens.wiklander@linaro.org> Adds configuration option OPTEE_TA_AVB and a header file describing the interface to the AVB trusted application provided by OP-TEE. Signed-off-by: Jens Wiklander --- MAINTAINERS | 1 + drivers/tee/optee/Kconfig | 16 +++++++++++++ include/tee.h | 7 ++++++ include/tee/optee_ta_avb.h | 48 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 include/tee/optee_ta_avb.h -- 2.17.1 Tested-by: Igor Opaniuk Reviewed-by: Igor Opaniuk diff --git a/MAINTAINERS b/MAINTAINERS index 7458c606ee92..cb36c45d74ea 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -576,6 +576,7 @@ M: Jens Wiklander S: Maintained F: drivers/tee/ F: include/tee.h +F: include/tee/ UBI M: Kyungmin Park diff --git a/drivers/tee/optee/Kconfig b/drivers/tee/optee/Kconfig index 8f7ebe161111..a5dc08439629 100644 --- a/drivers/tee/optee/Kconfig +++ b/drivers/tee/optee/Kconfig @@ -5,3 +5,19 @@ config OPTEE help This implements the OP-TEE Trusted Execution Environment (TEE) driver. + +if OPTEE + +menu "OP-TEE options" + +config OPTEE_TA_AVB + bool "Support AVB TA" + default y + help + Enables support for the AVB Trusted Application (TA) in OP-TEE. + The TA can support the "avb" subcommands "read_rb", "write"rb" + and "is_unlocked". + +endmenu + +endif diff --git a/include/tee.h b/include/tee.h index c2ac13e34128..3d95d4b3f740 100644 --- a/include/tee.h +++ b/include/tee.h @@ -48,6 +48,13 @@ struct tee_driver_ops; +struct tee_optee_ta_uuid { + u32 time_low; + u16 time_mid; + u16 time_hi_and_version; + u8 clock_seq_and_node[8]; +}; + struct tee_shm { struct udevice *dev; struct list_head link; diff --git a/include/tee/optee_ta_avb.h b/include/tee/optee_ta_avb.h new file mode 100644 index 000000000000..0e1da084e09d --- /dev/null +++ b/include/tee/optee_ta_avb.h @@ -0,0 +1,48 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ +/* Copyright (c) 2018, Linaro Limited */ + +#ifndef __TA_AVB_H +#define __TA_AVB_H + +#define TA_AVB_UUID { 0x023f8f1a, 0x292a, 0x432b, \ + { 0x8f, 0xc4, 0xde, 0x84, 0x71, 0x35, 0x80, 0x67 } } + +#define TA_AVB_MAX_ROLLBACK_LOCATIONS 256 + +/* + * Gets the rollback index corresponding to the given rollback index slot. + * + * in params[0].value.a: rollback index slot + * out params[1].value.a: upper 32 bits of rollback index + * out params[1].value.b: lower 32 bits of rollback index + */ +#define TA_AVB_CMD_READ_ROLLBACK_INDEX 0 + +/* + * Updates the rollback index corresponding to the given rollback index slot. + * + * Will refuse to update a slot with a lower value. + * + * in params[0].value.a: rollback index slot + * in params[1].value.a: upper 32 bits of rollback index + * in params[1].value.b: lower 32 bits of rollback index + */ +#define TA_AVB_CMD_WRITE_ROLLBACK_INDEX 1 + +/* + * Gets the lock state of the device. + * + * out params[0].value.a: lock state + */ +#define TA_AVB_CMD_READ_LOCK_STATE 2 + +/* + * Sets the lock state of the device. + * + * If the lock state is changed all rollback slots will be reset to 0 + * + * in params[0].value.a: lock state + */ +#define TA_AVB_CMD_WRITE_LOCK_STATE 3 + +#endif /*__TA_AVB_H*/