From nobody Sat May 10 02:31:16 2025 Delivered-To: importer2@patchew.org Received-SPF: pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; envelope-from=linux-kernel-owner@vger.kernel.org; helo=vger.kernel.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail(p=quarantine dis=quarantine) header.from=ti.com ARC-Seal: i=1; a=rsa-sha256; t=1608302012; cv=none; d=zohomail.com; s=zohoarc; b=NUum7fdOQTySxIMA3MROPHnj9HA3P5sVbMdKXglTH6YgFFojY/DbV2TP7HZrMf7AryOC54JSHpE+sLYCNIIlhpMeZPeBamDg1M0wokbGkuhf7N3EWTnE87x4Ve61pIZ6oHP6YBe+u4vTrl9AAAw3ijH7x5JtiYMHn+nXUobn91c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608302012; h=Content-Type:Cc:Date:From:In-Reply-To:List-Id:MIME-Version:Message-ID:References:Subject:To; bh=JgcuQxBkm2hiQ6JGRFLTR5fIy69hjJLLEAKg2j+41eI=; b=FR6R9zgE4e/yPBlcTMnFasNCn1cTiDaR/Ij/BG+QNV58MIHJOe6aMHkFudgLTTA6ncdZfDk85wsM6pqYfsOdgtGSRghf6ITIhscmwJAE9/Y7NqRpXbQtbI6mjfKD07c9rma4UZ6kXmRY1/BNk87B8yvhJBrjCZZ5bd06aD/FOd4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail header.from= (p=quarantine dis=quarantine) header.from= Return-Path: Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mx.zohomail.com with SMTP id 1608302012122715.0687328982597; Fri, 18 Dec 2020 06:33:32 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727293AbgLROKO (ORCPT ); Fri, 18 Dec 2020 09:10:14 -0500 Received: from fllv0015.ext.ti.com ([198.47.19.141]:58806 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725982AbgLROKN (ORCPT ); Fri, 18 Dec 2020 09:10:13 -0500 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id 0BIE8VWY118671; Fri, 18 Dec 2020 08:08:31 -0600 Received: from DLEE114.ent.ti.com (dlee114.ent.ti.com [157.170.170.25]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 0BIE8Vaq079240 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 18 Dec 2020 08:08:31 -0600 Received: from DLEE113.ent.ti.com (157.170.170.24) by DLEE114.ent.ti.com (157.170.170.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3; Fri, 18 Dec 2020 08:08:31 -0600 Received: from lelv0327.itg.ti.com (10.180.67.183) by DLEE113.ent.ti.com (157.170.170.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3 via Frontend Transport; Fri, 18 Dec 2020 08:08:31 -0600 Received: from gsaswath-HP-ProBook-640-G5.dal.design.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id 0BIE8HoY035666; Fri, 18 Dec 2020 08:08:27 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1608300511; bh=JgcuQxBkm2hiQ6JGRFLTR5fIy69hjJLLEAKg2j+41eI=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=IJB9RiTFD3+336QgL5JXQMpFb8ALL362BddBNwJ/gxXdv1hDIZwmvxYASUA/4HbR5 bhTYVWmkso+eDRbzfZpkfF2XdvGxzib9y/8wRcYfxoFS3IGPGAL3azQ47C/hxAtp2f lfM/8HFWIAit6640L5BcasAScmbdC0NyyJLtKCag= From: Aswath Govindraju CC: Vignesh Raghavendra , Sekhar Nori , Kishon Vijay Abraham I , Pratyush Yadav , Aswath Govindraju , Rob Herring , Arnd Bergmann , Greg Kroah-Hartman , Vadym Kochan , , Subject: [PATCH 1/2] Documentation: devicetree: Add new compatible string for eeprom microchip 93LC46B Date: Fri, 18 Dec 2020 19:38:10 +0530 Message-ID: <20201218140815.9501-2-a-govindraju@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201218140815.9501-1-a-govindraju@ti.com> References: <20201218140815.9501-1-a-govindraju@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a new compatible string for eeprom microchip 93LC46B in eeprom-93xx46 dt-binding file as it belongs to the 93xx46 family of devices. Signed-off-by: Aswath Govindraju --- Documentation/devicetree/bindings/misc/eeprom-93xx46.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/misc/eeprom-93xx46.txt b/Doc= umentation/devicetree/bindings/misc/eeprom-93xx46.txt index a8ebb4621f79..9f272361f117 100644 --- a/Documentation/devicetree/bindings/misc/eeprom-93xx46.txt +++ b/Documentation/devicetree/bindings/misc/eeprom-93xx46.txt @@ -4,6 +4,7 @@ Required properties: - compatible : shall be one of: "atmel,at93c46d" "eeprom-93xx46" + "microchip,93LC46B" - data-size : number of data bits per word (either 8 or 16) =20 Optional properties: --=20 2.17.1 From nobody Sat May 10 02:31:16 2025 Delivered-To: importer2@patchew.org Received-SPF: pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; envelope-from=linux-kernel-owner@vger.kernel.org; helo=vger.kernel.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail(p=quarantine dis=quarantine) header.from=ti.com ARC-Seal: i=1; a=rsa-sha256; t=1608302016; cv=none; d=zohomail.com; s=zohoarc; b=d4TGhftkD79mImESaJ0UXp797F0bsIPEkSs0pgLnmI9CjwBxObUDnr+g8NNXzUQt9wO/BExvaYrLn8Qk+jIijREd2RTGZln2k/MNQTPAw0Hl2CQvCKanYJ2L1GlNl1+YDEFyTD9itjkOegZo3ckJ4e82X2cEgwVLkE9nsO/Qnoo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608302016; h=Content-Type:Cc:Date:From:In-Reply-To:List-Id:MIME-Version:Message-ID:References:Subject:To; bh=cOmMPK7N76tH3xpPKjmndbcOnTWOiNkMnvf3dfW0sHE=; b=VgSEz7iTCGqYU+Vpi+IqziJNoGa+zJDTa7sxZQ96Ys7QWcMysKOmo81yhwzU1xFAj/EP7lmlAc0n3GQNmhkvOUCYO6pny/WbXzlGGYCn/KMLKE0oaxpUVLsSzjV5U2pvhSN0m68qUth9Fs6cphIh2RnAH9QDqcDNKsu7su7oVa0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail header.from= (p=quarantine dis=quarantine) header.from= Return-Path: Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mx.zohomail.com with SMTP id 1608302015775214.59604461324454; Fri, 18 Dec 2020 06:33:35 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727337AbgLROKX (ORCPT ); Fri, 18 Dec 2020 09:10:23 -0500 Received: from fllv0015.ext.ti.com ([198.47.19.141]:58830 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725982AbgLROKW (ORCPT ); Fri, 18 Dec 2020 09:10:22 -0500 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id 0BIE8eL5118734; Fri, 18 Dec 2020 08:08:40 -0600 Received: from DFLE114.ent.ti.com (dfle114.ent.ti.com [10.64.6.35]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 0BIE8eFW079359 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 18 Dec 2020 08:08:40 -0600 Received: from DFLE104.ent.ti.com (10.64.6.25) by DFLE114.ent.ti.com (10.64.6.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3; Fri, 18 Dec 2020 08:08:39 -0600 Received: from lelv0327.itg.ti.com (10.180.67.183) by DFLE104.ent.ti.com (10.64.6.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3 via Frontend Transport; Fri, 18 Dec 2020 08:08:39 -0600 Received: from gsaswath-HP-ProBook-640-G5.dal.design.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id 0BIE8HoZ035666; Fri, 18 Dec 2020 08:08:35 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1608300520; bh=cOmMPK7N76tH3xpPKjmndbcOnTWOiNkMnvf3dfW0sHE=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=qjJpn8wRe9mzcGbD3LosJuPfNT0uAVgK5FVOoBMswBoApEc1+j7QJcbF9q83QThKG KjMFa1ANFzaCPbuSzRTezgmDn+mqF7XGiKBa/nJ0jzpUfSEGI7faBRQ5WkPolALptj cN/bFG+3TS8bypoubRR91gORVTfZXszuoz9opIYs= From: Aswath Govindraju CC: Vignesh Raghavendra , Sekhar Nori , Kishon Vijay Abraham I , Pratyush Yadav , Aswath Govindraju , Rob Herring , Arnd Bergmann , Greg Kroah-Hartman , Vadym Kochan , , Subject: [PATCH 2/2] misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom Date: Fri, 18 Dec 2020 19:38:11 +0530 Message-ID: <20201218140815.9501-3-a-govindraju@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201218140815.9501-1-a-govindraju@ti.com> References: <20201218140815.9501-1-a-govindraju@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" A dummy zero bit is sent preceding the data during a read transfer by the Microchip 93LC46B eeprom (section 2.7 of[1]). This results in right shift of data during a read. In order to ignore this bit a quirk can be added to send an extra zero bit after the read address. Add a quirk to ignore the zero bit sent before data by adding a zero bit after the read address. [1] - https://www.mouser.com/datasheet/2/268/20001749K-277859.pdf Signed-off-by: Aswath Govindraju --- drivers/misc/eeprom/eeprom_93xx46.c | 15 +++++++++++++++ include/linux/eeprom_93xx46.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eepr= om_93xx46.c index 7c45f82b4302..b144e7981f36 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -35,6 +35,10 @@ static const struct eeprom_93xx46_devtype_data atmel_at9= 3c46d_data =3D { EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH, }; =20 +static const struct eeprom_93xx46_devtype_data microchip_93LC46B_data =3D { + .quirks =3D EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE, +}; + struct eeprom_93xx46_dev { struct spi_device *spi; struct eeprom_93xx46_platform_data *pdata; @@ -55,6 +59,11 @@ static inline bool has_quirk_instruction_length(struct e= eprom_93xx46_dev *edev) return edev->pdata->quirks & EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH; } =20 +static inline bool has_quirk_extra_read_cycle(struct eeprom_93xx46_dev *ed= ev) +{ + return edev->pdata->quirks & EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE; +} + static int eeprom_93xx46_read(void *priv, unsigned int off, void *val, size_t count) { @@ -96,6 +105,11 @@ static int eeprom_93xx46_read(void *priv, unsigned int = off, dev_dbg(&edev->spi->dev, "read cmd 0x%x, %d Hz\n", cmd_addr, edev->spi->max_speed_hz); =20 + if (has_quirk_extra_read_cycle(edev)) { + cmd_addr <<=3D 1; + bits +=3D 1; + } + spi_message_init(&m); =20 t[0].tx_buf =3D (char *)&cmd_addr; @@ -363,6 +377,7 @@ static void select_deassert(void *context) static const struct of_device_id eeprom_93xx46_of_table[] =3D { { .compatible =3D "eeprom-93xx46", }, { .compatible =3D "atmel,at93c46d", .data =3D &atmel_at93c46d_data, }, + { .compatible =3D "microchip,93LC46B", .data =3D µchip_93LC46B_data,= }, {} }; MODULE_DEVICE_TABLE(of, eeprom_93xx46_of_table); diff --git a/include/linux/eeprom_93xx46.h b/include/linux/eeprom_93xx46.h index eec7928ff8fe..99580c22f91a 100644 --- a/include/linux/eeprom_93xx46.h +++ b/include/linux/eeprom_93xx46.h @@ -16,6 +16,8 @@ struct eeprom_93xx46_platform_data { #define EEPROM_93XX46_QUIRK_SINGLE_WORD_READ (1 << 0) /* Instructions such as EWEN are (addrlen + 2) in length. */ #define EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH (1 << 1) +/* Add extra cycle after address during a read */ +#define EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE BIT(2) =20 /* * optional hooks to control additional logic --=20 2.17.1