From patchwork Thu Mar 24 14:46:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 64393 Delivered-To: patch@linaro.org Received: by 10.112.199.169 with SMTP id jl9csp700312lbc; Thu, 24 Mar 2016 07:53:12 -0700 (PDT) X-Received: by 10.66.190.168 with SMTP id gr8mr13369633pac.23.1458831192751; Thu, 24 Mar 2016 07:53:12 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id tz5si15036pab.239.2016.03.24.07.53.12; Thu, 24 Mar 2016 07:53:12 -0700 (PDT) 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; 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 S932112AbcCXOwz (ORCPT + 29 others); Thu, 24 Mar 2016 10:52:55 -0400 Received: from mail-wm0-f51.google.com ([74.125.82.51]:33004 "EHLO mail-wm0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752549AbcCXOqW (ORCPT ); Thu, 24 Mar 2016 10:46:22 -0400 Received: by mail-wm0-f51.google.com with SMTP id l68so278048345wml.0 for ; Thu, 24 Mar 2016 07:46:21 -0700 (PDT) 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; bh=f2RTvW4Shvb+VuirxxMa2dEXqPDNE/UkwpMMLug3hiQ=; b=zcaMG2RWgfhySXj145LpWx7uvYeUrfBgMEoAZCJL4spfhoCBZH9SdYWB/y9V3rL+vM DjMqwMU3VH4bdagzneLyqkICMBb2j1TFy9thpw9dwOZkM/gQg/UIdgtvX+UNfODJG1da N1JSJg+au3ibQtP89WK5dMRjvAggXCwU3DB/LbZYvuHJSD5KkxYhpIv6bXZoAkEpVqji 4eqdf0jN1SCeZl70a0I062higoYNGtxVLlZ4rWUx4xmS4cb5aHSuxzhGJSTiydehEw/Y +e/zve4cLDAQ1JMSmzIxEYK88jLRf9EaFVsAInL5UMFJw5vPbBKmRWGAIln1kihwh/zh rSBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=f2RTvW4Shvb+VuirxxMa2dEXqPDNE/UkwpMMLug3hiQ=; b=GCQIzuUMt/lppuX3FvFwApPGBblx5al7dJNKgAfPzaoNVb9Wb2qQ0erG1Bv8NqmyB9 ohkbWoO13wkYzopKRFoW5gu/RpoqU6aCMq/87wYnrBoeihYTT7056Ye0WRzxfjfHHrRZ lgelcpThEgp6oJujuPsr7CXUf+TkEqkgsOePrDApmHv8FsPwzJDePWA8eUzvDUDHnntS MH0tQDxPQ6FuiapLuHha3ou5PFQ5aOF+lBVZS3N2hFNwBY2bny/xnVhDyO3z121a2oo9 3A2B9dLJbpXMf8ODm6BEJ5pYy/6V7Dsg5xVxmunCBCKXE7tkQWMJgF0OT0s9kLwWfbqk bV4Q== X-Gm-Message-State: AD7BkJKbZ7whnaWOvJHk428zXdwUISRMS7obJUfcJnan8XxnCa69ynkpYpkMT2rnLCI2kTMg X-Received: by 10.28.180.9 with SMTP id d9mr11526136wmf.62.1458830780649; Thu, 24 Mar 2016 07:46:20 -0700 (PDT) Received: from localhost.localdomain ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id k125sm27255752wmb.14.2016.03.24.07.46.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 24 Mar 2016 07:46:19 -0700 (PDT) From: Bartosz Golaszewski To: Wolfram Sang , linux-i2c , LKML Cc: Andrew Lunn , Bartosz Golaszewski Subject: [PATCH 10/13] eeprom: at24: add the at24cs series to the list of supported devices Date: Thu, 24 Mar 2016 15:46:04 +0100 Message-Id: <1458830767-23816-11-git-send-email-bgolaszewski@baylibre.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1458830767-23816-1-git-send-email-bgolaszewski@baylibre.com> References: <1458830767-23816-1-git-send-email-bgolaszewski@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The infrastructure for reading of the factory-programmed serial number for at24cs EEPROM series is now in place. Add the chips that are actually equipped with the serial number memory area to the list of supported devices. The chips from the at24cs family have two memory areas - a regular read-write block and a read-only area containing the serial number. The latter is visible on a different slave address (the address of the wr memory block + 0x08). In order to access both blocks the user needs to instantiate a regular at24c device for the wr block address and a corresponding at24cs device on the serial number block address. Signed-off-by: Bartosz Golaszewski --- drivers/misc/eeprom/at24.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) -- 2.7.4 diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index 9515001..a95a301 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -114,16 +114,34 @@ static const struct i2c_device_id at24_ids[] = { { "24c00", AT24_DEVICE_MAGIC(128 / 8, AT24_FLAG_TAKE8ADDR) }, /* old variants can't be handled with this generic entry! */ { "24c01", AT24_DEVICE_MAGIC(1024 / 8, 0) }, + { "24cs01", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, { "24c02", AT24_DEVICE_MAGIC(2048 / 8, 0) }, + { "24cs02", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, /* spd is a 24c02 in memory DIMMs */ { "spd", AT24_DEVICE_MAGIC(2048 / 8, AT24_FLAG_READONLY | AT24_FLAG_IRUGO) }, { "24c04", AT24_DEVICE_MAGIC(4096 / 8, 0) }, + { "24cs04", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, /* 24rf08 quirk is handled at i2c-core */ { "24c08", AT24_DEVICE_MAGIC(8192 / 8, 0) }, + { "24cs08", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, { "24c16", AT24_DEVICE_MAGIC(16384 / 8, 0) }, + { "24cs16", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, { "24c32", AT24_DEVICE_MAGIC(32768 / 8, AT24_FLAG_ADDR16) }, + { "24cs32", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_ADDR16 | + AT24_FLAG_SERIAL | + AT24_FLAG_READONLY) }, { "24c64", AT24_DEVICE_MAGIC(65536 / 8, AT24_FLAG_ADDR16) }, + { "24cs64", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_ADDR16 | + AT24_FLAG_SERIAL | + AT24_FLAG_READONLY) }, { "24c128", AT24_DEVICE_MAGIC(131072 / 8, AT24_FLAG_ADDR16) }, { "24c256", AT24_DEVICE_MAGIC(262144 / 8, AT24_FLAG_ADDR16) }, { "24c512", AT24_DEVICE_MAGIC(524288 / 8, AT24_FLAG_ADDR16) },