Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1859953pxj; Wed, 19 May 2021 16:01:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyK9wYbJF8hZeM0WfT8BWz9oOGkwXUra/nyGkGdZqD9r3Hm6bm279n/gshemT8XJwwHz8uM X-Received: by 2002:a17:906:5608:: with SMTP id f8mr1235279ejq.390.1621465263968; Wed, 19 May 2021 16:01:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621465263; cv=none; d=google.com; s=arc-20160816; b=jdibdCPwsH/weCIUA1ShWitXDw+4SiqYQPJThiJjibybDICQznWvDKFZR+JFf/k9JT YIc8fE1o3vsl4AIyTExwFfwBBXW4PQRI7k6RMn7G2Y/5iFkRGM+xtEf4hUfsjiqGEidk KHARsZXk9FHPn7jnb+lQ9Wl6HaqR9+or1GU1H5HjtPr1f2vQK8+wObNYYpOH6CSkvEhU iLU34iq+RXDsAdKYuidjVfHEl6nR6C99ZiQLJSSRMw2m9MbbsASXES7DZ23Aq4IF6Lmy MXCeVh9GlkEjVbRhPoDouJq942/hMFLtfQraHt1wA9+3HDZARcLOW45tuv5U/1mRqBAd fgwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=FL4A84RnGL9eXsLReJXIYBVZb+CRyoUol9pEHr5O5qY=; b=sHQAEB+9cL+pj3ffzUzcr3Ft1WpECsVt8hVQcpnLB35uUyLeXmDI3QzmT7D6GElAWT cbmUogyHY+Z3EXKEhHg9VdSogubzW530s/ti4LP5Y6neJKgaqXtoPJP3TsUTDZ69tK0V k4n7bvXA9cihdI9Bh5mjOO0JsLKc6F6w6KzZxjnb6x3oMV51TrGtyg2pk7NbLlCV26BL FMwzAK2gW5qsOi/OnRj7jEaJMV45GK5x4X8XHHkLDjy9jvK8qp+377ejg2JAS/8Ce6q1 ETcugtzZXqQ7vE9xrlKr5i8ElMP6Rl2+JJsUW4mJAkrqvpAhVkv1SGoO5ILwQltHXwUt akTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@jms.id.au header.s=google header.b=Dvq29lHa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y2si542133edm.360.2021.05.19.16.00.39; Wed, 19 May 2021 16:01:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@jms.id.au header.s=google header.b=Dvq29lHa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229704AbhESXBI (ORCPT + 99 others); Wed, 19 May 2021 19:01:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229465AbhESXBH (ORCPT ); Wed, 19 May 2021 19:01:07 -0400 Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com [IPv6:2607:f8b0:4864:20::72e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8167EC061574; Wed, 19 May 2021 15:59:47 -0700 (PDT) Received: by mail-qk1-x72e.google.com with SMTP id k4so3352133qkd.0; Wed, 19 May 2021 15:59:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jms.id.au; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=FL4A84RnGL9eXsLReJXIYBVZb+CRyoUol9pEHr5O5qY=; b=Dvq29lHaaHrwBS8AFWZSoJCdqQsSj5w0bo8XghtBLAZTBjrQf4RXb+AY3jd8EtUP94 KVMw8BwVB+j9N56QZ2bUXRwSkx94v24XrW5t9yTBPEk2Eg1E/sjej0T/YJ+UN8/hVyf2 eZl8fwg+VCSsuIKKXAIvKGBmJaQlJRJsra5j8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=FL4A84RnGL9eXsLReJXIYBVZb+CRyoUol9pEHr5O5qY=; b=f2MF1XTJ4TP4mVLdJEJH4ivR1W0r5aA1UerFQf/J8SNX7TmWcT2l91ZFSKbEZZlsym YfL34ypIXdd5Qf66VIDTmbORlUUsLQbu6k6Uivz/7x2bu3tl8UjUMDqI/nDo91t1zC0o h0rJUIkNq67EMpULB/yGKMV621MdNuHbMGfCPhIfzsv7w5ld8R14uKdhY4WPHCj2otZ3 XZIrb05PsJdfuVx/jx7ZQXO6CTGfSJl2cejQBpuZB0crrtZTkxogyijNLWXz2bfxE/VF Kfv6g09a05eEmIUVqqn4gpqys1jslJm9RZp9x7nQpvgGl8QMp+jLxLnBcW8glvfTp79m fGxA== X-Gm-Message-State: AOAM531Hkzp0ZzHXBqzdA3mKlppLPticZRmeD9Izg1JszLY9n2qzPh/y h1+j7OrgVhymPXhS7aHY+DBz6Jy6HSRBeb0sYqg= X-Received: by 2002:a37:424c:: with SMTP id p73mr1926220qka.465.1621465186642; Wed, 19 May 2021 15:59:46 -0700 (PDT) MIME-Version: 1.0 References: <20210519080436.18975-1-jamin_lin@aspeedtech.com> <20210519080436.18975-2-jamin_lin@aspeedtech.com> In-Reply-To: <20210519080436.18975-2-jamin_lin@aspeedtech.com> From: Joel Stanley Date: Wed, 19 May 2021 22:59:34 +0000 Message-ID: Subject: Re: [PATCH 1/3] i2c: aspeed: avoid new registers definition of AST2600 To: Jamin Lin Cc: Rob Herring , Andrew Jeffery , Brendan Higgins , Benjamin Herrenschmidt , Rayn Chen , "open list:I2C SUBSYSTEM HOST DRIVERS" , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "moderated list:ARM/ASPEED MACHINE SUPPORT" , "moderated list:ARM/ASPEED MACHINE SUPPORT" , open list , "moderated list:ARM/ASPEED I2C DRIVER" , Ryan Chen , "Chia-Wei, Wang" , Troy Lee , steven_lee@aspeedtech.com Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 19 May 2021 at 08:05, Jamin Lin wrote: > > The register definition between AST2600 A2 and A3 is different. > This patch avoid new registers definition of AST2600 to use > this driver. We will submit the path for the new registers > definition of AST2600. The AST2600 v9 datasheet says that bit 2 selects between old and new register sets, and that the old register set is the default. Has the default changed for the A3?, and the datasheet is incorrect? Does the A3 still support the old register set? > > Signed-off-by: Jamin Lin > --- > drivers/i2c/busses/i2c-aspeed.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c > index 724bf30600d6..007309077d9f 100644 > --- a/drivers/i2c/busses/i2c-aspeed.c > +++ b/drivers/i2c/busses/i2c-aspeed.c > @@ -19,14 +19,20 @@ > #include > #include > #include > +#include > #include > #include > #include > #include > #include > +#include > #include > #include > > +/* I2C Global Registers */ > +/* 0x0c : I2CG Global Control Register (AST2500) */ > +#define ASPEED_I2CG_GLOBAL_CTRL_REG 0x0c > + > /* I2C Register */ > #define ASPEED_I2C_FUN_CTRL_REG 0x00 > #define ASPEED_I2C_AC_TIMING_REG1 0x04 > @@ -973,6 +979,22 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev) > struct resource *res; > int irq, ret; > > + if (of_device_is_compatible(pdev->dev.of_node, > + "aspeed,ast2600-i2c-bus")) { > + u32 global_ctrl; > + struct regmap *gr_regmap; > + > + gr_regmap = syscon_regmap_lookup_by_compatible("aspeed,ast2600-i2c-global"); > + > + if (IS_ERR(gr_regmap)) { > + ret = PTR_ERR(gr_regmap); > + } else { > + regmap_read(gr_regmap, ASPEED_I2CG_GLOBAL_CTRL_REG, &global_ctrl); > + if (global_ctrl & BIT(2)) > + return -EIO; > + } > + } > + > bus = devm_kzalloc(&pdev->dev, sizeof(*bus), GFP_KERNEL); > if (!bus) > return -ENOMEM; > -- > 2.17.1 >