Received: by 10.213.65.68 with SMTP id h4csp1141569imn; Wed, 21 Mar 2018 03:49:05 -0700 (PDT) X-Google-Smtp-Source: AG47ELsy9NICqKeSBCAMqgujAz2Rq4yGm5qalinY2almRxpSG/grX96KpOCF6DKowxGcbjhR0UGd X-Received: by 2002:a17:902:bb81:: with SMTP id m1-v6mr19778524pls.71.1521629345561; Wed, 21 Mar 2018 03:49:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521629345; cv=none; d=google.com; s=arc-20160816; b=ij4bjIAOCBb94manHHPZxBeWb/6jUJ/ft49nu+4Chej2RHG+cQk4Qj8tCQLo9lVDa8 CFVsjt22D6sNVFoHXWN/vlA8xz9lH86oMh7cZ1WooUXLOELhI+KDi0YAr8u8GEWxmDba i67N+ePl5CKjsEif1IG26UrJxuXzaQH7lAX1XudxgukWa4eqrXxTgqqUP2IcrEaCt4NC dw68wRjtP4+awZYWtL/4bhJ2FQEektN8Hv+2KGz8k8951XrF41uNoa5dwK2UKdf/253k scDgc+Zs6IswbggJWOH/I+tedBKev5CxKuYH2aIvyGJciolP3XjzTxGIL5BPhDnsf8D8 So7Q== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject:arc-authentication-results; bh=vfRDCJhilWQoxla5GpP+1xw3gLp/+Z6dUXejjXnj62w=; b=eTSATZX4cJh3IzlJgzvIGJQWB+QgG8LuTDyYIJGym5dsXOQ6psDFKyGT9MU2oIiGFJ yHJSamJKXnj/kwFKqNbPdKO6NKUJ6d1aNxcJvbPb85EJFnwq3SEe6+L5W5mFcQaTKsWh CvwEswAJ8X+v5rRMbHaHChV1+siANtyafGvuHYmmsotzx/dczLxe+OdwCFdzm9PRSU0v HYNk/7xgaaQ6qDMaaXFr/igOZPL7GGJzHFY1s3710zXy4NKyRCqiyDxdDFcloC2M7AcR 0gfTKkiCQuYkOMPrgEjtqZs9jdtFe/f1Bn0eTOXECuD5XRARim+OhyWVz/QFUR3Lhq2J +PWQ== ARC-Authentication-Results: i=1; mx.google.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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 126si2269707pgc.766.2018.03.21.03.48.49; Wed, 21 Mar 2018 03:49:05 -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; 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 S1751586AbeCUKrw (ORCPT + 99 others); Wed, 21 Mar 2018 06:47:52 -0400 Received: from mx07-00178001.pphosted.com ([62.209.51.94]:12750 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751411AbeCUKrt (ORCPT ); Wed, 21 Mar 2018 06:47:49 -0400 Received: from pps.filterd (m0046668.ppops.net [127.0.0.1]) by mx07-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id w2LAhtr6018264; Wed, 21 Mar 2018 11:47:30 +0100 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 2gunpu82nk-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 21 Mar 2018 11:47:30 +0100 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 796013D; Wed, 21 Mar 2018 10:47:28 +0000 (GMT) Received: from Webmail-eu.st.com (sfhdag5node2.st.com [10.75.127.14]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 5A792251A; Wed, 21 Mar 2018 10:47:28 +0000 (GMT) Received: from [10.201.23.236] (10.75.127.50) by SFHDAG5NODE2.st.com (10.75.127.14) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Wed, 21 Mar 2018 11:47:27 +0100 Subject: Re: [RESEND PATCH v1 2/6] i2c: i2c-stm32f7: Add slave support From: Pierre Yves MORDRET To: Wolfram Sang CC: Maxime Coquelin , Alexandre Torgue , , , References: <1520852023-27083-1-git-send-email-pierre-yves.mordret@st.com> <1520852023-27083-3-git-send-email-pierre-yves.mordret@st.com> <20180317205109.gocf5wemtjkyomct@ninjato> <5a3c5b21-bc66-ce73-a997-f686ecc275f3@st.com> <20180320095242.tedafu5wphsx55qx@katana> Message-ID: Date: Wed, 21 Mar 2018 11:47:27 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.75.127.50] X-ClientProxiedBy: SFHDAG8NODE1.st.com (10.75.127.22) To SFHDAG5NODE2.st.com (10.75.127.14) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-03-21_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Wolfram STM32 I2C F7 can be both Master and Slave mode. Whenever a master command (I2C or SMBus) a START condition is generated and the master flag (master_mode) is set and managed accordingly : sw and ITs/ Now if a slave is registered it's managed accordingly as long as there is no master command on going. IRqs are not separated neither Regs bits. The routing is done though out START condition. This driver is not slave-only driver and can act as master if a master command is issued and slave if registered as such. Hope it clarifies Regards On 03/20/2018 11:17 AM, Pierre Yves MORDRET wrote: > > > On 03/20/2018 10:52 AM, Wolfram Sang wrote: >> >>> I do believe the hw can support it, even it looks odd to me having the same I2C >>> in slave and master mode at the same time. >> >> I2C is multi-master, so it is perfectly valid for a device to be master >> and slave. I do have seen designs making use of that more than once. >> >>> Nevertheless the driver is devised to support either master or slave more but >>> not at the same time. >> >> Why should we limit ourselves here? Also, why should we have an >> unnecessary configuration option? >> >> Unless the HW is broken and does not support it, I usually don't accept >> slave-only solutions. If the needs for master and slave arises later, >> this is hard to refactor and better done properly right away. >> >> Is it so hard? Usually you have irqs for master and for slave seperated, >> so you can code things quite orthogonal. Check de20d1857dd6 ("i2c: rcar: >> add slave support") as an example. >> > > I need to check at my end but status bits are shared between master and slave in > my IP: i.e. Tx Empty, Rx Empty, NAxk, Stop. > Both bits have a meaning in either master and slave mode. In your case status > bits are separated between master and slave. > BTW I need to think about it. >