From patchwork Thu Aug 23 10:43:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Wiklander X-Patchwork-Id: 144920 Delivered-To: patches@linaro.org Received: by 2002:a2e:1648:0:0:0:0:0 with SMTP id 8-v6csp30726ljw; Thu, 23 Aug 2018 03:44:00 -0700 (PDT) X-Received: by 2002:a2e:7406:: with SMTP id p6-v6mr25697104ljc.5.1535021040328; Thu, 23 Aug 2018 03:44:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535021040; cv=none; d=google.com; s=arc-20160816; b=PFSMEOOGFpFMD4mHoxCslq0aqvAaPj114GVzc3YLyNQzCFxaNSR75aHT6T7SQxq6Db pkv6KPvxn5xH1OwlsNe03Sbw/0AyQY4YXSOCayf8k6wFAzn49A9XWOlrlYcwOZ8Jefw4 0NkcbKb6TfzKhRy4gtJ3XKNjE3/pP1oK6x+mvsNDxLM4PfM0o19zf5VbniNV28aP6nCP zSxRAvcfu+3eSe8624i1i/AcwhQtu8oHtS9HY5/8hKIZzS9tLqRidTGjxGgxSLExsFAx OKwMrTEyMjdHDnV6eXzLaBu8T5SPKNhXHrpKt8NOURsU7U96NiKyV5U1E2Xz/UlPYwBI 0Szw== 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=klSemYlcrDKIF3DDPuRZP8FDdE304NvbognXejC19wg=; b=MbEv/d1nth5Y00ec4ZrxEuDLxRj5qiT2/EH2kLOZxkWIzaMT4njr5PVs3MZQa5lPUi 5Z/Fs4mnEAPepG3YJWnurWL4PsLWy/GrSSs70YWj28nBHI7VVFXFeJNHZhHkMGH4wcwx Ru1yRyoQwd7cAvn1PzXiRT0RDy8iUZYOpGqmavVuUB7unPpm6NVrNJSFGoXNnZncGPZo mjoKlTuEbnvDZbE2b0m6vn3pos6mnrtJIGbCy9TmbiR19XnOPMgxE/Ln0xDEBFOpxzOc /eEDK7y9KlVLFsUnMCxReN5LKrXnTu6y/1Lbd7UEotoLY/AE4p90TKYiNn/0hhjjtUsj iR2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Fr0UXIdD; 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 p15-v6sor838157ljh.91.2018.08.23.03.44.00 for (Google Transport Security); Thu, 23 Aug 2018 03:44:00 -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=Fr0UXIdD; 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=klSemYlcrDKIF3DDPuRZP8FDdE304NvbognXejC19wg=; b=Fr0UXIdDcPQPdt/BoV2N9qD0oKRFDDCR8/bYzcKK0wFuKjOVtpBKmEuzUi6HeCCttO /82ZojS+tL9Zt3lbusz/mk/uCtiNssWWrL2b0x/TcnTJiFNjXG01f+LV4xDrRgDtAeXG fwJdyAzHChOF3qQD65bvu6FID9XA8KMaJ8Zjg= 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=klSemYlcrDKIF3DDPuRZP8FDdE304NvbognXejC19wg=; b=ZemQwjvSvAnMbbCju+dXnEEr7ykPVjR3OomL/WFYPrypghae7n5PCw3iFLUMRJbbhx oz/dMDPVADdNNF18uIR7J7igkkWLAa8kNL+ym8pYmoDCo5jzRF+3x6QfWKyFQKk8kos3 MiwSherWtrhLLNhtedLxnLkzs4NP8DhnaZWo6Ds80L3UpLZzfqOuAC0CymM4DIVFhrt0 B2r1hpmti7tn3UWwYUf5ru+Mxw7X85qRzUw1+Lhgc+nzfliS3yWAAKZqlahFvcVBXYbh oTuLdU75leyLYwj/MdZvYUs6lTbY8KBFV6+SOmQ7NQRhwMZuMUyMSJpSuLfkb19Uh2Bu pYtg== X-Gm-Message-State: APzg51DUd6+Fd+zY39rkoOERl6kY/MYAi5gmgt2S1NofntAi9dmHxoQu znqxGVqhMUz0SrPmTO9naUO1pRVg X-Google-Smtp-Source: AA+uWPxZzYt6MXcwGHD6xWemi/jt5Q8sSMTnCklGJHpJbQ/WBuugv1+Ql/HO9+CNaijqyrcSmmhpSg== X-Received: by 2002:a2e:9c0f:: with SMTP id s15-v6mr9617705lji.97.1535021040132; Thu, 23 Aug 2018 03:44:00 -0700 (PDT) Return-Path: Received: from jax.ideon.se ([85.235.10.227]) by smtp.gmail.com with ESMTPSA id y5-v6sm679771ljj.75.2018.08.23.03.43.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Aug 2018 03:43:59 -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 v2 14/15] tee: optee: support AVB trusted application Date: Thu, 23 Aug 2018 12:43:33 +0200 Message-Id: <20180823104334.16083-15-jens.wiklander@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180823104334.16083-1-jens.wiklander@linaro.org> References: <20180823104334.16083-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. Tested-by: Igor Opaniuk Reviewed-by: Igor Opaniuk 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 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 3e6771123ef0..b851d718d32f 100644 --- a/include/tee.h +++ b/include/tee.h @@ -48,6 +48,13 @@ #define TEE_ORIGIN_COMMS 0x00000002 +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 - memory shared with the TEE * @dev: The TEE device 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*/