From: Joel Stanley <joel@jms.id.au>
To: Jamin Lin <jamin_lin@aspeedtech.com>
Cc: Rob Herring <robh+dt@kernel.org>,
Andrew Jeffery <andrew@aj.id.au>,
Brendan Higgins <brendanhiggins@google.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Rayn Chen <rayn_chen@aspeedtech.com>,
"open list:I2C SUBSYSTEM HOST DRIVERS"
<linux-i2c@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
"moderated list:ARM/ASPEED MACHINE SUPPORT"
<linux-arm-kernel@lists.infradead.org>,
"moderated list:ARM/ASPEED MACHINE SUPPORT"
<linux-aspeed@lists.ozlabs.org>,
open list <linux-kernel@vger.kernel.org>,
"moderated list:ARM/ASPEED I2C DRIVER"
<openbmc@lists.ozlabs.org>, Ryan Chen <ryan_chen@aspeedtech.com>,
"Chia-Wei, Wang" <chiawei_wang@aspeedtech.com>,
Troy Lee <troy_lee@aspeedtech.com>,
steven_lee@aspeedtech.com
Subject: Re: [PATCH 1/3] i2c: aspeed: avoid new registers definition of AST2600
Date: Wed, 19 May 2021 22:59:34 +0000 [thread overview]
Message-ID: <CACPK8XdNXiGMQZOtsfMMK+w_PSvO20XT8B9MG+rGhdjYoV4ZuQ@mail.gmail.com> (raw)
In-Reply-To: <20210519080436.18975-2-jamin_lin@aspeedtech.com>
On Wed, 19 May 2021 at 08:05, Jamin Lin <jamin_lin@aspeedtech.com> 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 <jamin_lin@aspeedtech.com>
> ---
> 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 <linux/irqchip/chained_irq.h>
> #include <linux/irqdomain.h>
> #include <linux/kernel.h>
> +#include <linux/mfd/syscon.h>
> #include <linux/module.h>
> #include <linux/of_address.h>
> #include <linux/of_irq.h>
> #include <linux/of_platform.h>
> #include <linux/platform_device.h>
> +#include <linux/regmap.h>
> #include <linux/reset.h>
> #include <linux/slab.h>
>
> +/* 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
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-05-19 23:01 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-19 8:04 [PATCH 0/3] i2c: aspeed: avoid new registers definition of AST2600 Jamin Lin
2021-05-19 8:04 ` [PATCH 1/3] " Jamin Lin
2021-05-19 19:02 ` Zev Weiss
2021-05-24 2:08 ` Jamin Lin
2021-05-24 21:16 ` Zev Weiss
2021-05-25 2:08 ` Jamin Lin
2021-05-19 22:59 ` Joel Stanley [this message]
2021-05-20 3:31 ` Jamin Lin
2021-05-21 2:00 ` Tao Ren
2021-05-24 1:53 ` Jamin Lin
2021-05-24 2:34 ` Joel Stanley
2021-05-25 2:04 ` Jamin Lin
2021-05-19 8:04 ` [PATCH 2/3] ARM: dts: aspeed: Add node for AST2600 I2C Jamin Lin
2021-05-19 8:04 ` [PATCH 3/3] dt-bindings: aspeed-i2c: Convert txt to yaml format Jamin Lin
2021-05-19 15:29 ` Rob Herring
2021-05-20 3:16 ` Jamin Lin
2021-05-19 18:28 ` Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CACPK8XdNXiGMQZOtsfMMK+w_PSvO20XT8B9MG+rGhdjYoV4ZuQ@mail.gmail.com \
--to=joel@jms.id.au \
--cc=andrew@aj.id.au \
--cc=benh@kernel.crashing.org \
--cc=brendanhiggins@google.com \
--cc=chiawei_wang@aspeedtech.com \
--cc=devicetree@vger.kernel.org \
--cc=jamin_lin@aspeedtech.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=openbmc@lists.ozlabs.org \
--cc=rayn_chen@aspeedtech.com \
--cc=robh+dt@kernel.org \
--cc=ryan_chen@aspeedtech.com \
--cc=steven_lee@aspeedtech.com \
--cc=troy_lee@aspeedtech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).