Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp3886700imj; Tue, 12 Feb 2019 06:24:31 -0800 (PST) X-Google-Smtp-Source: AHgI3Ib8NUm9Kvd/20fi6UouTQo5Fpmu3jJpe/TAxR3c5i8WMYffpq4cf3ytGahSp2+x+67WXug7 X-Received: by 2002:a17:902:988b:: with SMTP id s11mr4313738plp.162.1549981471046; Tue, 12 Feb 2019 06:24:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549981471; cv=none; d=google.com; s=arc-20160816; b=jKY5aYu+pvYHeOEDzyyxIHj3MjMUhoDSYeTf3QPqOy9gM0wJHGh+LMYc5rW+vmd923 5bSJmB4aO249BtHI9n3HeI9a88cXcLK9KBhXjHMMwSpyeSKWsmyTQuk9MMJsU/3UOngA 1XW0m7mz43IWMhIIwWgnr4K7ytJZG1GAknRTuX7g99U1BLzwWL28rjkUaTs7gxjl2x0Y P2MCPDnMQ74ddLVVOmuKANmpwOsCxVBo20T2EJGTQDaRfpEQr40e63STYnDJKitzJRdG ntKyA/YcBjYKaqXdDS0W3FMFbffVKvGXMilt/LY89S2g89M4f74K1NguxX5JJVbQ5QGe QDpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=g3rdNZIUpTTqTQJmw0LRepuQplSBP1o3fYoThoCVA3M=; b=lqgiAxUOEtYGHru6srPYSq4tAWZY3EbGJK58aB6Zk5/3z2HAHHVemQwRkIq35w1zWB JjBr/DdDQb2icuXQo2HURWJfzanxDi+eYuZvfhJ6GEPuYpQn/1HkH6ndaXQrXF86bYFs W2kc8PZIIYVI5vJLesQcOKdvqFIc3hRrJV/oOfCa62rLw5XIkn7z7klmRSQ59O3jRv/s tzih8sipoC0SVZL3LGLWD8U8LrdaHbixl8JKHuLU1G08MobPV7IUjbWmfw/TIslMOyOJ hUU+r+1MG23EemI48JQS+mEOJUdPrDmJYHz1Gq2vfZayTv5f3ozmVMOy08QfQ7OtJkLM Ncdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=Y7DPX8z+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g3si3649646pgi.443.2019.02.12.06.24.14; Tue, 12 Feb 2019 06:24:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=Y7DPX8z+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730281AbfBLOXu (ORCPT + 99 others); Tue, 12 Feb 2019 09:23:50 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:34786 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730077AbfBLOXt (ORCPT ); Tue, 12 Feb 2019 09:23:49 -0500 Received: by mail-wr1-f67.google.com with SMTP id f14so2921996wrg.1 for ; Tue, 12 Feb 2019 06:23:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g3rdNZIUpTTqTQJmw0LRepuQplSBP1o3fYoThoCVA3M=; b=Y7DPX8z+KSEDDT7YCfLN+nnGHpJzPsrMBVUlwFLxOcwv3FlKjD6E4pV9aQbgaZ4QAe l7YtGT8biMJ4GgrNuTCxAssqCcUGnr5tNIdWV/XSBORJdB4aHLHJVTiPEt2VQY2g4WWv 2sbWnb2hRTuLarcmYkeBtD3xZtF49lSVEE4+BaHv/V1CgnlGyETKoiw8VCrs/8TCAuPa 2QgIijs/YkUmiK+lh2JJ4060gB8LVM+SzFxwetPadWYppNyKFIzHh7PIGuu3hFmZQpui VUFT9HaRHyyVgOZhBH7hCxf55AUWMDBN/jSvlOZ9MvaIEltapnlTyEbj+SiLLcozaZMP HNbQ== 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:mime-version:content-transfer-encoding; bh=g3rdNZIUpTTqTQJmw0LRepuQplSBP1o3fYoThoCVA3M=; b=lGCBQSEJWaEJGav7pfDSr6VbpxitqlwOLrRwhqfA8OoPxFW0n3XdjyoDkr6+loEILc MlBJKjCJuCoFmt6zC4IMOA1Oe2k4XPG4o7MUhrg3tUGiktxi+54TnWAlgQ4GDh5+HZyP JJvypBw5WZpPK5DkQE9T/M3zJOqPTWltBqkpS/xPgdPd4MXldBmzvWSzZyhXeqC6VzoL KvSg5lqxssyY/UYmD+dCHKtWn9fFWyMWMff72xvPM8Mv6pV3MXQ0LRFfPZXCZuIPBLGO qdVnIzGNjp+Q+joRrL2/RqigvQ+E48NqJlNbrsFENTQsYsAjldcSCycL1Sttjfk5V8H9 grRg== X-Gm-Message-State: AHQUAuZtRmB0Ynl1k9/ur5VTnnI3vNp39ndtfuWgNFFjihF87jA9bD6R 7TB7j4FptMPb+hPKK3hJ0irqYg== X-Received: by 2002:adf:ed11:: with SMTP id a17mr3142559wro.283.1549981427197; Tue, 12 Feb 2019 06:23:47 -0800 (PST) Received: from bender.baylibre.local (lmontsouris-657-1-212-31.w90-63.abo.wanadoo.fr. [90.63.244.31]) by smtp.gmail.com with ESMTPSA id y22sm39043216wrd.45.2019.02.12.06.23.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 12 Feb 2019 06:23:46 -0800 (PST) From: Neil Armstrong To: khilman@baylibre.com Cc: Neil Armstrong , linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] soc: amlogic: gx-socinfo: Add mask for each SoC packages Date: Tue, 12 Feb 2019 15:23:42 +0100 Message-Id: <20190212142344.13634-2-narmstrong@baylibre.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190212142344.13634-1-narmstrong@baylibre.com> References: <20190212142344.13634-1-narmstrong@baylibre.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When updated IDs on f842c41adc04 ("amlogic: meson-gx-socinfo: Update soc ids") we introduced packages ids using the full 8bit value, but in the function socinfo_to_package_id() the id was filtered with the 0xf0 mask. While the 0xf0 mask is valid for most board, it filters out the lower 4 bits which encodes some characteristics of the chip. This patch moves the mask into the meson_gx_package_id table to be applied on each package name independently and add the correct mask for some specific entries. An example is the S905, in the vendor code the S905 is package_id different from 0x20, and S905M is exactly 0x20. Another example are the The Wetek Hub & Play2 boards using a S905-H variant, which is the S905 SoC with some licence bits enabled. These licence bits are encoded in the lower 4bits, so to detect the -H variant, we must detect the id == 0x3 with the 0xf mask. Fixes: f842c41adc04 ("amlogic: meson-gx-socinfo: Update soc ids") Signed-off-by: Neil Armstrong --- drivers/soc/amlogic/meson-gx-socinfo.c | 32 ++++++++++++++------------ 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/drivers/soc/amlogic/meson-gx-socinfo.c b/drivers/soc/amlogic/meson-gx-socinfo.c index 37ea0a1c24c8..1ae339f5eadb 100644 --- a/drivers/soc/amlogic/meson-gx-socinfo.c +++ b/drivers/soc/amlogic/meson-gx-socinfo.c @@ -43,20 +43,21 @@ static const struct meson_gx_package_id { const char *name; unsigned int major_id; unsigned int pack_id; + unsigned int pack_mask; } soc_packages[] = { - { "S905", 0x1f, 0 }, - { "S905H", 0x1f, 0x13 }, - { "S905M", 0x1f, 0x20 }, - { "S905D", 0x21, 0 }, - { "S905X", 0x21, 0x80 }, - { "S905W", 0x21, 0xa0 }, - { "S905L", 0x21, 0xc0 }, - { "S905M2", 0x21, 0xe0 }, - { "S912", 0x22, 0 }, - { "962X", 0x24, 0x10 }, - { "962E", 0x24, 0x20 }, - { "A113X", 0x25, 0x37 }, - { "A113D", 0x25, 0x22 }, + { "S905", 0x1f, 0, 0x20 }, /* pack_id != 0x20 */ + { "S905H", 0x1f, 0x3, 0xf }, /* pack_id & 0xf == 0x3 */ + { "S905M", 0x1f, 0x20, 0xf0 }, /* pack_id == 0x20 */ + { "S905D", 0x21, 0, 0xf0 }, + { "S905X", 0x21, 0x80, 0xf0 }, + { "S905W", 0x21, 0xa0, 0xf0 }, + { "S905L", 0x21, 0xc0, 0xf0 }, + { "S905M2", 0x21, 0xe0, 0xf0 }, + { "S912", 0x22, 0, 0x0 }, /* Only S912 is known for GXM */ + { "962X", 0x24, 0x10, 0xf0 }, + { "962E", 0x24, 0x20, 0xf0 }, + { "A113X", 0x25, 0x37, 0xff }, + { "A113D", 0x25, 0x22, 0xff }, }; static inline unsigned int socinfo_to_major(u32 socinfo) @@ -81,13 +82,14 @@ static inline unsigned int socinfo_to_misc(u32 socinfo) static const char *socinfo_to_package_id(u32 socinfo) { - unsigned int pack = socinfo_to_pack(socinfo) & 0xf0; + unsigned int pack = socinfo_to_pack(socinfo); unsigned int major = socinfo_to_major(socinfo); int i; for (i = 0 ; i < ARRAY_SIZE(soc_packages) ; ++i) { if (soc_packages[i].major_id == major && - soc_packages[i].pack_id == pack) + soc_packages[i].pack_id == + (pack & soc_packages[i].pack_mask)) return soc_packages[i].name; } -- 2.20.1