From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: None (no SPF record) identity=mailfrom; client-ip=2a00:1450:4864:20::143; helo=mail-lf1-x143.google.com; envelope-from=mw@semihalf.com; receiver=edk2-devel@lists.01.org Received: from mail-lf1-x143.google.com (mail-lf1-x143.google.com [IPv6:2a00:1450:4864:20::143]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id EA5512194D3AE for ; Wed, 9 Jan 2019 17:45:08 -0800 (PST) Received: by mail-lf1-x143.google.com with SMTP id n18so7136810lfh.6 for ; Wed, 09 Jan 2019 17:45:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=d96tleTOH5L2OxaW8qSh2kiDbjkJznKV5jXuimhKbTI=; b=CpiyT0SohJsVAL4AFSzD5QAJy2OJ/i86KVkLxC8p+uJDgU9+g4AcIa+U7B9cOENd+v dsrM1I8W/JXEnglcWnhcKn8o74bbqWNlgrzjqROxDpVernQn0fKHTnyz60pVcctWh4eE 0FmA6tZCkSbKeLFBGQMmegTdpnX2O1WnS6pY7uttzjSFe5rcsE4G1XxUiZe6QNeZ2Uw2 fFWoZpAtev9Uw6QGt7Cjp0KxBEkQAlUG4YvEDv9csM8OGqou5n7fbn/45BVmXWBlrcRF Cmp28hkEOM7HnsMiwYjWF29rZV/471FgiYWtbt+fR1/bUH7noKqtBkUgv0+NWHhTq1na cYzw== 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=d96tleTOH5L2OxaW8qSh2kiDbjkJznKV5jXuimhKbTI=; b=a5MnBJxpZ9kY884azxvbZmdHAY/mKObMGmxNVCg2GPZMIiU318ShnYk5/rVEFJkTLr 1/OsMmjQH3MDXpKG592dPsksBBUzGVeEpxGLOdnxGhmgRKVeaKd1dmAXlI6k0IrWiOwg fhVyPYNiSQnJTDIOduUTEVr6U1RWE+YwC8AHtaTilsTrfmnvlylF9/vMCaOmKhwoggFg JYnMDCE5bgadZ2cbJT9S1User2Bm1/CEUfLVu2q8HKqL8+rCKHtMCt3fRkCsdqlN1C5R 4/pBi6McPZLLoV88dSxzj6mNoAp9jthNLoZo3k0XV01l5N+yxUmCrfWRmH6Ska60BKZz RNFQ== X-Gm-Message-State: AJcUukfkIoulQqD9MbfQByjE0xG8BnbFQboatlK8jPGpPJeJ0o+vs8Ao 5GT2+nR/W07MJ5+6L3HZhBDjGZrB9fo= X-Google-Smtp-Source: ALg8bN5eKTiOG1dLtJ949I+lF7jRPNj7humzxMAlG4M5GQ8pIj5nHxuk5NHvhIaj5BykJevP72Gw8g== X-Received: by 2002:a19:c014:: with SMTP id q20mr4430853lff.16.1547084706636; Wed, 09 Jan 2019 17:45:06 -0800 (PST) Received: from gilgamesh.semihalf.com (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id l21-v6sm15034142ljj.48.2019.01.09.17.45.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Jan 2019 17:45:05 -0800 (PST) From: Marcin Wojtas To: edk2-devel@lists.01.org Cc: leif.lindholm@linaro.org, ard.biesheuvel@linaro.org, nadavh@marvell.com, mw@semihalf.com, jsd@semihalf.com, jaz@semihalf.com, kostap@marvell.com Date: Thu, 10 Jan 2019 02:44:36 +0100 Message-Id: <1547084679-29597-10-git-send-email-mw@semihalf.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1547084679-29597-1-git-send-email-mw@semihalf.com> References: <1547084679-29597-1-git-send-email-mw@semihalf.com> Subject: [platforms: PATCH v2 09/12] Marvell/Drivers: I2c: Use common header for macros X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 X-List-Received-Date: Thu, 10 Jan 2019 01:45:09 -0000 Hitherto I2c solution used same macros, defined in multiple places. Move them to a new common header. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas Reviewed-by: Leif Lindholm --- Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h | 10 ------- Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h | 17 ++--------- Silicon/Marvell/Include/Protocol/MvI2c.h | 31 ++++++++++++++++++++ Silicon/Marvell/Applications/EepromCmd/EepromCmd.c | 5 +--- Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c | 3 +- Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c | 4 +-- 6 files changed, 37 insertions(+), 33 deletions(-) create mode 100644 Silicon/Marvell/Include/Protocol/MvI2c.h diff --git a/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h b/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h index b1af645..c32ee48 100644 --- a/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h +++ b/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h @@ -41,16 +41,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define MAX_BUFFER_LENGTH 64 -/* - * I2C_FLAG_NORESTART is not part of PI spec, it allows to continue - * transmission without repeated start operation. - * FIXME: This flag is also defined in Drivers/I2c/MvI2cDxe/MvI2cDxe.h - * and it's important to have both version synced. This solution is - * temporary and shared flag should be used by both files. - * Situation is analogous with I2C_GUID, which also should be common, but is - * for now defined same way in two header files. - */ -#define I2C_FLAG_NORESTART 0x00000002 #define I2C_GUID \ { \ 0xadc1901b, 0xb83c, 0x4831, { 0x8f, 0x59, 0x70, 0x89, 0x8f, 0x26, 0x57, 0x1e } \ diff --git a/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h b/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h index 3c9beaf..6850c34 100644 --- a/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h +++ b/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h @@ -32,8 +32,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************/ -#ifndef __MV_I2C_H__ -#define __MV_I2C_H__ +#ifndef __MV_I2C_DXE_H__ +#define __MV_I2C_DXE_H__ #include @@ -75,17 +75,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define I2C_FAST 0x2 #define I2C_FASTEST 0x3 -/* - * I2C_FLAG_NORESTART is not part of PI spec, it allows to continue - * transmission without repeated start operation. - * FIXME: This flag is also defined in - * Platforms/Marvell/Include/Protocol/Eeprom.h and it's important to have both - * version synced. This solution is temporary and shared flag should be used by - * both files. - * Situation is analogous with I2C_GUID, which also should be common, but is - * for now defined same way in two header files. - */ -#define I2C_FLAG_NORESTART 0x00000002 #define I2C_GUID \ { \ 0xadc1901b, 0xb83c, 0x4831, { 0x8f, 0x59, 0x70, 0x89, 0x8f, 0x26, 0x57, 0x1e } \ @@ -266,4 +255,4 @@ MvI2cEnableConf ( IN EFI_STATUS *I2cStatus OPTIONAL ); -#endif // __MV_I2C_H__ +#endif // __MV_I2C_DXE_H__ diff --git a/Silicon/Marvell/Include/Protocol/MvI2c.h b/Silicon/Marvell/Include/Protocol/MvI2c.h new file mode 100644 index 0000000..d8e644e --- /dev/null +++ b/Silicon/Marvell/Include/Protocol/MvI2c.h @@ -0,0 +1,31 @@ +/** +* +* Copyright (c) 2018, Marvell International Ltd. All rights reserved. +* +* This program and the accompanying materials are licensed and made available +* under the terms and conditions of the BSD License which accompanies this +* distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ +#ifndef __MV_I2C_H__ +#define __MV_I2C_H__ + +/* + * I2C_FLAG_NORESTART is not part of PI spec, it allows to continue + * transmission without repeated start operation. + */ +#define I2C_FLAG_NORESTART 0x00000002 + +/* + * Helper macros for maintaining multiple I2C buses + * and devices defined via EFI_I2C_DEVICE. + */ +#define I2C_DEVICE_ADDRESS(Index) ((Index) & MAX_UINT16) +#define I2C_DEVICE_BUS(Index) ((Index) >> 16) +#define I2C_DEVICE_INDEX(Bus, Address) (((Address) & MAX_UINT16) | (Bus) << 16) + +#endif diff --git a/Silicon/Marvell/Applications/EepromCmd/EepromCmd.c b/Silicon/Marvell/Applications/EepromCmd/EepromCmd.c index dc3c95f..712aba9 100644 --- a/Silicon/Marvell/Applications/EepromCmd/EepromCmd.c +++ b/Silicon/Marvell/Applications/EepromCmd/EepromCmd.c @@ -51,10 +51,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include - -#define I2C_DEVICE_INDEX(bus, address) (((address) & 0xffff) | (bus) << 16) -#define I2C_DEVICE_ADDRESS(index) ((index) & 0xffff) -#define I2C_DEVICE_BUS(index) ((index) >> 16) +#include CONST CHAR16 ShellEepromFileName[] = L"ShellCommand"; EFI_HANDLE ShellEepromHiiHandle = NULL; diff --git a/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c b/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c index 9d2f650..90d0d1e 100644 --- a/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c +++ b/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c @@ -35,6 +35,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include #include @@ -49,8 +50,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "MvEepromDxe.h" -#define I2C_DEVICE_INDEX(bus, address) (((address) & 0xffff) | (bus) << 16) - STATIC CONST EFI_GUID I2cGuid = I2C_GUID; EFI_DRIVER_BINDING_PROTOCOL gDriverBindingProtocol = { diff --git a/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c b/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c index 9ec4929..582e2b9 100755 --- a/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c +++ b/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c @@ -37,6 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include #include @@ -628,9 +629,6 @@ MvI2cStartRequest ( STATIC CONST EFI_GUID DevGuid = I2C_GUID; -#define I2C_DEVICE_INDEX(bus, address) (((address) & 0xffff) | (bus) << 16) -#define I2C_DEVICE_ADDRESS(index) ((index) & 0xffff) - STATIC EFI_STATUS MvI2cAllocDevice ( -- 2.7.4